Time |
Nick |
Message |
00:30 |
|
khonkhortisan joined #minetest-dev |
00:33 |
hmmmm |
i was going to but i got caught up in the main menu crap |
00:33 |
hmmmm |
if you do start on it, please do it in C instead of C++ |
00:54 |
|
mrtux joined #minetest-dev |
00:57 |
|
khonkhortisan_ joined #minetest-dev |
01:05 |
|
mrtux joined #minetest-dev |
01:09 |
hmmmm |
ehhgh |
01:10 |
hmmmm |
how do you tell if someone changed the selection on a dropdown box for the main menu? |
01:17 |
kahrl |
you can with textlists (and tables) but I'm pretty sure not with dropdowns |
01:19 |
hmmmm |
that's pretty arbitrary. i have no idea what's going on with formspec, what would I have to do to fix that? |
01:20 |
|
mrtux joined #minetest-dev |
01:21 |
kahrl |
catch EGET_COMBO_BOX_CHANGED in GUIFormSpecMenu::OnEvent and generate an event for lua |
01:21 |
hmmmm |
thanks |
01:29 |
hmmmm |
adding an event is probably going to break lots of things |
01:30 |
hmmmm |
at least sapier's main menu, anyway. there's a lot of code that's like: "if <some element that generates events but isn't an OK button> then handle thing, tabbuilder.ignore_redraw = true; return; end" |
01:30 |
hmmmm |
so basically everything needs to be restructured due to some dopey design |
01:31 |
hmmmm |
"yes, let's treat ALL events as close the formspec unless something else is explicitly specified!" |
01:31 |
kahrl |
yeah it's great ;) |
01:34 |
|
iqualfragile_ joined #minetest-dev |
01:35 |
VanessaE |
I believe RBA complained rather vocally about that some time back |
01:36 |
VanessaE |
when he was working on Unified Inventory's search function - we wanted the enter key to trigger the actual search button. No good, enter = exit. |
01:40 |
|
jojoa1997 joined #minetest-dev |
01:41 |
hmmmm |
VanessaE, that was something different though |
01:41 |
hmmmm |
I think I recall that saga... the problem was that the client would need to predict what the server wants to do when input has been accepted |
01:42 |
hmmmm |
all of this bullshit will be fixed, come client-side modding |
01:42 |
hmmmm |
no more guesswork will be involved |
01:45 |
VanessaE |
but...but.. |
01:45 |
VanessaE |
what would minetest be without at least some hassle and guesswork? :) |
01:45 |
hmmmm |
good |
01:45 |
khonkhortisan |
not developed by a random group of *guesses* |
01:46 |
khonkhortisan |
lunatics. looked it up |
01:47 |
hmmmm |
so uh what's with the first 40 lines of GUIFormSpecMenu::OnEvent |
01:48 |
hmmmm |
I don't get it.. why are there two adjacent break statements, why is there a default case with a comment that says "can't happen at all!" and then an assertion for it, ... |
01:48 |
hmmmm |
strikes me as very sloppy |
01:51 |
kahrl |
looks like template coding |
01:51 |
kahrl |
some button in an IDE that generates switch () { break; default: break; } |
01:53 |
hmmmm |
what's the rationale behind the checks for if the ID is > 257? |
01:54 |
kahrl |
IDs 0...257 are reserved for elements that don't correspond to a field |
01:54 |
hmmmm |
ah ok |
02:41 |
|
kaeza joined #minetest-dev |
03:12 |
|
kahrl_ joined #minetest-dev |
03:48 |
|
ImQ009 joined #minetest-dev |
04:24 |
|
mrtux joined #minetest-dev |
05:02 |
|
neko259 joined #minetest-dev |
05:04 |
|
e1z0 joined #minetest-dev |
05:14 |
celeron55 |
PilzAdam: can you write down the way how you can create and generate "pilztest" trees? |
06:36 |
|
ShadowNinja joined #minetest-dev |
07:17 |
|
smoke_fumus joined #minetest-dev |
07:32 |
|
jin_xi joined #minetest-dev |
07:34 |
jin_xi |
pilztest uses decorations and schematics for trees |
07:46 |
|
ShadowNinja joined #minetest-dev |
08:14 |
|
Ritchie joined #minetest-dev |
08:30 |
|
djdduty joined #minetest-dev |
08:30 |
|
djdduty joined #minetest-dev |
08:39 |
|
Calinou joined #minetest-dev |
10:06 |
|
Ritchie_ joined #minetest-dev |
10:24 |
|
Akien joined #minetest-dev |
10:40 |
|
proller joined #minetest-dev |
12:07 |
|
iqualfragile joined #minetest-dev |
12:16 |
|
ImQ009 joined #minetest-dev |
12:27 |
|
PilzAdam joined #minetest-dev |
13:06 |
|
nyuszika7h joined #minetest-dev |
13:15 |
|
Taoki joined #minetest-dev |
13:20 |
|
proller joined #minetest-dev |
13:24 |
|
BlockMen joined #minetest-dev |
14:16 |
|
Akien joined #minetest-dev |
14:20 |
|
lanxu joined #minetest-dev |
15:11 |
|
Jordach joined #minetest-dev |
15:14 |
|
hmmmm joined #minetest-dev |
15:32 |
|
smoke_fumus joined #minetest-dev |
15:55 |
BlockMen |
any comments on #886, #928 or #930? |
16:00 |
kahrl_ |
BlockMen: #886 seems fine |
16:02 |
proller |
897 895 892 882 wants too |
16:03 |
kahrl |
#930 could be made more generic, I believe |
16:04 |
kahrl |
as in allow images to take half the screen, for example |
16:06 |
kahrl |
#928 has buffer overflows |
16:07 |
kahrl |
you read a color using split() but then you don't check that there are actually 4 parts |
16:08 |
BlockMen |
kahrl, so like -0.5 == half screen ? (#930) |
16:09 |
BlockMen |
and you mean at #928 like here? -> https://github.com/minetest/minetest/pull/928/files#L1R1378 so checking if color.size() == 4 ? |
16:11 |
kahrl |
#930: either that or adding a bool scale_from_screen (or whatever) seems fine |
16:11 |
kahrl |
#928: exactly |
16:13 |
BlockMen |
ok, gonna change that. thanks. |
16:22 |
kahrl |
proller: #895 ummm... why do you set liquid_loop_max even lower |
16:22 |
kahrl |
it should be restored to 10000 if anything |
16:22 |
proller |
because transform calls more frequent |
16:22 |
kahrl |
also the default values should be tuned for normal liquids not finite liquids (because normal liquids are the default) |
16:23 |
proller |
its ok for normal too |
16:24 |
proller |
if queue big - transform may work 10 times per second = 5000 nodes per second |
16:24 |
proller |
its better than one looong call |
16:26 |
proller |
processing 10000 nodes cause stuck of server |
16:26 |
kahrl |
okay |
16:32 |
kahrl |
proller: I'd just get rid of the whole #if 0 block here: https://github.com/proller/minetest/commit/283799333cfacc981c45222f1f373fc4704655d5#L4R1217 |
16:33 |
BlockMen |
kahrl, done |
16:33 |
kahrl |
m_modified_blocks should probably be renamed to something with "liquid" in the name |
16:33 |
proller |
it can be modifyen not only by liquids |
16:34 |
proller |
its just list for sending |
16:34 |
kahrl |
but the interval they are sent in is called liquid_send |
16:35 |
proller |
maybe better to rename it to.. |
16:37 |
proller |
block_send_every ? |
16:38 |
proller |
block_send_minimal ? |
16:39 |
kahrl |
well currently it's only used by liquids so a generic name would be confusing imo |
16:39 |
kahrl |
abms don't use it for example |
16:39 |
proller |
they need to use it |
16:40 |
BlockMen |
proller, does #880 fix the liquid range for infinite liquids too? |
16:40 |
proller |
yes |
16:40 |
BlockMen |
ok :) |
16:40 |
proller |
and removes range |
16:41 |
kahrl |
880? |
16:41 |
BlockMen |
ups..#882 |
16:41 |
proller |
https://github.com/minetest/minetest/pull/882 |
16:45 |
|
Calinou joined #minetest-dev |
16:47 |
proller |
880 fixes most issues with finite |
16:48 |
proller |
and some old |
16:49 |
|
Jordach joined #minetest-dev |
16:50 |
BlockMen |
880 fixed the umlauts issue :P -> https://github.com/minetest/minetest/pull/880 |
16:51 |
proller |
ups, 882 |
16:56 |
|
neko259 joined #minetest-dev |
17:02 |
proller |
modified block send is strange |
17:02 |
proller |
is here range lomit to player for sending? |
17:02 |
proller |
limit |
17:15 |
|
Taoki joined #minetest-dev |
17:20 |
hmmmm |
you should change m_liquid_transform_every to m_liquid_transform_interval |
17:22 |
proller |
done |
17:23 |
hmmmm |
people might not "get" the former right away unless they say it out loud |
17:24 |
BlockMen |
hmmmm, any comments on #886, #928 or #930? |
17:37 |
|
ImQ009 joined #minetest-dev |
17:51 |
hmmmm |
I wrote a comment for #930 |
17:51 |
hmmmm |
as for #928, i have no idea what that does but it looks okay |
17:52 |
hmmmm |
#886, i guess..... would anybody find this useful? |
17:53 |
hmmmm |
for 886, lines 340-343 could use rangelim() instead |
17:54 |
hmmmm |
I would prefer if you didn't access the settings every single draw call |
17:59 |
celeron55 |
the line where doing a binary tree string lookup matters really is beyond doing it a couple of times per frame |
17:59 |
celeron55 |
if it's done in a loop that is done in a frame, that matters |
18:01 |
celeron55 |
it hinders usability if new settings aren't taken into use automatically at runtime |
18:02 |
hmmmm |
some original HUD code was written like that and I optimized it by moving the calls into the ctor and saved quite a bit of time |
18:02 |
hmmmm |
that is NOT just a binary tree lookup |
18:02 |
hmmmm |
you forgot about the lock, all the string comparisons, then the conversion |
18:03 |
hmmmm |
settings is *SLOW* |
18:04 |
BlockMen |
hmmmm, #930 is a nice suggest. i will change to that |
18:04 |
hmmmm |
if code is being added/modified in some subsystem that i'm involved with, i'd like people to avoid unnecessary calls. that's the key word here, unnecessary. it's not making things more inconvenient or putting some burden on development, it's just a matter of being prudent |
18:06 |
BlockMen |
#886 hud.resize is called in every loop of game.cpp AFAIK. So moving the reading of the setting out of the function should do it, right? |
18:27 |
|
smoke_fumus joined #minetest-dev |
18:31 |
hmmmm |
yes, make it a member variable and set its value in the hud constructor like the other settings |
18:40 |
BlockMen |
ok. #930 is changed already |
18:45 |
celeron55 |
and now you can't handily resize the hotbar in a singleplayer game by using /set? |
18:50 |
BlockMen |
celeron55, do you think that is needed? |
18:51 |
celeron55 |
well, i probably won't use that hotbar resizing functionality at all |
18:52 |
celeron55 |
but things should generally be made in some way that doesn't unnecessarily hinder functionality |
18:55 |
|
werwerwer joined #minetest-dev |
18:55 |
BlockMen |
in general you are right. but imo things like hotbar size, shaders(on/off), etc can be changed by gui (settings tab) |
19:10 |
|
Ritchie_ joined #minetest-dev |
19:19 |
PilzAdam |
BlockMen, especially HUD things need to be adjustable at runtime |
19:19 |
PilzAdam |
you dont want to restart Minetest over and over again to find the right setting |
19:21 |
BlockMen |
PilzAdam, well THEN we should add an ingame setting screen |
19:21 |
celeron55 |
and what does that ingame setting screen do other than, like, set settings? |
19:22 |
celeron55 |
well, that'd be some kind of a reloadable settings struct then i guess |
19:22 |
celeron55 |
and that gets us to the core of C and C++: writing everything at least 5 times |
19:23 |
celeron55 |
good thing i'm not doing that but hmm is |
19:23 |
celeron55 |
hmmmm* |
19:25 |
BlockMen |
celeron55, nothing else. but that would be the right way to let user change settings, not /set ... |
19:27 |
|
Ritchie_ joined #minetest-dev |
19:27 |
|
proller joined #minetest-dev |
19:33 |
BlockMen |
PilzAdam, any comment on #930? |
19:50 |
|
BlockMen left #minetest-dev |
19:51 |
hmmmm |
celeron55, if you're going to add *that* which requires changing code anyway, you might as well just add a setHudSize() or whatever |
19:51 |
hmmmm |
not hard.. |
19:56 |
celeron55 |
yeah, nice spaghetti for each setting 8) |
19:56 |
celeron55 |
spaghetti is always better than a bit slow code |
19:59 |
|
kaeza joined #minetest-dev |
20:00 |
|
sapier joined #minetest-dev |
20:16 |
Jordach |
it'll go better with some new sauce |
20:32 |
hmmmm |
you have literally no basis for saying that it's spaghetti until you actually see the end result |
20:38 |
proller |
897 895 892 882 ! |
20:40 |
kaeza |
42 |
20:41 |
hmmmm |
no idea what the wingsuit thing is about |
20:41 |
hmmmm |
i've heard some people who don't like it |
20:42 |
hmmmm |
i suppose 895 is good, i'm not entirely sure of the ramifications though |
20:42 |
hmmmm |
you tested it i trust, and it doesn't break anything? |
20:43 |
proller |
you can feel winsuit only when jumping from 100+ |
20:43 |
sapier |
tztz complaining about mainmenu event handling when there haven't even been events when mainmenu was created ;-) |
20:43 |
hmmmm |
sapier |
20:43 |
hmmmm |
hey man i've got some questions for you |
20:43 |
proller |
all is 1 month testing on sky server |
20:43 |
sapier |
ok I'm here ask ;-) |
20:43 |
hmmmm |
i'm trying to add an event for changing a dropdown item but i'm not having much luck |
20:44 |
sapier |
what's wrong ? |
20:44 |
hmmmm |
i have it all wired up and it's executing gotText with the CHG:itemindexhere |
20:44 |
hmmmm |
and I'm not seeing anything from the Lua side |
20:44 |
hmmmm |
here's my code |
20:44 |
|
Akien joined #minetest-dev |
20:45 |
hmmmm |
hold on |
20:46 |
hmmmm |
https://github.com/kwolekr/minetest/commit/2738e2cd53e07a1e04e1555a6580576ebd039b3e |
20:46 |
hmmmm |
I have no idea what's going on btw |
20:47 |
proller |
commit 895? next step - make one send block queue with optimizations |
20:47 |
sapier |
ok your problem is at c++ side did I understanc correct? |
20:48 |
hmmmm |
sapier, I think so, yeah |
20:48 |
sapier |
and the problem is no event is generated? |
20:48 |
hmmmm |
yup |
20:48 |
sapier |
why did you comment s.send? |
20:49 |
hmmmm |
s.send is already set in parseDropDown |
20:49 |
sapier |
ahh yes I remember dropdown is interpreted as text input field not as button |
20:49 |
hmmmm |
oh great... what does this mean? |
20:50 |
hmmmm |
where's it set? how do I change that? |
20:50 |
kahrl |
hmmmm: have you tried uncommenting the first line of engine.button_handler? |
20:50 |
sapier |
for buttons you can decide if a button is pressed by checking if it's present in the fields table |
20:50 |
sapier |
if it's not there it's not been pressed |
20:50 |
hmmmm |
i haven't, kahrl |
20:50 |
sapier |
text fields are always sent |
20:52 |
sapier |
so if you change it that way you need to ad some other mechanism to decide if it's an event issued by dropdown change or a button press ... but thats a different issue |
20:52 |
hmmmm |
kahrl, the problem is that button_handler isn't getting called though |
20:53 |
hmmmm |
sapier, if the element is a dropdown then it's obviously not a button press |
20:53 |
hmmmm |
so i would need to reorganize the code that assumes a dropdown won't create a button press event |
20:53 |
sapier |
if you want to send an event it is |
20:53 |
hmmmm |
but i already understand that |
20:53 |
sapier |
everything triggering a send event is a "button press" ;-) |
20:54 |
|
BrandonReese joined #minetest-dev |
20:54 |
sapier |
just because there wasn't another mechanism except button press but yes we could rename it to "event" too |
20:54 |
hmmmm |
right.... oh wait a minute |
20:55 |
hmmmm |
gotText() taking the map calls handleMainMenuButtons |
20:55 |
sapier |
but there's nothing obvious wrong I assume you already tried to uncomment first line in button handler to see if it's called? |
20:55 |
hmmmm |
which is always called if m_text_dst (which it obviously is, since i'm getting that printf) |
20:55 |
hmmmm |
not the first commented line, a different one |
20:55 |
hmmmm |
hold on a minute |
20:56 |
hmmmm |
see, i don't understand why I wouldn't be getting it because there's no break-out-of-function return in button_handler |
20:56 |
sapier |
you added "CHG" in front of the string so you renamed the field to "CHG:<yourdropdownname>" |
20:56 |
hmmmm |
unless i am totally missing something |
20:57 |
hmmmm |
oh... |
20:57 |
hmmmm |
yup, I'm getting button_handler it turns out |
20:57 |
hmmmm |
alright, thanks.. |
20:57 |
hmmmm |
i feel pretty stupid now |
20:57 |
sapier |
but you're getting this EVERYTIME >>ANY<< button is called! |
20:58 |
hmmmm |
alright |
20:58 |
hmmmm |
i understand what i need to d onow, explode_textlist_event(fields["dd_createworld_preset"]) and then all that nonsense |
20:59 |
sapier |
actualy the explode is done on the value NOT the name |
21:00 |
kahrl |
I recommend adding 1 to the result of getSelected for consistency with textlist |
21:00 |
hmmmm |
yeah, gonna do that |
21:01 |
hmmmm |
what i have there is clearly sloppy and unfinished |
21:01 |
sapier |
getSelected is only usefull in mainmen but yes it'd be usefull |
21:01 |
sapier |
you have to find a way to do this in game to ... atm dropdown is designed as a special textedit field fhile textlist is more like a buttonlist |
21:01 |
hmmmm |
sapier, this whole thing is only useful for the main menu.. mods with dropdown boxes are going to start closing when they select an item |
21:02 |
hmmmm |
if i understand the system correctly |
21:02 |
sapier |
what do you mean with "start closing"? |
21:02 |
hmmmm |
it's going to accept input as if it were a button press |
21:02 |
hmmmm |
and formspecs exit when input is accepted |
21:02 |
sapier |
yes but a button press is not closing a formspec |
21:02 |
sapier |
no |
21:02 |
hmmmm |
oh sorry |
21:02 |
hmmmm |
it's the enter key that does that |
21:02 |
sapier |
it's just sending a fields event |
21:03 |
sapier |
enter or escape yes |
21:03 |
hmmmm |
anyway |
21:03 |
hmmmm |
it seems my actual problem was the if-elseif chain |
21:03 |
hmmmm |
I didn't realize that *all* of the fields are sent |
21:03 |
hmmmm |
thanks though |
21:04 |
sapier |
there aren't all fields sent |
21:04 |
sapier |
button and similar fields aren't sent |
21:04 |
kahrl |
this should be documented in lua_api.txt |
21:04 |
sapier |
that's formspec behaviour as long as it's there ;-) but yes it could be made more clear |
21:06 |
|
sapier left #minetest-dev |
21:12 |
hmmmm |
btw i didn't look at the documentation at all until now and i agree it's crap |
21:30 |
proller |
all wingsuit sense is here https://github.com/minetest/minetest/pull/897/files#L2R564 |
21:31 |
proller |
if many peoples dislike it - it can be simply removed |
21:32 |
proller |
rest of pull - falling optimizing and bugfixing |
21:34 |
proller |
to start disliking it you must build something 150+ nodes high and jump |
21:39 |
|
Akien joined #minetest-dev |
21:39 |
kahrl |
I explained what I disliked and it wasn't related to jumping off a pole |
21:40 |
proller |
it was something with fast move, but what exactly? |
21:41 |
kahrl |
it makes it slower and disallows changing direction midair |
21:42 |
kahrl |
(this is fast_move without free_move) |
21:44 |
proller |
ok. its bug, fixing.. |
22:08 |
|
loggingbot_ joined #minetest-dev |
22:08 |
|
Topic for #minetest-dev is now Minetest core development and maintenance. Chit-chat goes to #minetest. Consider this instead of /msg celeron55. http://irc.minetest.ru/minetest-dev/ http://dev.minetest.net/ |
22:10 |
proller |
fixed |
22:18 |
proller |
now it disabled when e pressed |
22:23 |
kahrl |
ah that's much better |
22:23 |
kahrl |
still kicks in if you fall very far with fast_move but that's probably intended |
22:25 |
kahrl |
environment.cpp: In member function ‘virtual void ClientEnvironment::step(float)’: 2125:9: warning: unused variable ‘speedl’ [-Wunused-variable] |
22:32 |
proller |
speedl fixed |
22:33 |
proller |
what if falling very far? |
22:34 |
proller |
i tried - pressing e allow you to move at +20nps, but it much lower than fall speed |
22:35 |
kahrl |
well it's the same as wingsuit without fast_move |
22:36 |
kahrl |
but it doesn't come up during my normal usage of fast_move so I'm okay with it |
22:41 |
proller |
its because now air have viscosity |
22:42 |
proller |
and not very big speed loss |
22:42 |
proller |
commit whole? |
22:44 |
kahrl |
let's see what the others think |
22:48 |
celeron55 |
i continue to fail to see the point |
22:51 |
proller |
why? |
22:59 |
proller |
try to jump with it and without |
23:03 |
celeron55 |
isn't one of the points of falling that you fall and most probably die if you haven't planned on what you are standing? |
23:06 |
proller |
you have small chance to hit water |
23:06 |
proller |
most likely you die |
23:07 |
proller |
but it will be fun |
23:08 |
proller |
but somebody can make parachute mod |
23:13 |
celeron55 |
whatever, i can't really say no or yes and can't bother to check the code |
23:14 |
celeron55 |
the problem with this once again is that this is completely random coming out of nowhere |
23:15 |
celeron55 |
and there's no clue whatsoever into what kind of coherent whole it belongs |
23:16 |
celeron55 |
have you thought at all what does it do to the balance of the game? |
23:17 |
proller |
it add semi-hidden unique feature |
23:17 |
celeron55 |
if so, can you note down your thougths and also if there's something else you're about to do to get things more to the same direction |
23:17 |
proller |
and make falling not boring |
23:18 |
proller |
its good addition to floatlands and any sky-filling mod |
23:19 |
hmmmm |
falling is boring? |
23:19 |
proller |
in this direction - cant think anything except parachute mod |
23:19 |
celeron55 |
is it compatible with everything you can imagine? |
23:20 |
kahrl |
what would a parachute mod do? currently the wingsuit is hardcoded |
23:20 |
proller |
hmmmm, yes, now you can slowly move 4nps and cant fly around something |
23:21 |
proller |
kahrl, open parachute -> stop falling |
23:21 |
celeron55 |
i don't have anything against adding something that allows more useful movement in floatlands, but it's not like this is the only possible implementation on that |
23:22 |
celeron55 |
assuming the code is perfect, i think i'll give a yes for this altough i have no idea what i'm doing; you'll need an another yes still though |
23:23 |
celeron55 |
or, well, not really, but at least you need no 'no's 8) |
23:25 |
proller |
it doesnt touch usual gameplay wha can said 'no'? |
23:26 |
proller |
except PilzAdam of course |
23:32 |
proller |
maybe in future make changeable fly control value, for something like real wingsuit mod, but now now too few players to use it |
23:56 |
|
Shadowfire_ joined #minetest-dev |
23:56 |
hmmmm |
now why is it that a mod can't have the same effect |
23:56 |
hmmmm |
oh, this is movement speed control for the player |
23:56 |
PilzAdam |
mods can control the speed, but not the velocity itself |
23:57 |
hmmmm |
see, it certainly feels like proller is coding a lot of "specific" things that would be better as client-side mods |
23:57 |
PilzAdam |
mods can also limit the movement speed of the players, by setting gravity to 0 when the player reaches it |
23:57 |
hmmmm |
i feel a lot of what he does goes against the idea of minetest as no more than an engine |