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-09 00:00:00Z and 2020-09-10 00:00:00Z
Avatar
Anyway, I'll just remove the const qualification of the function
00:00
Doubt it allows any major optimization anyway
Avatar
const doesn't allow for optimizations
00:01
due to the fact mentioned above
00:01
(const on pointers)
Avatar
I wouldn't be so sure, but I'm too tired to research, so I'll just take your word for it
00:06
We should get a new qualifier, "iseriouslymeanitconst"
😆 1
00:07
although that one isn't based on the C standard but on actual compilers
00:07
you can have that in rust btw 😄
00:08
data behind &-references is guaranteed not to change (unless it contains a type with interior mutability, which is explicitly marked for the compiler)
Avatar
Someone should make a human friendly version of rust we mere mortals can use
Avatar
Is it possible to compile client to Android?
Avatar
no, not anymore
Avatar
@heinrich5991 what about to get rid of CFGFLAG_TEST. Mark them by CFGFLAG_GAME instead. CFGFLAG_GAME will prevent them from being executed (if sv_test_cmds was not set) as you requested. The only downside I see is possibility to add them into map config but should we care about it? (edited)
00:36
The reason behind: to me CFGFLAG_GAME means "this command affects gameplay". So we should mark commands like "tele, shotgun" by CFGFLAG_GAME
00:39
we might introduce CFGFLAG_NOMAPCFG or something (if ever need). But with CFGFLAG_TEST I have no idea how to understand these flags and how to mark without marking a lot of commadns by both of em (edited)
Avatar
hm. might be possible, at the expense of less meaningful error messages
00:41
one could just leave the flags as either GAME or TEST though
00:42
that would make it easy to see which to apply
Avatar
Someone should make a human friendly version of rust we mere mortals can use
@Learath2 tee_thinking
Avatar
why is entities.png still staying in data/mapres?
Avatar
After yesterday's ddos on GER1, Windows Defender has removed DDNet.exe If the exe is put into the same directory, it will be removed again. Using a completely new directory still works, so I'm not sure if you can do anything about it.
14:26
Since when you can bug thru doors without even actually moving, but just using hook?
Avatar
I don't think we changed the physics there, so since forever I guess?
Avatar
I've been noticing client freezes more often lately
14:52
anyone else?
14:52
might that have something to do with the steam lib?
14:52
I guess I need to benchmark the missed frames
Avatar
There is another Kobra map where u can just go through the lasers without deactivating them
Avatar
@heinrich5991 haven't noticed, but I haven't played, only watched
Avatar
I try to compile project, but that's what I get CMake Error: The following variables are used in this project, but they are set to NOTFOUND. ... OPUSFILE_LIBRARY (ADVANCED)
15:02
Oh I see, I don't have sqlite, opus, ogg and some more
Avatar
@Vcturus only if you disable half of them, and go thru on ~45 degree
Avatar
@Deleted User which OS are you on?
15:03
linux? windows?
15:03
we have some guides for dependencies at https://github.com/ddnet/ddnet/
Avatar
Linux. Sorry, prerequisites were after installation instruction
15:03
So I didn't see it
15:04
but now I do
Avatar
nice 👍
Avatar
Well, after installation of all required libraries, cmake can't find ddnet/SQLite3_INCLUDEDIR
Avatar
did you try removing CMakeCache.txt and CMakeFiles?
15:08
to get a clean cmake build
Avatar
Thanks.
did you try removing CMakeCache.txt and CMakeFiles?
@deen
Avatar
cf4cf80 Put dependencies before installation instructions in README - def- f3372b1 Merge #2787 - bors[bot]
15:27
Pure_luck wants to experiment with mod reports on servers again.
Avatar
At the moment it only happens the next time you press refresh. Before we had it so that it always reloaded once the ddnet info arrived, causing a quick flickering and lots of packets having to be resent every time someone pressed refresh, even if nothing changed. The new approach combines the advantages of both without the disadvantages. An even nicer way would be to compare the json objects, so that news and version updates don't matter, but our json library doesn't seem to suppor...
Avatar
@Learath2 can one configure clang-format to not put spaces around bitwise operations?
Avatar
I don't see it in the docs
Avatar
accept that clang-format puts spaces around bitwise operators? creates quite a diff
Avatar
It will create quite a diff either way, no?
Avatar
I'm trying to minimize it currently
Avatar
  • Two missed dilate
  • Two others forgot to delete white text markings
