Guild icon
DDraceNetwork
Development / developer
Development discussion. Logged to https://ddnet.tw/irclogs/ Connected with DDNet's IRC channel, Matrix room and GitHub repositories — IRC: #ddnet on Quakenet | Matrix: #ddnet-developer:matrix.org GitHub: https://github.com/ddnet
Between 2020-09-10 00:00:00Z and 2020-09-11 00:00:00Z
Avatar
NeverEndingCycle 2020-09-10 03:43:12Z
Anyone know how to compile the fng2 server on windows? (edited)
03:44
I tried with CMake and MinGW, but I couldn't get past this error: collect2.exe: error: ld returned 1 exit status CMakeFiles\fng2_srv.dir\build.make:519: recipe for target 'fng2_srv.exe' failed mingw32-make[2]: *** [fng2_srv.exe] Error 1 CMakeFiles\Makefile2:365: recipe for target 'CMakeFiles/fng2_srv.dir/all' failed mingw32-make[1]: *** [CMakeFiles/fng2_srv.dir/all] Error 2 Makefile:169: recipe for target 'all' failed mingw32-make: *** [all] Error 2
Avatar
@deen is map search broken for website or is it just me?
07:18
When I click on a map or search for a map it gives me a white screen
Avatar
ᶰ°Konͧsti 2020-09-10 07:18:19Z
didnt i read something that u can load saves on any server now?
Avatar
@ᶰ°Konͧsti yes, should work. doesn't?
Avatar
ᶰ°Konͧsti 2020-09-10 07:19:20Z
just wanted to be sure because it would be a mess to deal with the different servers when i have good ping on 5 different locations xd
07:19
@NovaShock what browser u using
Avatar
Only tried with chrome atm
Avatar
@NovaShock thanks, fixed
07:23
It was only broken for the country-specific map pages: https://ddnet.tw/maps/ger/Kobra
07:23
Normal one worked: https://ddnet.tw/maps/Kobra
Avatar
ᶰ°Konͧsti 2020-09-10 08:32:41Z
yeee
Avatar
ᶰ°Konͧsti 2020-09-10 08:32:52Z
New android rls when
Avatar
@ᶰ°Konͧsti When someone fixes the build and stuff
Avatar
ᶰ°Konͧsti 2020-09-10 08:33:07Z
feelsbadman
Avatar
it's some work and I don't want do it personally
08:33
but personally I think watching and chatting would be enough, don't need fancy playing ability
Avatar
ᶰ°Konͧsti 2020-09-10 08:36:38Z
yes
08:37
chatting is super unnattractive in android client
08:37
and i only use it for spec and chat sometimes but 903 is banned
Avatar
an android client focused on watching and chatting that doesn't suck to use would be cool
👍 1
Avatar
I unbanned 903 btw
Avatar
ᶰ°Konͧsti 2020-09-10 09:09:38Z
903 is also Some cheat client, Baumalein i think thats why its banned
Avatar
its an old version of pwnclient
Avatar
ᶰ°Konͧsti 2020-09-10 09:09:47Z
o
09:09
nby knows ofc
Avatar
baumalein is 16 or 708
Avatar
ᶰ°Konͧsti 2020-09-10 09:10:06Z
HMM
09:10
deen unbanned pwnclient, gonna test troll
Avatar
really no fun with trolls everywhere, I'm banning it again
Avatar
is it easy to change the version number of mobile client to 902 or 904 or something
Avatar
ᶰ°Konͧsti 2020-09-10 09:12:26Z
i tested and it worked with my special pwnclient
09:12
deen i was joking i dont have any bot client xd
🤥 2
Avatar
thats what they all say
Avatar
ᶰ°Konͧsti 2020-09-10 09:13:10Z
U especially
Avatar
i literally set my bot client version to 999999 to make it as obvious as possible, so no, U
Avatar
ᶰ°Konͧsti 2020-09-10 09:13:48Z
im on 14071 so no U
Avatar
stop spoof
Avatar
ᶰ°Konͧsti 2020-09-10 09:16:21Z
i would press update if it had Ctrl shift q bind
Avatar
@deen i just tried and 903 works?
09:16
does it take time to take effect
Avatar
ᶰ°Konͧsti 2020-09-10 09:16:43Z
I unbanned 903 btw
Cuz he unbaned
Avatar
4:11 AM] deen: really no fun with trolls everywhere, I'm banning it again
09:16
he said he banned it again
09:17
or plans on it
Avatar
ᶰ°Konͧsti 2020-09-10 09:17:18Z
when was the last time someone tried to join with 903 pwn on fng
Avatar
honestly ive never seen it on fng, but on bombay a few people
09:17
mostly jericho
Avatar
ᶰ°Konͧsti 2020-09-10 09:17:55Z
Jericho still alive??
Avatar
unfortunately
09:18
🙄
Avatar
ᶰ°Konͧsti 2020-09-10 09:18:06Z
big ban
09:18
He annoying DDRace player and sometimes blocking didnt see him long time
Avatar
because he was namebanned on ddnet for botting all the time
Avatar
ᶰ°Konͧsti 2020-09-10 09:18:55Z
lol
09:18
kek
Avatar
he plays with stupid names like Medivh and Grubby now
09:19
if atall
Avatar
ᶰ°Konͧsti 2020-09-10 09:19:11Z
lifeban range
Avatar
i did lol
09:19
on my server banned his /16 forever (edited)
Avatar
ᶰ°Konͧsti 2020-09-10 09:19:47Z
09:21
@ᶰ°Konͧsti and to answer ur question, yeah its been at least a month since ive seen him, i assume it is because the client bans on most servers deters him from playing
09:21
if this is removed he may come back and start using it again
09:22
i dont ban 903 but i did ban a huge range to get rid of him
Avatar
ᶰ°Konͧsti 2020-09-10 09:22:20Z
HMM last finish in february
Avatar
and bombay/ddnet do ban 903
09:22
and well i guess thats when he was finally namebanned
09:22
once they banned 903, he switchd to sash client
Avatar
ᶰ°Konͧsti 2020-09-10 09:23:22Z
@Melio explain urself playing with a botter
09:23
ban
Avatar
ᶰ°Konͧsti 2020-09-10 09:23:40Z
so many old players in that list
09:23
lol
09:23
They all robot friends
Avatar
i dont know hardly any of those names lol
09:24
ochirej is his dummy obviously
Avatar
ᶰ°Konͧsti 2020-09-10 09:24:05Z
Im also a robot friend
Avatar
who is that
Avatar
ᶰ°Konͧsti 2020-09-10 09:24:10Z
Since im friends with noby
🇺 1
09:24
Jericho
Avatar
XD havent seen him in ages
Avatar
ᶰ°Konͧsti 2020-09-10 09:24:31Z
Same
Avatar
he was banned finally
Avatar
he wasnt even good, how was he a botter
Avatar
ᶰ°Konͧsti 2020-09-10 09:24:39Z
lmao
Avatar
well, if he was good, he wouldnt be botting
Avatar
ᶰ°Konͧsti 2020-09-10 09:24:43Z
he was a rager
09:24
Always angry eyes
Avatar
with a valik fake skin
Avatar
@Melio i literally never saw him without a bot client lol
09:25
mustve banned him twenty times on block server
Avatar
ᶰ°Konͧsti 2020-09-10 09:25:14Z
Wolf is playing again btw
09:25
feelsamazingman
Avatar
and several times on ddnet too
09:25
does not even try to hide it
09:25
09:25
also that
09:25
lol
09:25
shameless hammerbotting
Avatar
i remember him playing weird at times, but i wouldve never thought of a bot since he was really not good
Avatar
ᶰ°Konͧsti 2020-09-10 09:27:17Z
I played heaven with him
09:27
feelsbadman
Avatar
remove rank pls
Avatar
ᶰ°Konͧsti 2020-09-10 09:28:20Z
remove louis
nouis 3
extremenouis 3
Avatar
@Melio i think he was just good at hiding it
Avatar
by being bad
09:32
xd
Avatar
what is hammetriggerbot and m4hbot?
Avatar
@Deleted User hammertriggerbot looks for a certain pattern of inhuman firing combined with snapping mouse movement (inaccurate name, i know) and the m4hbot on this server is the name for the new hammerbot detections
10:37
where each of the systems looks for a different combination of 4 factors across a span of hammers and isnt as easy to explain as the first one
10:38
tldr; if someone triggers all of that stuff and doesnt have a dummy theyre basically 100% cheating
Avatar
"and doesnt have a dummy" we know how to hide our cheats now 😎
Avatar
at least use up some mod's time watching to see if its a dummy or not i guess
14:19
lol
Avatar
283d5f8 Try to automate ddnet setup more (untested) - def-
Avatar
does [bbvideo][/bbvideo] work on desktop?
15:31
that looks like forum syntax, doesn't work in ddnet forum anymore i think
Avatar
often i see links like [bbvideo][/bbvideo] on my phone's chrome browser
15:32
(on ddnet forum)
15:32
That's just broken in the forum
15:32
but you can just click the link
15:33
and i'm too lazy to fix it since the forum software seems a bit messy and no one uses the forum anyway
15:39
Add scrollbar xD
Avatar
remove servers 😄
Avatar
lol so many now
15:40
Do we still have KR servers even?
Avatar
filter says yes
Avatar
I added Korea back today actually
15:44
Or Just put all the European servers into EU flag?
15:44
😄
Avatar
Well we only have GER and PL
Avatar
I'd be for the scroll still xd
Avatar
@Learath2 could you merge the style thing?
15:58
I'd like to prepare my next PR with that included
Avatar
@heinrich5991 @Learath2 any chance to get my two larger changes in? skin downloader and start menu, would be nice to beta test them a bit before release
Avatar
I'll look at the start menu, that one seemed simpler
Avatar
deen is quicker than me 😛
16:01
I'll take a look at the skin downloader
Avatar
deen will be the first one to complain when his PR hits the style checker
16:01
I call it now
16:01
😄
Avatar
(just execute python3 scripts/fix_style.py before committing)
16:02
can probably add it as a pre-commit hook or something
Avatar
Nah, at work I'm responsible for a tool that does these kinds of clang-format/tidy/etc runs on changes, so I can't complain with good conscience 😄
Avatar
okay 😄
Avatar
I think I'll add a precommit hook
Avatar
not a good idea to do a precommit hook imo
16:03
Sometimes clang-format will totall destroy your layout. I prefer to do it between commit and push so I can check what it changed
Avatar
Hm, how do you get the changes in then?
Avatar
either change it in a way clang-format likes it
16:05
or // clang-format off, // clang-format on
Avatar
No, I mean how do you get the style changes made by fix_style if you don't do it before you commit
16:06
just an amend?
Avatar
you can do git add
16:06
then fix_style
16:06
and then you see the changes it made with git-diff
Avatar
fcac150 Add .clang-format - heinrich5991 df46ff8 Add a tools to fix the style of new pull requests - heinrich5991 0a2eab6 CI: Check style on pull requests - heinrich5991 64be7d7 Merge #2791 - bors[bot]
Avatar
git commit -a --amend
Avatar
@deen do we still need dilate?
16:08
I thought that went away with the new renderer or something
Avatar
I don't think so, you can remove it
16:08
wait
16:08
we need dilate
16:08
but we don't need borderfix/add/etc
Avatar
ah
16:09
@deen concern about the skin downloader:
16:10
we haven't reviewed the skins in the DB for sanity
16:10
indeed
16:10
there's an invisible skin
Avatar
Does the language stuff have to be part of that PR? It's making the diff rather annoying to review
16:11
Ah I guess you added a new localized string too
Avatar
Yeah, I always add the localized strings
16:11
Just skip the data files when reviewing?
Avatar
Yeah sure
16:13
I get distracted very easily, that's why it bothered me I guess, but it is actually part of this pr
16:13
The code looks good, I'll test it for a bit
Avatar
@deen can you remove invisible from the skin db?
16:15
all other skins at least remotely look like a tee
Avatar
ᶰ°Konͧsti 2020-09-10 16:15:42Z
@deen i dont think its necessary to reserve a slot on Testservers xx
Avatar
idk if the limitation of divisability by 16 applies to skins too, but maybe we should run them through to check for that aswell
16:17
We should probably get a list of most used mapres and ask some artists to work on undoing the borderfix
Avatar
not sure if it's worth spending artist's time on this
16:17
sounds waay to large of a task
Avatar
It's one of the reasons people whine about the new renderer
16:18
the other one being the opengl driver deciding to use LOD1 while we are at default zoom
16:19
(I still don't get neither why the driver decides this at all nor why we can't control it at all)
16:26
@deen I get a 404 on all skins
16:26
did you forget to set up nginx or sth?
16:28
Hm, the new renderer seems to absolutely kill macOS performance outside the game
16:29
More like chrome performance, seems only chrome, discord and spotify are affected
Avatar
what does dilate do btw?
Avatar
Seems it hogs the GPU even while it's not in view at all
16:36
Yep, it pads edges
16:36
If a pixel is transparent but has a non transparent neighbour, it takes it's color instead
16:37
Though idk why we need it, maybe the old renderer was susceptible to the same issue
16:40
Eh, now that I think about it, I don't get why we'd ever need it
Avatar
@Learath2 fixes
16:43
fixed*
Avatar
We needed dilate because without it stuff rendered ingame had weird white border in most cases, sometimes the custom graphics were even displaying as totally black if dilate was not used
Avatar
@heinrich5991 i can delete the empty skin, which one is it?
16:52
ok, found it
Avatar
The opengl alpha blending causes some rendering problems without dilate. 0.7 fixed it by using premultiplied alpha for textures and colors
Avatar
We need dilate tool, because inkscape export transparent pixels as zeros(no color) When OpenGL linearly interpolates from the texture it will interpolate between black(zeros) and colored pixels, that's why a wrong color gets displayed for these edge cases.
Avatar
cddfd68 Add some more space for Countries & Types - def- d1aa014 Merge #2793 - bors[bot]
Avatar
How does dilate fix that? After the texture is dilated, the pixel is set to full alpha, wont the same issue occur the next pixel over
Avatar
Thats how a non dilated tileset will look like after splitting alpha and hiding alpha
17:15
and that's how it will look like on a dilated one
Avatar
What does splitting and hiding alpha mean in this context?
Avatar
taking out transparency
Avatar
Taking out?
17:17
Do you mean making all pixels 100% opacity?
Avatar
yes exactly
Avatar
The dilated one looks like a glitchy mess, how does the renderer know what to render what to not?
Avatar
the full transparent pixels are ofc transparent and not even displayed (interpolating between two transparent pxiels)
Avatar
Can you show me the dilated one without maxing transparency everywhere?
Avatar
with alpha channel u dont see the extra pixel, they are still full transparent
Avatar
I removed the transparencyto show the difference (edited)
Avatar
Ah I missed the last step in dilate, it just takes the old alpha values and applies them everywhere
17:21
Aha, it dilates many times, not just once
17:22
11 times
Avatar
Alpha Blending is a small--but important--part of virtually every 3D application. Conceptually, alpha-blending is used to communicate the transparency of a surface.
Avatar
@redix doesn't really seem to be the same issue, is it?
17:26
Ah I guess premutiplying would fix this too
17:26
Actually, at 0 alpha wont the edges still be just pitch black, causing interpolation issues?
Avatar
Well that causes multiple issues. The edge thing is just one of them
Avatar
there are some interesting things you might want to know about this tool: 1. It does not have a threshold for alpha values, thats why in the 2nd pic from mind, there are some broken pixels(e.g. inkscape exports some pixels with alpha values of 10 or less (10 / 255) 2. The pre multiplied alpha(if not generated before) requires CPU time on fly, so a disadvantage too
Avatar
But 0.7 fixes it with that approach
Avatar
Why is opengl blending like this anyway? The pixel with 0 alpha shouldn't even render, why interpolate to it?
Avatar
never really digged into blending and filtering with opengl =\
Avatar
I wonder if anyone even knows these things. Whenever I chat with graphics people it's always soooo handwavy
Avatar
call jupstar our opengl guy bluekitty
Avatar
the cpu time for premultiplying when loading the few images is kinda negligible
Avatar
If GCC produced binaries that only works on 90% of computers, there'd be outrage
17:31
Yet opengl seems to be almost ubiquitous with it's horrendous compatibility
17:32
Vulkan takes the problem of no one complying with standards and moves the responsibility of keeping track of all the broken shit to the developer
17:32
is that true tho
17:32
vulkan givesu more control
Avatar
Though I guess atleast vulkan primitives always work on cards that claim to support vulkan
Avatar
so u can indeed work around the shit maybe
Avatar
Yeah, atleast it gives you the tools to work with the mess you are handed by the driver people
17:35
Even web people aren't this lenient with api version compliance. The answer to "Which github api version does your client interface with" is never "Oooh idk, it's like 4.5 but we are kinda missing some features"
17:35
Or "it mostly complies with 4.5" 😄
Avatar
https://github.com/edg-l/SuperSDL/blob/master/src/graphics/renderer.cpp me trying to use vulkan, i dont touch this since long so i dont remember shit now
A game engine using SDL and vulkan. WIP. Contribute to edg-l/SuperSDL development by creating an account on GitHub.
17:36
justatest
Avatar
Yeah the vulkan experience 570 lines, did you get anything rendering? 😄
17:36
no
17:37
well maybe a triangle
17:37
i dont remember
Avatar
I got a pyramid rotating around shaded flat at around 700-800 lines
Avatar
i definitly dont want to be a graphics programmer
Avatar
One problem with vulkan is that there doesn't seem to be best practices around yet, and only driver people have the knowledge required to know the best way of doing something
wut 3
17:38
just hand me a ez api
17:38
nouis
Avatar
It's much more fun on a gameboy
Avatar
there are best practices :D per vendor and per architecture
Avatar
yeah i want to make a game for gameboy or a old console like that
17:39
i dont think its super hard
17:39
hi jao
Avatar
The good old days when you could actually take a nice opcode table and know exactly what the processor will do
Avatar
A game made in pure C using SDL2. Contribute to edg-l/SimpleGame development by creating an account on GitHub.
17:40
this one is with opengl
17:40
i actually got to render lot of stuff
17:40
even text
17:40
poggers
Avatar
It's so odd that we can do calculations in fractions of cycles nowadays
17:41
0.2 cycles for a 64bit 64bit multiply
17:44
@Ryozuki why didn't you use gl1?
17:44
opengl 1?
17:44
xD
Avatar
i like shiny new stuff
17:45
altho the whole thing is in pure C
17:45
xDD
Avatar
You need to get it to run on your toaster ovens temperature display
17:45
i have so many abandoned stuff
17:45
@Learath2 are u the same? xd
17:46
Attention span way too short sadly
Avatar
writing that "SimpleGame" was fun tho
17:47
its more a engine than a game tho
Avatar
To answer the question, because the alpha blend function is set like that. when texture sampling happens it will multiply RGB with the textures alpha with pre multiplied alpha it does basically nothing(multiplies it with 1) => the average pixel from the texture sampler is not affected by the transparency of the transparent pixel, bcs pre multiplied So only the framebuffer is still affected by the transparency of the sampled texture example with full white and full zero pixel without pre alpha (1, 1, 1, 1) + (0, 0, 0, 0) = (0.5, 0.5, 0.5, 0.5) => (0.5 * 0.5, 0.5 * 0.5, 0.5 * 0.5, 0.5) + (Framebuffer.RGB * 0.5) with pre alpha: (1, 1, 1, 1) + (0, 0, 0, 0) = (0.5, 0.5, 0.5, 0.5) note, no multiply here, bcs pre multiplied: (0.5, 0.5, 0.5, 0.5) + (Framebuffer.RGB * 0.5) that's also why dilate will look different than pre multiplied, but i cannot judge what looks better, both have advantages and disadvantages
Avatar
implementing simple stuff feels good
Avatar
@☫σяεσ so when blending it considers pixels with 0 alpha too for some reason?
Avatar
yes
17:50
interpolation is faster then if checking
Avatar
And between two pixels with the same alpha, isn't the rgb blended?
Avatar
yes exactly (rgb + rgb)/2
Avatar
But if the rgb is blended, even after you premultiply, won't you have issues at the edges?
17:53
@Ryozuki you know what's great working on older hardware? None of that floating point junk, you get to work with nice actual pixels
Avatar
it looks different but its not a problem cause alpha isnt multiplied, so its a smooth transition
Avatar
https://streamable.com/bsdzf8 i implemented a switch button there :o
Avatar
beautiful
Avatar
@☫σяεσ huh, I'd think it'd look odd if you blend to black while the background is obviously not black
17:55
@Ryozuki cute button
Avatar
but its a smooth transition into transparency
17:55
its not like its directly black because its still colored
Avatar
Well at the edges it'll effectively be (rgb + black) / 2 which is just rgb/2. That's effectively halving the lightness, There'd be a darker outline around two bright colors, I think
17:59
Same thing happens in photography if you ever work with raw files on an older camera, you can spot the parts where the interpolation algorithm gets a little thrown off while debayering
Avatar
but its not like this but remember non pre muiltiplied does this: ((1, 1, 1, 1) + (0, 0, 0, 0)) / 2 = (0.5, 0.5, 0.5, 0.5) AND THEN still multiplies the alpha again(pre multiplied does not do that): (0.5 * 0.5, 0.5 * 0.5, 0.5 * 0.5, 0.5)
Avatar
i abandoned it after making some kind of tilemap feelsbadman
Avatar
cool colored noise
Avatar
@☫σяεσ so it'd have an even darker outline if not premultiplied
Avatar
yes
Avatar
Is there a way to not blend with that black at all?
18:00
It's not really a part of what we want to render
Avatar
yes with nearest sampling(nearest pixel), but the texture will look crisper, not so smooth
Avatar
I see, thanks for the insight
18:03
@Ryozuki uh, is this like a fake vtable? 😄
18:03
kinda
Avatar
I like ghetto things like this, so you are golden
Avatar
i never actually seen how a vtable is
18:03
xD
Avatar
A vtable is just a "struct" stored at the start of an object that has pointers to all its virtual methods
Avatar
when you do a virtual call, the compiler makes sure it goes through the vtable
18:04
that's why virtual calls are kinda bad for high performance applications
18:04
LLVM is getting there with devirtualization but it's still a huge amount of work
Avatar
It might be obvious to you and me that an object is of a type but it's actually quiiite murky with the rules of the standard 😄
18:05
I don't like linked list implementations, they are easy enough to implement intrusively
18:05
Gives you cache locality
18:06
Also, you can do something extremely cute to your engine_list_delete
Avatar
what is it
18:09
👀
Avatar
I've made a rainbow dilate bug justatest
18:11
@Learath2 did i tell u about my macro magic? https://github.com/edg-l/SimpleGame/blob/master/src/engine/math/vector.h xD
Avatar
Ah, it's a doubly linked list though, not quite as pretty
Avatar
The macro stuff is sadly unavoidable
18:19
The preprocessor is just so weak
18:20
Just c++ templating would clean that up pretty well, c++20 concepts would even make it relatively safe
Avatar
@Learath2 what c++ concepts?
18:21
c++20
18:21
*
Avatar
C++20 is coming with a great new feature called concepts
18:21
xD
Avatar
It allows you to define concepts, concepts usually tell what something can be done with a type but they can check everything about types
Avatar
is this like rust trait bounds?
18:24
looks like it
18:24
c++ syntax is rly ugly tho
18:24
xd
Avatar
So you can do something like template<typename T> concept Incrementable = requires(T a) { {a++} -> T }; Incrementable increment(Incrementable x) { return x++; }
18:24
Yeah like rust trait bounds, but I actually prefer the syntax
18:25
Though I think rusts syntax isn't for human consumption at all so take my opinion about that with a grain of salt
Avatar
c++'s take on that somewhat resembles go's interfaces
18:25
a bit duck-typey
18:25
but that's how templates always were, so it'd be hard to get away from that
Avatar
yeah i find template syntax rly ugly idk
Avatar
Concepts bring with them the new template shorthand notation
Avatar
struct S<T: Display + Debug>(T);
18:27
how would an and of concepts in c++20 look
Avatar
void foo(auto k) is now possible
Avatar
nice
18:27
although maybe a bit nonobvious that it implies monomorphisation, leading to code bloat
18:28
auto in other places doesn't
Avatar
template <class T> concept Integral = std::is_integral<T>::value; template <class T> concept SignedIntegral = Integral<T> && std::is_signed<T>::value; template <class T> concept UnsignedIntegral = Integral<T> && !SignedIntegral<T>;
18:28
i see
Avatar
@Ryozuki Correct me if I'm wrong but it wants T to satisfy both Display and Debug. right?
Avatar
yes
Avatar
do u have to define a new concept to use a conjunction?
Avatar
Yeah something like template <class T> struct S { T a; } requires Display<T> && Debug<T>; I think
18:30
I'm still learning the syntax, it's a rather new feature
Avatar
template <class T = void> requires EqualityComparable<T> || Same<T, void> struct equal_to;
18:30
ah u can do it directly
18:30
i guess
Avatar
Might need parens
Avatar
its from the cppreference web
18:30
xD
Avatar
Then it doesn't 😄
Avatar
cppreference best website
Avatar
uf i rly need to get used to this syntax
18:31
i just get so confused
18:31
idk if its just me
18:31
reading templates
18:31
is a nightmare
Avatar
Yeah, it's quite meh
18:31
But these simple templates are nothing
Avatar
yeah xD
Avatar
You should see the SFINAE monsters people write
Avatar
template<class T, typename std::enable_if<!protocol7::is_sixup<T>::value, int>::type = 0> this is mine, I'm very proud of it
Avatar
"Substitution Failure Is Not An Error"
> >
This rule applies during overload resolution of function templates: When substituting the explicitly specified or deduced type for the template parameter fails, the specialization is discarded from the overload set instead of causing a compile error.
>
This feature is used in template metaprogramming.
18:32
TIL xd
Avatar
It's the only one I've ever produced
18:32
Well only one that got used in anything
18:35
SFINAE is such a hack, I'm kinda disappointed that the standard supported this kind of thing honestly
18:35
They really should have put their foot down and introduced better syntax for this
18:36
Instead they made things like void_t, enable_if, is_greater...
18:36
xD
18:37
The point of std::enable_if is to cause substitution failure for a template. The reason why you want substitution failure is because it's not a failure,
18:37
okk
18:37
justatest
18:39
looking at that stuff
18:39
Agda is a dependently typed programming language / interactive theorem prover. - agda/agda
18:39
"dependently typed programming language "
18:39
xD
Avatar
A theorem prover, something like coq?
18:41
18:41
a mathy language i see
Avatar
If the first paragraph introducing it says anything about a theory, you run
18:42
It's absolutely guaranteed to go waaaay over us mere mortals heads
Avatar
Agda is also a proof assistant based on the propositions-as-types paradigm, but unlike Coq, has no separate tactics language, and proofs are written in a functional programming style.
(edited)
18:42
this is the difference between coq
18:43
its based on a PhD thesis
Avatar
Leave it to the mathematicians to make something complicated, this man Martin-Löf took something so pure and simple: Types. Made it into an absolute mess
18:44
Look at this 😄
Avatar
why is singapore so lonely?
Avatar
the order of countries seems random btw, maybe we should fix that
Avatar
@deen I tried the skinfetcher but everything was giving me a 404
Avatar
46b0ff3 Align InsertIgnore with other SQL query related functions - Zwelf 88dc1c1 Add print functionality to SQLite - Zwelf a78e84d Only call sqlite3_expanded_sql when it exists - Zwelf 3a986fb Fix SQL query style using clang-format - Zwelf a4025a3 Merge #2770 - bors[bot]
Avatar
The only logical next step
19:27
Decimate Slack
19:43
nvm, didn't see deen's message xd
Avatar
@deen forum is down btw
20:10
403 Forbidden
Avatar
oops, fixed
21:16
ecdf648 Make fix_style executable - def- 10eaa58 Merge #2794 - bors[bot]
Avatar
35c711f Fixes two mapres by mind - def- 250b241 Merge #2790 - bors[bot]
Avatar
@heinrich5991 I want to add a .github workflow check that makes sure images are dilated. Should I do that in style.yml or in a new file?
Avatar
style.yml probably
Avatar
c839dc9 Remove tools we don't need anymore - def- fe00324 Merge #2796 - bors[bot]
Avatar
Wait, what files need to be dilated. Skins not?
21:46
only mapres?
Avatar
idk
Avatar
Not sure what files to check actually, many are apparently not dilated.
Avatar
Chile has network problems and you can watch the routing switching around in an attempt to fix it live 😄
Avatar
d92e6ec Use check_header_guards script - def- 4abd889 Merge #2799 - bors[bot]
22:30
279deff Refresh server browser immediately when updated ddnet info arrived - def- 80b7ceb dilate: Don't crash if file doesn't exist - def- 51483c2 Merge #2789 #2797 - bors[bot]
22:38
1f26119 Don't search the sorted array linearly - Learath2 f6e1ed5 Merge #2738 - bors[bot]
Avatar
This allows the style checker to only look at the changes done in the current branch, and not the other commits that were done in the base branch.
Exported 483 message(s)