Time |
Nick |
Message |
00:01 |
|
loggingbot_ joined #minetest-dev |
00:01 |
|
Topic for #minetest-dev is now Minetest core development and maintenance. Chit-chat goes to #minetest. https://dev.minetest.net/ https://irc.minetest.net/ https://github.com/minetest |
00:02 |
|
nrz joined #minetest-dev |
00:02 |
|
Warr1024 joined #minetest-dev |
00:03 |
|
fluxionary joined #minetest-dev |
00:04 |
|
Noisytoot joined #minetest-dev |
00:05 |
|
Krock joined #minetest-dev |
00:07 |
|
fluxionary joined #minetest-dev |
00:49 |
|
_yella_ joined #minetest-dev |
00:50 |
|
_yella_ joined #minetest-dev |
00:56 |
|
_yella_ joined #minetest-dev |
00:56 |
|
_yella_ joined #minetest-dev |
02:10 |
|
Alias joined #minetest-dev |
02:12 |
|
YuGiOhJCJ joined #minetest-dev |
03:17 |
|
fluxionary joined #minetest-dev |
03:27 |
|
BuckarooBanzai joined #minetest-dev |
04:00 |
|
MTDiscord joined #minetest-dev |
05:02 |
|
calcul0n joined #minetest-dev |
06:11 |
|
freelikegnu joined #minetest-dev |
06:17 |
|
v-rob joined #minetest-dev |
07:52 |
|
tekakutli joined #minetest-dev |
08:03 |
[MTMatrix] |
<localhost> function on_place convert's callable function to cycle? How make on_use same behavior? |
09:41 |
|
calcul0n joined #minetest-dev |
11:18 |
MTDiscord |
<luatic> localhost: sorry, but i can't make sense of your message |
11:31 |
[MTMatrix] |
<localhost> Okay, how make "full_punch_interval" when player activates on_place event? |
11:32 |
[MTMatrix] |
<Zughy> This is for #minetest, please ask there. It's not the first time someone tells you that |
11:33 |
[MTMatrix] |
<localhost> eh... sorry, just here more faster answer :D |
13:11 |
|
appguru joined #minetest-dev |
14:52 |
|
Pexin joined #minetest-dev |
15:46 |
|
v-rob joined #minetest-dev |
16:30 |
MTDiscord |
<grorp> Merging #13790 and #13772 in 20 min |
16:30 |
ShadowBot |
https://github.com/minetest/minetest/issues/13790 -- Remove undocumented and useless `air_equivalent` parameter by Zughy |
16:30 |
ShadowBot |
https://github.com/minetest/minetest/issues/13772 -- Make the crosshair DPI-aware by grorp |
16:33 |
erle |
grorp wait, what's with “It appears to be used in some games and mods on ContentDB” from here? https://github.com/minetest/minetest/issues/13722#issuecomment-1667846289 |
16:33 |
erle |
i know it does not have any effect now (it was used to see if grass could grow under a block) |
16:34 |
erle |
but if i am not mistaken, this PR makes something truthy now falsy (i.e. nil) |
16:36 |
ROllerozxa |
hmm, looks like the zipgrep link expired |
16:36 |
erle |
please make a new one then |
16:36 |
MTDiscord |
<grorp> i was about to ask the same |
16:36 |
MTDiscord |
<grorp> :) |
16:36 |
erle |
i am pretty sure we can figure out if this is going to cause crashes or not |
16:36 |
erle |
but the author of the PR seems to not know what the property did, only that it is unused |
16:36 |
erle |
grorp ROllerozxa can you do the zipgrep thing? |
16:37 |
ROllerozxa |
I'll run a new zipgrep search rq |
16:37 |
erle |
thx thx |
16:38 |
erle |
ROllerozxa use this script on the resulting URL to get a permalink: http://news.dieweltistgarnichtso.net/bin/wayback-save |
16:39 |
ROllerozxa |
while the zipgrep is running, I do remember that nodecore does something with air_equivalent, so that should be tested and fixed if it will be removed |
16:39 |
ROllerozxa |
erle: ah neat, archiving from the terminal :) |
16:41 |
rubenwardy |
perhaps zipgrep should export the results as an upload |
16:41 |
ROllerozxa |
https://content.minetest.net/zipgrep/501df1d6-4355-4fd8-8afb-947ea023aa6e/ |
16:41 |
erle |
or you just do the archive.org dance like i do |
16:42 |
MTDiscord |
<grorp> Alright, I guess removing air_equivalent would break some stuff in NodeCore. |
16:43 |
ROllerozxa |
(and https://web.archive.org/web/20230911164208if_/https://content.minetest.net/zipgrep/501df1d6-4355-4fd8-8afb-947ea023aa6e/ for future reference) |
16:43 |
erle |
ROllerozxa, please post it to issue and PR |
16:43 |
erle |
zughy grorp now the postmortem question: did anyone of you care about this before i told you this? if so, why not? |
16:43 |
erle |
after all ROllerozxa did provide a zipgrep before. did it expire too fast? |
16:44 |
sfan5 |
it seems falling_item, pirenesi_redo,witches and nodecore would break due to this |
16:45 |
sfan5 |
if we want to be careful the field could be changed to so it throws a deprecation warning when accessed, then removed next release |
16:45 |
sfan5 |
s/would/could/ |
16:45 |
[MTMatrix] |
<Zughy> As you wish but I'm not gonna make the PR |
16:46 |
[MTMatrix] |
<Zughy> If people rely on undocumented legacy behaviour, it's not my fault |
16:47 |
erle |
okay, just a moment here |
16:47 |
sfan5 |
that was an idea, not a "we should do this" |
16:47 |
erle |
do you actually know why this property exists? |
16:48 |
erle |
chestertons fence does apply here: i see it is evidently useful to correctly handle air and ignore and so on. the engine internally uses light propagation for the grass-growing use case, but what would be the ”fix”? spoiler: hardcoding the names of air and ignore *might* not be it. |
16:49 |
[MTMatrix] |
<Zughy> Isn't that "airlike" job? |
16:49 |
erle |
i do not know. but evidently you did not research why anyone still relies on it before making the PR. |
16:50 |
erle |
it might all be legacy, but i don't see a clear case for ripping it out right now. |
16:51 |
MTDiscord |
<grorp> Documenting it might be less complicated than removing it. |
16:51 |
erle |
yeah |
16:52 |
erle |
it's not like these 2 lines hurt anyone |
16:52 |
ROllerozxa |
Zughy: that was my assumption too yes, but I realised that might be too broad if you only want to check for an "air equivalent" node, not just any invisible node |
16:52 |
sfan5 |
you would need to come up with an useful description and depending on what you come up with that might put existing mods in a bind because they suddenly have to declare their nodes air_equivalent to match the docs |
16:53 |
erle |
well, it definitely isn't light_propagates |
16:53 |
ROllerozxa |
I'd be interested to hear Warr1024: 's take on how nodecore uses it in more detail and if the airlike drawtype could be a replacement |
16:54 |
erle |
ROllerozxa i have strong doubts that this can be a drawtype thing |
16:54 |
erle |
the existing usage has nothing to do with drawtypes |
16:54 |
|
Desour joined #minetest-dev |
16:55 |
erle |
zughy did you make more PRs recently that ripped out, cut down, or deprecated stuff that just “seemed superfluous” because they were not used in the source code? it might be a good idea to look at them if that was not just a one-off and if you list them, i am willing to spend a bit of my time on it. |
16:56 |
[MTMatrix] |
<Zughy> Frankly I don't understand why we have to focus on these little things every time you pop up. We have, what? Two games that MIGHT break for an undocumented aspect, but we have to spend hours to discuss whether is safe or not to remove it instead of kindly asking these games (maintained by the same person) to remove those lines instead |
16:57 |
erle |
i *mostly* pop up in this way if i see needless breakage and want to prevent it |
16:57 |
[MTMatrix] |
<Zughy> We have a main menu that looks like shit and that scares people away but nooo, let's focus on this |
16:57 |
erle |
well, i am not preventing you focusing on the main menu. look, i offered my help, nothing more. |
16:57 |
|
fluxionary joined #minetest-dev |
16:57 |
erle |
because i think i might see things you would ignore, that's all. |
16:57 |
MTDiscord |
<grorp> Time to merge #13772, I guess :) |
16:57 |
ShadowBot |
https://github.com/minetest/minetest/issues/13772 -- Make the crosshair DPI-aware by grorp |
16:57 |
erle |
and also i think breakage is bad unless you have a plan for it |
16:57 |
MTDiscord |
<grorp> I'm sorry for planning to merge the other PR so quickly. I didn't expect that removing two undocumented lines of code could cause any problems. |
16:58 |
erle |
grorp just do the zipgrep thing next time or ask someone |
16:58 |
erle |
if it had really not been used, the PR would not have been an issue |
16:58 |
erle |
(or, maybe … ? no idea reall) |
17:00 |
erle |
grorp a question for my understanding: how does the crosshair thing avoid the scaling problems the icons in the main menu have? |
17:01 |
ROllerozxa |
the built-in crosshair isn't a texture iirc |
17:01 |
ROllerozxa |
it can be overriden with one, but the default one is just drawn with lines |
17:01 |
erle |
so is object_crosshair.png scaled too or not? |
17:02 |
erle |
because if it is scaled, i don't see how it ensures that it is not distorted or blurred |
17:03 |
erle |
btw, i am pretty sure that torches can be air_equivalent and are not rendered airlike |
17:03 |
erle |
not sure if that makes sense |
17:04 |
MTDiscord |
<grorp> texture crosshairs will be scaled too if you have a "non-standard" DPI or hud_scaling. yes, that might cause some artifacts. like everywhere else in Minetest where textures are scaled. |
17:04 |
MTDiscord |
<grorp> A solution might be limiting scaling to integer multiples. |
17:04 |
erle |
grorp so the PR makes pixel-perfect crosshairs into (probably larger) non-pixel-perfect ones? |
17:04 |
ROllerozxa |
(also if anyone wants to run a zipgrep on CDB packages for anything in the future, then ask me, ruben or any other CDB staff and we can run a search for you) |
17:05 |
erle |
grorp i would *strongly* suggest to round your scaling to integer multiples for any provided PNG |
17:05 |
erle |
the main menu icon scaling is atrocious (and there is no good way around it AFAIK, i.e. no way of getting it right) |
17:06 |
MTDiscord |
<grorp> erle: on most setups, it shouldn't. on some setups, it will. |
17:06 |
erle |
i bet you have a retina display lol |
17:06 |
MTDiscord |
<grorp> no :) |
17:07 |
erle |
so did you test it with provided chrosshairs and made sure it did not blur them on *your* setup? |
17:07 |
ROllerozxa |
just throwing it out there, how difficult would it be to make the GUI use integer scaling? I know it's possible to make pixel fonts use integer scaling if you set up font_size_divisible_by properly |
17:07 |
erle |
ROllerozxa that is actually the solution that many other games use that have pixel-based textures. chiefly among them, openttd. |
17:08 |
erle |
ROllerozxa the solution for the icons requires a bit more nuance than that though. you basically have to figure out a size (probably a power of two) to which to pad them out and then scale them (hopefully only up). |
17:11 |
ROllerozxa |
yeah, minecraft does the same as openttd I assume, it scales the GUI in fixed steps assuming the window size is large enough for it |
17:11 |
MTDiscord |
<grorp> erle: yes, I did, of course. |
17:11 |
MTDiscord |
<grorp> Actually, integer-multiple scaling would be very easy to implement for the crosshair. For other stuff, not so. |
17:11 |
ROllerozxa |
obviously I know that the issue is that we're working with a GUI inherited from irrlicht that isn't designed for pixel perfect GUIs but flashy 00s ones with gradients and whatnot |
17:11 |
erle |
that has nothing to do with irrlicht and everything to do with not caring about pixel perfect rendering lol |
17:12 |
rubenwardy |
you can get pixel perfect scaling without integer-scaling by using 9-slice style techniques |
17:12 |
erle |
rubenwardy yeah but probably not for a crosshair png |
17:19 |
erle |
grorp since you did not merge #13790, would you unapprove it so it does not get merged accidentally? |
17:19 |
ShadowBot |
https://github.com/minetest/minetest/issues/13790 -- Remove undocumented and useless `air_equivalent` parameter by Zughy |
17:21 |
[MTMatrix] |
<Zughy> Lol |
17:21 |
[MTMatrix] |
<Zughy> What a fucking joke |
17:21 |
erle |
what's the joke here? |
17:21 |
erle |
no breakage, no problems |
17:21 |
[MTMatrix] |
<Zughy> You're the problem |
17:22 |
erle |
oh my |
17:24 |
ROllerozxa |
ouch |
17:25 |
MTDiscord |
<warr1024> NodeCore uses air_equivalent pretty extensively. I wasn't aware it was undocumented; it seemed pretty self-documenting to me. |
17:26 |
MTDiscord |
<warr1024> "Airlike" is not a replacement; there are a number of things that use the same rendering method as air but are not actually equivalent to air. |
17:26 |
erle |
well, it used to be “documented” in the engine source code until it was no longer used for engine-internal purposes because light propagation was used instead |
17:26 |
MTDiscord |
<warr1024> To me, "air equivalent" means I can replace it with some other air equivalent and have it continue to behave as air. I use this for things that affect lighting, such as invisible light sources for dynamic light, or invisible shadows for particle clouds that block light. |
17:27 |
MTDiscord |
<warr1024> In principle I could (and maybe at some point should?) switch to using a group and just use the old flag to auto-fill heuristically, maybe, but the flag is what I'm using for now. |
17:28 |
erle |
IMO that seems like a pretty good case for documenting it instead of ripping it out |
17:28 |
MTDiscord |
<warr1024> You can't assume that airlike == air_equivalent at least because airlikes are used anywhere that the rendering for a node cannot be done using the mapblock mesh, e.g. when the node has a dynamic appearance or moves, and needs to be entity-rendered. |
17:29 |
MTDiscord |
<warr1024> Well, even if we ripped it out, we'd still have to document it, at least for a deprecation phase 😄 |
17:30 |
erle |
deprecating anything that has no clear replacement but is in use seems like a pretty pointless endeavour |
17:30 |
MTDiscord |
<warr1024> I'm okay with deprecating it, but please give me a heads up and a chance to migrate to the group-based thing 😅 |
17:30 |
erle |
Warr1024 what exactly would the group-based thing be? |
17:31 |
MTDiscord |
<grorp> What do people here think about this? https://github.com/minetest/minetest/commit/1a81267e886e374d65c34d275682457916f0fb16 |
17:31 |
MTDiscord |
<warr1024> I'll just make an air_equivalent type group instead of using a "primary" flag on the node def then. |
17:31 |
erle |
Warr1024 well but you'd also have to add that to :ignore and :air then ig |
17:31 |
erle |
i bet many people will forget about :ignore lol |
17:32 |
MTDiscord |
<warr1024> grorp: I'm generally not a fan of restricting things with an accessibility impact. Having a player stuck with either 1 or 2 when what they really want is 1.5 would be painful. Also, if a game provides a way-too-big replacement crosshair and somebody wants to scale it down to 0.25 on a small display, they'd be SOL. |
17:33 |
MTDiscord |
<warr1024> It'd be better if you could at least offer nearest-up-linear-down best-effort antialiasing, like the NNAA algorithm was supposed to offer for gui_scaling_filter. People who set a setting that gives them a blurry result will just have to accept the trade-off or change their setting. |
17:33 |
erle |
maybe there should just be a separate crosshair scaling option? |
17:33 |
erle |
warr1024 i think the problem here is that the ”setting” is their DPI |
17:34 |
erle |
then again, minetest is not exactly famous for respecting DPI settings well lol |
17:34 |
MTDiscord |
<warr1024> Heh, ideally, being able to fix the scaling of each individual GUI component would be nice, but at some point we may have to require that game/mod creators provide that rather than make the engine have to offer hundreds of knobs. |
17:35 |
erle |
well, as someone who likes pixel-perfect rendering i'd be pretty pissed if i had to stare at a blurry crosshair *without* being able to get rid of that |
17:35 |
erle |
but the 1.5 thing is valid. openttd actually does have an 1.5 scaling factor too i think. |
17:37 |
MTDiscord |
<warr1024> Ideally there would be some obvious way to get rid of the blur, e.g. just setting it to an integer yourself. I guess that depends on whether there's some DPI shenans mixed in with it, e.g. a multiplier that it's not obvious how to cancel out. |
17:39 |
erle |
well, the more i think about that proposal the more i think that ”dpi awareness” is probably the wrong way to fix it at least for png crosshairs. |
17:41 |
[MTMatrix] |
<Zughy> PR closed, I hope everyone is fine. That was supposed to be a silly PR to close one of the 1.1k issues we have, and to face scenarios like these push people away from contributing. sfan5 and wuzzy were both fine, it was basically screaming "supported by core dev", so I thought it was a safe bet; and yet this had to happen. I don't think this is a healthy way to do things |
17:43 |
[MTMatrix] |
<Zughy> problems should arise when the issue is opened, not when the solution (agreed by a core a dev and another member of the community + 2 approvals from other 2 core devs) is offered |
17:44 |
erle |
maybe the person offering the solution could have done the same as ROllerozxa or i did and did a zipgrep, asked warr1024 for their opinion or do “git log -p |grep air_equivalent |pager” |
17:45 |
MTDiscord |
<grorp> erle, Warr1024: Some kind of "DPI-awareness" is needed though, otherwise you have a tiny crosshair on Android. Hardcoding a bigger crosshair size on Android doesn't sound like a good idea to me. |
17:45 |
erle |
grorp i see |
17:45 |
[MTMatrix] |
<Zughy> as said before, I agree with Wuzzy: if something is undocumented and you're relying on it, it's not devs fault |
17:46 |
erle |
i don't care whose fault it is. i don't even care that you made this PR. i care about “does this introduce breakage and if so, is the breakage obviuosly and easy to fix” and the answers seem to be yes and no apparently. |
17:46 |
MTDiscord |
<warr1024> If it's deprecated NOW and removed in 5.8, that would be sufficient warning for me, I think. I don't think it would be too much work for me to migrate off of it. |
17:46 |
erle |
Warr1024 a deprecation needs an idea what to do instead though |
17:46 |
[MTMatrix] |
<Zughy> I'm not a big dev like you, people, but since I maintain a library too, if people start using functions in the code that I haven't exposed in the documentation, the fault is on them |
17:46 |
erle |
otherwise zughy is just going to deprecate everything that they don't think is needed |
17:46 |
ROllerozxa |
I mean I already made a comment on the issue when it first was opened that it was used by some packages on CDB, linking to the previous zipgrep result, I don't know how else I could have been more clear |
17:47 |
erle |
i think ROllerozxa was correct here and people just don't want to engage with “such a simple” change too much. |
17:47 |
MTDiscord |
<warr1024> Well, I know what to do instead. There are only a handful of engine things that supply air_equivalent, and I can just add the group to them. If mod content continues using the flag, then that's not necessarily a problem either, as the engine will simply not care about it and it becomes an "undocumented" feature that's NOT the engine's fault anymore. |
17:47 |
[MTMatrix] |
<Zughy> thanks erle with the passive-aggressive comments, I'm sure they'll help the discussion |
17:49 |
MTDiscord |
<warr1024> I dunno if it's a good idea to literally deprecate everything that a small group of people thinks is not needed, but it wouldn't be a bad idea to challenge existing assumptions and find out if things actually ARE being used. Especially stuff that's not hard to zipgrep on CDB. |
17:49 |
celeron55 |
the only actual problem here seems to be that the problems were hilighted properly only after it got to the PR phase instead of in the issue. if the PR was more than literally two lines i could understand the flamewar but now this all just seems silly |
17:50 |
erle |
celeron55 you see no problem with ROllerozxa literally saying “this is used” and everyone ignoring it? |
17:50 |
MTDiscord |
<warr1024> If retaining a feature smells arbitrary, then it would be nice to at least find out where we actually stand with it rather than just assuming that because it has existed in the past then somebody must have relied on it. |
17:50 |
erle |
yeah |
17:50 |
erle |
i mean i remember the TGA thing still. i don't want something like that again. |
17:51 |
MTDiscord |
<grorp> Warr1024: re NNAA: The crosshair is affected by gui_scaling_filter, btw. |
17:51 |
celeron55 |
erle: i think the issue as it is didn't give a go-ahead for making a PR |
17:51 |
MTDiscord |
<warr1024> All else considered, whether air_equivalent ends up being removed from the engine or not, I do plan on at least doing the "group thing" I mentioned earlier, since it makes it a lot easier for mods to specify behavior to the game without also colliding with other interpretations that other mods may have for flags inherited from elsewhere. If it does end up getting removed, it will make it a lot easier for me to handle that migration |
17:51 |
MTDiscord |
anyway. |
17:52 |
erle |
celeron55, my proposal would be to require zipgrep and a „what to do instead” suggestion for all deprecations, however small and insignificant they seem. |
17:52 |
erle |
otherwise this is going to happen again and again |
17:52 |
MTDiscord |
<warr1024> It's worth noting that zipgreps are not necessarily trivial to analyze. We were only lucky here because the name is quite distinctive. |
17:53 |
celeron55 |
i am not happy with the situation as-is though. if the field isn't removed, then it has to be documented |
17:53 |
erle |
Warr1024 that is true. for tga for example, no TGA files where on CDB, because it is almost exclusively used for dynamic textures. |
17:53 |
MTDiscord |
<warr1024> But yes, it would probably be good to have like a standard deprecation checklist of things to remember to check before proceeding. |
17:53 |
erle |
i want that checklist mostly because the problems seem to look the same |
17:53 |
sfan5 |
grorp: " Scale crosshair texture by integer-multiples only " sounds useful |
17:54 |
erle |
i mean ”ask the mod authors who use it most why they use it” could also be an item |
17:54 |
erle |
as far as i see, the current policy is “break some stuff, but announce it in the small-print months before and then blame the victims when their code breaks” |
17:54 |
ROllerozxa |
should that checklist be in the CONTRIBUTING.md perhaps? |
17:54 |
[MTMatrix] |
<Zughy> *some undocumented stuff |
17:54 |
MTDiscord |
<warr1024> Actually, it wouldn't be bad to mark something as deprecated at any time, i.e. tell people not to add new things relying on it. We can wait as long as we feel necessary before actually removing things. That would give us time to shake out people using it for things that can't be replaced. |
17:55 |
|
Desour joined #minetest-dev |
17:55 |
MTDiscord |
<warr1024> If we mark air_equivalent as deprecated right now in documentation, it would basically serve as a "white lie" because we're probably not ready to actually give a timeline for actual removal, but at least we can warn people not to make the problem worse. |
17:55 |
erle |
yeah, also it would be nice to have a “do not deprecate” list for stuff that comes up repeatedly |
17:56 |
[MTMatrix] |
<Zughy> You can't just deprecate it without offering a solution |
17:57 |
MTDiscord |
<warr1024> Yeah, actually, you can. You just say "don't use this. If you're using it, we're still looking for a solution, and if you have any ideas, please let us know." |
17:57 |
MTDiscord |
<warr1024> You can't actually set a deadline for removal without a solution, but you can sure as hell signal your intent to remove it without one. |
17:57 |
sfan5 |
unless someone defines what air_equivalent is supposed to mean the only solution is "we're removing this, if you used it please hardcode 'air' and 'ignore' or make up a group for your game" |
17:57 |
erle |
i am writing the thing with a ”do not deprecate” list by the way because i am pretty sure that “reasons why mods use TGA” and “reasons why stuff behaves exactly at it does at the map border” belongs on that list |
17:58 |
[MTMatrix] |
<Zughy> TGA will be removed eventually, it's also documented |
17:58 |
erle |
wait what why |
17:58 |
MTDiscord |
<warr1024> sfan5, I suspect that what air_equivalent is "supposed to" mean isn't actually definable at the engine level. It sounds like different content uses it for different stuff. |
17:58 |
erle |
zughy did you do that |
17:58 |
erle |
to annoy me |
17:58 |
erle |
surely you are joking |
17:59 |
[MTMatrix] |
<Zughy> sfan told me to |
17:59 |
[MTMatrix] |
<Zughy> I was only documenting file formats |
17:59 |
erle |
stop the cheap jokes at my expense. i'm not getting provoked into listing the reasons again. |
17:59 |
celeron55 |
if someone makes the PR to document air_equivalent as deprecated, i'm giving my +1 to that. but there are other options also that i'm giving my +1 to, i'm not going to dictate this |
18:00 |
erle |
zughy i don't like sfan5 but it is not nice to try to sow discord like that |
18:01 |
ROllerozxa |
Who said TGA is being removed??? |
18:01 |
MTDiscord |
<luatic> erle: it's not a hard "deprecation notice", but lua_api.md states: "Supported texture formats are PNG (.png), JPEG (.jpg), Bitmap (.bmp) and Targa (.tga). Since better alternatives exist, the latter two may be removed in the future." |
18:01 |
ROllerozxa |
this is not acceptable |
18:01 |
nrz |
this was said long time ago and never done, or rollbacked, for some reason |
18:01 |
erle |
ROllerozxa zughy said right now lol. and tried to pin it on sfan5 (who i believe is not that stupid to do that) |
18:01 |
[MTMatrix] |
<Zughy> ...I'm not provoking you https://github.com/minetest/minetest/pull/13711#discussion_r1282803255 |
18:01 |
erle |
oh |
18:02 |
erle |
> I don't want to ruin your simple PR with a big discussion but this has to be considered when documenting this for the first time. |
18:02 |
sfan5 |
not sure why the removal of tga is apparently controversial |
18:02 |
erle |
not this shit again |
18:02 |
ROllerozxa |
oh for fucks sake |
18:02 |
erle |
we already had this once |
18:02 |
[MTMatrix] |
<Zughy> lol |
18:02 |
rubenwardy |
please can we avoid triggering erle |
18:02 |
* celeron55 |
leaves to grab popcorn |
18:03 |
ROllerozxa |
please keep TGA |
18:04 |
MTDiscord |
<luatic> the stage is set, now the drama may commence! |
18:04 |
erle |
i hereby volunteer to maintain the TGA decoder code if that is any good. it's shorter than most mods that use it. |
18:04 |
sfan5 |
instead of having any kind of discussion now I suggest opening an issue with arguments to support it's non-removal |
18:04 |
erle |
we already HAD this |
18:04 |
MTDiscord |
<greenxenith> Cool, so don't have it again here |
18:04 |
MTDiscord |
<luatic> we've had one discussion, yes. what about second discussion? |
18:04 |
erle |
luatic lol |
18:05 |
[MTMatrix] |
<Zughy> sometimes I wish we could use this same energy to debate about, idk, 1 of the 305 bugs we have left open. But nope |
18:05 |
erle |
zughy i apologize (and take back the ”not that stupid” assertion, apparently i am stupid here for not believing you) |
18:05 |
MTDiscord |
<greenxenith> Put this nonsense in a github issue were bikeshedding belongs |
18:05 |
erle |
i think it is super fucking shitty to hide such a thing in a random documentation PR when it was clear that last time this was tried it was a bad idea and then ask for new arguments |
18:05 |
rubenwardy |
I suggest posting your tga rants here: https://rwdy.uk/2RFmM.png |
18:06 |
[MTMatrix] |
<Zughy> Minetest could sponsor it, in the end we received a €1000 donation two years ago |
18:07 |
erle |
sfan5 literally nothing changed since last time this was brought up except that it now breaks more mods than back then |
18:07 |
rubenwardy |
other options are tga.cool, tga-super.fans, tga.love |
18:07 |
sfan5 |
erle: put the arguments in an issue |
18:08 |
erle |
with what title? |
18:08 |
celeron55 |
the TGA non-deprecation issue is probably the best thing to do |
18:08 |
sfan5 |
I don't know? |
18:08 |
rubenwardy |
isn't the issue already here: #11613 |
18:08 |
ShadowBot |
https://github.com/minetest/minetest/issues/11613 -- Re-add support for the TGA image file format |
18:08 |
[MTMatrix] |
<Zughy> (side note: issue bot doesn't work on Matrix) |
18:08 |
celeron55 |
well that one has a different subject |
18:08 |
[MTMatrix] |
<Zughy> proof |
18:08 |
[MTMatrix] |
<Zughy> https://matrix.org/_matrix/media/v1/download/matrix.org/VrJbJSRxYEtcqNBGKOHuZkmA |
18:09 |
rubenwardy |
most bots are coded to ignore messages from other bots (ie: service messages) |
18:09 |
[MTMatrix] |
<Zughy> that's pretty unpolite of them |
18:09 |
erle |
rubenwardy, it was not only the issue, it was also the PR that removed it. the suggestion back then was to use BMP instead (which to anyone familiar with file formats seems like a non-starter). |
18:09 |
sfan5 |
well I'd propose a new issue since that one was created in the context of a surprise removal without deprecation period |
18:09 |
rubenwardy |
yeah |
18:09 |
ROllerozxa |
erle: I suppose "undeprecate the TGA image format" would be a good title |
18:10 |
erle |
wait why can sfan5 just tell zughy to deprecate something without a technical justification but to undo that we need an issue? |
18:10 |
erle |
i mean i can open it |
18:11 |
erle |
but i don't see why this is acceptable given the last time sfan5 argued against it he was not exactly an expert on texture file formats |
18:11 |
MTDiscord |
<luatic> Zughy: It prevents infinite bot interaction loops. |
18:11 |
erle |
zughy IRC has an extra message type for “bots do not respond” actually to prevent bot loops |
18:12 |
sfan5 |
instead of complaining how unfair it is that coredevs can just do things while normal people have to open an issue you could better just open the issue |
18:12 |
ROllerozxa |
erle: open the issue please, I could open one myself but I think you have more precise knowledge about encoding TGA in comparison to PNG (in terms of speed and filesize) so I'd appreciate it if you could do that |
18:13 |
erle |
ROllerozxa i will eventually, but i just got a huge delivery of stuff from REWE, so i can not right now. |
18:14 |
|
Desour joined #minetest-dev |
18:14 |
ROllerozxa |
ohok |
18:15 |
erle |
and i don't think i can easily crib together a text that would convince people who don't want to read walls of text (you know who) |
18:15 |
erle |
anyway, off to putting stuff in the fridge |
18:23 |
MTDiscord |
<warr1024> I've almost only ever seen issues used for requesting changes, having a "commit to supporting format xyz for the foreseeable future" is a new use-case for issues I haven't seen before. If there are discussions that have already happened, have already reached conclusions, and we'd like to avoid rehashing them, that sounds like a good use... |
18:24 |
MTDiscord |
<warr1024> I actually maintain TODON'T lists for my larger or more popular projects that keep getting the same requests over and over and I get tired of having to rehash why. |
18:33 |
erle |
well in this case i don't have a good explanation for it, because the arguments were already had in the past |
18:34 |
erle |
sfan5 maybe you want to share your arguments *for* deprecation? |
18:34 |
erle |
(of something that is in use and has no good replacement) |
18:36 |
sfan5 |
it's in the documentation: "Since better alternatives exist, the latter two may be removed in the future." |
18:37 |
sfan5 |
that "no good replacement [exists]" is already a (currently unproven) claim by you |
18:37 |
sfan5 |
anything you want to elaborate on that should exactly go into the new issue and not here |
18:39 |
erle |
i will make the issue and try to be terse, but i already want to point out that the last time the vague ”better alternatives exist” thing was mentioned, it turned out to be a bunch of bollocks. |
18:39 |
erle |
so i would very much like to know *what* you have in mind, regardless of how it turns out |
18:41 |
sfan5 |
to elaborate on that: mods that have tga textures for some reason can easily convert theirs, mods that write tga at runtime can migrate to write_png |
18:41 |
erle |
oh, is the PNG writer not shit tier anymore? |
18:41 |
MTDiscord |
<warr1024> If the claims where bullocks then there should be counterclaims that explain how, which would be good to see in the issue. |
18:42 |
MTDiscord |
<warr1024> If the PNG writer really is shit tier then we should really consider fixing that entirely independently of whether we deprecate or continue support for TGA. |
18:43 |
erle |
Warr1024 i already figured out that you can't meaningfully improve it, for dynamic texture generation tga.z (a proposal i made in the past) beats every png optimizer i have run even. |
18:43 |
erle |
anyway, later |
18:44 |
sfan5 |
schrödingers png encoder is simultanously shit tier and also can't be meaningfully improved |
18:45 |
|
appguru joined #minetest-dev |
18:47 |
erle |
sfan5 if you are really interested in details and benchmarks and don't want to wait for the issue, i have a wall of text for you https://git.minetest.land/erlehmann/unicode_text/src/branch/main/README.rst#user-content-png-is-a-better-format-why-not-write-png-files |
18:49 |
erle |
TL;DR: no improvement for the PNG decoder can beat “tga.z” (a trivial engine enhancement) for filesize or encoding speed for dynamic textures |
18:50 |
sfan5 |
we're not adding another obscure format |
18:50 |
erle |
so if you wanted to spend any time on getting bitmaps rendered faster or smaller, the png encoder is simply the wrong part of the code |
18:50 |
erle |
DEFLATE in transit is a pretty old technique and can be done entirely transparent |
18:50 |
ROllerozxa |
please don't harp on about tga.z, it's not helping our case |
18:50 |
|
v-rob joined #minetest-dev |
18:50 |
[MTMatrix] |
<Zughy> the only format I need is .gltf |
18:51 |
rubenwardy |
100% |
18:51 |
rubenwardy |
well, +new |
18:51 |
erle |
well, it's not relevant to the ”deprecate or not” question, but it is relevant to “is the PNG encoder salvage-able in principle” and for dynamic textures, nope |
18:51 |
ROllerozxa |
erle: thinking in the context for your text encoder where it renders text to a texture, a RLE compressed TGA image will be smaller than an equivalent image in PNG format encoded with encode_png right? |
18:51 |
erle |
like, you can spend time on it and will always be worse than adding a simple call to deflate |
18:51 |
[MTMatrix] |
<Zughy> any news from JosiahWI? PR looks dead :( |
18:52 |
erle |
ROllerozxa i did not actually test any of that because the PNG encoder does not actually specify any format except full RGBA and i render to grayscale by default |
18:52 |
erle |
it does not matter |
18:54 |
erle |
look, i think when people who have no understanding of an issue have the capability to deprecate it without feelings i can't really “win” here. |
18:54 |
ROllerozxa |
no it does matter, because the PNG encoder does not support indexed images so the filesizes will be significantly larger than an equivalent TGA made with your encoder |
18:54 |
erle |
depends on the filesize probably |
18:54 |
erle |
i only looked at the checkerboard example and figured out that it's like 20 times the size it should be, but for dynamic textures you also keep in mind that you want them *fast* |
18:55 |
erle |
and few things are faster than dumping a header and then a single-pass pixel thing on disk |
18:56 |
erle |
anyway, i already know what would be required for a “proper” deprecation. duplicating the entire TGA decoder from the engine in lua, just so you can write RGBA PNGs without prefilter :( |
18:56 |
erle |
i'm not doing that |
18:57 |
sfan5 |
I will say in advance that 1. "write_png produces worse results than my tga encoder" is valid within reason, not if it saves you 1 KB on a 50 KB file 2. that is more of an argument for improving write_png than for keeping tga |
18:57 |
erle |
RIP all those maps from mcl_maps and xmaps! |
18:59 |
erle |
sfan5 file size is a red herring, i know that. but what's actually the drawback of keeping support for something that is well understood, tiny and has been used for years? |
18:59 |
erle |
i mean it's not like the code will suddenly require lots of changes |
19:01 |
[MTMatrix] |
<Zughy> is the fact I've been making games for years and I've never head of .TGA before Minetest (as well as .b3d and .x) a valid reason to consider it the contrary of "well understood"? |
19:02 |
[MTMatrix] |
<Zughy> *heard |
19:02 |
Krock |
I'd also consider it as a niche format |
19:03 |
erle |
if you never heard of it, you never did anything with VTF files (it's a steam thing) i assume. or with quake. or homeworld. |
19:03 |
sfan5 |
as with everything code needs maintenance, or if we switch to a new library for reading images we need to take tga into account, or if the code has a security issue it needs attention |
19:03 |
erle |
sfan5 i already volunteered for maintaining it |
19:04 |
erle |
just for perspective, on my computer lib/irrlichtmt/source/Irrlicht/CImageLoaderTGA.cpp is 238 lines |
19:09 |
sfan5 |
I'm not saying it's important or due to happen soon |
19:18 |
erle |
i just wanted to know if there was some maintenance burden that i could address so it no longer exists (as long as it is small enough) |
19:30 |
[MTMatrix] |
<lebruhgamer> TGA image file is used quite extensively in the animation and video industry because of the easiness of processing .. if you "have not heard" about it, it just meant you're not in the industry where it's mainly used |
19:33 |
|
olliy joined #minetest-dev |
19:38 |
[MTMatrix] |
<lebruhgamer> in fact it's also used for overlay purpose in broadcasting system used in live TV production, as it's very fast to render |
19:39 |
sfan5 |
that sounds implausible. once decoded every image format should be equal. |
19:42 |
[MTMatrix] |
<lebruhgamer> it's used in processing side, not on resulting side -- like the output will just be a TS |
19:42 |
erle |
lebruhgamer hmmm, is this basically the same reasoning why TGA in minetest is only used for dynamic textures and not much else? |
19:43 |
erle |
btw, can you query me? i have a technical question about TGA i never found an answer to. |
19:44 |
sfan5 |
anyway citations for why tga is not a niche format would also belong in the to-be-created issue |
19:44 |
[MTMatrix] |
<lebruhgamer> for reference on what TS is: https://en.wikipedia.org/wiki/MPEG_transport_stream |
19:45 |
[MTMatrix] |
<lebruhgamer> it probably is, yeah |
19:46 |
[MTMatrix] |
<lebruhgamer> (replying to erle re: hmmm, is this basically [...]) |
19:46 |
[MTMatrix] |
<lebruhgamer> (as it seemed like the reply is not reflected on IRC side) |
19:47 |
erle |
lebruhgamer, nope, you are not querying me right now. i'll just ask here then. people from 3D modeling, game development and (maybe movie?) space often claim TGA has better alpha channel support than PNG. what do they mean with that? |
19:47 |
erle |
i mean both support RGBA colors |
19:49 |
|
Desour joined #minetest-dev |
19:49 |
[MTMatrix] |
<lebruhgamer> that kinda asked a lot but there's people answering it already on reddit https://www.reddit.com/r/gamedev/comments/p00xwy/why_would_you_use_tga_files_for_texturing_instead/ |
19:49 |
[MTMatrix] |
<lebruhgamer> tldr; The difference between TGA and PNG is that TGA uses a fourth channel aside the usual RGB that contains a mask for the alpha values. While PNG uses the "missing" information inside the RGB to store the alpha. |
19:54 |
erle |
lebruhgamer i simply do not understand what this means in practical terms for blending etc. |
19:57 |
MTDiscord |
<warr1024> Are you talking about premultiplied alpha vs non-premultiplied? |
20:13 |
[MTMatrix] |
<lebruhgamer> TGA has RGBA channels. PNG has RGBA but the alpha channel is either stored as a separate channel (like TGA) or as a transparency amount. With extensive use of PNG compressions and "optimizer" that try to lower PNG file size, it actually crunch down the channel that the alpha will no longer be its own channel and no longer editable independently from RGB. TGA don't have that problem as it always had separate alpha chann |
20:14 |
[MTMatrix] |
<lebruhgamer> ..channel while still being small size for the usual use case (texturing, overlaying, etc) |
20:15 |
MTDiscord |
<luatic> lebruhgamer: sorry but that's misinformation |
20:15 |
[MTMatrix] |
<lebruhgamer> how so? |
20:15 |
sfan5 |
the terminology I know has planar and packed formats, can't really make sense of "it has a separate channel" |
20:16 |
MTDiscord |
<luatic> PNG alpha is not necessarily premultiplied. PNG can map a certain RGB color to alpha 0, but that doesn't have to be used. PNG can store arbitrary RGB + alpha 0 just like TGA. Crushers not respecting that is a crusher issue, not a PNG issue, and I definitely know crushers which keep the RGB even if alpha = 0. |
20:17 |
MTDiscord |
<luatic> lebruhgamer: In particular, the "While PNG uses the 'missing' information inside the RGB to store the alpha" quote is wrong. Again, PNG can do this, but it doesn't have to. |
20:18 |
erle |
i am beginning to think this part of the lore is just a photoshop bug or so |
20:18 |
MTDiscord |
<luatic> yeah |
20:18 |
MTDiscord |
<luatic> it's definitely not a PNG issue per se |
20:19 |
|
tekakutl` joined #minetest-dev |
20:40 |
|
v-rob joined #minetest-dev |
21:02 |
|
tekakutli joined #minetest-dev |
21:41 |
|
olliy1or joined #minetest-dev |
22:32 |
|
panwolfram joined #minetest-dev |
23:24 |
|
jonadab joined #minetest-dev |
23:52 |
|
v-rob joined #minetest-dev |