Minetest logo

IRC log for #minetest-dev, 2021-07-28

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

All times shown according to UTC.

Time Nick Message
00:19 specing_ joined #minetest-dev
00:21 Extex joined #minetest-dev
00:22 MTDiscord <Jordach> sfan5 reverting that cmake pr might be required
00:23 MTDiscord <Jordach> yes lets remove linking against macOS system libraries required for windowing and input that certainly can't go wrong
00:26 v-rob joined #minetest-dev
00:26 YuGiOhJCJ joined #minetest-dev
00:28 MTDiscord <Jordach> also, removing of -DIRRLICHT_INCLUDE_DIR and -DIRRLICHT_LIBRARY is quite possibly the most incompetant move possible
00:28 MTDiscord <Jordach> cmake prefix is not intelligent
01:02 sofar joined #minetest-dev
01:10 MTDiscord <Jordach> secondly, the documentation for compiling still mentions IRRLICHT_LIBRARY
01:12 hecks Jordach
01:12 hecks you're maintaining the macos port right?
01:13 MTDiscord <Jordach> yes
01:13 hecks can you tell me real quick how the opengl situation looks on that
01:14 hecks for example do you need to use an opengl extension loader or is just using a 2.1 header fine
01:15 MTDiscord <Jordach> 2.1 is default, however opengl context profiles allow using upto 4.3
01:15 hecks but no procaddress monkeying required right?
01:15 MTDiscord <Jordach> nope
01:15 MTDiscord <Jordach> (even mesa ignores khronos group advice about versioning for compat reasons)
01:16 hecks i'm trying to figure out whether i should salvage any GL wrangling code from irr, import a lib, use something like glad or just do it myself
01:16 hecks gl 2.1 seems to support everything es2 does
01:17 hecks that would make pointer monkeying necessary only on windows, linux, bsd
01:17 hecks if gl2 had a real core profile my job would be a little easier
01:18 MTDiscord <Jordach> yeah, you can use core profiles from 3.3 to 4.1 on mac's from the last decade
01:18 hecks i was wondering that too
01:18 hecks would anyone care if i just opened a 3.3 core context on mac
01:18 MTDiscord <Jordach> no
01:18 MTDiscord <Jordach> that opens up better glsl options
01:18 hecks alright =]
01:19 hecks well
01:19 hecks i still have to restrict myself to what android and GL2 cards can do but
01:19 hecks if it's a core profile, that still aligns
01:19 hecks gles2 is also a lot like a core profile, there are no unnecessary functions in it
01:19 MTDiscord <Jordach> the oldest version of macOS that supports 3.3 is Lion, and I target Mavericks as C++11 wasn't added until Mavericks
01:20 hecks so it literally won't compile on versions without the glcorearb header?
01:20 MTDiscord <Jordach> (every mac from 2007 can run that - openGL 3.3 may not be possible on certain ancient systems)
01:20 hecks cool
01:21 hecks so now all i'd have to do is figure out how to efficiently squeeze out just the subset of functions i need on the remaining platforms
01:21 hecks well
01:21 hecks technically that literally requires wrangling what's in the core header
01:21 MTDiscord <Jordach> the GPU driver won't support it
01:22 MTDiscord <Jordach> see: https://developer.apple.com/opengl/OpenGL-Capabilities-Tables.pdf
01:22 hecks i have that open already
01:22 MTDiscord <Jordach> basically the chips are just too old to support 3.3
01:22 hecks the real question is
01:22 hecks are there any mac users who can't afford an upgrade...
01:22 MTDiscord <Jordach> but pretty much all of the macs from 2009+ will likely run 3.3 without issues
01:23 MTDiscord <Jordach> there's some crazy people running PPC still
01:23 hecks actually better question
01:23 hecks no never mind
01:24 hecks no wait it actually is useful
01:24 hecks can i still open an older context
01:24 hecks 2.1 in particular
01:24 MTDiscord <Jordach> 2.1 is the lowest and yes
01:24 MTDiscord <Jordach> 2.1 is the default context
01:24 hecks that'll do really
01:24 MTDiscord <Jordach> for any OpenGL that doesn't use a core profile
01:24 MTDiscord <Jordach> core profiles are required for 3.3 and higher
01:25 hecks then the plan is to open what's possible starting with 2.1 and use the core header on all platforms except android
01:25 MTDiscord <Jordach> yeah tha tworks
01:25 hecks this should be fine on anything except toasters that literally can't handle the amount of geometry MT pushes around
01:25 MTDiscord <Jordach> oh, Radeon HD 2400 was released in 2008
01:26 hecks first gl3 card?
01:26 MTDiscord <Jordach> basically Macs that are practically 14 years old can run 3.3 managably
01:26 hecks actually
01:26 hecks mesa can also run gl3
01:27 MTDiscord <Jordach> software rendered but yes
01:27 hecks but uhhh okay i won't try to make gl3 mandatory.... it won't fly
01:27 hecks although
01:27 MTDiscord <Jordach> macOS' software renderer can do 3.3 as well
01:27 hecks i think i'll do some conditional VAO usage eventually because that's such a great chatter reducer
01:28 MTDiscord <Jordach> whatever introduces the least amount of debt
01:28 hecks we're defaulting on the debt
01:28 hecks we're bankrupt, man
01:28 hecks dead broke, pocket lint
01:28 MTDiscord <Jordach> adjusting for inflation even
01:29 hecks wrangling gl will take one more reason to live away from irrlicht
01:30 hecks what will be left... gui, that's being dissolved slowly too
01:30 hecks and those funny asset importers
01:30 hecks and the crude animator and skinner
01:30 MTDiscord <Jordach> i mean the assimp library exists
01:30 hecks no
01:30 hecks it's too fat
01:30 hecks we can just keep the importers we have and absorb
01:31 hecks i would not add any new 3D formats except gltf
02:27 sofar joined #minetest-dev
03:08 v-rob joined #minetest-dev
04:05 v-rob joined #minetest-dev
05:29 v-rob joined #minetest-dev
06:09 YuGiOhJCJ joined #minetest-dev
06:55 nrz joined #minetest-dev
07:39 entuland joined #minetest-dev
07:50 sfan5 <hecks> sfan5: we need a percentage DPI scale setting on top of it
07:50 sfan5 #10729 adds one but isn't ready yet
07:50 ShadowBot https://github.com/minetest/minetest/issues/10729 -- Allow Enabling The Touch UI In A Desktop Build by TheBrokenRail
08:21 sfan5 @Jordach specifying the cocoa+iokit dependency is IrrlichtMt's job now and it already does (well, tries to)
08:22 sfan5 does it show up in one of the IrrlichtMtTargets* files?
09:43 calcul0n_ joined #minetest-dev
10:51 nrz joined #minetest-dev
12:22 specing_ joined #minetest-dev
13:25 hecks joined #minetest-dev
13:27 hecks re 10729 you know, i also wouldn't mind desktop users with mice being able to unlock their cursor with middle click and being able to interact everywhere on screen
13:27 hecks just for consistency and completeness, and to allow the new GUI system to have interactable floating elements
13:28 hecks which would truly make forms no different from hud
13:39 specing hecks: yes! I'd love this!
13:40 specing One very good use of this would be to open two formspecs side-by-side, such as two chests. So you can move items directly, without passing through your inv
13:40 hecks two forms side by side aren't a problem really
13:40 hecks you just have to make a form that pretends it's two forms ;]
13:41 hecks i was thinking of clickable hud elements which wouldn't be modal, they wouldn't disable your controls
13:42 specing spring has this, but in reverse
13:43 specing your cursor is unlocked by default, but clicking middle mouse locks it and moves your viewport
13:43 specing and when it's unlocked, you can interact with lua gui widgets on screen
13:44 hecks i was thinking of system shock and daggerfall
13:44 hecks anyway, the thing is that mobiles are already capable of this and it isn't actually obvious
13:45 hecks i had no idea this was a thing until an android user actually told me
13:46 hecks so at the very least adding the capability to left and right click things that aren't under the cursor would make it consistent, gui aside
13:46 hecks i mean, that aren't under the crosshari
13:46 hecks crosshair
13:46 hecks but on screen
13:46 hecks and perhaps to also manage the hotbar like android users are able to
14:17 Fixer joined #minetest-dev
15:51 Extex joined #minetest-dev
15:54 sfan5 hecks: if you think the png PR is ready you can merge it yourself btw
15:54 hecks so it's just one approval for coredev PRs?
15:55 sfan5 the submitter also counts
15:57 sfan5 so yes
16:14 MTDiscord <josiah_wi> The README still lists the IRRLICHT_LIBRARY etc. variables under the options header.
16:15 MTDiscord <josiah_wi> I should've checked for all occurances of those variables in the README, but I didn't.
16:24 hecks now why does cmake yell at me that it can't find irrmt if i'm literally pointing it to that...
16:25 MTDiscord <Sublayer plank> well, there were some changes to that
16:26 MTDiscord <Jordach> $25 to whoever reverts that PR
16:27 hecks the directory variable names have not changed
16:27 MTDiscord <Sublayer plank> IRRLICHT_* doesn't work anymore, it more or less needs to be in lib/irrlichtmt
16:27 hecks why does it not recognize the irrmt master as irrmt
16:27 MTDiscord <Jordach> Because it needs to be installed as a systemwide package
16:27 MTDiscord <y5nw> you need to copy irrmt to lib/irrlichtmt
16:27 hecks :DDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
16:27 hecks unix weenies
16:27 hecks fix this
16:28 MTDiscord <Jordach> You’re a core dev revert it
16:28 MTDiscord <Sublayer plank> it doesn't need to be installed as a systemwide package, what are you talking about
16:28 MTDiscord <Jordach> make install always implies systemwide install on UNIX
16:28 MTDiscord <Sublayer plank> just make a symlink if you can't put irrlichtmt into lib/irrlichtmt directly
16:28 hecks i am not making symlinks across partitions
16:29 hecks that's harmful
16:29 hecks let me build it on my data drive or heads will roll
16:29 MTDiscord <Jordach> Basically it expects you to use cmakes package finding subsystem
16:29 MTDiscord <Jordach> Which is absolute garbage
16:29 hecks :DDDD
16:29 hecks peak unix
16:29 MTDiscord <Jordach> On exotic systems that use MSVC or macOS Xcode
16:29 hecks when are we switching to hardcoded paths
16:30 MTDiscord <Jordach> It’s what I was using before the PR
16:30 MTDiscord <Jordach> Why remove the one thing that doesn’t break on exotic config a
16:30 MTDiscord <Jordach> It also has likely broken Homebrew on mac alongside macports
16:30 celeron55 what are you complaining about, cmake works fine
16:31 hecks i'm on cygwin building mingw, anyway i'm not installing irrmt on C: because that's a throwaway partition
16:31 hecks celeron55: what doesn't appear to work is -DIRRLICHT_LIBRARY= etc
16:31 hecks which means i cannot point the build script to the folder that i edit and build irrlicht in
16:32 MTDiscord <Jordach> If DIRRLICHT_LIBRARY was specified then ignore CMakes find package
16:32 MTDiscord <Jordach> It’s that simple
16:32 hecks that's how it used to work
16:32 MTDiscord <Jordach> Except now it requires irrlicht to be make installed post compilation
16:32 MTDiscord <Jordach> Which by default installs to where a package manager would install a premade version
16:33 hecks oh well i guess i'm reverting to head~3 until you fine folks fix this
16:33 hecks locally
16:35 MTDiscord <Jordach> Also I thought one of the project goals was to keep it simple
16:38 sfan5 hecks: do you keep an installed copy of irrlichtmt around or just the checkout?
16:39 celeron55 okay yes this is nonsense, there should be a way to use irrlichtmt from an outside directory without installing it
16:39 sfan5 there is
16:39 hecks i build in place in the checkout
16:39 hecks my mt build script also runs the irr build script
16:40 hecks cygwin's weenie directories are on a trash partition and i'm not keeping anything in those
16:41 sfan5 if you don't mind a make install step for irrlicht you can do that and point mt to it via -DCMAKE_PREFIX_PATH
16:42 sfan5 if you do mind you can sort of do that anyway but symlink stuff so you won't ever need to run make install again (what I do)
16:42 hecks 1. what will that do
16:42 hecks 2. i am not symlinking across partitions
16:43 MTDiscord <Sublayer plank> what's the issue with symlinking across partitions?
16:43 hecks it's filthy
16:43 sfan5 I think windows can't do it, but you won't need to
16:43 celeron55 well the question is, is it acceptable that you have to install irrlicht to a temporary prefix in order to use it
16:43 hecks i can junction on windows but it's still filthy
16:43 sfan5 to 1: it will do what c55 just said and then work
16:43 celeron55 i've done that with many things so i'm kind of indifferent
16:43 MTDiscord <Sublayer plank> I've done symlinks on windows across partitions, it's worked with no issues
16:44 MTDiscord <Benrob0329> So wait, building has gotten more complicated now?
16:44 hecks i don't care what "works", i'm not polluting my system to make weenie build systems work
16:44 sfan5 you do not need to install system-wide.
16:44 hecks it worked the way i wanted three commits ago, what changed?
16:44 nrz i'd say the problem is the c++ packagiing, let's move to rust crates
16:44 MTDiscord <Sublayer plank> not really, it's just broke some people's workflows
16:44 hecks what's wrong with giving cmake a path variable
16:44 celeron55 https://github.com/minetest/minetest/pull/11287
16:44 celeron55 this changed
16:45 celeron55 140 lines were removed, 62 added
16:45 celeron55 i.e. it's simpler now
16:45 sfan5 like CMAKE_PREFIX_PATH you mean? I guess not
16:45 hecks not that kind of path
16:45 hecks this is not simpler
16:45 sfan5 not for this workflow no
16:45 sfan5 I miss the convenient option of being able to do this too
16:45 celeron55 basically what was changed is the custom irrlichtmt find script was removed (which supported the variables) and now it uses the cmake standard way of finding irrlichtmt
16:46 hecks and by accident it also removed the ability to just manually set it up
16:46 nrz magic things ❤️
16:47 hecks if you want to piss off a windows user, make him install and use things that don't stay contained in their little jail folder
16:47 sfan5 <sfan5> you do not need to install system-wide.
16:47 sfan5 maybe I shouldn't put it in bold
16:47 MTDiscord <josiah_wi> I wanted to improve things, not cause controversy and be a pain to everyone. I'm frustrated nobody spoke up while I was working on this PR, because now it seems things are descending into chaos and I'm at the center of it.
16:47 sfan5 anyway I will be writing down a "how it was before" and "how it is now" to hopefully fix the confusion
16:47 celeron55 meh, it's not that bad
16:48 celeron55 just add the custom find script back
16:48 celeron55 or somehow otherwise add the variables
16:48 sfan5 the issue is not the variables
16:48 celeron55 IRRLICHT_LIBRARY and whatever the include one was
16:48 sfan5 the issue is that a library found via cmake does more than "here is the .so and here is the includes"
16:49 MTDiscord <Benrob0329> From the perspective of someone who doesn't know Cmake well, what I've gathered is that IrrlichtMT has to be installed now, but it can be installed to a custom directory?
16:49 MTDiscord <josiah_wi> MSVC purportedly does not have a make install step; that seems like a big issue.
16:49 celeron55 let's just wait for sfan5's write-up first
16:49 celeron55 then continue
16:50 MTDiscord <Benrob0329> Fair
16:50 MTDiscord <josiah_wi> Benrob, there's a difference between packaging and installing in CMake terminology.
16:57 hecks serves me right not monitoring build system PRs, but i assumed people know what they're doing
17:01 MTDiscord <josiah_wi> I will probably be around so I can look over the write-up once, but I think sfan understands what the PR did quite well.
17:02 hecks i'm afraid this does not make anything simpler, it just shifts the complexity to the user's machine
17:04 sfan5 https://github.com/minetest/minetest/pull/11287#issuecomment-888472649 here's the thing
17:04 sfan5 before anyone says the obvious: yes, a common developer workflow is made complicated
17:04 hecks but
17:04 hecks /somewhere/ is now the irrlicht checkout
17:05 hecks i mean, that's what it was for me
17:05 rubenwardy if it uses the CMAKE way, won't there be IRRLICHT_ROOT or IRRLICHT_DIR to point to the module cmake?
17:05 sfan5 /somewhere is the IrrMt checkout, correct
17:06 sfan5 you don't need to move it anywhere
17:06 hecks "Technically not doable but you have two options."
17:06 sfan5 oh you were commenting on a previous section, nvm
17:06 hecks here are your options: make install or make install
17:06 hecks what will make install do?
17:07 sfan5 certainly won't install it system-wide
17:07 MTDiscord <Sublayer plank> well where's the DESTDIR?
17:07 hecks what will it do
17:07 hecks which files and symlinks will it create and based on which variables
17:07 hecks this _i subfolder?
17:08 hecks which will... let me guess, contain a /lib/ /bin/ /include/ just like the folder above it, containing the same things?
17:08 sfan5 these http://sprunge.us/gpuH3H
17:08 sfan5 hence option 2 which makes the files you usually have fit that by means of symlinking
17:09 hecks but the thing is
17:09 hecks CMAKE_PREFIX_PATH is just a root folder of sorts where cmake will now look for shit, correct?
17:09 sfan5 yea
17:09 hecks and if you decide to require that some other lib is installed in this way, i will now require a
17:10 hecks .../minetest/dev/git/cmake_root/... to maintain this little weenie root in
17:10 hecks thanks, i hate it
17:10 sfan5 you can specify multiple paths
17:10 hecks but on principle that's what this is
17:11 sfan5 I guess
17:11 hecks unix users really hate the idea of things staying contained in their own folders
17:11 hecks so the most you can do is create a folder pretending it's a shared root for each library =]
17:12 celeron55 is it not possible to support "cmake -DIRRLICHT_INCLUDE_DIR=/somewhere/include -DIRRLICHT_LIBARY=/somewhere/lib/Linux/libIrrlichtMt.a ." now?
17:12 MTDiscord <Jordach> Not at alp
17:12 MTDiscord <Jordach> All
17:13 celeron55 because i mean, there's the list of workflows, just make them all work nicely
17:13 sfan5 certainly, just add the 140 lines back
17:13 sfan5 and we will have gained nothing
17:13 sfan5 and #11402 can be reopened (albeit minor)
17:13 hecks nothing except sanity
17:13 ShadowBot https://github.com/minetest/minetest/issues/11402 -- Linker errors with IrrlichtMt automatically built alongside, using MSVC
17:14 hecks i mean fine, i keep this crap contained anyway
17:14 celeron55 of course the thing is, cmake automates some things that are otherwise very hard or annoying to do
17:14 celeron55 if you let it do so
17:14 sfan5 if we searched for any of the libraries via pkgconfig such things would have been required a long time ago
17:14 hecks and that would also be weenieism
17:15 sfan5 let me guess you don't static link?
17:15 hecks i guess i don't?
17:15 hecks what's that got to do with library paths though...
17:16 sfan5 commendable but that's one thing this approach simplifies
17:16 sfan5 because irrmt's cmake file can now say to please link X11
17:16 sfan5 anyway, I doubt cmake allows you to import a non-installed project's library but perhaps Minetest's CMake stuff can be made to make the workaround less painful?
17:20 sfan5 @josiah_wi do you happen to know / have better ideas?
17:22 hecks well i guess i'm off to make a fake filesystem root for cmake and move the fabled 140 lines to my build scripts instead
17:22 hecks i just find it funny that unix users do this to themselves and then invent things like docker to get out of the tarpit they made
17:33 MTDiscord <Jordach> It’s almost as if they ship things that only work on their machine
17:37 sfan5 on that note I forgot to say that the writeup is only relevant for building the client
17:37 sfan5 the server still builds with just -DIRRLICHT_INCLUDE_DIR as long as it points to the right path
17:37 hecks everything would work if only everyone used the same computer ;]
17:42 hecks ok but
17:42 hecks does this at least have some positive side effect in the form of like
17:42 hecks letting me unpack each of those mingw libs into the same fake root
17:49 hecks joined #minetest-dev
17:51 MTDiscord <josiah_wi> sfan5 I'm not sure I use specifically what you're asking. The reason for the install step is that CMake looks for configuration files in specific locations. The structure of the install tree is actually irrelevant (?). I made it the standard tree for installs, but it could put everything in 1 directory. You could also allow specifying a specific path to the Config file instead of an install prefix.
17:52 MTDiscord <GreenXenith> Do I have this right that we now have to install irrlicht system wide to compile Minetest?
17:52 MTDiscord <josiah_wi> use -> understand*. Stupid autocorrect.
17:52 MTDiscord <Sublayer plank> we don't have to
17:52 hecks either install it system wide or fool cmake into thinking you did
17:52 MTDiscord <Sublayer plank> if you put it in lib/irrlichtmt
17:53 MTDiscord <GreenXenith> Thats system wide buddy
17:53 hecks but.... that's basically installing systemwide :DDDD
17:53 MTDiscord <Sublayer plank> what
17:53 MTDiscord <GreenXenith> So the answer is yes
17:53 hecks linux users...
17:53 MTDiscord <GreenXenith> Hey, don't blame us all
17:53 MTDiscord <josiah_wi> Hang on, we should be able to hax Irrlicht into working with no install.
17:53 MTDiscord <Sublayer plank> I'm talking about putting the cloned irrlicht repo into lib/irrlichtmt in the cloned minetest repo
17:53 MTDiscord <josiah_wi> The build tree can be the install tree.
17:53 MTDiscord <GreenXenith> I'm a Linux user and I think this change is stupid
17:53 MTDiscord <Sublayer plank> how is this system wide?
17:54 hecks is lib/irrlichtmt in the cloned minetest repo gitignored and does that actually work?
17:54 MTDiscord <Jordach> The moment you put shit into your path environment is the moment it’s considered installed
17:54 MTDiscord <Jordach> And I have to use a very exotic build script because I have to link against an ancient OSX SDK and the current release
17:54 MTDiscord <josiah_wi> Doesn't need to be in PATH to work.
17:55 MTDiscord <Jordach> Is this officially documented
17:55 MTDiscord <GreenXenith> What was this change intended to fix?
17:55 MTDiscord <Sublayer plank> lib/irrlichtmt is in fact gitignored
17:55 hecks i guess lib/irrlichtmt is gitignored though probably it should just be lib/
17:55 MTDiscord <Jordach> Nice directory
17:56 MTDiscord <josiah_wi> The change was intended to make the build process more automatic for people who were having trouble with the variables.
17:56 MTDiscord <Jordach> I bet that isn’t even documented
17:56 MTDiscord <Sublayer plank> https://cdn.discordapp.com/attachments/747163566800633906/870001724977467442/unknown.png
17:56 hecks the thing is that modifying the CI script and replacing the path variables was a lot simpler than actually bothering to learn how cmake works
17:56 hecks =]
17:56 MTDiscord <Sublayer plank> the lib/irrlichtmt thing has existed for a month now
17:56 MTDiscord <GreenXenith> Are we talking about minetest/lib/irrlichtmt or /lib/irrlichtmt
17:57 MTDiscord <Sublayer plank> minetest/lib/irrlichtmt
17:57 MTDiscord <GreenXenith> That makes more sense
17:57 MTDiscord <Sublayer plank> https://github.com/minetest/minetest/commit/fa4dee0e62dcf2bbfb68b17cf97e438eab58be93
17:57 MTDiscord <Sublayer plank> this was a month ago
17:57 MTDiscord <Sublayer plank> and it is in fact documented
17:57 MTDiscord <GreenXenith> I still think we should be able to use the old variables, but mt/lib seems acceptable if it works
17:58 MTDiscord <Jordach> That’s a tiny bit more acceptable but knowing CPackInstall it’ll copy that garbage in
17:59 hecks it's a little arbitrary, and i think i still have to symlink or copy things around
17:59 hecks but it beats making a fake root... for now
17:59 hecks oh we actually have shit in /lib/
18:00 MTDiscord <josiah_wi> I could be wrong but I think lib/irrlicht was exempted from install.
18:00 MTDiscord <GreenXenith> Meaning?
18:01 MTDiscord <josiah_wi> Meaning CPackInstall will not "copy that garbage in"
18:01 sfan5 lib/irrlichtmt is gitignored yes
18:02 MTDiscord <josiah_wi> How does CPack RUN_IN_PLACE=FALSE work with lib/irrlichtmt as a dynamic library?
18:03 MTDiscord <josiah_wi> Does it break the package?
18:03 MTDiscord <Jordach> Mac static links by default
18:03 sfan5 with lib/irrlichtmt it's never dynamically linked
18:03 MTDiscord <Jordach> Ie instead of dyld files strewn about the app it’s all built into the resultant Minetest binary
18:03 MTDiscord <josiah_wi> Phew.
18:04 MTDiscord <Jordach> It’s not like I’m doing a ton of research into an iOS build using the existing macOS frameworks
18:05 sfan5 moving your checkout to lib/irrlichtmt is actually a good idea for development purposes
18:05 sfan5 the only rare downside I can see is that this doesn't work if you want to use one irrmt from multiple Minetest checkouts
18:06 MTDiscord <josiah_wi> People clone Minetest multiple times? I always use branches and I have about 5 build directories.
18:08 MTDiscord <Warr1024> multiple clones can be helpful to avoid having to juggle a ton of stashes, if you're working on a lot of stuff at the same time and haven't reached a good commit point yet.
18:09 MTDiscord <josiah_wi> Interesting. I'll remember that tip.
18:10 hecks screw good commit points, just squash later
18:12 hecks Could NOT find ZLIB (missing: ZLIB_LIBRARY) (found version "1.2.11")
18:12 MTDiscord <Warr1024> Or do what I do and screw good commit points and don't squash.  I use a convention of putting "checkpoint" at the head of a commit to indicate that it's a WIP that I'm making just to ensure I don't lose my work.
18:12 sfan5 heh
18:13 hecks so what now, do all the path variables not work anymore?
18:13 sfan5 they certainly do
18:13 sfan5 the buildbot that runs on CI uses every one of them
18:15 MTDiscord <josiah_wi> I asked for thorough testing because I wanted my first PR to me a good one. internal screaming The ZLib thing doesn't sound like something that could be caused by this though, oddly. If you are on Linux and want to provide more information I can try to reproduce.
18:15 hecks guess whose scripts i'm using...
18:17 MTDiscord <josiah_wi> Is this a mingw build?
18:17 hecks yes
18:17 hecks it's a modified buildbot script
18:18 hecks the paths are actually correct and i get
18:18 hecks CMake Error at /usr/share/cmake-3.17.3/Modules/FindPackageHandleStandardArgs.cmake:164 (message):
18:18 MTDiscord <josiah_wi> It says version 1.2.11 of zlib was found; there shouldn't be a version requirement!?
18:18 hecks which leads me to believe that cmake has gone rogue and ignores the path
18:19 hecks does the buildbot actually work right now?
18:19 sfan5 https://github.com/minetest/minetest/runs/3174982877
18:20 MTDiscord <josiah_wi> The path works hecks. It's a version error.
18:20 hecks it's the version from the buildbot......
18:20 MTDiscord <josiah_wi> Wait, is it using the wrong path?
18:20 sfan5 this would be bad but here's my guess: cmake has code to look for zlib, we just call that, it is broken in your version
18:21 hecks it's using the right path...
18:21 Extex joined #minetest-dev
18:21 sfan5 but this wouldn't explain why it's broken now and not before
18:21 hecks i'll delete packages and libs folders
18:21 sfan5 throw away your CMakeCache.txt just in case
18:21 hecks i did
18:22 hecks maybe the buildbot works by accident
18:22 longerstaff13 joined #minetest-dev
18:22 MTDiscord <josiah_wi> mingw grabs its own copies of DLLs for everything. I think it found hecks' system ZLib instead of the one it downloaded.
18:22 MTDiscord <josiah_wi> Hence the wrong version.
18:23 sfan5 but the version is not wrong
18:23 sfan5 and why would it do that when ZLIB_LIBRARY and ZLIB_INCLUDE_DIR are given
18:23 MTDiscord <josiah_wi> Maybe it's because it's not a DLL.
18:23 hecks cmake has gone rogue and demands we do everything its way from now on
18:23 MTDiscord <josiah_wi> The buildbot doesn't try to build with Irrlicht in lib/irrlichtmt.
18:24 MTDiscord <josiah_wi> Maybe that is causing it.
18:24 hecks how
18:25 hecks see, what a wonderful build system, we've now progressed to committing voodoo...
18:25 MTDiscord <josiah_wi> The buildbot pulls a prebuilt archive.
18:25 hecks but why would it break
18:25 sfan5 CMakeFiles contains two log files, maybe those help
18:26 hecks i'd like to restate my earlier question
18:26 MTDiscord <josiah_wi> Running the CMake scripts in irrlichtmt could break (?).
18:26 hecks if i put all the stupid libs in this fake root for cmake, would it find them
18:26 hecks i can just do that
18:26 MTDiscord <josiah_wi> If my hypothesis is correct then yes.
18:27 hecks dcmake_prefix_path right?
18:27 sfan5 yea
18:27 MTDiscord <josiah_wi> But that's a hacky workaround, not a solution, and we haven't even determined the precise cause.
18:28 MTDiscord <josiah_wi> I want to repro but my computer is in use my someone else yet.
18:28 hecks i thought that's the "correct" way?
18:29 MTDiscord <josiah_wi> Putting all the DLLs there? No.
18:29 MTDiscord <josiah_wi> The DLLs should be found where buildbot extracts them.
18:30 sfan5 I don't think cmake searches for DLLs
18:30 hecks i meant includes and libs
18:30 sfan5 just so we're on the same page: you link to a .dll.a but at runtime you require the .dll
18:30 hecks yes i know how linking works
18:30 hecks but josiah is right, this is voodoo
18:30 hecks there's no reason it shouldn't work the way i have it now
18:31 MTDiscord <josiah_wi> My current understanding is that buildbot tells CMake where ZLib is, CMake tries to look for it anyway, boom.
18:31 hecks see: "cmake has gone rogue"
18:32 sfan5 did you check the cmake log files inside CMakeFiles
18:33 MTDiscord <josiah_wi> Ah, so yes using a "fake root" should fix this. Irrlicht has its own mingw scripts afaik.
18:33 hecks yes, and there's nothing about zlib in these =]]]
18:33 MTDiscord <josiah_wi> Irrlicht probably needs to be built first with mingw and then linked. :|
18:34 sfan5 wat
18:34 hecks uhhhhhhhhh
18:34 MTDiscord <josiah_wi> Invoking the Irrlicht CMakeLists.txt during a mingw build probably is the cause of the error.
18:34 hecks ???
18:35 hecks i have a better question
18:35 hecks would cmake traverse down to lib/irrlichtmt and try to build that while i'm trying to build mt
18:35 MTDiscord <josiah_wi> Yes.
18:35 hecks well then placing irrlicht there is pretty stupid!
18:36 sfan5 is it?
18:36 hecks depends
18:36 hecks maybe i can just merge the build scripts
18:36 hecks but i don't really want to
18:36 hecks i want the ability to build irr independently...
18:37 hecks besides the zlib versions are identical and it gets a zlib path anyway so what is its problem...
18:37 MTDiscord <josiah_wi> That's what the "fake root" would do.
18:37 sfan5 so you're testing with irr inside lib/irrlichtmt right now?
18:37 sfan5 because I've never tested the buildbot with that
18:37 MTDiscord <josiah_wi> I'm hypothesizing that one zlib is a .dll.a and one is a .so
18:38 hecks why would either of them be a .so
18:38 hecks i'm doing mingw inside cygwin
18:38 MTDiscord <josiah_wi> Yeah sfan, I'm saying I think that's the issue. It should work though, if it doesn't it's a bug.
18:38 MTDiscord <josiah_wi> Oh. Maybe there is no .so zlib anywhere then.
18:39 hecks let me just figure out how to unpack the libs into the same folder instead, link the stupid irrlicht output there and leave it at that
18:39 hecks i hate unix
18:39 v-rob joined #minetest-dev
18:41 sfan5 I have no idea at this point
18:46 MTDiscord <josiah_wi> Probably too late now but the way to debug this is to run the configuration step in trace mode and see what step caused the error.
18:46 hecks i don't care
18:46 hecks i just want to build this
18:49 celeron55 < hecks> i just find it funny that unix users do this to themselves and then invent things like docker to get out of the tarpit they made
18:49 celeron55 i don't understand this either
18:49 celeron55 unix uses a physical file system as if it was a logical database or something
18:49 celeron55 it makes no sense
18:50 hecks it's because it's a 1970s system for shared computers accessed over a text terminal
18:50 celeron55 well yeah, it works for a router
18:50 celeron55 but for a router anything would work
18:50 hecks it works for a shared computer accessed through a terminal =]
18:51 hecks i have no complaints about my headless openbsd server, it does its job well
18:51 hecks but this is no way to use a workstation...
18:51 sfan5 I don't know which ideal state you are envisioning here
18:52 hecks the ideal state is that a program makes no assumptions and comes with everything it needs =]
18:52 hecks and stays contained in its folder unless otherwise specified
18:52 sfan5 being able to tell cmake to look in /whatever/hello/I/buried/my/files sounds like it'd break the "like a logical database" thing
18:52 sfan5 but apparently that's not enough
18:53 sfan5 I understand how this makes the dev usecase annoying, I use one of the described workarounds myself
18:53 sfan5 but the principles on which cmake's find a package thing is built on are sound to me
18:54 hecks well i'm forced to fool cmake into using a different path, but it still must be a unix style hierarchy and cmake (and every unix thing) is written with the assumption that these folders are just shared by everything
18:54 sfan5 and I don't have a better idea how you could preserve the "files can be whereever with no structure" property
18:54 hecks and it's an absolute nightmare in my case because it's a cross compile
18:55 hecks i have to actively guard this build system from being aware of cygwin
18:55 celeron55 why do you use cygwin, by the way?
18:55 sfan5 you can't blame "running a cross-compile from a system that is actually native or not really" on unix
18:56 celeron55 personally i've found msys to work well on windows
18:56 hecks because it's faster than using a linux vm
18:56 hecks and smaller than msys
18:56 hecks i only use it for two things: building things and ssh
18:57 hecks it's contained to a trash partition and considered disposable
18:57 hecks i've built many things with cmake and mingw but i haven't had to monkey around with it like this until today
18:57 celeron55 is something preventing you from putting irrlichtmt into lib/irrlichtmt and letting cmake automatically build it as a dependency of minetest?
18:58 hecks yes, read the log
18:58 hecks it breaks somehow
18:58 hecks so now i'm trying to just use the fake cmake root, i don't know yet if that'll work
19:00 celeron55 i can only come to the same conclusion that it should work
19:00 celeron55 this is ridiculous
19:01 sfan5 it should and it probably would if I were to try
19:01 hecks if it ain't broke...
19:01 celeron55 either we have some things broken because not enough automation isn't used, or we have some things broken because too much automation is used
19:01 celeron55 well it was broke
19:02 sfan5 but I don't blame cmake for breaking if you are cross-compiling to a system that matches the native system while cmake can't actually use the native libs
19:02 celeron55 https://github.com/minetest/minetest/issues/11402
19:02 celeron55 this is how it was broken
19:02 sfan5 the buildbot sets CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY though, so maybe even that should work
19:06 celeron55 we probably have only one alternative to some variation of this mess: requiring building irrlichtmt separately and setting the variables manually like before. For everyone, no easy pass for users
19:06 MTDiscord <josiah_wi> The structure of the install tree for a "fake root" can be arbitrary.
19:07 MTDiscord <josiah_wi> It's determined by the Irrlicht CMake and is completely configurable.
19:09 v-rob hecks: re making the HUD interactable and multiple forms open at once: I've actually been planning this for a long time (although not the middle click specifically). There will be different "containers" for each GUI (including HUD) that any mod opens so mods can interop without breaking each other. So, to make the HUD interactable, move all HUD containers from the HUD environment to the GUI environment. And, for multiple forms at the same time, just
19:09 v-rob open another container without closing the current one(s).
19:09 v-rob Of course, binding middle click couldn't very well be done from a mod yet.
19:09 hecks i mean to hard bind middle click to release the cursor
19:09 hecks and to lock it back again
19:10 hecks since it's currently unbound anyway
19:10 sfan5 or lock it back in when the user clicks into the world area?
19:10 hecks no, make it act like touchscreen interactions
19:10 sfan5 or do you want users to be able to use android-style touch-where-you-interact controls simultanously
19:10 sfan5 ah
19:10 hecks yeah
19:10 hecks because it's kinda weird that clients from one platform have this superpower that nobody knows about =]
19:12 v-rob Oh, I didn't realize you wanted full touchscreen interactions. Well, making the HUD interactable still will be possible :)
19:12 hecks there's no conflict between the two
19:12 hecks it's just that since there's a PR to make touch available on desktop, and touch has this interaction mode
19:12 hecks and mouse3 is unbound
19:13 hecks it makes sense to do this
19:13 v-rob Yeah, it does
19:15 hecks mmmmm cmake can't find irrlicht again
19:16 hecks oh of course
19:16 hecks cmake wants its magical files, it doesn't suffice to just give it a /lib/ and /include/
19:17 hecks i broke my scripts for nothing
19:17 hecks neither way works for me
19:44 MTDiscord <Jordach> ln -s /Users/Jordach/testfolder2/irrlicht /Users/Jordach/testfolder2/minetest/lib/irrlichtmt
19:44 MTDiscord <Jordach> this works for me
19:44 MTDiscord <Jordach> good fucking show @josiah_wi
19:45 MTDiscord <Jordach> you just broke codesigning
19:45 celeron55 don't get so personal, it's just the cmake way of breaking stuff
19:45 MTDiscord <Jordach> it's not CMake
19:46 MTDiscord <Jordach> since minetest doesn't link to libpng anymore
19:46 MTDiscord <Jordach> while irrlicht does causes it to half static-link minetest and half dynamic like
19:46 MTDiscord <Jordach> link, which causes the mac kernel to shit the bed
19:46 MTDiscord <Jordach> (by extension probably BSD)
19:49 hecks -- Installing: ../libs/irrmt/usr/local/include/irrlichtmt/SSharedMeshBuffer.h
19:49 MTDiscord <Jordach> https://cdn.discordapp.com/attachments/747163566800633906/870030130846785586/Screenshot_2021-07-28_at_20.48.57.png
19:49 hecks aaaaaaaaaaah so this is what make install does :-DDDDD
19:49 MTDiscord <Jordach> left: old CMake, right: new cmake
19:49 hecks see, should have told me i also needed to simulate the existence of /usr/local in my fake root...
19:49 hecks clown world...
19:53 MTDiscord <Jordach> also he forgot to read the damn comment in src/CMakeLists.txt
19:53 hecks oh and of course it still doesn't find it
19:53 MTDiscord <Jordach> Minetest itself does not use them, but we link them so that statically linking Irrlicht works.
19:53 hecks ok so
19:53 hecks i make install to a dummy dir
19:53 hecks i set DCMAKE_PREFIX_PATH to this dummy dir
19:53 hecks it still can't find anything
19:54 hecks what now
19:59 MTDiscord <Jordach> that should theoretically patch macOS
19:59 MTDiscord <Jordach> will jump into msvc land and solve that too
19:59 sfan5 hecks: does the described "option 1" not work for you?
19:59 hecks it just did BUT
19:59 hecks -DCMAKE_PREFIX_PATH=$libdir/irrmt/usr/local \
20:00 sfan5 your ideal setup will look different but I hope at least that works
20:00 hecks this is what you actually have to do
20:00 sfan5 did I accidentally leave out usr/local?
20:00 hecks yup
20:00 sfan5 oops
20:00 hecks anyway this is very brittle, i hope we never ever add any more dependencies in this way
20:01 sfan5 there is no need for them in principle, I removed them in my setup
20:01 hecks no more relying on cmake to find shit
20:01 hecks not everyone uses linux or wants to turn their system into linux
20:01 hecks this is fine to contain irrmt alone but no more
20:02 sfan5 well IrrlichtMt is going away so there won't be more
20:02 sfan5 just less
20:02 sfan5 eventually
20:03 hecks thanks for giving me one more reason to take this thing behind the shed and shoot it
20:07 MTDiscord <josiah_wi> It seems like good internet resources for learning about good dependency structuring are something computer science lacks, or I just haven't been able to find them. I've read many of the papers available online about good CMake design, and that was the foundation for the decisions I made in my PR.
20:07 MTDiscord <Warr1024> and dissolve the body in acid, it's the only way to be sure
20:08 hecks if a build system needs whitepapers to explain how to use it, it's probably byzantine rubbish
20:08 MTDiscord <josiah_wi> If someone could give me some references from people who really understand this stuff (not just controversial opinion) then I'd greatly appreciate it.
20:08 hecks my controversial opinion is that attempting to understand this stuff is the mistake =]
20:09 MTDiscord <Warr1024> There are 2 hard problems in computer science: 1. naming things, 2. concurrency, 2. concurrency, 2. concurrency, and 3. off-by-one errors.
20:09 MTDiscord <Jordach> if i can fix a horrifying cmake setup that only works on one machine and introduce support for vcpkg
20:09 MTDiscord <Jordach> this should be much less aggravating
20:09 hecks oh hey
20:10 hecks it fails to find irrlicht again... i hardly did anything
20:10 hecks this thing is cursed, people
20:11 MTDiscord <Jordach> ???
20:11 MTDiscord <Jordach> >removes cmakecache to force regeneration of files
20:11 hecks done already
20:11 MTDiscord <Jordach> >builds shared libraries as dynamic
20:12 hecks i'm already feeling the enhanced productivity
20:12 hecks this thing creates jobs!
20:16 MTDiscord <josiah_wi> Hecks' point is good, that if a build system is difficult to explain it's probably too complicated. I think that extends to stuff in general. However, this isn't supposed to be harder to explain and I don't understand why it is. I had hoped this would be a learning experience for me, but instead it's turning into a "you need to learn" experience.
20:17 MTDiscord <Jordach> using stackoverflow as a hammer to fix nails is a very bad idea™️
20:17 MTDiscord <Jordach> also - this line https://github.com/minetest/minetest/commit/cf136914cf421ee52f6806eda2fa97740d0ee552#diff-148715d6ea0c0ea0a346af3f6bd610d010d490eca35ac6a9b408748f7ca9e3f4L299 is extremely obvious
20:18 sfan5 yes it's very obvious
20:18 sfan5 because you know what the new cmake importing does
20:18 sfan5 it automatically handles this
20:19 MTDiscord <Jordach> no it's a cock up that makes the british government look functional
20:19 MTDiscord <Jordach> warning: changes being made to the file will invalidate the code signature in:
20:19 MTDiscord <Jordach> it's not static linking
20:19 MTDiscord <josiah_wi> I didn't use stack overflow except for debegging issues. I read papers about the right way to structure CMake builds. I have no other source. I read 3-4 papers and they all agreed. Nobody said there was a better way. Now everyone says I made a mistake but nobody wants to take the time to teach me, or they don't have a clue themselves, and I'm just tired and confused.
20:19 MTDiscord <josiah_wi> This is not how progress is made.
20:19 MTDiscord <Jordach> minetest-5.5.0-dev-osx/minetest.app/Contents/Frameworks/libpng16.16.dylib (amd64)
20:21 hecks if nobody in the room knows how to use cmake "properly" then why are we doing it...
20:21 MTDiscord <Jordach> what we had was human understandable and god forbid
20:22 MTDiscord <Jordach> a reasonably straightforwards user experience
20:22 hecks instead of monkey patching that MSVC build issue
20:22 hecks anyway uhhh
20:22 hecks my shit suddenly stopped working with /usr/local too =] i don't know what happened
20:23 MTDiscord <Jordach> we've reverted worse stuff for less
20:25 MTDiscord <josiah_wi> Based on the discussion I think explaining to Jordach why the static linking thing is irrelevant is unnecessary and pointless because it's internal CMake magic. All I can say is, if it's broken, file an issue. It's supposed to work.
20:25 MTDiscord <Jordach> i'm now hacking and chopping away at the cmake
20:25 MTDiscord <Jordach> because before even with your irrlicht changes it was fine
20:26 MTDiscord <josiah_wi> Ironically most of the magic happens on the Irrlicht side.
20:26 MTDiscord <Jordach> it's the crap job done to CMakeLists
20:26 MTDiscord <Jordach> and i build with clang
20:27 sfan5 this is pointless without further detail
20:27 sfan5 such as your irrmt build flags
20:27 MTDiscord <Jordach> i stuffed irrmt into /libs/irrlichtmt
20:27 MTDiscord <Jordach> for some reason, libpng is dynamic linkingh
20:28 sfan5 didn't you used to need some flag to tell it to not do that?
20:28 sfan5 if so, add it again this time to the MT cmake command
20:28 MTDiscord <Jordach> the correct result is that all libraries staticly link
20:29 MTDiscord <Jordach> and have zero dylib files inside the app
20:30 hecks wow finally
20:30 MTDiscord <josiah_wi> I remember some libpng thing in Jordach's script, and yes, it should just be passed to irrlicht instead, which I'm uncertain about with the lib/irrlichtmt structure.
20:31 sfan5 it should still read global flags, anything else would be bad
20:31 MTDiscord <Jordach> that was because minetest needs to depend on it from generating a linked library to a linked lib
20:31 MTDiscord <Jordach> this prevents that entire scenario
20:32 sfan5 does it?
20:32 MTDiscord <Jordach> building MT with brew caused dylibs to lose their code signatures
20:32 MTDiscord <Jordach> i've had to build every MT dependancy manually
20:36 MTDiscord <Jordach> > cmake . -DRUN_IN_PLACE=FALSE -DCMAKE_OSX_ARCHITECTURES="arm64;x86_64" -DBUILD_SHARED_LIBS=FALSE
20:36 MTDiscord <josiah_wi> There may be an exception to the "it should be simple to use" concept, and that's when you're trying to wrangle the CMakeLists to make Mac work. I should've documented the system very thoroughly, and I'm increasingly convinced I need to go do that rn, but understanding CMake helps with developing it.
20:36 MTDiscord <Jordach> still generates a libpng dyld
20:36 sfan5 minetest does not build libpng so it does not "generate" the .dylib
20:36 MTDiscord <josiah_wi> Aren't you building libpng yourself?
20:36 sfan5 rather it's probably picking it
20:36 MTDiscord <Jordach> it's already compiled locally
20:36 sfan5 so you should point it to the libpng.a
20:37 MTDiscord <josiah_wi> ^
20:37 MTDiscord <Jordach> i've also stripped the offending ARM NEON nonsense from it
20:38 MTDiscord <josiah_wi> Considering that the project's goal is to absorb Irrlicht I'm not sure how much time is worth putting into documenting the CMakeLists in detail.
20:39 MTDiscord <Jordach> full clean rebuild time
20:40 MTDiscord <josiah_wi> You're going to need to set the paths to your static dependencies (e.g. libpng.a) in any event.
20:40 MTDiscord <Jordach> this was with src/CMakeLists.txt changes to ensure png is properly linked
20:40 MTDiscord <Jordach> this test is without
20:41 MTDiscord <josiah_wi> You added it without even testing the original?
20:41 MTDiscord <Jordach> known working state first
20:41 MTDiscord <Jordach> then play with it
20:42 MTDiscord <Jordach> same result
20:42 Extex joined #minetest-dev
20:42 MTDiscord <josiah_wi> I actually highly recommend compiling irrlicht in a seperate directory.
20:43 MTDiscord <Jordach> > Minetest.app/Contents/MacOS/minetest: Mach-O universal binary with 2 architectures: x86_64:Mach-O 64-bit executable x86_64
20:43 MTDiscord <josiah_wi> Did you try the script I modified for you?
20:43 MTDiscord <Jordach> i don't make unknown changes to scripts without testing in a sandbox env first
20:43 MTDiscord <Jordach> i'm not going to YOLO existing builds into the void
20:43 MTDiscord <josiah_wi> The recommendation isn't for general usecase btw, just for this.
20:44 MTDiscord <Jordach> my build argument looks more like
20:44 MTDiscord <Jordach> cmake . -DBUILD_SHARED_LIBS=FALSE -DPNG_LIBRARY=/usr/local/libpng/1_6_37/lib/libpng16.a -DRUN_IN_PLACE=FALSE -DCMAKE_OSX_ARCHITECTURES="arm64;x86_64"
20:44 MTDiscord <josiah_wi> Well shoot, I tried to get your script updated and here you are calling me stupid and fumbling with CMake without even testing ite
20:45 MTDiscord <Jordach> i distrust other's changes for sanity
20:45 MTDiscord <Jordach> the last time that happened rm and -rf were very good friends with *
20:45 MTDiscord <josiah_wi> I hardly changed much. You could easily check what it does.
20:47 MTDiscord <josiah_wi> The reason I recommend compiling Irrlicht in a seperate directory for this is because you can then deal with them seperately instead of both trying to configure at once.
20:47 MTDiscord <Jordach> i can now safely test that it does build
20:48 MTDiscord <Jordach> it does not mean however it's safe to use
20:48 MTDiscord <Jordach> as MSVC needs checking
20:49 MTDiscord <josiah_wi> I have a fear that I was ignorant and removed the PNG thing, but I will check that now.
20:50 MTDiscord <Jordach> potentially
20:50 MTDiscord <josiah_wi> My fear was unfounded; it's there where it should be.
20:51 MTDiscord <Jordach> i never made a single PR to minetest without triple checking things work as expected
20:51 MTDiscord <Jordach> set_sky went through a ton of personal scrutiny
20:52 MTDiscord <josiah_wi> I checked more than 4 times, on my system. You're the Mac guy; I don't have the tools to test on a Mac and you do.
20:52 MTDiscord <Jordach> OpenCore exists
20:52 MTDiscord <Jordach> you can easily test with a VM under VESA drivers
20:53 MTDiscord <Jordach> but because i'm effectively the Mac maintainer
20:53 MTDiscord <Jordach> also
20:53 MTDiscord <Jordach> running your modified irrlicht command didn't generate them right
20:54 MTDiscord <Jordach> it didn't fix irrlicht being wrong
20:54 MTDiscord <josiah_wi> Wrong how?
20:54 sfan5 Minetest does not run under opencore
20:54 sfan5 it fails to create a GL context
20:54 sfan5 just compiling is fine
20:54 MTDiscord <josiah_wi> Let's not forget I reached out to Jordach before PRing this to get his input.
20:54 MTDiscord <Jordach> it shat the .a out in /lib/OSX/libIrrlichtMt.a
20:55 MTDiscord <josiah_wi> Ok so?
20:55 MTDiscord <Jordach> two months ago in PR hell
20:55 MTDiscord <josiah_wi> It shouldn't have put it in /lib. I'll recheck the script.
20:56 MTDiscord <Jordach> i'm not pasting the command as it's nearly six years long
20:56 MTDiscord <Jordach> https://gist.github.com/Jordach/860ea57263c28c0755ef32cf222e6b28
20:57 MTDiscord <josiah_wi> Ok, so it built.
20:57 MTDiscord <josiah_wi> What's the problem?
20:57 MTDiscord <Jordach> builds fine, doesn't spew the things in the right places
20:57 MTDiscord <Jordach> otherwise cmake won't find it
20:57 MTDiscord <Jordach> which is exactly the problem hecks is havinfg
20:58 MTDiscord <josiah_wi> Did you run the make install?
20:58 hecks well i'm kinda done with that but i still find this disgusting :o
20:58 MTDiscord <Jordach> you think i want to shit up my path
20:58 MTDiscord <Jordach> no
20:58 MTDiscord <josiah_wi> It just puts it in a bin/ folder.
20:58 MTDiscord <josiah_wi> irrlicht/bin
20:59 MTDiscord <Jordach> and i have to run that on every irrlicht change
20:59 MTDiscord <josiah_wi> I fail to see the downside.
20:59 hecks but if this thing placed files anywhere outside of my mt dev folder i'd be furious
20:59 hecks so if this happens to Jordach then it's a pretty bad thing
20:59 MTDiscord <Jordach> why does it even need to bother with any other directory outside of lib
21:00 MTDiscord <josiah_wi> It doesn't.
21:00 MTDiscord <Jordach> APFS doesn't support symlinks
21:00 MTDiscord <josiah_wi> make install can keep everything in your dev directory.
21:00 MTDiscord <josiah_wi> No need to symlink.
21:00 MTDiscord <josiah_wi> Read the script.
21:00 hecks wow wtf
21:00 hecks it's failing again
21:01 hecks oh of course
21:01 hecks now i have to rebase every branch
21:01 hecks every PR in existence is suddenly [rebase needed]
21:02 hecks after you "upgrade" your scripts you cannot build any branches made before
21:02 MTDiscord <Jordach> and this is exactly why i don't want to run his scripts without sandboxed testing
21:03 MTDiscord <Jordach> i've been bit before by bad bash scripts
21:03 MTDiscord <josiah_wi> I just modified yours slightly though.
21:03 sfan5 could pass the old and the new variables at the same time
21:03 MTDiscord <Jordach> you missed certain things entirely lmao
21:03 MTDiscord <Jordach> x64 contains a different build argument to arm64
21:04 MTDiscord <josiah_wi> I can see myself missing that.
21:04 hecks left #minetest-dev
21:04 hecks joined #minetest-dev
21:04 MTDiscord <josiah_wi> That's why I showed you the script early on for review e
21:04 MTDiscord <Jordach> and this is why i basically have a notepad open at all times for note taking of interesting behaviors
21:04 MTDiscord <Jordach> sometimes it'll be there when you're scratching your head
21:04 MTDiscord <josiah_wi> I'm trying to work with you and you've done absolutely nothing to work with you.
21:04 MTDiscord <josiah_wi> to work with me*
21:05 sfan5 I don't think whatever you guys are doing is going anywhere
21:05 MTDiscord <josiah_wi> Yeah obviously. :|
21:06 MTDiscord <josiah_wi> It's just Jordach explaining to me why he's mad at me or something like that.
21:06 MTDiscord <Jordach> i'm not seeing where cmake_install_prefix is even used in irrlicht's cmakelists
21:07 MTDiscord <josiah_wi> It's built in to CMake. I honestly shouldn't have hijacked it for this but I did.
21:07 MTDiscord <Jordach> why does the user need to know arcane cmake arguments
21:07 v-rob Would you like me to try this out to get another person's input? For reference, I use Windows + VS and the CMake GUI
21:07 MTDiscord <josiah_wi> He doesn't because it's documented in the README.
21:08 MTDiscord <josiah_wi> It's up to you v-rob.
21:09 MTDiscord <Jordach> > standard install path.
21:09 MTDiscord <Jordach> that reads as if it's installing systemwide
21:09 MTDiscord <Jordach> and any power user or sysadmin will be largely suspicious
21:09 MTDiscord <Jordach> explain that /bin will largely contain it within it's own folder
21:10 MTDiscord <josiah_wi> Thank you. That's useful input.
21:10 MTDiscord <Jordach> i wrote this https://github.com/Aurailus/Zepha/blob/master/docs/Building.md#windows after unscrewing the completely wack cmake
21:12 MTDiscord <Jordach> and yes, cmake doesn't agree with find_package at times either
21:12 MTDiscord <josiah_wi> v-rob I've heard the CMake GUI has issues with this build process. If I'm writing a solid section in the README knowing more about that might help.
21:12 sfan5 haven't had any issues with msvc
21:14 Pexin I have never heard of "make install" meaning anything except systemwide
21:14 hecks well here it has a magical variable to make it not systemwide... but you can't blame anyone for being suspicious
21:14 hecks or disgusted
21:16 MTDiscord <josiah_wi> I understand. It could install in a bin/ folder by default but the command would still be suspicious...
21:18 v-rob Well, first off, I have IrrlichtMt cloned to a folder, "irrlicht" and I build to another folder, "irrlicht-build" (which is the same way I build Minetest, which is what the Minetest readme says to do for Windows + VS). In the CMake GUI, I still have the options "IRRLICHT_INCLUDE_DIR" and "IRRLICHT_LIBRARY", but they don't work anymore (as expected). There's also one called "IrrlichtMt_DIR" which is not initialized and doesn't seem to do anything. So,
21:18 v-rob how do I proceed from here?
21:19 sfan5 the only sane option here is to move irrlicht to minetest/lib/irrlichtmt and let the rest happen automatically
21:19 hecks it's not sane because it literally doesn't work for some
21:19 hecks (me)
21:19 v-rob Oh, I'm supposed to put Irrlicht directly into the Minetest folder?
21:20 sfan5 it's not a requirement but it's an easy way of getting this to work
21:20 hecks minetest/lib/irrlichtmt (hardcoded gitignored path)
21:20 hecks prepare for cmake to get really confused though
21:21 v-rob (BTW hecks, IrrlichtMt compiles really fast now :D)
21:21 hecks yes it does...
21:22 hecks it'll be even faster, i need to get back to work
21:23 entuland joined #minetest-dev
21:23 MTDiscord <josiah_wi> I technically footshot myself because I installed Irrlicht to root to test it, but my updated install is in ~/.local, so if I forget no point CMake to ~/.local it'll work but be the wrong Irrlicht commit.
21:25 v-rob Ouch, I'd better close some programs. I just got a "compiler out of heap space" error :O
21:25 sfan5 @josiah_wi when/where/how are the Target .cmake files generated?
21:26 MTDiscord <josiah_wi> It looks like make install generates it because I can't find it in the build tree, but I didn't run "find" so I'm uncertain yet.
21:28 MTDiscord <josiah_wi> In the CMake lists the install part of it creates an export for the targets that tells which targets to export. The generation of the file is automatic.
21:31 sfan5 hm
21:32 sfan5 that cmake doesn't allow importing a library from a project checkout is unfortunate
21:32 sfan5 when it could easily internally shuffle that stuff around or whatever and do the right thingtm
21:32 sfan5 oh right my compose key doesn't work
21:33 MTDiscord <josiah_wi> It is unfortunate; that'd be extremely useful. I'm trying to think of a way to hax it in to doing that anyway.
21:34 v-rob MSVC really needs to stop lying that strcpy is deprecated and encouraging me to use its proprietary strcpy_s...
21:34 v-rob Anyhow, the new CMake build system seems to work fine for me.
21:34 v-rob MT built fine and runs fine
21:35 hecks so only osx and mingw got shafted
21:35 v-rob Although, does CMake put IrrlichtMt.dll in bin? I used to have to copy that manually
21:36 MTDiscord <josiah_wi> Bummer. sfan, it is supported.
21:37 MTDiscord <josiah_wi> We can export a Targets file with no install.
21:37 MTDiscord <josiah_wi> Point Minetest to that file and bam. All works without an install.
21:38 sfan5 v-rob: irrlichtmt is statically linked in this case
21:38 v-rob Oh, gotcha
21:38 sfan5 @josiah_wi I don't exact get it yet but please prepare a PR
21:39 MTDiscord <josiah_wi> https://cmake.org/cmake/help/git-stage/guide/importing-exporting/index.html#exporting-targets-from-the-build-tree
21:39 v-rob Well, for me at least, everything works fine then. It's certainly an improvement for my workflow
21:39 MTDiscord <josiah_wi> Tutorial in docs. It's a recent version that has the tutorial but it should work in 3.5 (will check though)
21:41 sfan5 lib/irrlichtmt is an earlier change, in theory it could have been fixed to work with MSVC (it always worked on Linux) before and without this change that is causing all the controversy
21:41 hecks joined #minetest-dev
21:45 calcul0n joined #minetest-dev
21:49 v-rob joined #minetest-dev
21:50 sfan5 <sfan5> lib/irrlichtmt is an earlier change, in theory it could have been fixed to work with MSVC (it always worked on Linux) before and without this change that is causing all the controversy
21:50 sfan5 (repost so it doesn't get missed)
21:58 sfan5 mfw clicked add single comment instead of starting a review
21:58 MTDiscord <Jordach> @josiah_wi wat the fak; building with the pseudo install doesn't generate the bad dylib
21:58 Extex joined #minetest-dev
21:59 MTDiscord <Jordach> even with the PNG library not included
22:01 MTDiscord <Jordach> and what is that segfault
22:02 MTDiscord <Jordach> uh why is loading .x models causing segfaults
22:02 MTDiscord <Jordach> hecks ^
22:02 MTDiscord <Jordach> Unknown data object in material list in x file: Material zsh: segmentation fault  ./Minetest.app/Contents/MacOS/minetest
22:03 MTDiscord <Jordach> devtest boots fine, but other games that use .x don't
22:05 MTDiscord <Jordach> i know this affects your game too hecks
22:05 sfan5 perhaps it doesn't hence it's not been noticed
22:05 MTDiscord <Jordach> his game uses .x like mine
22:06 sfan5 not all files are identical
22:06 MTDiscord <Jordach> mine was made with the ancient 2.7 .x exporter
22:06 MTDiscord <Jordach> his is likely with his variant
22:06 MTDiscord <josiah_wi> sfan5, running a test build to completion before PRing to make sure it works. Looks good so far. Do you want me to PR a change to Minetest to use an IRRLICHT_DIR variable instead of the magic PREFIX_PATH thingymijig?
22:06 sfan5 no prefix path is okay for installed stuff (the buildbot needs it after all)
22:07 sfan5 but an extra IRRLICHT_SOURCE_DIR is what I'm thinking of
22:07 MTDiscord <josiah_wi> Sure thing.
22:07 MTDiscord <Jordach> i think the suspect might be in set_attach
22:08 MTDiscord <Jordach> the hint is that it loads non attached models fine
22:08 sfan5 just grepped for some stuff and
22:08 sfan5 src/inventory.cpp:// Obsoleted on 2011-10-14
22:08 sfan5 heh
22:09 hecks sup
22:09 MTDiscord <Jordach> old blender 2.7 .x files seem to segfault
22:09 hecks .x should not cause segfaults.... i just built and ran everything
22:09 hecks maybe it's the old exporter's fault
22:09 MTDiscord <Jordach> https://gist.github.com/Jordach/774a71aa90f7bf381d2b9b03d38519f4
22:09 hecks which section does it fault on?
22:09 MTDiscord <Jordach> i did get a stack trace
22:09 hecks i slightly edited the importer
22:09 MTDiscord <Jordach> irr::scene::CXMeshFileLoader
22:10 hecks yeah obviously
22:10 MTDiscord <Jordach> namely complaining about materials
22:10 MTDiscord <Jordach> lemme upload a gif to show you, as it loads unanimated meshes fine
22:10 MTDiscord <Jordach> (or unattached)
22:10 hecks what would a gif tell me though
22:11 hecks what i deleted from that importer was parsing the actual materials
22:11 hecks since we do not use those
22:11 MTDiscord <Jordach> how else do tyou apply textures
22:12 hecks i
22:12 hecks we still parse material slots
22:12 hecks just not the actual material content
22:12 MTDiscord <Jordach> ah
22:12 hecks and don't load the textures
22:12 MTDiscord <Jordach> i never included textures as i used cycles materials to export under
22:13 MTDiscord <Jordach> because BI / Internal maps to that
22:13 hecks well minetest does not utilize any of that anyway
22:13 hecks you still have to specify the tiles in the cao def
22:13 hecks so all that matters are the slots
22:13 MTDiscord <Jordach> but yes, it explodes: Unknown data object in material list in x file: Material
22:14 hecks hmmm
22:14 MTDiscord <Jordach> just because we bikeshedded a new exporter doesn't mean we shouldn't test with older formatszx
22:14 MTDiscord <Jordach> exports even
22:14 hecks it's not that, the "new" exporter would also do this
22:15 hecks i only ported it
22:15 hecks thing is that i deleted the "texture loader" feature that this depended on
22:15 MTDiscord <Jordach> at least we have a verified sigsegv
22:16 hecks the warning can be suppressed but what's actually causing it to crash?
22:16 MTDiscord <Jordach> it runs to the end of materials then just segfaults
22:16 MTDiscord <Jordach> i could six materials which would match one of the first person attachments
22:17 MTDiscord <Jordach> well count
22:18 MTDiscord <Jordach> that said with all the changes since 5.4 this might as well be called 6.0
22:22 hecks we don't have to do that if we don't break any supported api too hard
22:22 hecks and TGA files did not count as supported =]
22:22 MTDiscord <Jordach> with all the build changes and internal changes leading up to outright replacements?
22:24 hecks i don't know, ask the people who give a damn about semver
22:24 hecks i didn't, i think the 5.0 version inflation was a joke
22:25 MTDiscord <josiah_wi> irr#49
22:25 ShadowBot https://github.com/minetest/irrlicht/issues/49 -- Export targets to build tree by JosiahWI
22:26 MTDiscord <josiah_wi> BTW this is usable as soon as it's merged by setting CMAKE_PREFIX_PATH to your Irrlicht source directory.
22:26 MTDiscord <josiah_wi> No make install anymore.
22:26 MTDiscord <Jordach> also consider writing that into the readme.md
22:26 hecks are the artifacts gitignored properly?
22:27 MTDiscord <Jordach> as this is rather outdated https://github.com/minetest/irrlicht#build
22:27 MTDiscord <josiah_wi> Artifacts?
22:27 hecks whatever cmake produces
22:27 sfan5 yes?
22:28 sfan5 in general I mean, can't comment on the just linked PR
22:28 MTDiscord <josiah_wi> ...no the Targets file isn't. Thanks.
22:29 hecks install_manifest.txt also wasn't but i guess it won't be needed now
22:29 MTDiscord <josiah_wi> Oh, but it goes in build/ which isn't .gitignored. ?
22:29 MTDiscord <josiah_wi> Advice?
22:29 MTDiscord <josiah_wi> Oh because I'm using a build directory and some don't.
22:29 MTDiscord <josiah_wi> Nevermind.
22:34 MTDiscord <josiah_wi> I fixed the .gitignore. I'm not sure what I should say in the README.
22:34 MTDiscord <Jordach> about the fact it prints things into /build/ for use with minetest's cmake command
22:37 hecks So now you're supposed to point the cmake prefix dir to the checkout?
22:38 MTDiscord <Jordach> reading the commit, It is insecure and inconvenient to necessitate installing IrrlichtMt to access the target export
22:38 MTDiscord <josiah_wi> Done. Please review.
22:38 MTDiscord <Jordach> basically from what i see all it does is skip the make install step
22:38 MTDiscord <josiah_wi> Correct.
22:39 MTDiscord <josiah_wi> I thought that's exactly what you wanted.
22:39 MTDiscord <Jordach> it still places everything within the folder providing /bin/
22:39 hecks now how will it cope with the fact that the /include/ and /lib/ structure is not the same as the installed one?
22:39 MTDiscord <josiah_wi> No Jordach, it uses the build tree now.
22:39 hecks /include/irrlichtmt became just /include/, while /lib/ became /lib/[system]/
22:40 MTDiscord <josiah_wi> Hecks, those paths are completely flexible.
22:40 hecks we shall see...
22:40 MTDiscord <josiah_wi> I did just test it.
22:40 MTDiscord <Jordach> hecks: prefix was set to =/bin
22:40 MTDiscord <Jordach> https://gist.github.com/Jordach/753e6dde979f2ca7c1f3ffa56e2f2fba
22:40 MTDiscord <Jordach> entire log
22:41 MTDiscord <josiah_wi> The Targets file knows where the library and headers are located. It grabs them straight from the build tree.
22:42 MTDiscord <josiah_wi> It's a testament to how good the Irrlicht build is that I didn't have to modify a single path. I actually thought I might have to.
22:42 hecks okay, the targets file is generated correctly
22:42 hecks wait, uh oh
22:43 hecks it's looking for IrrlichtMtConfig.cmake in the wrong dir now
22:44 MTDiscord <josiah_wi> Did you set CMAKE_PREFIX_PATH to your irrlicht checkout? Even if you did it might fail and I understand why.
22:44 hecks of course, now what
22:44 hecks it's looking for the file in one dir above
22:45 MTDiscord <josiah_wi> Probably have to PR to Minetest to fix that. I use an out of source build which works but many Minetest devs do not.
22:46 hecks uhhhh wait....
22:46 MTDiscord <josiah_wi> I should update the docs.
22:48 MTDiscord <josiah_wi> Updated.
22:49 hecks i cleaned everything and tried again and now it's
22:49 MTDiscord <josiah_wi> Oh. Whups.
22:49 MTDiscord <josiah_wi> Time to revert.
22:49 hecks there's a duplicate IrrlichtMtConfig in the root folder which can't find IrrlichtMtTargets
22:50 hecks in the checkout
22:50 hecks when i deleted that it worked
22:52 MTDiscord <josiah_wi> Ok. I think this is good for final review then.
22:53 MTDiscord <josiah_wi> I should've done this in the first place, or rather researched whether it was possible. I'm relieved I did learn something from this experience.
22:54 MTDiscord <Jordach> i want minetest to be wholly much better when it comes to user experience
22:54 MTDiscord <Jordach> that cannot be possible without holding contributors to standards
22:54 MTDiscord <Jordach> which includes documentation for users who may be first time
22:55 sfan5 I reviewed a PR
22:55 sfan5 time to go to bed
22:55 MTDiscord <josiah_wi> Well, thank you for holding me to the standard, but this could've been done hours ago if we'd discussed solutions instead of arguing about the problem.
22:55 hecks well it works now, it's just slightly fishy (abusing a generic path prefix)
22:55 MTDiscord <Jordach> the lack of documentation was the problem
22:55 MTDiscord <Jordach> it didn't explain what it was attempting
22:55 hecks if this was an irrlicht specific variable again it would be good
22:56 MTDiscord <Jordach> and given anyone with an experience with a computer, installation means administrative rights
22:56 hecks but we will never ever use this mechanism again, i'll make sure of it, so that might be moot
22:56 MTDiscord <josiah_wi> Yes hecks, I'll be PRing that but I don't have time this afternoon as it's getting late and I'm tired.
22:57 hecks now back to the broken .x files
22:58 hecks i could monkey patch that by parsing the material blocks again but
22:58 hecks we literally won't have an SMaterial type soon
22:58 MTDiscord <Jordach> i'd rather it just silently fail or discard the data
22:58 MTDiscord <Jordach> or at least leave a warning in the console to use the newer exporter
22:59 hecks does a newer exporter fix it?
22:59 MTDiscord <Jordach> your one might
22:59 hecks i wouldn't know because i actually strip that block from my files
22:59 MTDiscord <Jordach> not tested it
23:00 hecks but that's not something done by the blender exporter i posted
23:00 MTDiscord <Jordach> suprised you didn;t intergrate that with the updated exporter
23:00 hecks that one is just the 2.7x version updated for the 2.80 depsgraph
23:00 hecks i did not integrate it because that exporter is cancer
23:00 MTDiscord <Jordach> fair
23:00 hecks i don't even use it anymore
23:01 hecks i export lsd, parse it, process it, and write back an .x in lua
23:01 sfan5 fyi having to reexport models does not match minetest's usual compatibility strategy
23:01 MTDiscord <Jordach> yes
23:02 sfan5 now this is a first because irrlicht code has never really seen changes before
23:02 hecks it's a bug, i'll fix it
23:02 MTDiscord <Jordach> that actually would be very annoying
23:02 MTDiscord <Jordach> thanks hecks
23:02 sfan5 but we have to think about it before 5.5 or face complains that N-year old mods no longer work
23:02 * sfan5 now actually off
23:02 MTDiscord <Jordach> other than MCL
23:02 MTDiscord <Jordach> lmao
23:02 hecks aren't we the only .x users
23:02 MTDiscord <Jordach> yes
23:04 hecks MCL... what's that again?
23:04 MTDiscord <Jordach> the most idiotic thing to make with the engine
23:04 hecks literally minecraft?
23:06 MTDiscord <Jordach> yes
23:06 MTDiscord <Jordach> so many interesting topics and they choose that
23:06 hecks so that's where all the stupid feature requests come from
23:06 MTDiscord <Jordach> yeeep
23:07 hecks 'can we have this, minecraft has this, please hardcode this we need this'
23:07 sfan5 that's rare(er)
23:07 sfan5 I'd say most raised in connection to mcl actually show lack of flexibility in the engine
23:07 sfan5 though the proposed solutions aren't always good
23:08 hecks i vaguely remember some requests literally asking to hardcode something
23:08 hecks or really close
23:08 sfan5 when you said hardcoding I was thinking of the dual wielding PR
23:08 sfan5 or in other words hardcoding a second hand
23:08 hecks :DDDD yes that one
23:08 hecks that's a prime example of minecraft myopia
23:09 hecks viewmodels? no second HAND :DDDD
23:09 hecks or this uhhh
23:09 MTDiscord <Jordach> honestly viewmodels would be rather lit
23:09 hecks yes they would
23:09 MTDiscord <Jordach> as long as they had entity like controls
23:09 hecks but instead of viewmodels someone just suggested a second hand, without figuring out how exactly this would logically work
23:09 hecks didn't they suggest a hardcoded inventory cell for it?
23:09 sfan5 there's so many easy targets of hardcoded stuff that can be unhardcoded + nice API
23:10 sfan5 someone just needs to do it
23:10 MTDiscord <Jordach> i actually have a way to sort of hack in dual wielding
23:10 hecks i literally have a second hand in the game... it just doesn't have a first person representation
23:10 MTDiscord <Jordach> exactly
23:10 hecks though with that new CAO flag or whatever that was, it might work
23:11 hecks viewmodels aren't hard, i just have more important things to do
23:28 hecks irr#50 Jordach
23:28 ShadowBot https://github.com/minetest/irrlicht/issues/50 -- Fix .x material slot parsing by hecktest
23:28 hecks try this
23:28 MTDiscord <Jordach> one min king
23:29 hecks i can't actually test out an unoptimized .x file at the moment because uh for one i straight up don't have the pipeline for these now
23:29 hecks and second, any of my models exported as unoptimized .x would not fit within the 8 meg limit
23:30 MTDiscord <Jordach> reconstructing
23:33 MTDiscord <Jordach> halfway there
23:36 MTDiscord <Jordach> loads but segfaults when checking for normals
23:36 MTDiscord <Jordach> 0   net.minetest.minetest             checkMeshNormals(irr::scene::IMesh*) + 96
23:36 MTDiscord <Jordach> i see a frame of the attachments before it segfaults
23:37 MTDiscord <Jordach> ...now it works?
23:39 MTDiscord <Jordach> seems to be kind of intermittent
23:39 MTDiscord <Jordach> https://cdn.discordapp.com/attachments/747163566800633906/870088105259061258/Screenshot_2021-07-29_at_00.38.45.png
23:40 MTDiscord <Jordach> curious
23:40 MTDiscord <Jordach> it happened against after starting a game, exiting to menu, then starting a new game
23:41 MTDiscord <Jordach> hecks: checkMeshNormals(irr::scene::IMesh*)
23:41 MTDiscord <Jordach> seems to be where the fault lies
23:41 hecks hmmmmmmm
23:41 hecks so it no longer dies in the parser, it's just malformed now
23:41 MTDiscord <Jordach> lemme check
23:41 MTDiscord <Jordach> if it's one model
23:41 hecks and if it's random, it's something uninitialized
23:42 MTDiscord <Jordach> nope it's just that one model
23:42 MTDiscord <Jordach> memory leak spotted
23:43 MTDiscord <Jordach> https://cdn.discordapp.com/attachments/747163566800633906/870089006703050752/Screenshot_2021-07-29_at_00.42.36.png
23:43 MTDiscord <Jordach> https://cdn.discordapp.com/attachments/747163566800633906/870089011945959444/Screenshot_2021-07-29_at_00.42.39.png
23:43 hecks :DDDDD oops
23:44 MTDiscord <Jordach> system didn't panic so it's all good
23:44 MTDiscord <Jordach> one model explicitly explods
23:44 MTDiscord <Jordach> https://raw.githubusercontent.com/Dumpster-Studios/BattleForArkhos/fps_game/mods/weapons/models/arms_shotgun.x shits the bed
23:45 MTDiscord <Jordach> https://raw.githubusercontent.com/Dumpster-Studios/BattleForArkhos/fps_game/mods/weapons/models/arms_spnkrx.x doesn't
23:48 Alias2 joined #minetest-dev
23:50 hecks sure is a lot of materials
23:50 MTDiscord <Jordach> i'm doing a more unique method of texturing
23:51 MTDiscord <Jordach> by having infinitely tileable textures
23:51 hecks be aware that this increases drawcalls
23:51 MTDiscord <Jordach> breathing in minetest increases drawcalls
23:51 MTDiscord <Jordach> what else isn't new
23:51 hecks i'm just sayin
23:52 MTDiscord <Jordach> i tend to use not many]

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