Avatar
Not exactly as trivial as I hoped to change the bans into a linear search
16:58
Well I guess it is simple but I also wanted to start storing them as NETADDR and NETMASK pairs
16:58
ips being stored as an array of 16 bytes is a bit of an issue
Avatar
I don't have an icon on Ubuntu xd
17:00
Steam version
Avatar
Hm, not sure where we have to provide that icon for it to work
Avatar
in steamworks settings, somewhere
17:04
but I thought we provide it
Avatar
The application file usually provides it and I'd think that'd be generated by steam in this case
17:05
mach-o and elf are both missing a nice way to include icons
Avatar
stuff pinned there is probably desktop files
17:05
which include support for icons
Avatar
linux desktop files and macOS bundles are such ugly ways of doing this
17:08
This is one thing windows got right in their COFF extensions, the metadata being inside the executable
Avatar
Do I understand correctly, that antibot should be used by ABI and is private for each server? (edited)
Avatar
yes, it's an extension mechanism
17:11
@noby wanted to try his private antibot mechanism on ddnet servers which is why I introduced that abstraction
Avatar
Private means he wrote some logic to filter bots for his own servers?
Avatar
private means he didn't want to publish the code
17:12
it also runs on official servers now
17:12
for reference @Learath2, "quickly adding clang-format" already cost me ~6 hours today 😉
Avatar
If I want to implement my own antibot, what can I read about ABI communication? I'm pretty new to this, so only understood in general how this extension mechanism works
Avatar
Apparently we forgot Mac and Linux icons
17:13
oops
Avatar
also maybe there are public bots to research them?
Avatar
@Deleted User I'll go eat something now. if the question is stil open afterwards, I can answer it. ping me again in one/two hours or so
Avatar
Okay
17:15
Apparently we forgot Mac and Linux icons
@deen may I open issue for this on GH?
Avatar
Not really necessary
17:16
I'll fix it later today
Avatar
I have been downloading something for the past hour, the stupid computer went to sleep when I went to the bathroom and the site doesn't support resumption
17:30
I guess the only option is to cry myself to sleep
Avatar
What is your setup to develop DDnet client? Like IDE, maybe some specific configs, building flags etc
Avatar
I use vscode and the only build flag I really use is -DCMAKE_BUILD_TYPE=Debug and -GNinja
17:42
You really don't need much though, C and C++(atleast the way we use it) are beautiful that way, you don't need an IDE to code, they are simple enough languages
Avatar
neovim with coc.nvim and cmake with cmake .. -GNinja -DMYSQL=ON -DCMAKE_BUILD_TYPE:STRING=Debug -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DVIDEORECORDER=ON -DSTEAM=ON
Avatar
I was looking into coc.nvim yesterday, it looks so unvim 😄
Avatar
there should be a flag to enable all flags
18:03
coc.nvim is god bless
18:03
but coming from u i expected nothing less
18:03
unreasonable hate for everything
Avatar
Well obviously not everything
Avatar
ha i doubt
Avatar
and unreasonable is in your obviously not so humble opinion 😛
Avatar
i also haven't icon on windows steam ddnet client
Avatar
@Deleted User for implementing your own antibot, you could also just fill out antibot_null.cpp
Avatar
NETADDR is quite meh, using 16 bytes for even ipv4 addresses
Avatar
@Learath2 I think I'd do it the same way
18:25
what would you propose for storing the client IP addresses?
18:25
(for storing bans, one could use a different struct)
Avatar
NETADDRv4 for v4 addresses NETADDRv6 for v6 addresses
Avatar
how would you store client IP addresses then?
Avatar
Hm, I guess you have to waste the 12 bytes unless you want templating
Avatar
templating as I imagine it wouldn't make it cleaner
Avatar
I'd probably do something like template<typename ADDR_T> class CClient { ADDR_T m_Addr; }
Avatar
adding NETADDRV4 NETADDRV6 structs might be worthwhile though
18:29
that pushes up the responsibility to the user of the struct
18:29
how does the user handle it?
18:29
keep different client IDs for ipv4/v6 clients?
Avatar
Hm, yeah not pretty
18:31
How about union NETADDR { NETADDRv4 v4; NETADDRv6 v6; };?
Avatar
I'd go
Avatar
We still waste the 12 bytes, but we can use the inner type for the bans
Avatar
yes, adding NETADDRV4 NETADDRV6 would be useful
18:32
struct NETADDR { int type; union { NETADDRv4 v4; NETADDRv6 v6; } inner; };
Avatar
Btw how is ipv6 routing done usually? 16 byte is a very meh length for processors
Avatar
I don't know
18:33
what do you mean, meh length?
18:33
x86 has registers that size
Avatar
Eh? 128bit registers?
18:34
There are the SIMD registers, but they are hardly intended for this purpose
Avatar
yes, I mean xmm
18:35
etc.
18:36
it supports all the operations that I can think of that are necessary for IPv6 manipulation
18:36
dunno if they cause performance penalties when used
18:36
because they might need to be saved on context switchtes
Avatar
Well they take more cycles than their non vector counterparts
Avatar
simd OR takes 0.33 cycles I think
18:37
on 128 bytes
18:37
bit*
Avatar
I'll check later if that's the route they went inside the linux kernel
Avatar
64 bit OR takes 0.25 cycles
18:41
hm
18:41
I think by default, only the first 64 bits of IPv6 should be used for routing
18:41
not sure if enforced
Avatar
yes, most routers can safely ignore the second 64 bits
18:54
IPv6 routing is actually more effective because there's no header checksum that routers have to validate and recompute
18:55
data integrity verification is done at L2 anyway
Avatar
Q: How does the networking even work at all? 😄
19:19
We seem to be putting host byte order ips into sockaddr_in
19:22
and sockaddr_to_netaddr is using htons, it should be using ntohs
Avatar
it's the same 😄
Avatar
same?
Avatar
for big/little endian yes
19:23
for mixed endian not, I guess
Avatar
Since when is the network byte order little endian?
Avatar
it's big endian
19:23
network order
19:23
but htons and ntohs are both "swap endian"
19:23
on little endian
19:23
(and no op on big endian)
Avatar
Ah, what was that property called?
Avatar
self inverse?
Avatar
An involute \o/
Avatar
pls what
Avatar
ntohs is an involute
19:25
ntohs(ntohs(x)) = x
Avatar
an involution*
Avatar
so a self inverse
Avatar
__builtin_bswap16(value); is better because it's just single instruction unlike ntohs/htons which is slow library call 😄
Avatar
@Comrade I'd bet quite a bit that it optimizes to that
Avatar
@Comrade also not available on msvc?
Avatar
@Learath2 might not due to shared library linking
Avatar
ntohs/htons cannot be inlined
19:28
welcome to the good old C 😄
Avatar
Compilers don't care about your rules
19:29
both gcc and clang optimize this down to a bswap
Avatar
oh nice
Avatar
icc too
Avatar
but __builtin_bswap16 still has one tiny advantage - it's constexpr (on GCC at least)
Avatar
There is no constexpr in C 😄
Avatar
what does that help? if you want to use it on template instantiation? @Comrade
19:31
why would you do that?
Avatar
who knows 😄
Avatar
(constexpr is unrelated to constant evaluation at compile time)
Avatar
I guess you might want to initialize a constant?
Avatar
@Learath2 meh, involute felt better
Avatar
@Soreu it did didn't it? 😄 I remembered an involute is a curve so checked, and apparently different things
19:33
@heinrich5991 we still do just copy the ips as is, how does that work?
Avatar
wdym copy as is?
Avatar
Do we store them big endian?
19:34
mem_copy(dst->ip.v6.ip, &((struct sockaddr_in6*)src)->sin6_addr.s6_addr, 16);
19:37
We seem to print them in the order we store them and I didn't notice ips being backwards
Avatar
if inet_ntop converts it to correct string, it must be big endian
Avatar
I also wonder why they went from 4 bytes all the way to 16 bytes in ipv6? just 1 more byte would give us more ips than there ever will be humans on earth
Avatar
no, we would face the same problem after some time
Avatar
I guess we can think about that when we conquer alpha centauri?
19:41
128bit numbers are just a PITA to work with
19:42
even upping it to 8 bytes would give us more than enough ips to bathe in
Avatar
IPv6 address is actually only 64-bit, because the first 64 bits are "network address"
19:43
the second 64 bits are "device address" within the network (edited)
Avatar
Well you still need to compare 128 bits at the end of the day
Avatar
if you have only 64-bit address, you still need evil NAT at the end
19:44
comparing 128 bits is not a problem nowadays, right?
Avatar
Not a problem is debatable, on a modern processor you have SIMD that can do a comparison of that size (which is kinda a hack really, it's not really what it's for)
19:45
Why would you need NAT with 64bit ip addresses?
Avatar
let's wait for 128 bit processors then 😄
19:47
64-bit address might not be enough in far future i think
19:47
and as you can seen, updating IP protocol is nightmare 😄
Avatar
An assignment of one /48 gives you a whopping 65k lans, I can't even fathom anyone actually using anything close to that
Avatar
it does allow for the autoconfig thing thoug
19:48
h
Avatar
well, today it would be enough, yes, but even IPv4 address space was so huge 30 years ago
Avatar
Anyway, I was just wondering why the huge jump was thought to be needed by the designers of ipv6
19:49
Well there aren't even enough ipv4s for each person on earth, so it obv was a bad decision 😄
Avatar
probably from a time where not everyone had a computer
Avatar
"the world market is about 10 computers"
Avatar
Ah, stateless autoconfiguration is a nice pro
Avatar
today even toilet needs IP address 😄
Avatar
Internet Protocol version 6 (IPv6) is the most recent version of the Internet Protocol (IP), the communications protocol that provides an identification and location system for computers on networks and routes traffic across the Internet. IPv6 was developed by the Internet Eng...
19:51
While this address space is very large, it was not the intent of the designers of IPv6 to assure geographical saturation with usable addresses. Rather, the longer addresses simplify allocation of addresses, enable efficient route aggregation, and allow implementation of special addressing features. In IPv4, complex Classless Inter-Domain Routing (CIDR) methods were developed to make the best use of the small address space. The standard size of a subnet in IPv6 is 264 addresses, about four billion times the size of the entire IPv4 address space. Thus, actual address space utilization will be small in IPv6, but network management and routing efficiency are improved by the large subnet space and hierarchical route aggregation.
Avatar
@Comrade a couple more bits and we could give every atom on earth an ipv6 address
Avatar
humans never move on until the problem is at the door
Avatar
@heinrich5991 Makes sense
Avatar
i wonder how long till ipv4 will be considered ancient
Avatar
given that it's still industry standard today
Avatar
ipv4 is never going away at this rate
Avatar
maybe not in our lifetime
Avatar
Look at the amount of ISPs deploying CGNAT
Avatar
why they use that instead of migrating to ipv6
Avatar
Business dinosaurs hear there is a piece of hardware that will let them keep using their 80 year old routing hardware and they will jump at the opportunity
Avatar
internet was designed as decentralized network, but now it's becoming more and more centralized (=broken)
19:54
IPv6 can fix that
Avatar
acording to wiki cgnat has lot of security problems xd
Avatar
No is great, it optimizes for profits
Avatar
"Carrier-grade NAT usually prevents the ISP customers from using port forwarding"
19:55
ufff
19:55
big no pls
Avatar
Capitalismgang destroying everything good about everything while people cheer them on
19:56
I guess our best bet would be a massive government stepping in and enforcing the change
Avatar
i would bet china would do it before usa
Avatar
US loves their free market too much
19:56
I'd bet on the EU, they like this sort of thing
Avatar
the free market apple actually enforces apps working with ipv6 today
Avatar
Or maybe china yeah, with the state actually owning everything
19:57
Apple is such an odd mix of great and awful engineering it boggles my mind
19:57
It's like there is a group of people inside that actually still care about producing well engineered things fighting against the business moguls
Avatar
they sell 1000€ display stands
19:58
xd
19:58
or whathever the word is
Avatar
ipv6 is such a chicken and egg issue anyway :/
20:00
No one wants to switch until everyone else has switched
Avatar
services are IPv6 ready (except GitHub) client devices are IPv6 ready but lazy internet providers are the problem 😄
Avatar
join the IETF
20:01
and propose ur super duper solution
Avatar
I have an amazing solution
20:01
We infiltrate the EU council and hold the MPs hostage until they agree to sign an ipv4 deprecation bill
Avatar
You have the best solutions, always
Avatar
ᶰ°Konͧsti 2020-09-09 20:02:31Z
Ryozoozki
20:02
Creative, Innovative
Avatar
Easy to plan
Avatar
they should have various experienced professionals in diverse fields instead of useless boomers who only are there cuz they were born into a politician family
Avatar
*thinks of Greta*
Avatar
i said "experienced professionals"
20:03
not a kid
20:03
xd
Avatar
I just can't delete that from my head
Avatar
everyone forgot about greta cuz covid
Avatar
It's so funny watching 65 year old men decide on things about technology though
Avatar
the world rly forgets fast
Avatar
The US Senate interviewing mark zuckerberg was like the meme of a decade
20:05
well mark is also a meme
20:05
he looks like an alien
Avatar
or them asking the ceo of google whether apple phones track them
Avatar
he also had a thing in his chair to be more up
20:05
and drank water awkwardly
20:05
not really
Avatar
all was rly pepeg
Avatar
The guy literally said "It's a different company" they said "ANSWER THE QUESTION"
20:06
When he tried to answer it, describing how things like this work "ITS A YES OR NO QUESTION SIR"
20:06
Amazing stuff really
20:07
Another senator asking how many employees google has to prepare the search results for it's users
Avatar
Like this is a grocery shop
Avatar
yea, heard this one
Avatar
[10:05 PM] Learath2: or them asking the ceo of google whether apple phones track them
20:07
wtf
20:07
source?
Avatar
youtube has employes on the other end receiving my videos
Avatar
You could see his soul leaving the body when he heard that question
Avatar
It was in the congressional hearing, I'll skim through it see if I can find it
20:11
This man thinks google can track him through his iphone
20:13
The time they asked zuckerberg about "emailing people through whatsapp" was also very cute
Avatar
that tracking issue is their problem because they should've read EULA 😄
Avatar
not true in the EU
20:16
@Comrade
Avatar
yes, EU laws are more strict in privacy stuff
Avatar
(and sensibly so, since because only a rounding error of people read EULAs)
Avatar
you start ur newly bought game for 60€, u see a eula text that u can scroll for 10 minutes, you skip it and play
20:17
justatest
Avatar
I think the political systems everywhere need major rework. Letting people deliver rulings on things they can't possibly even begin to understand is rather stupid
20:19
How is a man the age of my grandfather supposed to figure out how copyright law is supposed to be enforced on the internet?
20:19
My grandfather still believes you can take things off of the internet
Avatar
my grandmother doesnt have internet or a pc justatest
Avatar
blame lawyers for making simple things so complex 😄
Avatar
oof @ that video excerpt @Learath2
20:20
it's a YES OR NO question
20:20
you should be able to answer that
Avatar
They should appoint me the supreme judge of the world. The only law "Common sense"
20:21
Some aspects of the current legal systems are just "odd"
20:22
You can have video of someone murdering their wife and children and they'll get away because the video was recorded illegaly 😄
Avatar
depends on jursidcition
Avatar
But why? It's common sense that the murderer should be in jail. We can talk about the illegal recording later
Avatar
"Lawmakers questioned Google's CEO Sundar Pichai" those ppl asking those questions are the ones that make the laws
20:24
its terrifying
Avatar
Anyway, these things are fun to talk about but at the end of the day we all know nothing will change, as it hasn't in hundreds of years
20:25
Watch a session of the british house of lords if you want to see actually terrifying things
Avatar
[3:21 PM] Learath2: Some aspects of the current legal systems are just "odd"
Avatar
when you are too smart for those guys that you have to think how to tell them in really dumb terms
20:25
so funny
Avatar
@noby sources please
Avatar
One old guy said "Britain fought germany in ww2, it's only natural we want to steer clear" and another said "The francogermanic empire" unironically
Avatar
ty
Avatar
"You make $100 million a year, you ought to be able to answer my question" And you, sir, make $174k a year, you ought to be able to distinguish between Apple and Google
20:27
rekt
Avatar
Another said "The EU did not create peace in europe, it was just an alliance against the common enemy the soviet union"
Avatar
huh?
20:27
we have the longest peaceful period since centuries in the EU
20:28
oh
Avatar
well within the eu there is peace, but its not like countries inside the eu doesnt help in wars (edited)
20:28
spain sends weapons
20:28
here and there
Avatar
Yes, but that's what one 90 year old "lord" in the house of lords thinks
20:29
EU itself was wartorn for decades before the formation of the EU
Avatar
@BannZay since you're playing with commands lately, maybe introduce/edit /showall as option in settings or in console, so that it would be saved to initial .cfg without the need to type it on every server join?
Avatar
I guess this was very offtopic for this channel anyway 😄
Avatar
u dont need showall @Soreu anymore
20:30
@Learath2 well no one else uses this channel
Avatar
I kind of do
Avatar
the reason why it's not enabled by default/cannot be enabled is that it creates a lot of traffic
20:31
at least what deen said a while ago
20:31
20:32
look at left corner of map
Avatar
r u using latest
Avatar
people disappear for me when like ~4 tiles from the edge
Avatar
that may be a bug then
20:32
ah
20:32
u are playing gores or ddnet?
20:32
gores is outdated so
Avatar
checked on both
20:32
ye, but this screen is from GER1 multimap
Avatar
are you using latest version?
Avatar
10 sec ago
Avatar
@heinrich5991 traffic and also other resource usage. full server with /showall changes my fps from 400 to 60
Avatar
oh, the .1 changed it :F my bad :F
20:33
KoG still sucks ass with this @qshar :C
Avatar
cuz they dont keep up
20:34
@Ryozuki Help them stay up to date xD
20:34
u cant
20:34
they are closed source
Avatar
its against my nature
Avatar
didn't you guys wanted to code something like "plugins" of different mods, so that it would be easier to adapt DDNet to become different mod, or the other way around?
20:35
or that was just one of those weird dreams
Avatar
u know ppl want lot of things
20:35
but not all gets done
20:35
:D
20:36
visible /spec on KoG is still way more important todo xd
Avatar
i wonder why its trending
Avatar
you can configure how far tee`s will be rendered
20:37
not sure if there is command for it
20:40
I thought about script that will be executed when you connectected to the server. I been thinking about it to not connect my dummy every time I reload map on my test server (edited)
Avatar
@Soreu xd
Avatar
I already like this dude
20:41
and it fits so well with the arctic code vault
Avatar
https://en.wikipedia.org/wiki/Arithmetic_coding
Arithmetic coding and Huffman coding produce equivalent results — achieving entropy — when every symbol has a probability of the form 1/2k. In other circumstances, arithmetic coding can offer better compression than Huffman coding because — intuitively — its "code words" can have effectively non-integer bit lengths, whereas code words in prefix codes such as Huffman codes can only have an integer number of bits. Therefore, a code word of length k only optimally matches a symbol of probability 1/2k and other probabilities are not represented optimally; whereas the code word length in arithmetic coding can be made to exactly match the true probability of the symbol. This difference is especially striking for small alphabet sizes.
tw uses huffman coding right? tee_thinking
Arithmetic coding is a form of entropy encoding used in lossless data compression. Normally, a string of characters such as the words "hello there" is represented using a fixed number of bits per character, as in the ASCII code. When a string is converted to arithmetic encodin...
Avatar
yes, huffman coding
21:37
arithmetic coding is probably too slow
Avatar
the wiki says otherwise lol xD
21:40
Asymmetric numeral systems (ANS) is a family of entropy encoding methods introduced by Jarosław (Jarek) Duda from Jagiellonian University, used in data compression since 2014 due to improved performance compared to previously used methods, being up to 30 times faster. ANS comb...
21:40
Recent family of entropy coders called asymmetric numeral systems allows for faster implementations thanks to directly operating on a single natural number representing the current information.
Avatar
faster implementations than what?
Avatar
huffman i guess
21:41
or the implementation without this
Avatar
I don't see how it can be faster than huffman
21:42
huffman is a special case of arithmetic coding that works without multiplication/division
21:43
but just bit shifting
Avatar
ANS combines the compression ratio of arithmetic coding (which uses a nearly accurate probability distribution), with a processing cost similar to that of Huffman coding.
sounds intriguing
Avatar
ah
Avatar
yeah that
21:44
ans is used by zstd
Avatar
ah
Avatar
tANS looks to be the only kind worth looking into for our use case
Avatar
@Deleted User Actually nothing seems wrong about the Steam Linux icons, weird
21:55
@heinrich5991 did you upload the steam icons? On Mac OSX it uses the server icon I think, not the client one. and according to icns2png nothing else is contained in the icns file
Avatar
I uploaded the steam icons
Avatar
I'll update the icns file
Exported 421 message(s)