Time Nick Message 06:05 sfan5 ShadowNinja: we should use z-slice for sqlite3 and individual for leveldb 06:07 ShadowNinja sfan5: I switched to the individual because z-slice was giving me errors. I'll try to convert it back later. 06:08 sfan5 ok 06:34 celeron55 http://sprunge.us/NRgQ 06:34 celeron55 so have you tested that this results in correct negative indices? 06:35 celeron55 modifying that is like poking a nuclear bomb 06:37 ShadowNinja celeron55: Yes, it had issues before testing, but works now. 06:37 celeron55 on every platform and compiler? 06:38 ShadowNinja And I've had my share of headaches from mixing negative signed numbers with bit twiddling. 06:38 celeron55 that index thing was done by someone who hasn't been around for any time before it nor any time after it, so you have nobody to blame 06:39 ShadowNinja celeron55: Um, that's pretty straightforward code. If it fails on a platform we probably don't support it. 06:39 ShadowNinja I added plenty of () too. 06:40 celeron55 the good thing about using negative indices is that it naturally extends to different coordinate ranges 06:40 celeron55 like if minetest switches to v3s32 some day, it will work just the same 06:40 celeron55 if it used only positive indices, chances are it wouldn't be so easy 06:40 celeron55 (depending on what offsets were used) 06:41 celeron55 hmm actually no 06:41 celeron55 it explodes even like it is now because there are the multiplications nevertheless 06:41 celeron55 oh whatever 06:42 celeron55 the index thing should be moved to be part of the backend instead of a widely used thing; the only reason it exists is because all existing sqlite maps use it 06:43 celeron55 i hope no new backend is using them 06:43 celeron55 because it would be insane 06:43 ShadowNinja Yes, seperate x, y, and z fields would really be more appropriate for SQLite3. 06:44 celeron55 they are more appropriate for anything 06:44 celeron55 i don't think there exists a usable database where your only option is to index solely by a single integer 06:45 ShadowNinja I don't understand the s64 thing though. I thought that it should be a u64, but my DB apparently has negative indices. 06:45 celeron55 maybe you should look at the code again 06:45 ShadowNinja celeron55: LevelDB uses a single string. 06:45 celeron55 the string can be "x,y,z" 06:46 ShadowNinja You could seperate...^ 06:47 celeron55 ShadowNinja: do you realize you can de-wrap and multiply multiple signed values to a single value like you can do for unsigned ones? 06:47 sfan5 e.g. leveldb does not support seperate keys 06:47 sfan5 aka (x, y, z) -> value 06:47 celeron55 you just go to both sides of zero then 06:47 sfan5 doing that in redis would be possible but very .. let's say.. hacky 06:48 celeron55 you don't need separate keys; you just need a sane "hash" of the coordinates that isn't so obscure like the integer used by the sqlite backend 06:49 celeron55 a string where they are appended is such a thing 06:49 ShadowNinja celeron55: What do you mean? Positions are signed, but it seems like the hash shouldn't be. 06:50 celeron55 ShadowNinja: shouldn't? maybe in a sane world, but nothing prevents you from doing it, and it behaves completely logically 06:50 celeron55 ShadowNinja: what is this "shouldn't"? who defines it? it's not undefined behavior at least 06:50 ShadowNinja You need a seperator, otherwise 1,15,5 == 11,5,5 06:50 celeron55 it's simply not separated by bits but by multiplications 06:51 ShadowNinja celeron55: Why are there negative keys in my DB? Do you know? 06:51 celeron55 it just raises the non-x-values to a higher range 06:51 celeron55 because of this 06:51 celeron55 how can you not understand? 06:51 celeron55 this is incredibly simple 06:53 celeron55 it's exactly how it works; it doesn't use bits; it multiplies the Z value by the ranges of the X and Y values, so that when the Y value multiplied by the range of the X value and the X value is added to it, the effect each coordinate has to the final value doesn't wrap onto others 06:53 celeron55 it's not separated to their own bit fields; they are separated by multiplication 06:53 celeron55 i.e. negative values have very clear meaning 06:55 celeron55 you just made it harder to understand by changing it to bit shifts 06:55 celeron55 because it now uses your way of thinking, which is wrong 06:55 celeron55 or at least you don't understand it by using that way 06:58 ShadowNinja Well, I don't understand what you mean. ;-) 06:58 celeron55 the reverse is rather unintuitive though 06:59 celeron55 maybe you shouldn't change code that you don't uunderstand 07:02 celeron55 can i ask you to focus on fixing bugs and implementing features instead of changing code around for no good reason? 07:19 sfan5 celeron55: did I tell you that I got this working yet? http://sprunge.us/COMR?cpp 07:23 celeron55 try to integrate it to the pull request then 07:24 sfan5 I'll do that when I have time 07:24 sfan5 the (more or less) compiler I wrote for that also outputs sane error messages now 07:24 celeron55 i think it would be fine to just include the actual serialization code inside the packet definition 07:24 celeron55 because some of them are going to get different formats for different versions and so 07:25 celeron55 and they are bound to have special types with special formats 07:25 sfan5 I'll see if I can add that without making it too complicated. 07:25 sfan5 error message example: 07:25 sfan5 packets.txt:39:28: Expected identifier got '{' 07:25 sfan5 | list u16 SomeListContainer { 07:25 sfan5 | ^ 07:26 celeron55 you can do it based on indentation 07:26 celeron55 then it's trivial to see where it ends 07:27 sfan5 I'm for using { ... }; 07:27 sfan5 (because that is what I currently use and wouldn't require changes to the lexer) 07:27 celeron55 oh well, i guess something like C++ {} would look reasonable 07:28 celeron55 you just need to match the curly brackets 07:30 sfan5 it ends up looking like this in the code: http://sprunge.us/UBNc 07:30 celeron55 actually more like C++::serialize { ... } and C++::deserialize { ... } in the long run (currently deserialization isn't done by that) 07:31 celeron55 (but deserialization is lower priority anyway; it's more important that the data correct to begin with) 07:31 celeron55 +is 11:02 seolfor what IDE are you guys using? im talking to linux users ... 11:16 celeron55 vim and bash 11:18 seolfor celeron55, and now tell me it's a joke :p you also debuging under vim ? 11:18 seolfor how about call stack do you have it also in vim ? ;D 11:18 celeron55 gdb is pretty good 11:19 celeron55 also valgrind and various smaller command-line utilitiees 11:20 seolfor sfan5, it's freeking unfair i spend 4 days on attempts to compile minetest under windows and in linux i done it like in 4 shell commands .. 11:21 seolfor celeron55, yep i'd been using valgrind from time to time but with gdb im not to familliar .. 11:22 seolfor any way since i cappable to bild minetst already, what can i do ? 11:23 seolfor i mean is ther some small job or jobs to be done for good warm up :D 11:25 celeron55 suitable small jobs are always very hard to find in the engine 11:27 seolfor celeron55, all right it shouldn't be much problem.. i will just play a bit with a code .. 11:30 celeron55 you could continue this, altough the work will be replaced by an automatic generator if sfan5's attempt turns out to be working: https://github.com/minetest/minetest/pull/1228 11:31 celeron55 (integrating the generator to that would be one thing, but sfan5 hasn't released it yet) 11:32 celeron55 but yeah, there just isn't anything really; you're free to find something you'd like to do and ask here if it's okay 11:33 celeron55 alternatively you could try to fix some bug listed here, but most are too complicated: https://github.com/minetest/minetest/issues?direction=desc&sort=created&state=open 11:35 celeron55 if i may, i'd propose that you start off from developing some game or mod, and then come to work on the engine when it's missing something that is needed 11:35 celeron55 it would be the healthiest way to find things to do in it 11:36 seolfor celeron55, thx for guidance and one more thing it will be faster if i simply ask are you have some specific codding standart? 11:37 seolfor for minetest ofcourse 11:38 celeron55 you will find a lot of stuff here: http://dev.minetest.net/Main_Page 11:38 celeron55 http://dev.minetest.net/Code_style_guidelines 11:38 celeron55 some of that is rather arguable though; like almost everything in this project... 11:42 celeron55 seolfor: this gives some idea on who knows and does what: http://dev.minetest.net/Organisation 11:44 BlockMen who is [OPEN]? :P 11:45 seolfor BlockMen, i think its open position to take :p 11:47 PenguinDad [OPEN] seems to be very lazy (s)he never commited something ;) 11:53 seolfor I experiencing some strange mose behavior in newst commit - its have some very curved speed sensitivity 11:53 seolfor it's only my problem or it's common thing ? 12:07 seolfor and i have the same problem in official arch release 0.4.9-3, i curies was it already reported as issue ? ;] 12:22 celeron55 BlockMen: it's thexyz who left his position 12:23 seolfor celeron55, it's seems i already found somthing small ;] mose sensivity in arch for me is much to high and even minimum is only "playable" not even close to confortable 12:23 * BlockMen thinks "at least PenguinDad got it" 12:26 seolfor celeron55, 1 more thing you will din't answerd my prvies question about codind stanadrt, and are you guys on purpose making so HUGE source files ? 12:27 seolfor it's not even splited by class per file somthig like that is not acceptable in my job for stable release 12:28 seolfor but if it's yours policy here.. i can't oposide it 12:28 celeron55 they are split by purpose; i think the java ways of putting 100 lines in a file is not useful 12:29 seolfor ye but reading file close to 4000 lines it even worse 12:30 celeron55 well those are too large; yes; there are only a couple of them though 12:30 seolfor somthing more then 1000 line's its very hard to read for me 12:30 celeron55 they're badly designed otherwise too as the 4000 lines consists of a single class 12:30 seolfor not realy 12:30 seolfor for ex. im right now looking at game.cpp 12:31 celeron55 that's the only one that doesn't 12:31 celeron55 ...maybe 12:32 seolfor ;] i thinl i will be pain in the ass for you guys ;D 12:32 seolfor think* 12:32 celeron55 maybe you'll just learn to browse large files and then you're arguing with some other newcomer about them 8) 12:35 seolfor hahaha may be bit isn't whoud be simpler to just split the freking file for example to 4 files by 1000 lines each and put them into folder called game? Ah ok will not asy anything more about it you are the boss here ;P 12:35 celeron55 as a matter of fact i'm not the boss 12:36 seolfor but what about the codding standart you known.. spaces/tabs/brackets/naming etc .. 12:36 celeron55 http://dev.minetest.net/Code_style_guidelines 12:36 celeron55 i linked this already 12:36 seolfor you are not ? i thought you are 12:36 seolfor o .. sory i didn't notice 12:36 celeron55 i'm not much more than one of the core developers 12:38 celeron55 anyway - it's been long desired that game.cpp would be split to meaningful parts so if you can do it well, that might be upstream-worthy 12:39 celeron55 also the game state should be stored in a simple class or struct instead of local variables 12:40 celeron55 it has been discussed before too: http://irc.minetest.ru/minetest-dev/2012-08-12#i_2418283 http://irc.minetest.ru/minetest-dev/2013-10-21#i_3385585 12:40 seolfor all right i will take a look as soon i will do somthing with this mouse configuration 12:41 seolfor and i was i thinking why are there so many pull request unclosed on github with one are definetly usefull 12:41 seolfor for ex. game confing in game etc .. 12:42 celeron55 some of them are waiting for testing, some of them are incomplete or buggy (as stated by the author), some of them are being argued about 12:42 celeron55 take a look at how many pull requests have been closed 8) 12:42 celeron55 there's just a huge flow of them so they buffer up a lot 12:43 seolfor ah indeed ;] 12:43 celeron55 if you want, you could look through them and point out those that seem directly mergeable 12:44 celeron55 or that should be closed 12:45 celeron55 then maybe we find something that needs such tweaking that you can do 12:47 seolfor and about that .. how should i report / made pull request 12:47 seolfor should i made fork for my sell then report pull request ? 12:48 seolfor and do i have to keep there linear history ? i realy don't like rebase functionalyty (simply i didn't used it to much) 12:49 celeron55 we use rebase for everything; but it can be done at the moment when the pull request is finally added upstream 12:50 celeron55 keeping all work-in-progress comments separate until that point is encouraged 12:50 celeron55 but yeah, it's best if you make yourself very familiar with rebasing 12:56 seolfor sorry but "keeping all work-in-progress" what did you mean by that ? and aobut upstream, sory im not familiar with them 13:01 celeron55 s/comments/commits/ 13:01 celeron55 work-in-progress means stuff that isn't yet finished (but will be finished after more is added to it) 13:01 celeron55 and upstream means the main minetest repo to which people base their personal forks 13:02 seolfor hmy.. trivial explenation for trivial problem's but i get it now thx ;] 13:04 seolfor i read http://dev.minetest.net/Code_style_guidelines but how about line ending chareacters? i hope you are using unix style ? 13:06 celeron55 of course 13:08 celeron55 i'm guessing someone should add things to the wiki based on this discussion as it's apparently missing things that it could have 13:15 seolfor most of it is's already at wiki i will add notice about line ending charcter 13:17 seolfor and about game.cpp i will be good exercise for me. I will made fork for my slef after i will do acualy somthing then we will be able to discuss it.. 13:18 seolfor i have to and for now thx for you time celeron55 ;] 15:44 seolfor i have some stange mouse bechawior in arch linux for example if i will move mouse to left lets say about "2cm" (looks good) and then to right agin "2cm" (here is the problem) camera in game will move more to left side even more and only afther that to the right 15:45 seolfor my question is: it's normal in newest commit (not linear mose movment) or it's only at arch linux bechewing strange ? 15:52 celeron55 i have no idea what could cause that 15:58 celeron55 also arch linux has not much special compared to other distros 15:58 celeron55 but it could be specific to your mouse driver or something 15:58 celeron55 or window manager 15:58 celeron55 or irrlicht version 16:00 seolfor on windows is working qute well, 16:01 seolfor i got irrlicht in 1.8.1-2 ( so i dont think it's a problem) 16:03 seolfor it might be a drivers becouse im using vmware virtual machine i will check what i got installed, but I don't think window manager can have somthing with it 16:05 sfan5 trying to run 3d stuff in a VM is usually a bad idea 16:08 celeron55 sounds like the VM isn't working right 16:08 celeron55 which isn't surprising at all and probably can't be fixed 16:09 sfan5 >afaik those shadows are caused by invisible caves that are generated in the sky... 16:09 sfan5 wat 16:09 sfan5 apparently air != air 16:10 seolfor ah .. i don't care any more i wan'a code somthing i will instal tomoro native linux any proposition for distro ? 16:10 sfan5 I would go for Xubuntu or Crunchbang 16:11 seolfor i whould preper somthing based on arch .. ;] 16:11 sfan5 archbang? 16:12 seolfor yep i was thinking about it.. or again plain arch + xorg + somthing 16:13 seolfor and btw sfan5 are you deverloping under win or linux ? 16:13 sfan5 are you insane? 16:13 sfan5 as if anyone would dev under windows 16:13 sfan5 horrible... 16:13 sfan5 I use Xubuntu 13.10 16:14 seolfor and how about ide .. dont tell me you are also uning vim ? 16:15 sfan5 I find vim hard to use 16:15 sfan5 gedit/geany, command line, gdb & valgrind 16:18 seolfor a bit better then celeron but still it's to small for me ;] i think i will stick with qtcreatro for time beeing .. 16:18 sfan5 netbeans works good too 16:19 seolfor i will check it but not today :p i'm messing with game.cpp :p 16:20 seolfor i's give me so much plesure to ctrl+c/v 500+ lines of code ;] 16:27 seolfor and btw what encoding are you using ? UTF-8 i hope so ? 16:28 BlockMen "[18:13] sfan5: as if anyone would dev under windows", hey! 16:28 sfan5 seolfor: UTF-8 IIRC 16:28 seolfor BlockMen, i whould if i could 16:29 BlockMen seolfor, its possible ;) 16:30 seolfor BlockMen, not for me i tried to make build like 4 day or about 16:31 BlockMen seolfor, i also needed a lot time to get it run 16:32 BlockMen and since then im trying to not touch the running system^^ 16:32 seolfor ye but's freeking unfair i made it runable under linux like in 5 min 16:38 sfan5 linux is superior~ 16:38 BlockMen so the windows users are the real skilled ;P 16:40 seolfor windows don't care about deverlopers other then them that's the main diffrance 16:41 BlockMen oh, thats not true. windows care about developers, but for windows exclusive only 16:41 BlockMen *s/for/about 16:45 twoelk in the newest minetest build I can rotate slabs but not blocks. Is that a bug or a feature? 16:47 sfan5 normal blocks look same at every side 16:47 sfan5 +te 16:47 sfan5 *the 16:52 twoelk You can make patterns with wood for example 16:54 sfan5 you mean rotating y? 16:55 seolfor for ex or at least 2 sides 16:56 seolfor i mean first texture for 4 sides and secound for last 2\ 16:56 twoelk yeah, like creating a floor with wood planks, https://forum.minetest.net/viewtopic.php?id=9084 16:58 seolfor and btw global functions/varialbes are trully painfull >.> are ther realy neccesery I highly don't think so 19:35 spillz !tell seolfor to try Code::Blocks with CMake generated project files. Works well. irrlicht code completion could be better though. 19:35 ShadowBot spillz: O.K. 19:36 sapier "celeron55 vim and bash" ?? really? 19:37 sfan5 yes 19:37 sfan5 celeron55 always used just vim and bash 19:38 sapier everytime I hear this I don't know if the one using it is genius or crazy :) 19:39 sapier seolfor I know I'm gonna be the bad guy on saying this but what do you think about fixing some bugs to get known to code prior starting to refactor core components? 19:42 ShadowNinja sfan5: I tried the range thing again, but I got the same issue. The mapper writes outside the image causing a segfault, and if i increase the image size I get this: http://imgur.com/T784lwy.png patch http://ix.io/bJ4/diff 19:43 ShadowNinja Notice that the bottom left section has a extra lower layer, and there are block patches. 19:43 ShadowNinja black* 19:43 ShadowNinja The LevelDB backend works fine. 19:43 sfan5 static inline int64_t stoi64 19:43 sfan5 this sounds wrong 19:44 sfan5 the string passed by reference can change 19:44 sfan5 while the arg itself does not change (because reference) 19:44 sfan5 a static decl is therefore not right 19:44 sfan5 oh also 19:45 sfan5 I am merging redis database backend thing in 30 minutes 19:45 sfan5 celeron55 said it was okay as long as I maintaned it 19:45 seolfor everytime I hear this I don't know if the one using it is genius or crazy :) - i think it's propably bouth 19:46 ShadowNinja sfan5: It's a static global function. Meaning that it only exists in it's own module (source file). 19:46 sfan5 hm, ok 19:46 ShadowNinja static has a few meanings in C++. 19:46 sfan5 Apr 12 11:46:49 sfan5: i guess it can be added, but it's the first one that will go if some internal interfaces are to be changed and you aren't around to modify it 19:46 seolfor sapier, about fixing bug's i dont have enything against 19:47 sfan5 ^ 'evidence' 19:47 sapier and it's quite small difference between statics meaning ... but those small differences sometimes decide 19:47 ShadowNinja sfan5: Does it use that hashing thing like SQLite3 and LevelDB? 19:48 spillz What is with all this fiddling with backend databases and code formatting? these aren't the real problems with the game, but make up much of recent activity. 19:48 sfan5 ShadowNinja: dunno 19:48 sfan5 spillz: redis is even better than LevelDB 19:49 ShadowNinja sfan5: It does, it uses getBlockAsInteger. 19:50 sfan5 what should it use instead? 19:50 sfan5 now is the time where I can change it 19:51 ShadowNinja sfan5: It should seperate each number with a space or comma. Or it should use seperate collums if redis supports multi-column keys. 19:51 sfan5 redis does not 19:51 ShadowNinja columns* 19:51 sfan5 so it should use commas 19:51 proller redis cant be faster than level 19:52 sapier because of what reason proller? 19:52 ShadowNinja proller: And why not? 19:52 sfan5 proller: lolwut, redis is always in-RAM | LevelDB is not 19:52 proller also about block keys - https://github.com/freeminer/freeminer/commit/e1f7349bdae070856b0545fb7f2bb4a72b4c5bf2 19:53 sapier proller can you please tell what makes you believe it can't be faster? 19:53 sfan5 are you telling me dummy is faster than redis? 19:53 proller levedb - one process file access, redis - access with locking 19:54 proller no, look at keys 19:54 proller fm will use this for leveldb too 19:54 sfan5 lol 19:54 ShadowNinja proller: Wut? Why would you use strings rather than integers? 19:54 sfan5 I am about to use this too 19:55 proller keys in leveldb is strings 19:55 ShadowNinja proller: Yes, but dummy doesn't have the restriction. 19:55 proller why need to jerk with s64 instead of direct use 10,20,-30 19:55 sapier are you sure string operations are faster then shift operations? 19:56 proller https://github.com/freeminer/freeminer/commit/b60c3bd0b95ca05f7326ce5b11a761e05bd41ae3 19:56 sfan5 ShadowNinja: should I use seperated number now or not? 19:56 ShadowNinja You can store a number efficiently in a string using writeUNN. 19:56 ShadowNinja sfan5: Yes, according to out discussion yesterday. 19:56 sfan5 apparently no 19:56 sfan5 so yes 19:56 proller block store not slowest place in mt 19:57 sfan5 are you sure string operations are faster then shift operations? 19:57 sfan5 what about that? 19:57 ShadowNinja proller: So you want to make it slower? 19:57 proller you can use whole blocks as keys without slowing 19:57 sapier I don't think that much about writing it but parsing? 19:57 proller ShadowBot, 19:57 ShadowNinja sfan5: It's already written as a string. 19:57 proller ShadowNinja, how much slower? 19:58 proller 1ns vs 2ns ? 19:58 sfan5 ShadowNinja: yeah, but then it is parsed into a number and shift ops vs. parsed into numbers 19:58 sapier 10e20 * 1ns is still quite a lot of time 19:59 ShadowNinja proller: No, comparing an integer and comparing a string are very different time-wise. 19:59 sapier there's a simple solution for this problem write a working benchmark and provide values 19:59 * proller facepalm 19:59 sapier and description of benchmark to validate it's really doing what it's supposed to do 19:59 proller paramat lua mapgen generate one block per 4 second 20:00 ShadowNinja sfan5: True. Storing it as one int is convoluted in the first place though. And a int string is even worse. 20:00 ShadowNinja proller: And? 20:00 sfan5 ShadowNinja: how should I do it then? 20:00 sfan5 I think I'll just leave it as is 20:00 sapier so we're slowing down core because of it's not relevant in a already broken scenario? ... proller thats a non argument 20:00 ShadowNinja sfan5: I don't know. ;-) 20:01 sfan5 ok 20:01 sfan5 I'll leave it as is 20:01 ShadowNinja sfan5: Any ideas about my mapper issue? 20:01 sfan5 no, not yet 20:01 sfan5 merging redis in 15 mins 20:02 proller dont forget to rename minetest to sapiertest, or maybe sapierpilztest, or sapierpilzshadowninjatest, it will beat minecraft and all other games 20:02 sfan5 you forgot to rename freeminer to prollerminer 20:16 spillz The database and code formatting so not explain the frame rate drops, draw distance issues, ugly gui (e.g. inventory screen), various issues with entities, shortage of nice entity and player animations, unfinished android port, and general lack of a cohesive game. It looks like you are no longer making minetest the game, but playing github the game. 20:16 jin_xi nice rant 20:16 ShadowNinja Good riddance (*roller). sfan5: Well, look at it soon and see if you can find anything out of place. 20:17 sfan5 lol 20:17 ShadowNinja Hah. 21:53 celeron55 well i agree with spillz and proller in their main points 21:53 proller welcome to club ;) 21:56 hmmmm what 21:56 hmmmm on earth 21:56 hmmmm that has got to be the most useless patch i've ever seen 21:56 hmmmm just because something isn't the current bottleneck means that you have free reign to make it slower 21:56 hmmmm if someone dropped a dollar on the street, wouldn't you pick it up? 21:57 hmmmm sure, it's insignificant in the grand scheme of things, but look, it's an easy way to optimize - no - not optimize - just not screw up for no good reason 21:57 hmmmm so it's like dropping a dollar bill on the street on purpose 21:57 hmmmm it takes you more effort to do something stupid 23:00 RealBadAngel hi