Minetest logo

IRC log for #minetest-dev, 2015-07-26

| Channels | #minetest-dev index | Today | | Google Search | Plaintext

All times shown according to UTC.

Time Nick Message
00:11 hmmmm oh, sorry
00:11 TBC_x better move the tests from src and make them invokable with make
00:12 est31 ?
00:12 hmmmm I didn't realize that didn't get fixed yet
00:12 est31 hmmmm?
00:12 hmmmm okay, disregard that comment then
00:12 est31 ok
00:13 hmmmm i'll fix it with typeof() or something later on
00:13 est31 about the map.insert thing
00:13 est31 its changed now, when you fix it make sure to catch my code too
00:14 est31 so map.insert should work in theory, but do I see it right, I have to create an empty value=
00:14 est31 ?
00:14 est31 I have no idea how to do that in the template generic waay
00:15 hmmmm V()?
00:15 hmmmm whenever you reference std::map::operator[] it does the same thing
00:15 est31 well, only on cache misses
00:16 est31 thats a new and delete every cache lookup, no?
00:16 hmmmm what do you mean
00:17 est31 well, V() calls new somewhere, even if its on the stack, no?
00:18 hmmmm V() calls new if it calls new
00:18 hmmmm so if V were std::string then yeah it'd call new
00:18 hmmmm if V were int, or maybe a pointer to something, then not so much
00:23 hmmmm mmm looking at it closer, it's creating a default instance of V right now
00:24 est31 but only at cache miss
00:24 hmmmm right
00:24 est31 with your proposal it would create one always
00:24 est31 even if succeed
00:25 hmmmm yeah i dunno
00:26 hmmmm I guess it's fine the way it is
00:26 hmmmm just a minor performance tradeoff in either case
00:27 est31 yea
00:28 est31 all because a missing function in std c++ that would do the job
00:54 est31 hrmm some regression here
00:58 est31 well will have to find out the cause of unexplained sigsevs for https://github.com/est31/minetest/commit/a27fea5632cd6261957fa6821823059ac10041da
00:58 est31 later
00:58 est31 im gone now
01:29 Fritigern joined #minetest-dev
01:41 luizrpgluiz left #minetest-dev
02:14 hmmmm est31:  could it be because str is being allocated with malloc rather than new[]?
02:41 CraigyDavi joined #minetest-dev
02:51 cornernote every day i get a server crash, with the same error - https://github.com/minetest/minetest/issues/2958
02:51 cornernote inventory.cpp:629: InventoryList::getItem: Assertion 'i < m_size' failed.
02:52 cornernote could it be because i am deleting bones via an abm ?
02:53 cornernote player dies, tries to put inv into bones, but then bones is removed during process
02:54 cornernote i'll try remove them with minetest.after timeout
03:06 hmmmm maybe you could catch the crash under gdb?
03:09 jhcole left #minetest-dev
03:34 cornernote hmmmm, im not sure what that means, but i'd be happy to provide more info if you can show me how
03:35 hmmmm do you know what gdb is?
03:35 cornernote no
03:35 hmmmm are you using windows?
03:35 cornernote yes
03:35 hmmmm ahh
03:35 cornernote i can run it on linux too
03:36 hmmmm that's not necessary
03:36 hmmmm do you happen to see a file in your minetest folder called minetest.dmp?
03:36 cornernote no
03:37 cornernote i searched all subfolders, nothing with that filename
03:37 hmmmm ahh okay, nevermind then
03:37 hmmmm thank you for looking
03:37 cornernote assuming it is because of removing bones...
03:37 cornernote is the error a bug in the engine, or should i not remove bones the way i was ?
03:38 hmmmm no, that sort of issue you're seeing should never happen, it is an issue we are concerned about
03:38 hmmmm hey, are you running a Debug version of minetest?
03:39 cornernote no, just the 64bit download from the site
03:39 hmmmm i see
03:39 cornernote 0.4.12 win64
03:39 hmmmm is it the MinGW build?
03:40 cornernote no
03:40 hmmmm i think this issue may have already been fixed
03:41 cornernote ah-ha... ok, i should probably be running dev-master if i am going to be reporting issues
03:46 hmmmm yes, would you mind building and running the most recent version under Linux?
03:46 hmmmm i'll give you further instructions on what to do when that is complete
03:50 cornernote ok, but i cant recreate the error on demand... have to wait until it happens on its own
03:50 hmmmm well you mentioned it happens about once per day, right?
03:50 hmmmm that should be good enough
03:50 cornernote yes, every day i leave the server on overnight it happens
03:51 cornernote 3 days in a row
03:51 cornernote which is about as long as i've run the server
04:21 leat3 joined #minetest-dev
05:44 Hunterz joined #minetest-dev
06:21 nore joined #minetest-dev
07:21 leat3 joined #minetest-dev
07:25 Krock joined #minetest-dev
07:32 nrzkt joined #minetest-dev
07:37 kilbith joined #minetest-dev
07:41 blaze joined #minetest-dev
07:51 sfan5 joined #minetest-dev
08:01 Yepoleb_ joined #minetest-dev
08:48 Calinou joined #minetest-dev
08:53 H-H-H joined #minetest-dev
08:56 jin_xi joined #minetest-dev
09:30 FR^2 joined #minetest-dev
09:31 blaze joined #minetest-dev
10:18 WSDguy2014 joined #minetest-dev
10:36 ElectronLibre joined #minetest-dev
10:51 leat3 joined #minetest-dev
11:01 leat3 joined #minetest-dev
11:12 leat3 joined #minetest-dev
11:12 Taoki_1 joined #minetest-dev
11:12 Taoki[laptop] joined #minetest-dev
11:14 TBC_x joined #minetest-dev
11:20 enesbil joined #minetest-dev
11:22 leat3 joined #minetest-dev
11:25 Wayward_One joined #minetest-dev
11:32 leat3 joined #minetest-dev
11:44 Routh joined #minetest-dev
11:47 rubenwardy joined #minetest-dev
11:53 leat3 joined #minetest-dev
11:54 wingless joined #minetest-dev
12:00 wingless Is there a reason minetest isn't rebranded and put on steam?
12:02 VanessaE rebranded ..as?
12:02 sfan5 it's not put on steam because most(?) people fell like MT is not ready for the userbase steam has
12:02 sfan5 especiall as MT is not complete
12:03 sfan5 and has some bugs
12:03 Calinou being on Steam costs money, also Minecraft isn't on Steam, so it's far from required.
12:03 Krock is there a good reason to put an open-source game on steam? I think it costs to have the game published there
12:03 Calinou Warsow being on Steam Greenlight was a fiasco
12:05 wingless Calinou: being on steam would be a huge plus, and Minecraft is an exception
12:05 wingless Krock: of course, more players.
12:05 wingless it would also give developers a nice boost in their resumes, if they want
12:07 rubenwardy Maybe one day, but in its current state, no
12:07 rubenwardy Also it would need to be shipped with a good default subgame
12:07 blaze joined #minetest-dev
12:07 wingless okay. maybe I should contribute.
12:08 rubenwardy That would be awesome
12:13 Amaz joined #minetest-dev
12:13 Calinou it is not an "huge plus"
12:14 Calinou at best, you're gaining 3-5 players, at worst you're endorsing a proprietary DRM platform...
12:14 Calinou and lots of criticism for being "unfinished"
12:14 Calinou (Minetest will never be "finished")
12:14 sfan5 but it might be "good enough" at some date in the future
12:17 deltib joined #minetest-dev
12:17 wingless Calinou: as much as I support FLOSS, I don't have a beef with proprietary
12:17 Calinou Steam should just die :-)
12:18 sfan5 not really
12:18 sfan5 steam is great
12:18 wingless I find it really convenient
12:18 sfan5 just because something is not F(L)OSS does not mean it sohuld go die
12:19 Calinou there are replacements for Steam for "convenience", like Lutris (http://lutris.net)
12:21 rubenwardy #2959
12:21 ShadowBot https://github.com/minetest/minetest/issues/2959 -- Ability to launch singleplayer game from command line removed by d6cc0d
12:22 rubenwardy #2959
12:22 ShadowBot https://github.com/minetest/minetest/issues/2959 -- Ability to launch singleplayer game from command line removed by 'refactor main.cpp'
12:24 rubenwardy very annoying - it's required by NBE
12:27 TBC_x nbe?
12:28 rubenwardy https://github.com/rubenwardy/NodeBoxEditor/
12:33 leat3 joined #minetest-dev
12:40 TBC_x I think there are some FOSS games on GoG
12:43 Calinou there are, same for Lutris
12:43 Calinou there are on Steam too, but you need to pay money to be on it
12:45 leat3 joined #minetest-dev
12:51 leat3 joined #minetest-dev
12:54 leat3 joined #minetest-dev
13:05 leat3 joined #minetest-dev
13:09 Krock leat3, please rejoin
13:13 Darcidride joined #minetest-dev
13:21 leat3 joined #minetest-dev
13:35 leat3 joined #minetest-dev
13:36 proller joined #minetest-dev
13:46 leat3 joined #minetest-dev
14:08 swaaws joined #minetest-dev
14:49 Darcidride joined #minetest-dev
15:01 leat joined #minetest-dev
15:36 leat joined #minetest-dev
15:48 bobombolo joined #minetest-dev
15:49 rubenwardy joined #minetest-dev
15:51 bobombolo is it possible to store data in the database? I am working with files in a mod but I'd love abstracted access the game's db to store some variables...
15:52 rubenwardy I may have accidentally installed this to my home computer, now I can't compile anything: https://github.com/minetest/minetest/blob/master/util/travis/before_install.sh#L20-L24
15:52 rubenwardy loads of errors like /usr/include/stdlib.h:417:18: error: expected initializer before ‘__mingw_strtod’
15:52 rubenwardy double __cdecl __mingw_strtod (const char * __restrict__, char ** __restrict__);
15:52 rubenwardy any ideas how to revert?
15:54 VanessaE joined #minetest-dev
15:55 sfan5 bobombolo: nope, you currently can't
15:55 sfan5 rubenwardy: >.>
15:56 sfan5 rubenwardy: list all the files installed, find the packages those files belong to, re-install those packages, remove the installed files that were not in any packages
15:56 sfan5 tl;dr might aswell just reinstall the os
15:56 rubenwardy lol
15:57 sfan5 but hm
15:57 rubenwardy all my data is backed up
15:57 sfan5 you must have done something wrong
15:57 sfan5 stdlib.h should not contain anything mingw specific
15:57 rubenwardy fixed
15:57 rubenwardy was really quite easy actually
15:57 rubenwardy sudo apt-get purge libc6-dev
15:57 rubenwardy sudo apt-get install libc6-dev
15:58 sfan5 that might've been the only overwritten package
15:58 sfan5 ah yes
15:58 sfan5 the mingw.7z is not suppsed to be installed to /usr
15:59 sfan5 supposed*
16:00 sfan5 the travis script does it anyway ¯\_(ツ)_/¯
16:03 rubenwardy hmmm
16:03 rubenwardy make[2]: *** No rule to make target `/usr/lib/x86_64-linux-gnu/libz.so'
16:04 rubenwardy it's uninstalled all my c++ libraries :(#
16:04 sfan5 libz.so is not c++
16:04 sfan5 thats what happens if you uninstall libc6-dev
16:05 sfan5 instead you should've somehow forced apt-get to reinstall libc6-dev w/o removing all the stuff depending on it
16:05 rubenwardy too late now :P
16:06 est31 joined #minetest-dev
16:06 sfan5 enjoy your broken system
16:07 rubenwardy lol
16:07 leat joined #minetest-dev
16:07 rubenwardy It's pretty worthless - all my code is stored on bitbucket, all my media is on a media server connected to LAN
16:07 rubenwardy so I can just wipe my computer
16:08 est31 there was this dpkg reconfigure thing
16:08 est31 usually helps
16:09 sfan5 not if rubenwardy just uninstalled all the libraries that depend on libc6-dev
16:10 est31 there is a log somewhere
16:10 est31 /var/log/dpkg.log
16:10 est31 shows all packages installed and uninstalled
16:10 est31 ofc if he cant even install anymore
16:10 est31 then more steps are needed
16:11 rubenwardy I can still install :P
16:11 est31 well then its easy to get back
16:12 TBC_x that reminds me when an update broke libc.so
16:13 TBC_x It is the worst thing ever, when it happens for the first time
16:14 TBC_x then you just boot a live distro and fix that with its package manager
16:14 rubenwardy ergh, travis is so slow to start today :(
16:15 est31 what does this have to do with travis?
16:17 rubenwardy https://github.com/minetest/minetest/blob/master/util/travis/before_install.sh#L20-L24
16:18 est31 I see
16:25 leat joined #minetest-dev
16:27 TBC_x gedit really is not what it used to be
16:34 TBC_x Is anybody here with dev wiki access?
16:34 est31 why
16:34 est31 I cant give you an account
16:34 est31 perhaps celeron55 can
16:36 rubenwardy Calinou
16:37 celeron55 i'm here
16:37 TBC_x cool
16:37 TBC_x could you please make wiki account for me?
16:38 Krock send username and email to Calinou, TBC_x
16:38 Krock I think he's the one you should ask
16:38 TBC_x he is the only one?
16:39 est31 <celeron55> i'm here <----- just /msg mail address to him
16:40 Calinou celeron55, do you do it, or should I?
16:40 celeron55 i've never created any accounts in mediawiki but i guess i could try
16:40 Calinou TBC_x, regular wiki or developer wiki?
16:40 TBC_x dev
16:40 celeron55 Calinou: whatever, you do it then
16:41 Calinou ok
16:41 leat joined #minetest-dev
16:41 Calinou TBC_x, PM me your e-mail address and desired username -- password will be generated automatically
16:44 sloantothebone joined #minetest-dev
16:45 Player_2 joined #minetest-dev
16:48 leat joined #minetest-dev
17:00 proller joined #minetest-dev
17:04 bobombolo could core expose some image functionality to lua? particularly reading and writing images (png)?
17:04 bobombolo and sockets
17:04 est31 whats your usecase
17:05 est31 for sockets, try luasocket
17:05 bobombolo i don't want insecure or the struggle of adding libs
17:05 bobombolo for users
17:05 est31 sockets are insecure
17:05 est31 per definition
17:06 bobombolo ok, forget sockets that was an afterthought...
17:06 bobombolo want to be able to read an image pixel by pixel, and build raster in lua and save it as a png or other format
17:06 est31 for what use case
17:06 bobombolo for map generation, map representation
17:06 est31 our engine doesnt even support dynamic image loading
17:06 rubenwardy I'd also like to see LuaFileSystem style functionality
17:07 bobombolo realterrain mod, read elevation raster into mapgen mod
17:07 est31 thats a better usecase I think
17:07 bobombolo and output derived map images, such as slope or aspect rasters.
17:07 bobombolo i know they won't be loadable into the game on the fly, but as an output product
17:08 bobombolo and in the hope that someday they will be loadable on the fly. haha
17:08 OldCoder joined #minetest-dev
17:08 bobombolo not as a constantly updated minimap, just as a formspec.
17:08 bobombolo or frankly, as a way TO create an image on the fly, pixel by pixel, by abusing the formspec somehow
17:09 bobombolo but at least, to read images pixel by pixel, that is the most basic use case.
17:09 rubenwardy bobombolo: are you aware of the current minimap / mapper in Minetest's core?
17:10 bobombolo maybe not. the python one?
17:10 rubenwardy eventually you'll be able to add that to formspecs
17:10 rubenwardy no
17:10 bobombolo the one you need to compile?
17:10 rubenwardy the C++ one which is part of the minetest code
17:10 bobombolo i guess not!
17:11 rubenwardy https://github.com/minetest/minetest/pull/2814
17:11 bobombolo that requires a compile no?
17:11 rubenwardy it's been merged
17:11 rubenwardy it's part of minetest
17:11 bobombolo oh i'm out of date.
17:11 rubenwardy not a separate tool
17:12 bobombolo how do you activate it?
17:12 bobombolo how can mods play with it?
17:12 Amaz If you're using a dev build, f9
17:12 Amaz And mods can't do anything with it atm. (afaik)
17:13 rubenwardy #2959
17:13 ShadowBot https://github.com/minetest/minetest/issues/2959 -- Ability to launch singleplayer game from command line removed by 'refactor main.cpp'
17:17 est31 rubenwardy, that one seems easy to fix wanna pr?
17:17 rubenwardy I don't know how Client Launcher works
17:18 rubenwardy I've got too many PRs to maintain :P
17:19 est31 I'll have a look at it, and sfan5 will perhaps too, and then it can be merged, within hours after creation
17:20 bobombolo well if this minimap could be exposed to mods that would be great
17:20 est31 bobombolo, agreed
17:21 bobombolo but anyway a few image functions that all other languages have would be nice in lua...
17:21 bobombolo or bindings to GD or whatever is popular now
17:21 TBC_x It would be cool if #2946 could get finally merged
17:21 ShadowBot https://github.com/minetest/minetest/issues/2946 -- Fixed minimap memory leak by t0suj4
17:24 est31 why did you remove the = NULL?
17:25 crazyR it would be nice if "image_button" formspecs had the option to supply on_hover img. anyone willing to try and implement it?
17:25 bobombolo is formspec going to be overhauled soon?
17:26 est31 bobombolo, not before the release
17:27 crazyR which means that older servers that dont or cant upgrade to the next release wont be able to benefit from the overhaul. unless there is plans to add migration systems ??
17:29 est31 crazyR, my position is that we can break modding API, but can't abandon old clients. If we get an overhaul, we should add a way to generate legacy formspecs
17:29 est31 but IMO its to be done after we have clientside scripting
17:29 est31 and that cant be replaced by legacy methods
17:29 est31 so there old clients will just miss functionality
17:30 crazyR what i mean is, how hard is it going to be for a server to migrate to the new release?
17:30 est31 to 0.4.13?
17:30 est31 fairly easy
17:30 est31 no big breakages here
17:31 est31 the only point where we did break was that we have more secure, but also more complicated auth.
17:31 TBC_x est31: Where did I remove what = NULL?
17:31 est31 https://github.com/minetest/minetest/pull/2946/files#diff-34f48ad91ac6c202ac60b0348ae90e30L548
17:31 est31 https://github.com/minetest/minetest/pull/2946/files#diff-34f48ad91ac6c202ac60b0348ae90e30L555
17:31 est31 TBC_x, ^
17:32 TBC_x that is simple
17:32 est31 so crazyR if you have common authentication for forums and servers, you will need to update to work together with srp based auth.
17:33 crazyR will you be releaseing some info on how it works and how it works with minetest?
17:33 est31 ofc.
17:33 est31 good idea, will write a wiki page
17:34 TBC_x if you look at the entire file, it is already set to NULL
17:35 TBC_x no need to set it twice
17:35 est31 perhaps rename the method to giveMinimapMapblock?
17:35 est31 move sounds like "move it here please"
17:36 crazyR hmm has any thought gone into ssl support?
17:36 TBC_x hmm... how does work std::move()?
17:36 crazyR or tls
17:36 est31 crazyR, yes, we wont use either
17:36 est31 if we use dtls
17:37 crazyR im not familiar with dtls lol
17:37 TBC_x well... at least server commands could use some encryption
17:38 crazyR il do some reading up later
17:38 est31 tls requires tcp
17:38 est31 dtls is tls without requirement for tcp, allowing us to use udp
17:38 crazyR ahh nice..
17:40 est31 TBC_x, I still think its better to call it "give"
17:40 TBC_x btw, the method signature gives a hint about what goes where
17:40 est31 also can you fix spaces for the method signarure
17:40 Calinou Xonotic supports AES
17:40 est31 MinimapMapblock* moveMinimapMapblock -----> MinimapMapblock *moveMinimapMapblock
17:40 Calinou but no one uses that :P
17:40 Calinou it was added in 0.1
17:40 est31 bare AES is bad
17:41 est31 it allows replay, and others
17:41 Calinou games don't need encryption anyway... not even chat, since it's all logged on server
17:41 Calinou it's not an instant messaging service
17:41 TBC_x well... game servers needs encryption to prevent server command spoofing
17:42 est31 Calinou, we're talking transport encryption here
17:42 est31 not end to end
17:42 Calinou we could have a secure RCON or something
17:43 est31 whats RCON
17:44 Calinou remote control
17:44 TBC_x because if someone decides to spoof //pos1 31000 31000 31000 //pos2 -310000 -31000 -31000 //set default:stone you're screwed
17:44 Calinou most Quake-based games have some sort of rcon
17:44 Calinou how can that spoofing happen, TBC_x?
17:44 Calinou prove us it's possible :P
17:44 est31 Calinou, it is possible
17:44 est31 if the person can manipulate the connection
17:44 est31 e.g. inside a wifi network
17:45 est31 (WPA 2 personal encryption, not the corporate one)
17:45 TBC_x it is enough to listen on wires
17:45 TBC_x then you know peer_id
17:46 est31 no
17:46 est31 thats wrong
17:46 TBC_x no?
17:47 est31 TBC_x, read from here https://github.com/minetest/minetest/blob/master/src/network/connection.cpp#L2155
17:47 est31 better, from here https://github.com/minetest/minetest/blob/master/src/network/connection.cpp#L2146
17:47 est31 if indeed the peer_id would be fakeable, it would be horrible
17:47 est31 but we also use the address to confirm
17:48 TBC_x and that is an obstacle?
17:48 est31 usually yes
17:48 leat joined #minetest-dev
17:48 est31 listening wont be enough here
17:49 est31 unless I understood something wrongly about how udp is routed in the internet
17:51 TBC_x I don't understand, why peer_id is there at all
17:52 est31 me neither
17:52 est31 but thats a different issue
17:59 TBC_x I put a suggestion on dev wiki http://dev.minetest.net/Spatial_location so far just IRC log
18:00 TBC_x If anyone wants to rewrite it in a full article, feel free
18:02 hmmmm joined #minetest-dev
18:03 rubenwardy joined #minetest-dev
18:17 est31 rcon is NIH of ssh IMHO
18:17 est31 use the terminal mode for the server, and learn ssh and screen
18:20 hmmmm we don't need a key exchange mechanism, that already exists by virtue of SRP
18:21 hmmmm really it's just the crypt part
18:21 est31 ^
18:32 est31 kahrl, you argued that instead of using passwords for things like irc, we should use auth tokens
18:32 est31 but what to do with the whole auth handler story? we dont need that level of abstraction then anymore, we save everything ourselves then, no?
18:32 Calinou est31, we have no terminal mode in Minetest server currently
18:32 Calinou make one? :-)
18:32 rubenwardy est31 is, iirc
18:32 rubenwardy ncurses
18:33 est31 Calinou, https://github.com/est31/minetest/tree/ncurses-console
18:33 Calinou can you input regular commands? what is the username used by server?
18:35 est31 the username is set by the "name" config setting
18:35 est31 yes you can input regular commands
18:35 est31 /privs is working
18:35 est31 and you can chat
18:35 est31 special characters (äöü) arent working yet
18:36 est31 its the same console as the f10 one
18:39 hmmmm i think minetest should support PAM
18:40 hmmmm </sarcasm>
18:40 * est31 is relieved :<hmmmm> </sarcasm>
18:41 hmmmm i thought for a second that people might not pick up on the sarcasm there
18:41 Warr1024 </Warr1024>
18:50 Krock W3C is gonna hate you for leaving a <hmmmm> tag open
18:55 rubenwardy Perfectly legal, Krock
18:56 rubenwardy this is the real problem: end tag for element "SARCASM" which is not open
18:56 rubenwardy https://validator.w3.org/check
18:57 Taoki[mobile] joined #minetest-dev
18:58 Krock rubenwardy, did you use a POST request to check it?
18:58 rubenwardy yeah
18:59 rubenwardy I'm just providing the link :P
18:59 rubenwardy see direct input
18:59 rubenwardy oops https://validator.w3.org/
18:59 rubenwardy </offtopic>
19:00 Calinou +est31> the username is set by the "name" config setting
19:00 Calinou there should be the ability to login as a separate user
19:00 Calinou remote_name?
19:01 rubenwardy maybe use name as a fallback after checking remote_name
19:01 est31 I've thought of a command /nick, and everything is laid out, but I dont like making it too easy for server owners to impersonate people
19:01 est31 also, the console is in no way remote
19:01 est31 its inside the server process.
19:02 rubenwardy name is the name of the admin...
19:15 crazyR why not just create a seprate exutable to be the console. login is with username and password
19:16 est31 should be possible too, but requires change to the protocol
19:20 est31 also crazyR there are solutions like screen and ssh which you can use to remotely access a server and close the ssh session, and reconnect afterwards
19:20 est31 and it even has encryption
19:21 est31 and PAM authentication :p
19:21 crazyR est31 i was refering to what i may have miss understaood as your minetest console??
19:22 est31 crazyR, you start e.g. minetest --server --worldname name --terminal
19:22 crazyR my servers is started and managed by upstart so screen isnt needed
19:22 est31 then it shows you a terminal
19:22 TBC_x well yeah, but minetest server could use terminal sessions
19:24 est31 the problem is that it requires deep changes in how client and server work
19:24 est31 authentication would remain the same, but after that we can't spawn a player, but instead have to take care of it some other way
19:25 crazyR why does it, the client does everything we want it todo. all we need to do is remove the GUI side of the client and make it output the result to the console etc
19:25 TBC_x making mt more modular would be beneficial
19:26 est31 crazyR, clientside its even harder. I've done a test with making a special terminalClient class, but at the end the client timed out
19:26 est31 only thing working was "**** player joined the game"
19:26 TBC_x but that needs a lot of work
19:27 est31 but the terminal I've programmed is very modular, allows you to connect to servers too, if sb codes the client class.
19:28 est31 communicates using queues, from an extra thread
19:29 est31 standard is 10 fps, but main chat isn't redrawn if there is no activity, and its faster if you enter keys.
19:29 leat joined #minetest-dev
19:30 leat joined #minetest-dev
19:31 est31 but interesting, didnt know the demand wasn't for "i want to have a server terminal", it was rather for "I want to have a remote server terminal"
19:40 leat joined #minetest-dev
19:50 est31 oh, good I ran valgrind, removeArea has a problem
19:58 TBC_x err... what was wrong with that method signature again?
19:58 est31 <est31> MinimapMapblock* moveMinimapMapblock -----> MinimapMapblock *moveMinimapMapblock
19:58 TBC_x uh... I didn't mess with method signatures
19:59 est31 yes, but still you should fix it, its the proper style
19:59 TBC_x alright then
19:59 est31 if you touch it its your fault if you leave it bad style :)
20:00 TBC_x where are the style guidelines?
20:00 est31 http://dev.minetest.net/Code_style_guidelines
20:00 leat joined #minetest-dev
20:03 Calinou est31, no, I'd still very much appreciate a server terminal
20:04 MinetestForFun joined #minetest-dev
20:16 est31 hmmmm, seems this delete[] data; thingy in the Area destructor is worse than thought. the destructor is called gazillons of times.
20:16 hmmmm you store Areas in a Vector, right?
20:16 est31 in a map
20:17 est31 the vector just has pointers to the areas.
20:17 hmmmm whenever some item gets moved it calls the destructor and calls the copy constructor in the new location
20:17 hmmmm storing this in an std::string or std::vector<u8> or likewise would solve the issue.
20:17 hmmmm but, yeah, it'd copy each time.
20:18 hmmmm in C++11 there are move constructors though which don't necessarily create deep copies :)
20:18 TBC_x what do you think about this coding style? https://github.com/brho/plan9/blob/master/sys/src/cmd/acme/acme.c
20:19 hmmmm it looks like somebody barfed on a source file
20:19 hmmmm what's wrong with the Linux kernel style?
20:19 est31 dont like it either
20:20 hmmmm random, inconsistent whitespace
20:20 est31 char *oknotes[] ={
20:20 hmmmm usually when code style is messy and inconsistent the code itself is messy and buggy
20:20 est31 then why is void on its own line
20:20 hmmmm at least I've noticed
20:21 TBC_x bell labs experts wrote it
20:21 hmmmm i hope it runs better than it looks
20:22 TBC_x well... acme is an awesome editor
20:22 TBC_x except that it uses mouse way too much
20:30 est31 hmmmm, I'll use std::vector<u8> then
20:42 sebastian joined #minetest-dev
20:44 TBC_x anything before I push this? http://sprunge.us/chPa
20:44 Lunatrius joined #minetest-dev
20:44 est31 that looks good
20:45 est31 still I think it should be called give
20:45 est31 perhas I its because I dont know c++11, but I associate it with movement inside the world
20:45 hmmmm give implies memory ownership transfer
20:46 hmmmm which is indeed what happens here
20:46 est31 thats precisely what the method does now
20:46 hmmmm i think give or move is both acceptable
20:46 hmmmm s/is/are/
20:46 hmmmm they both have similar connotations
20:47 TBC_x I would associate move inside world if it would have signature: bool moveMapBlock(v3s16, v3s16)
20:48 TBC_x hey, we need this method implemented
20:48 TBC_x at least client-side
20:49 TBC_x so we can mess with spatial location
20:52 hmmmm so why is your name est?
20:53 hmmmm what significance does "est" have?
20:53 est why is yours hmmmm.
20:53 hmmmm because i literally had no idea what to choose as my nick
20:53 hmmmm so i was thinking, saying "hmmmmm." to myself
20:54 hmmmm and I happened to type that in the text box as i was actually thinking.  i figured that was okay so I just clicked Ok and connected
20:54 hmmmm do you ever do that?  like type "hrmmm...." in a textbox as you're thinking of something?
20:55 est lol
20:55 est mine is similarly created
20:55 hmmmm i wanted to change it at some point but it sorta stuck and now people know me as this
20:56 est I didn't get interact on VanessaE's server because of my nick Guest3145. So I deleted some chars, and reconnected.
20:56 hmmmm ah
20:57 hmmmm i thought it had something to do with Minetest -> M. Test, M. T. Est
20:58 est nope, that was I think because est31 was already taken or, 6 character limit, cant remember.
21:00 TBC_x est31 was better
21:00 TBC_x now pidgin is coloring hmmmm's and your nick with the same color
21:01 est my chat program colors all nicks the same.
21:01 est except mine, and if I get pinged
21:11 TBC_x is #2946 now good enough?
21:11 ShadowBot https://github.com/minetest/minetest/issues/2946 -- Fixed minimap memory leak by t0suj4
21:16 TBC_x ugh
21:16 TBC_x I looked at Xserver source code
21:19 Calinou now you know why people are still waiting for Wayland :P
21:21 TBC_x right?
21:21 TBC_x minetest loading screen would benefit from wayland too
21:23 Calinou how so?
21:23 TBC_x mostly when you run minetest with valgrind
21:23 TBC_x every pixel is still perfect
21:23 est really, its a speedup?
21:25 TBC_x when I am running mt with valgrind the loading screen is not redrawn often enough
21:25 est that happens without valgrind too
21:26 TBC_x yeah
21:26 est the loading screen has a varying redraw behaviour, depending on which state we are in
21:26 est best would be to have a multithreaded rendering engine
21:27 est but we are stuck with irrlicht, no way to improve without a tradeoff in slower loading speed because we are busy rendering clouds
21:28 paramat joined #minetest-dev
21:28 TBC_x http://trac.openscenegraph.org/projects/osg/
21:29 TBC_x If anyone have the balls to do it
21:29 est TBC_x, its not about the whether, its about the who and when
21:29 hmmmm somebody is already abstracting irrlicht from the rest of minetest
21:29 est at least I think
21:29 hmmmm that's the first step
21:30 est why does an oil-gas industry need openscenegraph?
21:30 TBC_x it was primarily used for simulators
21:30 TBC_x afaik
21:30 Calinou we could use Antarctica, the SuperTuxKart graphics engine
21:31 est or we do what hmmmm said, abstract the engine away
21:31 ElectronLibre left #minetest-dev
21:34 TBC_x or we could use plain OpenGL and just worry about implementation-defined incompatibilities
21:34 est some weeks ago a dude came into this channel, and asked whether he could do it.
21:34 TBC_x hehe
21:34 Calinou writing your own graphics engine requires great knowledge, that very few people have
21:35 est went again without notice
21:35 TBC_x jk
21:36 est hmmmm, you want me to do (p).X <= (q).X etc ?
21:37 hmmmm yes
21:37 est ok
21:37 paramat hmmmm and all, i would like to disable nyancats in singlenode, as that is often used for unusual mapgens (erm like mine) that have open space throughout the world. in other news, mgv5/v7 biomes go in soon!
21:42 est hmmmm, parentherisation gives me error: expected unqualified-id before ‘(’ token
21:42 est I push it into the pr
21:42 est https://github.com/minetest/minetest/commit/7ba719909b50ccac6d19c75087ceada25efcfb49
21:45 TBC_x would be cool to have a mapgen that doesn't assume that groundlevel = y: 0
21:47 hmmmm est, where?
21:47 hmmmm TBC_x, you can make that happen by setting water_level = whatever
21:47 est lotsa places
21:47 est areastore.cpp:43:52: error: expected unqualified-id before ‘(’ token
21:47 est areastore.cpp:33:14: note: in definition of macro ‘AST_OVERLAPS_IN_DIMENSION’
21:47 est areastore.cpp:228:24: note: in expansion of macro ‘AST_AREAS_OVERLAP’
21:47 est areastore.cpp:43:53: error: ‘X’ was not declared in this scope
21:47 est areastore.cpp:33:14: note: in definition of macro ‘AST_OVERLAPS_IN_DIMENSION’
21:48 est areastore.cpp:228:24: note: in expansion of macro ‘AST_AREAS_OVERLAP’
21:48 est I stop now
21:48 est but there are more
21:48 hmmmm ohh
21:48 hmmmm okay, remove the parentheses from the X Y and Z
21:48 est https://travis-ci.org/minetest/minetest/jobs/72749590#L486
21:49 hmmmm those are not macro variables, those are literal identifiers
21:49 est ah yes
21:49 est now it works
21:50 hmmmm see, whenever you define macros it's best practice to parenthesize the variables
21:51 paramat actually all mapgens have the surface centered around y = 0, changing water level makes it more or less covered by water
21:51 hmmmm otherwise what if you did AST_AREAS_OVERLAP(pmin - v3s16(1,1,1))
21:51 leat joined #minetest-dev
21:51 est paramat, I think he wants horizontal groundlevels
21:51 hmmmm that would error in fact
21:52 est e.g. for earth like mapgen, where you live on a sphere
21:53 est ah disregard that
21:54 hmmmm paramat:  that is more correct, but there's no functional benefit whatsoever if you make the mapgen centered around a different y coordinate
21:54 TBC_x just wild groundlevels, so flat area at 800, -600 is at y -200 and another flat area somewhere else is at y 350
21:55 paramat interesting
21:55 TBC_x and give people very good reason to build bridges
21:55 TBC_x spanning over deep canyon
21:56 paramat i get asked regularly for multiple realm levels, this will be a strength of MT, once we fix the shadow problem
21:57 TBC_x minecraft needs to be centered around certain ground level because it has 256 meters high world
21:57 TBC_x we do not
21:57 paramat i have considered an empty world full of cubic planets of different sizes
21:57 paramat might try editing my flexrealm mod to do this in lua
21:58 TBC_x just start doing some crazy shit already
21:58 est areastore is a point we can use here
21:58 TBC_x ;)
21:58 paramat heh yeah
21:58 est for overlapping gravitational contexts
21:58 TBC_x having varying gravity in MT would be a +1
21:59 kilbith paired with varying skies ofc
21:59 est we just need a set_acceleration call.
21:59 est also we need to adjust the player if we have differing concepts of "down"
22:00 TBC_x I wanted to have this for a long time
22:00 paramat 6 possible gravity directions would be very good
22:01 TBC_x we need something that we can proudly present as minetest 1.0.0
22:01 paramat again MT is ideal for this due to it's cubic world
22:01 TBC_x 6 gravity directions would be good, but you need extra 4 bits per block
22:01 est meh no
22:02 TBC_x per node
22:02 est that can be stored into areastores
22:02 est just have one for the world, and get the area the player is in
22:02 TBC_x hmm... I thought of more crazy stuff than you did
22:03 est well you can make them overlap ofc.
22:03 est I think you should be abled to specify "gravity sources"
22:04 est they have a specified range, and get weaker the farther you get away
22:04 TBC_x that would be killer feature for a sandbox game like this
22:04 est the range is stored in the area
22:04 est and the player's "down" direction is chosen by what "down" is closest
22:05 est together with the fall direction
22:06 est this would give you a zigzaq fall in certain cases
22:06 paramat in the meantime, MT has a 'flat world' cosmology with multiple levels, much like many cultures ancient cosmologies
22:07 TBC_x hmm
22:07 TBC_x that would also need to redefine sunlight
22:09 est if we had voxel area entities, you could even make these things move
22:10 est imagine an orbiting moon you can actually visit!
22:10 est we would need some way of prerendering it so that the client doesn't die if seen from far away
22:11 TBC_x hmm... would also need to rethink mapblock storage
22:11 est a giant nyan cat moon, that would be it
22:12 TBC_x that is awesome idea!
22:12 TBC_x who else has that?
22:12 paramat so the current problem is realms casting huge black shadows on realms below
22:12 paramat heh
22:13 est voxel area entities shouldn't cast shadows
22:13 TBC_x the shadow intensity could decrease every mapblock distance
22:13 TBC_x if that mapblock is transparent
22:13 est and if, they should be dynamic in some way. e.g. we calculate the sunlight, then we scan which VAEs could occlude
22:14 paramat yeah we've considered shadow decay, shadow tapering, but then how to keep underground spaces dark?
22:14 est ^
22:14 paramat perhaps define 'realm partitions' over which shadow does not propagate, placed just below a realm
22:15 TBC_x redefine sunlight
22:15 est VAEs arent stored in the same map
22:15 TBC_x because that will get in our way if we consider different gravity vectors
22:15 est wont get
22:16 TBC_x imo
22:16 paramat adding realm levels has been my central purpose here since 3 years ago
22:16 est (correction to my statement not yours TBC_x)
22:16 TBC_x ok
22:17 TBC_x terraria has simpler solution to their simpler problem
22:17 est well, problem with VAEs is that we'd need 4dimensional coordinates in some places
22:17 est ofc, not for voxelmanips
22:17 est but minetest.get_node and minetest.set_node will need it
22:18 est and also mapblock database backends
22:18 est if Tesseract splits up coordinates before we add the fourth dimension we'd need to even update the schemes.
22:19 est but the great advantage is that the realm can move
22:19 TBC_x simpler it would be to have mapblock.get_node and friends
22:19 TBC_x or mapmass
22:19 TBC_x or whatever
22:20 est well we have voxelmanips
22:20 est it would be an idea to set a mapmass global variable on every location dependent lua call
22:20 TBC_x with VAEs world grid and mapblock would be copletely separate
22:20 est but I think c55 has said it would require too much additions
22:21 est TBC_x, yes and no
22:21 est there will still be a "main" world grid
22:21 est but you can add other non main worlds to it
22:21 TBC_x yeah, but mapblock couldn't depend on worldgrid anymore
22:21 TBC_x to keep things generic
22:22 est yea
22:22 est whatever you mean with worldgrid
22:22 kahrl you don't necessarily need a 4th dimension, what I've seen suggested before is to allocate VAEs to coordinates between 31000 and 32768
22:23 kahrl by c55, I think
22:23 est yes this thing
22:23 est well it is correct that that is possible
22:23 est but I think its a hack
22:23 est also it makes mods possible to break
22:23 paramat yes for small VAEs, use space near the edge
22:23 est imagine if you have pistons
22:24 est then you put it at the edge of the vaes map
22:24 est then you activate it
22:24 est boom, piston head is in another vae
22:24 est so the checks needed luaside are very similar
22:24 est if not more difficult
22:24 kahrl well there would obviously be some amount of border between VAEs
22:24 kahrl made of CONTENT_IGNORE
22:25 TBC_x that is really nasty hack
22:26 est that border would help, but only for mods that stay within the border
22:26 est imagine e.g. technic forcefield generator
22:26 paramat might push later game#592 < hmmmm
22:26 ShadowBot https://github.com/minetest/minetest_game/issues/592 -- Default/mapgen: Disable nyancats in singlenode mapgen by paramat
22:30 est also, if we have 16 bits for realm number, it would only be 64k possible VAEs
22:31 est I admit that
22:32 TBC_x we don't need to limit servers with word width
22:32 est also if we still want to use the minetest.hash_node_position function, we'd have to limit even more
22:32 est then only 53 bits are possible
22:32 est we already use 3*16
22:33 est that would be 32 VAEs, pretty boring
22:34 TBC_x we don't have to use absolute numbers
22:35 est no
22:35 TBC_x for client
22:35 TBC_x which is afaik limited by irrlicht
22:38 TBC_x unless I'm wrong
22:41 TBC_x I think it would be even possible for client to use 8 bit mapblock coordinates
22:47 TBC_x that is 68719476736 nodes in a cube
22:49 proller joined #minetest-dev
22:51 TBC_x I accidentaly turned firefox's UI on
22:51 TBC_x man, that thing is ugly!
22:52 est I agree here with the google guy http://lua-users.org/lists/lua-l/2011-01/msg00885.html
22:53 est I don't see why these values shouldnt be used as indexes for tables
22:58 bobomb joined #minetest-dev
23:03 est ok hmmmm updated the pr.
23:08 bobomb was talking earlier about image functions getting exposed to lua...
23:09 bobomb someone said that you can't load images on the fly, but i just did a test and images can be loaded into a formspec on the fly, which is the use case I am interested in anyway
23:09 est can you?
23:09 bobomb yes
23:10 bobomb formspecs are apparently not pre-loaded or assessed in anyway until show_formspec is called.
23:10 bobomb so you can change the name of the image in lua
23:10 est interesting, because the skins mod VanessaE uses requires a restart
23:10 est and back then when I looked at it I confirmed that images are only loaded once
23:10 est bobomb, well that is possible
23:11 est bobomb, can you confirm that the following works
23:11 est 1. make a chatcommand /show_image imagename
23:11 est which shows a formspec with the image
23:11 crazyR bobomb: whats happening there is the image is loaded when the server starts... all images in each mod folder etc. images can be dynamic but only for the images that get lo0aded on startup
23:11 est 2. start the server
23:12 est 3. copy a new image to the texture directory
23:12 est 4. /show_image name of that image
23:12 est if that works, I am wrong, if not, you are
23:12 est seems I'm right though
23:14 crazyR est you are right. its not possible to load an image after the server has started due to the way the engine works... also the client only uses the image that are sent to it upon connecting to the the server, which would also be a issue for what bobomb suggests has happened
23:30 bobomb but i am simply requesting a different image, not changing the image
23:31 bobomb which allows me in theory to write a new image, with a new name, and then change the image name
23:34 est bobomb, we dont have image updates in the engine either
23:36 est while we store the VAEs itself inside the map, I think we should store their location inside an areastore.
23:37 est then if a mapblock is loaded, we make a lookup in the areastore, getting a list of VAEs which might have to be loaded
23:39 bobomb i'm not sure what you are saying. I am doing a test of this right now, it works. why are you saying it won't work?
23:40 est can you show me the code , and say what you do
23:41 bobomb onesec
23:48 bobomb https://github.com/bobombolo/woolimage/tree/master
23:48 bobomb instruction in readme
23:49 bobomb that's the easy part, the hard part is building a new image, saving it as a binary file to the textures folder and deleting the old image
23:49 est thats precisely what doesnt work
23:49 est the part you've tested works ofc

| Channels | #minetest-dev index | Today | | Google Search | Plaintext