Minetest logo

IRC log for #minetest-dev, 2018-11-26

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

All times shown according to UTC.

Time Nick Message
00:00 Shara I don't really see a reason to change obsidian door texture either way
00:01 paramat hey, user Unarelith (Quent42430 on github) would like to chat here about #7899 and is using Hexchat, but somehow can't talk here, anyone know why?
00:01 ShadowBot https://github.com/minetest/minetest/issues/7899 -- Architectural improvement needed
00:01 paramat hm, i think the current handles are awful, but nevermind :)
00:02 Shara Well, simple straight vertical ones would be nicer. The shape of the suggested change just doesn't map across to so few pixels very well in my opinion
00:03 paramat ah
00:04 paramat i might be able to do vertical ones
00:06 danielp3344 joined #minetest-dev
00:09 Unarelith .
00:09 Unarelith ok looks like I'm able to talk here after all
00:10 Unarelith the most important thing I want to discuss is file splits, for example for content_sao it would look like this: https://github.com/Quent42340/minetest/commit/da9e0c3dc89d857091ebbd89999f69b2429e7e13
00:12 Unarelith currently, I can't make a PR because this stuff can break current open PRs since they'll be impossible to merge after mine
00:14 Unarelith but the goal would be to make new PRs easier to merge (more files = less conflicts)
00:22 paramat ah good
00:24 Unarelith I think the main problem is that the code is packed into giant files, so splitting them, sorting them and organizing them should make everything more clear
00:26 Unarelith but with the side-effect of invalidating old PRs, and this side-effect will always be present since PRs will continue to grow
00:26 paramat the best devs to talk to about code architecture are nerzhul, sfan5 and rubenwardy, best time is EU daytime, especially evening. i'm not so good with complex code architecture stuff
00:28 Unarelith ok thanks paramat
00:42 yusf[m] joined #minetest-dev
00:42 MayeulC joined #minetest-dev
00:42 kollaps[m] joined #minetest-dev
00:44 ANAND joined #minetest-dev
00:46 rubenwardy joined #minetest-dev
01:29 dzho_ joined #minetest-dev
01:49 longerstaff13-m joined #minetest-dev
02:27 behalebabo joined #minetest-dev
02:31 reductum joined #minetest-dev
03:15 Miner_48er joined #minetest-dev
03:20 indiana joined #minetest-dev
03:50 Cornelia joined #minetest-dev
04:41 Cornelia joined #minetest-dev
05:28 jas__ joined #minetest-dev
05:45 Cornelia joined #minetest-dev
07:05 nerzhul Unarelith i agree with you on that point but it's not easy, we started the refactor. This also permits to test the code easily
07:07 Icedream joined #minetest-dev
07:19 Icedream joined #minetest-dev
07:22 Icedream joined #minetest-dev
08:00 longerstaff13-m joined #minetest-dev
08:14 Mensious joined #minetest-dev
08:35 nerzhul i agree about SAO split
08:35 nerzhul i can provide a such PR
09:02 troller joined #minetest-dev
09:15 T^4im joined #minetest-dev
09:17 ShadowBot` joined #minetest-dev
09:17 thePalin- joined #minetest-dev
09:20 _0_ joined #minetest-dev
09:34 longerstaff13-m joined #minetest-dev
09:36 longerstaff13-m joined #minetest-dev
09:43 p_gimeno I don't follow the logic behind "more files = less conflicts". If two changes touch the same area, they are going to conflict no matter the split, and if they touch different areas, they are not going to conflict, and I don't see how separation into files changes that.
10:35 red-001 joined #minetest-dev
11:40 proller joined #minetest-dev
11:41 nerzhul it's not more files, but more objects, somes are too big i think, i don't know how to split all but this can permit to have also more tests
11:41 nerzhul the shown separation is logical for me but has no real effect
12:41 Mensious joined #minetest-dev
12:49 calcul0n joined #minetest-dev
13:18 Wuzzy joined #minetest-dev
13:44 calcul0n joined #minetest-dev
13:46 Unarelith nerzhul, I made the SAO split so I can PR my changes if you want
13:46 Unarelith actually, I can do this for all the files if needed
13:46 nerzhul you can, but due to the change i tend to prefer to do it myself to ensure we don't miss any line
13:46 nerzhul and not it's not java we will never do it on all files :p
13:47 Unarelith you really should tho :/
13:48 Unarelith because "where the fuck is defined PlayerHPChangeReason? at the end of content_sao.h after 400 unrelated lines" is a problem because the answer could be `PlayerHPChangeReason.hpp`
13:50 Unarelith <nerzhul> you can, but due to the change i tend to prefer to do it myself to ensure we don't miss any line <= and it's mainly copy pasting, I don't how it could be possible to miss lines
13:54 nerzhul i'm not with you, code review principes
13:56 Unarelith small commits shouldn't be hard to review actually
14:10 Unarelith nerzhul, and btw I work in C++ since 8 years so your "no I'll do it because you'll probably miss lines" is really hard to take actually
14:10 nerzhul Unarelith, it's not against you, error can happen everytime, and don't forget nobody knows you since yesterday
14:13 nerzhul Unarelith, provide the SAO PR i will use git diff to ensure it's proper
14:13 nerzhul i'm okay to split this big file
14:13 nerzhul i think you neverlook server, serverenv or game :p
14:13 nerzhul i miss time on MT to perform more refactor but we need to refactor many things
14:16 Unarelith nerzhul, unfortunately my fork had two commits prior to the SAO split: moving every src/ file (which is not already in a folder) into src/engine and src/engine/client.
14:16 Unarelith and I don't think this kind of change can be easily merged because of existing PRs
14:17 nerzhul why did you do this, and why did you fork ?
14:17 nerzhul i agree we need to move our files to more proper folders to have a better project view, it's a long time issue we do
14:17 nerzhul see 0.4.16 tree to see before :p
14:18 Unarelith so you have your answer :)
14:18 Gael-de-Sailly joined #minetest-dev
14:18 Unarelith my fork was made to give examples for #7899
14:18 ShadowBot https://github.com/minetest/minetest/issues/7899 -- Architectural improvement needed
14:20 Unarelith so I can still make a PR with what I did, but then we'll have to change some older PRs
14:21 nerzhul not a problem
14:21 nerzhul open the split the sao PR
14:24 Unarelith nerzhul, I opened #7900 with what I did on my fork
14:24 ShadowBot https://github.com/minetest/minetest/issues/7900 -- Global code architecture improvement + SAO split by Quent42340
14:26 jas_ joined #minetest-dev
14:28 DI3HARD139 joined #minetest-dev
15:07 Unarelith nerzhul, I had to do a full cmake clean to see missing/invalid headers in current build. CMake is supposed to handle that, why isn't that the case here?
15:29 YuGiOhJCJ joined #minetest-dev
15:36 Fixer joined #minetest-dev
15:40 nerzhul because you miss something about cmake :D
15:42 Fixer joined #minetest-dev
15:47 troller joined #minetest-dev
15:52 Unarelith nerzhul, what do you mean?
16:01 Unarelith anyone knowns what's the purpose of this line? `LuaEntitySAO proto_LuaEntitySAO(NULL, v3f(0,0,0), "_prototype", "");`
16:02 sfan5 context?
16:04 Unarelith sfan5, https://github.com/minetest/minetest/blob/master/src/content_sao.cpp#L297
16:04 sfan5 looks unused to me
16:05 rubenwardy it looks like it was originally intended to be an object that you copy and then deserialise into
16:05 rubenwardy bad coding style, though
16:07 Unarelith so it's unused? because it causes crash in my fork due to the usage of ServerActiveObject::registerType in LuaEntitySAO constructor
16:07 Unarelith that's why this: `std::map<u16, ServerActiveObject::Factory> ServerActiveObject::m_types;` is in content_sao.cpp and not in serverobject.cpp
16:08 Unarelith I'll remove it to fix the crash then
16:10 Unarelith rubenwardy, about #7900, you said you didn't liked `engine` folder name, any better idea?
16:10 ShadowBot https://github.com/minetest/minetest/issues/7900 -- Global code architecture improvement + SAO split by Quent42340
16:10 T4im if it registers itself form the constructor, you should probably assume it not being dead code
16:10 rubenwardy src/client exists because things are starting to be partially moved into subfolders
16:11 rubenwardy so I'm not sure why you can't move the rest of the client stuff into there
16:14 Unarelith rubenwardy, ok then I'll merge `src/engine/client` into `src/client`
16:15 rubenwardy sounds good
16:39 Unarelith T4im, I understand your concern but everything seems to work after removing it
16:40 Unarelith so it looks like legacy code which hasn't been touched since ages
16:40 T4im :D
16:41 Unarelith and if anything ever goes wrong I'll remember to try adding it back into the code first :p
16:41 Unarelith rubenwardy, I don't think 80 column debate is relevant for #7899
16:41 ShadowBot https://github.com/minetest/minetest/issues/7899 -- Architectural improvement needed
16:42 rubenwardy you did mention it in the OP
16:42 rubenwardy maybe make a separate issue?
16:44 Unarelith sure, but it was only a suggestion, if any debate on the topic is _really_ needed then I'll make another issue, but I think it could be better to discuss it here
16:44 rubenwardy oh lol, found some random compat code
16:44 rubenwardy nice
16:46 Unarelith btw, should I let my PR in its current state or can I keep working on stuff?
16:49 rubenwardy looks like a good first PR
16:49 rubenwardy I'm currently trying to work out what proto_LuaEntitySAO is, and how the system works
16:50 Unarelith I tried a lot of things, like creating a world, joining a server, and everything seems to work fine
16:50 rubenwardy was added in this commit: https://github.com/minetest/minetest/commit/bfc68d31510bbd40732c19ada51d4683cb050de2
16:50 rubenwardy not very helpful
16:51 rubenwardy there's also TestSAO proto_TestSAO(NULL, v3f(0,0,0));
16:52 Unarelith I removed it too
16:55 Unarelith but maybe we should just ask this to celeron55?
16:58 Unarelith hmm my travis build is failing but I don't know why
16:59 rubenwardy you probably need to update the travis whitelist
16:59 rubenwardy some old files are whitelisted by the code style litner
16:59 rubenwardy ah, also builds
17:00 rubenwardy looks like IRrlicht isn't included correctly
17:00 Unarelith weird, I didn't make any change about Irrlicht
17:01 Unarelith oh
17:01 Unarelith I actually failed an unit test
17:02 Unarelith testStreamRead failed
17:03 rubenwardy it looks like the proto is used, weirdly, to register a factory to ServerActiveObject
17:03 rubenwardy looks like it's called when a mapblock is loaded
17:04 Unarelith so it's still needed somehow?
17:04 rubenwardy so when testing, try spawning entities (ie: dropping an item), shutting down and restarting
17:04 rubenwardy this is disgusting
17:04 rubenwardy well, I guess it's one way of having code register itself without having to be called by somefunction
17:04 rubenwardy as the code runs on init due to the constructor
17:04 rubenwardy still a hack
17:05 Unarelith well, I'll add it back then
17:05 Unarelith will need another PR to fix that
17:05 rubenwardy with the proto removed, you should get: "ServerEnvironment::activateObjects(): failed to create active object from static object"
17:05 rubenwardy heh
17:05 rubenwardy couldn't you just ammend it on?
17:06 Unarelith I meant another PR to fix the need for this "thing"
17:06 rubenwardy ah right, yeah
17:07 Unarelith btw, is TestSAO still needed?
17:08 Unarelith because it will be impossible to split TestSAO and LuaEntitySAO since they both need `m_types` declaration first: std::map<u16, ServerActiveObject::Factory> ServerActiveObject::m_types;
17:08 Unarelith since this variable is used in `registerType`
17:09 Fixer_ joined #minetest-dev
17:09 rubenwardy isn't that just a forward declaration?
17:09 rubenwardy wait, no
17:09 Unarelith nope, it's the definition, the declaration is in serverobject.h, hmm or I could just add the protos to serverobject.cpp
17:13 Unarelith so I added protos back to serverobject.cpp with a FIXME note indicating that their presence here is temporary and they need to move
17:13 Unarelith [FAIL] testStreamRead - 0ms
17:13 Unarelith [FAIL] testBufReader - 0ms
17:13 Unarelith Unit Test Results: FAILED
17:14 Unarelith though somehow I fail some unit tests
17:17 Unarelith ok so actually minetest master branch fails the same tests
17:18 rubenwardy lol
17:18 rubenwardy unit tests are ran in the CI, though
17:18 rubenwardy m
17:18 rubenwardy oops, wrong window
17:18 rubenwardy (   alias m="make -j9"   )    ;)
17:19 rubenwardy works for me
17:19 rubenwardy [PASS] testStreamRead - 0ms
17:21 Unarelith hmmm weird, then why my build fails? :/
17:21 rubenwardy maybe make clean is needed?
17:21 rubenwardy or it could be a platform issue
17:21 rubenwardy doubgt it
17:21 rubenwardy s/platform/undefined behaviour/g
17:25 Unarelith I tried updating my system, I cleaned and restarted the build, we'll see
17:27 Unarelith I still fail the same tests
17:28 Unarelith Test assertion failed: readF1000(is) == 53.534f    at test_serialization.cpp:305
17:28 Unarelith Test assertion failed: buf.getF1000() == 53.534f    at test_serialization.cpp:472
17:30 rubenwardy well, probably fine then
17:31 rubenwardy well, no
17:32 rubenwardy #3943
17:32 rubenwardy lol
17:32 ShadowBot https://github.com/minetest/minetest/issues/3943 -- testStreamRead and testBufReader failures
17:33 Unarelith so it's a known thing for two years, ok x)
17:35 Gael-de-Sailly joined #minetest-dev
17:36 rubenwardy nerzhul: is it possible to restart this job? https://gitlab.com/minetest/minetest/-/jobs/125127331
17:36 rubenwardy and also answer your PMs ;)
17:40 p_gimeno I'm interested in analyzing 3943. Where's the test that fails?
17:41 p_gimeno ah, test_serialization.cpp:305, sorry
17:47 p_gimeno Unarelith: if you change 53.534f to 53.534000396728515625f does it pass?
17:48 p_gimeno (that particular test)
17:49 Unarelith still doesn't pass
17:49 p_gimeno hm, the problem is probably the opposite, 53.534f is correct but the incoming value is a double and is being compared as double
17:49 p_gimeno thanks
17:52 p_gimeno could you please try temporarily replacing line 305 with this and see if it still fails? {volatile float f = readF1000(is); UASSERT(f == 53.534f);}
17:53 Unarelith still fails :/
17:53 p_gimeno wow
17:55 p_gimeno could you please add this before the UASSERT and check if it's displayed? printf("readF1000=%a expected=%a\n", f, 53.534f);
17:55 rubenwardy well, the issue is probably right in that it should be a range check
17:55 Unarelith damn wait p_gimeno I may be have been stupid
17:56 p_gimeno it's not easy to find a platform where it fails
17:58 Unarelith p_gimeno, so I tried again you two suggestions to check if the error line actually changed, but without success
17:59 p_gimeno could you try to get the output from printf, please?
17:59 Unarelith p_gimeno, that's what I was doing :p
18:00 Unarelith readF1000=0x1.ac45a4p+5 expected=0x1.ac45a2p+5
18:00 p_gimeno wow
18:00 p_gimeno holy rounding error, Batman
18:00 p_gimeno thank you :)
18:01 Krock joined #minetest-dev
18:02 p_gimeno the double result is 0x1.ac45a1cac0831p+5, so actually under 0x1.ac45a2p+5 yet the result is 1 ulp above
18:02 * p_gimeno looks into readF1000 again
18:10 p_gimeno ok, so the best explanation I have is that there's some optimization that is changing the division into a multiplication by the reciprocal
18:11 Jordach joined #minetest-dev
18:11 p_gimeno multiplying 53534.f by (float)(1.f/1000.f) can cause exactly that discrepancy
18:15 p_gimeno Unarelith: any idea of the exact compiler flags used to compile src/util/serialize.cpp?
18:15 p_gimeno (and what compiler?)
18:16 Unarelith my compiler is gcc version 8.2.1 20180831 (GCC)
18:16 Unarelith and I don't know for the compiler flags
18:17 p_gimeno what processor/bits?
18:18 Unarelith i7 7th gen/64 bits
18:22 p_gimeno it's a very surprising result... I wonder if -ffast-math or some other unsafe math optimization flag is in effect
18:22 rubenwardy I use an i7 8550U (ie: 8th gen, 64bit)
18:22 celeron55 oh you figured out the AO factory thing on your own, good 8)
18:23 nerzhul rubenwardy: why not
18:23 celeron55 would have created some nasty bugs if it was removed without moving elsewhere
18:23 rubenwardy from what I can see, it would've broken map loading from disk
18:24 rubenwardy I really need a better IDE, it's really painful trying to navigate to symbols
18:24 nerzhul rubenwardy clion
18:24 rubenwardy maybe I should try that again :)
18:24 nerzhul yeah don't do a massive refactor without understanding all
18:24 nerzhul it's not as simple :p
18:27 rubenwardy also, having classes only in .cpp files is perfectly valid
18:27 nerzhul if they are intended to be private yes
18:27 rubenwardy it's a classic example of implementation / interface
18:27 rubenwardy which is heh
18:29 rubenwardy the classes in game.cpp are disgusting though, and a bad example
18:30 rubenwardy inputhandler should be in inputhandler.h (which actually exists)
18:30 rubenwardy +already
18:32 Krock to be fair, game.cpp probably never had a major code movement, resulting in partially messy code from "the old days"
18:33 rubenwardy yeah
18:33 rubenwardy I really want to work on an input rework at some point, but I always feel a bit sick after trying
18:33 rubenwardy partially Irrlicht's fault, tbh
18:35 rubenwardy tbh, I do too much talking and not enough actual coding
18:37 rubenwardy merging #7863 in 10
18:37 ShadowBot https://github.com/minetest/minetest/issues/7863 -- Don't display page-nav buttons when #store.packages == 0 by ClobberXD
18:37 Krock if I were just 30s earlier...
18:37 rubenwardy looool
18:38 rubenwardy you can if you like
18:38 Krock nah, go on ;)
18:38 rubenwardy I'll probably forget anyway, I usually do
18:43 rubenwardy #7901
18:43 ShadowBot https://github.com/minetest/minetest/issues/7901 -- Accepting PRs/patches from non-Github users
18:43 rubenwardy p_gimeno ^
18:45 p_gimeno sweet :)
18:45 rubenwardy updated
18:46 rubenwardy mergin...
18:47 rubenwardy done
18:49 p_gimeno I like the bot approach, if it's able to fetch any remote branch on any repo no matter where it's hosted
18:50 rubenwardy that's part of the issue
18:50 ANAND Thanks :)
18:50 rubenwardy the bot would need to have it's own fork and update the branches, in that case
18:50 rubenwardy it's probably not the easiest solution
18:51 p_gimeno sounds like quite some work, yeah
18:53 p_gimeno I'm willing to do it on GitLab
18:54 rubenwardy that's probably the easiest method out of the ones given
18:54 rubenwardy well, idk
18:58 Krock Unarelith: thanks for #7902. Makes things easier. What's "testbm.txt" btw?
18:58 ShadowBot https://github.com/minetest/minetest/issues/7902 -- Client-specific files moved to 'src/client' by Quent42340
18:59 Unarelith Krock, np, and "testbm.txt" is a file sometimes generated by MT build
19:00 Krock weird. will check where this comes from
19:00 Krock ah. perhaps just ignore the entire test world
19:01 Krock src/unittest/test_world/world.mt -> src/unittest/test_world/
19:02 Unarelith the file is generated in the repo root
19:02 p_gimeno I can only reproduce a reduced version of #3943 <https://paste.scratchbook.ch/view/69368d2b>, if I activate either -ffast-math or -funsafe-math-optimizations, trying more FP-related flags...
19:02 ShadowBot https://github.com/minetest/minetest/issues/3943 -- testStreamRead and testBufReader failures
19:02 Krock oh, that's not related to the test world, more as a side-product of the unittests overall
19:02 Unarelith I guess so
19:03 Krock test_ban.cpp apparently does not delete that file after finishing the tests
19:05 Unarelith Krock, for file naming, is my suggestion open to discussion?
19:05 Krock yes sure. was just my personal opinion on keeping it consistent with the existing code base
19:06 Krock also personal preference
19:06 Unarelith it's mine too, purely subjective, but I have arguments to defend it :p
19:07 rubenwardy I'd prefer names which match class names
19:08 rubenwardy + where relevant
19:08 Krock there used to be meetings on Saturday around 9 PM UTC where most of the devs were online. Too bad such discussions are now much more luck-based and spontaneous
19:08 rubenwardy this could be left until later, though
19:09 Krock btw, the Android source list is in build/android/jni/Android.mk
19:31 rubenwardy oh nice, you made your own MC-like
19:37 Unarelith Krock, rubenwardy, why you don't use automatic .cpp file gathering instead of having them manually entered into Android.mk AND CMakeLists.txt?
19:37 Unarelith it's so inconvenient
19:38 ANAND joined #minetest-dev
19:38 rubenwardy because the Android build system is completely shit
19:38 sfan5 android.mk is a hack, it should not exist
19:38 rubenwardy ^
19:38 sfan5 android should use cmake like any other platform
19:39 rubenwardy sfan5 was working on a nice cmake build system because this hacky shit by sapier was merged
19:39 rubenwardy there's a PR for this by nerzhul
19:39 sfan5 nrz you mean
19:39 Unarelith it's still possible to do this inside Android.mk
19:39 sfan5 my cmake build system predates sapier's android port
19:40 sfan5 Unarelith: either way I wouldn't worry too much about android right now when developing
19:40 rubenwardy that's what I was referring to. Did you stop working on it before sapier started porting?
19:40 rubenwardy and yeah, you could still use find
19:40 sfan5 i stopped working on it eventually when sapier's port was nearing completion
19:40 sfan5 (because his stuff worked and mine didn't at that point)
19:41 rubenwardy thought so
19:41 rubenwardy #7123
19:41 ShadowBot https://github.com/minetest/minetest/issues/7123 -- Android: switch to cmake based standard builds by nerzhul
19:43 Unarelith sfan5, the only problem is keeping Android.mk valid, which is a pain due to all the files I moved
19:46 Unarelith rubenwardy, Android.mk updated in both PRs
19:47 rubenwardy nice, thanks
19:49 Unarelith rubenwardy, what was the issue with mainmenu?
19:50 rubenwardy well, gui contains stuff which is also used by the main menu
19:50 rubenwardy so it depends whether you mean client as the state of being, or client as the build target
19:50 rubenwardy like, should main menu stuff be in client?
19:50 Krock I'd assume "client" is the in-game client
19:51 rubenwardy in which case src/gui should stay separate
19:51 rubenwardy but it shouldn't have references to src/client in it, really
19:51 Krock well, both mainmenu and in-game client need the gui
19:52 troller joined #minetest-dev
19:52 Unarelith in my opinion, the code should be separated between 'client', 'server' and 'common'
19:54 Krock so GUI would be common..?
19:54 Unarelith that would be weird indeed
19:54 rubenwardy GUI isn't used by server, though
19:55 Unarelith then it should go into client
19:55 rubenwardy client would be the client target in this case, rather than the client in the server-client relationship
19:55 Unarelith it would be, and maybe a new folder `client/game/` could be the in-game client
19:56 rubenwardy maybe
19:56 rubenwardy that could work
19:56 rubenwardy but game is also a bad term
19:56 Unarelith sure, I don't have a better name yet
19:57 ssieb joined #minetest-dev
20:01 nerzhul Unarelith i had a such opinion 2 years ago
20:01 nerzhul GUI is client only
20:01 nerzhul i think we need common & client only
20:02 nerzhul let me push some little reorganization PR
20:02 rubenwardy err, please don't conflict with each other XD
20:02 nerzhul i will split this in multiple parts to ensure we can do an easy bissect if needed
20:03 rubenwardy have you seen Unarelith's PRs, nerzhul?
20:04 nerzhul i will look
20:04 Unarelith <rubenwardy> oh nice, you made your own MC-like <= I missed it :O
20:05 rubenwardy sorry, I stalked you briefly
20:05 nerzhul hmm they seems to be very big
20:05 Foz joined #minetest-dev
20:05 rubenwardy well yeah, there's a lot of files
20:05 rubenwardy luckly the client one won't break much because git can handle files changing location
20:05 nerzhul i don't agree with .hpp
20:05 Unarelith rubenwardy, np haha, this is a pretty old project I tried to revive a few months ago
20:05 rubenwardy :(
20:05 nerzhul .h is our convention
20:05 Unarelith nerzhul, makes no sense
20:05 rubenwardy I think we can change to .hpp though
20:06 Unarelith .hpp is for C++, .h is for C
20:06 rubenwardy just because .h is currently what we use
20:06 nerzhul we are not using this
20:06 rubenwardy and yeah, what Unarelith
20:06 nerzhul and we will not use
20:06 rubenwardy +Said
20:06 nerzhul .hpp is not very common in C++
20:06 rubenwardy really?
20:06 nerzhul look at stlibc++
20:06 nerzhul haha
20:06 nerzhul .h everytime
20:06 nerzhul it's used, but not everywhere
20:06 Unarelith "look at something really old, see, I'm right"
20:07 rubenwardy we currently have a .gitattributes file to tell Github that .h is for C++
20:07 Unarelith .hpp is for modern C++, to make the distinction between .h and .hpp
20:07 Krock well, in a certain way he's right
20:07 nerzhul we will not change this currently
20:07 rubenwardy we also use #pragma once, which is probably not as widely used and is *non-standard*
20:08 rubenwardy but anyway, I suggest leaving it out of that PR
20:08 nerzhul i see this in the gnome C code
20:08 nerzhul yeah don't change convention right now
20:08 Unarelith nerzhul, https://stackoverflow.com/questions/152555/h-or-hpp-for-your-class-definitions
20:08 p_gimeno I think I've seen more .h than .hpp for C++ code
20:09 rubenwardy I'm actually surprised at this, would've thought that the separate extension for C++ would've been more common
20:09 Unarelith same for me, but seems like .h is still the default in IDE these days so people don't bother change it
20:10 nerzhul yep
20:10 Foz joined #minetest-dev
20:11 nerzhul it's okay except the file names for the SAO thing
20:13 nerzhul for the client move, ty git
20:13 nerzhul i commented what i wanted for inclusion
20:14 nerzhul i don't think we should add -I flag on server to include client files
20:14 rubenwardy I agree with that
20:14 rubenwardy I imagine it's a stepping stone
20:14 nerzhul yes but error prone in IDE
20:14 nerzhul i prefer explicit fix
20:14 rubenwardy I  agree with not adding the -I flag *
20:14 rubenwardy is what I meant
20:15 nerzhul it's added with the include_directories(.../client)
20:15 nerzhul fix the headers
20:15 nerzhul it will permit to track client code in common files if we find it
20:15 nerzhul the include_directories should be in the client/CMakeLists.txt part
20:16 nerzhul but later
20:16 nerzhul be explicit at now
20:16 Unarelith nerzhul, ok then I'll do it, but it will take a LOT of time since there's some files I don't even compile on my system, which are only checked by a 15 min long travis build
20:16 nerzhul wtf
20:16 rubenwardy oh really
20:16 nerzhul why don't you compile ?
20:17 rubenwardy separate target?
20:17 Unarelith I'm building on ArchLinux, without postgresql, without windows-specific files, etc...
20:17 rubenwardy ah ofc
20:17 Foz joined #minetest-dev
20:17 nerzhul i'm building on archlinux too
20:17 nerzhul with postgresql but without windows
20:17 Unarelith Moreover some include directives are not needed on my PC but needed for travis
20:17 nerzhul i'm using clion too
20:18 Unarelith I'm using vim tho
20:18 nerzhul omg
20:18 nerzhul use qtcreator at least if you don't have a licensed thing
20:18 nerzhul or gnome builder
20:18 Unarelith ._.
20:18 nerzhul C++ without good IDE is dangerous :p
20:18 Unarelith I'll never switch from vim dude, why would I ever use anything else?
20:19 nerzhul use emacs *jokeù
20:19 jacky lol
20:19 nerzhul (i don't use emacs but vim)
20:19 nerzhul cmake integration in IDE is good
20:19 jacky yeah vim + cmake + good tests and you're good
20:19 nerzhul and it's easy on archlinux to compile
20:19 nerzhul pacman -S cmake base-devel clang
20:19 nerzhul mkdir cmakebuild && cmakebuild && cmake .. -DRUN_IN_PLACE=1 && make
20:19 rubenwardy vim's symbol jumping with ctags is pretty aweosme
20:20 nerzhul i don't know about that
20:20 Unarelith rubenwardy, I'm also using YouCompleteMe for code completion
20:20 rubenwardy the issue is that it's vim, however
20:20 nerzhul then i will go look for marvel agents of shield, see you in 1 or 2 hours
20:20 rubenwardy ooh nice, I like that show
20:20 nerzhul please remove the include_directories and fix headers :p
20:20 rubenwardy lol
20:30 YuGiOhJCJ joined #minetest-dev
20:50 troller joined #minetest-dev
20:56 Icedream joined #minetest-dev
21:04 Unarelith nerzhul, I made the changes you requested, though #7902 may still not build on travis due to missing fixes
21:04 ShadowBot https://github.com/minetest/minetest/issues/7902 -- Client-specific files moved to 'src/client' by Quent42340
21:08 Icedream joined #minetest-dev
21:21 sys4 joined #minetest-dev
21:24 fireglow joined #minetest-dev
21:29 paramat joined #minetest-dev
21:31 paramat nerzhul is #7820 mergeable? it seems to be running ok for those who tested. is that decremented loop the only issue? the indents have been changed back to tabs
21:31 ShadowBot https://github.com/minetest/minetest/issues/7820 -- Update Android java-part by MoNTE48
21:32 paramat also everyone, #7850 just needs 1 more approval
21:33 ShadowBot https://github.com/minetest/minetest/issues/7850 -- Make non-formspec modal menus respect gui scale by stujones11
21:37 paramat as does #7395
21:37 ShadowBot https://github.com/minetest/minetest/issues/7395 -- Add Lua methods 'set_rotation()' and 'get_rotation()' by CoderForTheBetter
21:46 troller joined #minetest-dev
21:55 nerzhul merging #7850
21:55 ShadowBot https://github.com/minetest/minetest/issues/7850 -- Make non-formspec modal menus respect gui scale by stujones11
22:01 paramat :D
22:02 fireglow joined #minetest-dev
22:06 Jordach joined #minetest-dev
22:07 paramat down to 5 blockers
22:09 paramat actually 6
22:20 Unarelith paramat, #7395 seems to be the only one of these 4 PRs which could create conflicts with my PRs: https://github.com/minetest/minetest/pulls?q=is%3Aopen+is%3Apr+label%3ABlocker
22:20 ShadowBot https://github.com/minetest/minetest/issues/7395 -- Add Lua methods 'set_rotation()' and 'get_rotation()' by CoderForTheBetter
22:21 Unarelith #7891 and #7820 could too but on a really small scale (.gitignore, l_mainmenu.cpp)
22:21 ShadowBot https://github.com/minetest/minetest/issues/7891 -- Fix ContentDB packages timing out by using download_file instead by rubenwardy
22:21 ShadowBot https://github.com/minetest/minetest/issues/7820 -- Update Android java-part by MoNTE48
22:21 Unarelith But you mentioned 6 blockers so I don't know for the other two
22:24 Unarelith *sorry I meant #7768 not 7820
22:24 ShadowBot https://github.com/minetest/minetest/issues/7768 -- Network: Send IEEE floats by SmallJoker
22:31 paramat ok. sorry by '6' i mean including 2 issues
22:32 Unarelith oh ok
22:32 paramat i'll push to get those blockers merged soon, especially 7395
22:44 CoderForTheBette joined #minetest-dev
22:44 CoderForTheBette left #minetest-dev
22:49 Devy joined #minetest-dev
22:52 Devy left #minetest-dev
22:52 CoderForTheBette joined #minetest-dev
22:54 CoderForTheBette left #minetest-dev
22:57 CoderForTheBette joined #minetest-dev
22:59 CoderForTheBette Yeah, we should get #7395 merged so I don't have to rebase it (again). I have used my PR in my own branch and have not noticed anything weird or any extra lag with it. If there are any questions just post it on the Github PR, I'm still around!
22:59 ShadowBot https://github.com/minetest/minetest/issues/7395 -- Add Lua methods 'set_rotation()' and 'get_rotation()' by CoderForTheBetter
23:05 p_gimeno hm, I'm checking 7395 and got some problems with it
23:06 CoderForTheBette What seems to be the problems?
23:08 p_gimeno I am looking closer, but I'm not sure the player is correctly marked dirty
23:09 CoderForTheBette Ah, that could be a problem! Good catch, I'll take a look at the code right now to help verify that is something that might happen.
23:09 p_gimeno also, it would be best if accompanied by #7768, to add precision
23:09 ShadowBot https://github.com/minetest/minetest/issues/7768 -- Network: Send IEEE floats by SmallJoker
23:10 CoderForTheBette This could also be a problem that was occurring before my PR.
23:11 p_gimeno yes, it's independent
23:12 CoderForTheBette For sure, let's see who gets their PR merged first. However, if it comes to it then I do not think rebasing mine would be too hard. I think it also would not be too hard to rebase that one as well. Which ever comes first.
23:13 p_gimeno who does the heavy lifting? I don't see .X used in the PR, for instance
23:14 p_gimeno I mean, I'm trying to understand how these angles are used, but I don't see anything in the PR, is it because that was pre-existing code?
23:16 CoderForTheBette This was semi existing code that I had to modify to use the vector3df type instead of just a float.
23:16 CoderForTheBette Let me see if I can get a path of what happens when the added lua methods are called to where the rotation takes place.
23:17 p_gimeno also, are the internal values in degrees???
23:17 p_gimeno because otherwise this doesn't look right to me: +float yaw = co->getRotation().Y * core::DEGTORAD;
23:17 CoderForTheBette Yes, it has always been like that since Irrlicht uses that. You can look at the old code and it does the same thing.
23:17 p_gimeno eek
23:18 CoderForTheBette I know, gross.
23:18 fwhcat joined #minetest-dev
23:19 CoderForTheBette In fact, part of my PR preserves the old setYaw() methods so here is exactly where this "old" code is: https://github.com/minetest/minetest/pull/7395/files#diff-9444313da8be4290e9304a4b1faed804R935
23:21 CoderForTheBette Remember, the units go in as radians, get converted to degrees, and then if getYaw() or getRotation() is called they are converted back to radians from degrees.
23:21 p_gimeno thanks
23:23 CoderForTheBette Anyway, back to this set the player dirty stuff. I don't see where anything changed when it comes to this. If you have a scenario/proof that something is wrong then please tell us!
23:25 p_gimeno is this where it's passed to the engine?node->setRotation(rot);
23:26 CoderForTheBette yes, right here: https://github.com/minetest/minetest/pull/7395/files#diff-722710b5ecd9db42e7dd785dd517e186R774
23:26 CoderForTheBette oh, one line lower.
23:26 p_gimeno yes, thanks
23:28 p_gimeno right there, why obtain rot two lines above?
23:28 p_gimeno it made sense when only Y was changed, but now it's completely replaced
23:29 CoderForTheBette hm
23:29 CoderForTheBette Yeah, no sense in doing that.
23:29 CoderForTheBette Line 773, right?
23:29 p_gimeno right
23:30 p_gimeno I'm also a bit puzzled by the minus sign
23:30 CoderForTheBette Doesn't seem necessary.
23:30 CoderForTheBette not the minus sign, sorry.
23:31 p_gimeno yeah, sorry, I'm firing too many comments in a row :)
23:32 CoderForTheBette I honestly forget why the minus sign is needed. I do remember that if I got rid of it then something did not work. This was months ago however. I'll do some more investigating real quick.
23:34 p_gimeno with MT's weird axis convention and left-handed reference frame, I wouldn't be surprised if only one of these needs a minus sign
23:34 paramat i'll mark the PR WIP for now then
23:35 Unarelith I'm working on using `file(GLOB *.cpp)` in CMake instead of manually writing each filename, but I have an issue with `src/settings_translation_file.cpp` since it's not a real C++ file
23:36 Unarelith can I move this file? will it cause hundreds of changes in .po files?
23:37 Unarelith I don't know anything about gettext
23:37 CoderForTheBette Weird, Minetest was already obtaining 'rot' before but it was only a single axis: https://github.com/minetest/minetest/blob/master/src/content_cao.cpp#L738
23:38 CoderForTheBette wait, not single axis
23:38 CoderForTheBette it was all three, but from the engine
23:38 p_gimeno yes, it got all three, changed Y, set all three (IIUC)
23:39 CoderForTheBette But now that should not be a problem since all three will be stored and can just be set each time without getting the engine's. That is, along as the rotation is not modified anywhere else in MInetest.
23:41 CoderForTheBette Ehhh, forget that last bit. I'm pretty sure that it is just completely unnecessary.
23:41 p_gimeno yep
23:42 CoderForTheBette Ok, Ill get rid of that line by just defining a v3f and let it use its default constructor to set it to 0,0,0
23:53 p_gimeno interpolating in Euler is also yucky, but I think that given the use cases for interpolation, a proper slerp is not necessary
23:57 CoderForTheBette Yeah, I don't like the way I'm doing it in this PR, but I think someone requested it. It does look good. I extended the code (again) that was in place for interpolating a single axis.

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