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 2022-10-12 00:00:00Z and 2022-10-13 00:00:00Z
05:47
may be we should do extra hard versions of maps with no teleports and checkpoints? (edited)
05:48
i would like to play 2 years to finish run_antibuguse with freeze instead of tp xd
Avatar
Avatar
fokkonaut
I can ask him, I have worked with him on the mod. Currently I am responsible for it. Ported it to newer DDNet version and added some features, so did he
@deen
06:02
Please keep blockZ alive, we play from time to time.
06:02
Its not even about blockZ, its updated and doesnt make problems.
06:03
Its basically about any other mod, as they are so old and dont have the antispoof.
Avatar
[quakenet] ChillerDragon BOT 2022-10-12 06:13:21Z
when proper ddnet modding support and blockZ mod?
Avatar
[quakenet] ChillerDragon BOT 2022-10-12 08:41:04Z
skill issue
Avatar
its closed source so dont host it
Avatar
Just make them again on ddnet sources, you just need to clean everything up, add flags, teams and old shotgun troll , oh and make this a template repo on github
Avatar
Avatar
Smetanolub
i would like to play 2 years to finish run_antibuguse with freeze instead of tp xd
That's an optimistic estimate
Avatar
fixes #5936 Tested scenarioses when either DDnet directory present or Teeworlds directory present, and nor of them.
Avatar
[quakenet] ChillerDragon BOT 2022-10-12 10:45:14Z
"just need o clean everything up"
10:45
lmao
Avatar
Avatar
fokkonaut
@deen
if we could make it open source, I'd be more sympathetic to hosting it
Avatar
Lol, it's been hosted for years, and DDNet even asked for hosting it back then
10:55
I dont think it would be nice not hosting it anymore
10:55
Also, why is it a problem now? We were talking about other mods, that require anti spoof for the current problem.
Avatar
it's a problem now because I now realized we host non-open source mods
Avatar
After years you realize xd
Avatar
Ryozuki apparently also doesn't like it
10:56
yes
Avatar
Did it seem to be a problem over the years when you just discovered it now? I think there were no issues
10:56
(discovered aka I told you)
10:57
Being honest doesnt seem to be the right way when people want to take something for being honest xd sadge
Avatar
Avatar
[quakenet] coffee
I swear the code will be available at some point
Hm, I guess we discussed this before
Avatar
[quakenet] ChillerDragon BOT 2022-10-12 10:59:29Z
sos how does c++ work
10:59
DDraceNetwork, a free cooperative platformer game. Contribute to ddnet/ddnet development by creating an account on GitHub.
DDraceNetwork, a free cooperative platformer game. Contribute to ddnet/ddnet development by creating an account on GitHub.
Avatar
Avatar
Learath2
Hm, I guess we discussed this before
I guess since the mod is pretty much dead, there is no community split that might happen. Maybe ask coffee to open source it now?
Avatar
Avatar
deen
well, we can still keep hosting it even if I disagree with you 😄
.
Avatar
apparently not everyone is happy with that
11:01
what's the point of not making it open-source?
Avatar
Avatar
Learath2
I guess since the mod is pretty much dead, there is no community split that might happen. Maybe ask coffee to open source it now?
Then we would need to publish his old mod, the current version has some of my code which shouldnt be shared currently.
Avatar
Noby fng is also closed source and in ddnet tab. So you were aware of it xd
Avatar
Avatar
heinrich5991
what's the point of not making it open-source?
I guess the original developer didn't want to
11:03
And he gave his reasons on the message I replied to
Avatar
Avatar
[quakenet] coffee
When I sent you the mod several years ago, the point was to make it exclusive to ddnet deen
👍
Avatar
but as you said, they seem to be moot now
Avatar
That was the main reason he even agreed on giving the mod to you guys
Avatar
Avatar
heinrich5991
but as you said, they seem to be moot now
Yes, still doesn't give us the right to violate his wishes
Avatar
yes
11:05
but we can stop hosting the mod
11:05
given that I think that it's not very aligned with the ddnet philosophy
Avatar
@Learath2 im ready
11:05
BASED
Avatar
If you dont want to contribute to teeworlds' variety anymore and ignore the fact that it didnt harm you since years + you remove servers even tho you know we play there from time to time, sure
Avatar
Avatar
Ryozuki
@Learath2 im ready
I was sure you were an i3gaps user
Avatar
Avatar
fokkonaut
Also, why is it a problem now? We were talking about other mods, that require anti spoof for the current problem.
because i didnt know it was closed source
Avatar
You knew
Avatar
Avatar
Learath2
I was sure you were an i3gaps user
i am, but i have it disabled
11:06
the gaps
Avatar
From the conversations 3 years ago
Avatar
wasted space
Avatar
Avatar
fokkonaut
You knew
that doesn't matter; opinions can change
11:07
the thing that matters is that Ryozuki now knows, and doesn't like it
Avatar
Avatar
heinrich5991
but we can stop hosting the mod
I will refrain from giving my opinion on this. I'm in no mood to get into a lengthy discussion and get insulted
Avatar
even if he was okay with it three years ago
Avatar
Avatar
heinrich5991
the thing that matters is that Ryozuki now knows, and doesn't like it
Since when does Ryozuki have the permission to allow that?
Avatar
I'm saying he's allowed to give an opinion even if it's different than three years ago
Avatar
Avatar
Ryozuki
@Learath2 im ready
Did you compile your firefox to get your 1% performance improvement?
Avatar
Not what I said, I just said he knew it was open src, cuz he said he didnt
11:08
gonna have dinner
Avatar
Avatar
Learath2
Did you compile your firefox to get your 1% performance improvement?
not yet, ill do it some day i go afk
Avatar
yes, I'm saying it doesn't matter
11:08
if he knew it was open source or not
Avatar
but my kernel is compiled using zen3 native options
Avatar
it's focusing on the wrong thing
Avatar
Avatar
Ryozuki
not yet, ill do it some day i go afk
Takes about 40 mins on my ancient cpu, yours should blaze through it
Avatar
i think today i compiled llvm in 10 mins or so
Avatar
You can do load-average 4.0 or sth and have it slowly compile on the background too. That's how I use it
Avatar
Avatar
Ryozuki
i think today i compiled llvm in 10 mins or so
Jesus. That one takes me almost an hour
11:09
I really need a new cpu
Avatar
and my cpu is 5600x
11:09
its medium range
11:10
i wanna get the 5900x
11:10
wait there is a 5950x
11:10
jeez
11:11
to get a 7000 processor i would need to change my 150€ motherboard
11:11
idk if worth
Avatar
I kinda always upgrade to the top of the line since I upgrade so slowly
Avatar
then get a 7000 gen processor
11:12
marketing xd
Avatar
If I'll stick to a CPU for 8 years, it can be a little more expensive since per year it'll come out to not very much
11:13
that insane base clock when having 32 threads
11:13
lmao
Avatar
I'm willing to pay up to an extra 100$ for the 4 extra cores, if it's more expensive I'd probably grab the 12 core version
Avatar
look at this use flag for firefox
11:15
"pgo Add support for profile-guided optimization for faster binariesthis option will double the compile time "
11:15
im sure jupstar would use it
Avatar
Jupstar would also have systemwide lto
11:17
Btw the gentoo channel on libera is pretty nice, still active and you can get decent support
Avatar
oh nice
11:20
i gotta setup a irc client
11:21
kek
Avatar
Avatar
Ryozuki
i gotta setup a irc client
weechat, go
Avatar
im compiling firefox
Avatar
Let me know how long it takes
11:22
Oh and also maybe get genlop
11:22
It parses emerge logs so you can get average compile times for packages or estimate compilation times for running emerges
Avatar
do you count in the deps?
11:22
oh ok
Avatar
Avatar
Ryozuki
do you count in the deps?
No, just firefox
Avatar
firefox prefers clang instead of gcc curiously
11:24
for some reason it says iti will build 102.3 but i have the ~amd64 thingy
11:24
so idk
Avatar
Avatar
Ryozuki
firefox prefers clang instead of gcc curiously
Probably because they link with rust stuff and rust uses llvm
Avatar
Avatar
Ryozuki
for some reason it says iti will build 102.3 but i have the ~amd64 thingy
Did you unmask the non -bin one?
11:25
this?
Avatar
Yes, try emerge -avt www-client/firefox:rapid
Avatar
oh rapid
11:27
11:28
autounmask=y is my friend
Avatar
Ofc you need to unmask nss aswell, it might ask for like 3 more libraries to be unmasked
Avatar
now it says 105.0.2 nice
Avatar
I won't say don't use autounmask since it does make it much more convenient, but I just do it by hand so I can keep them in one file
Avatar
i love that i can run emerge at the same time
11:30
with different packages
11:30
no lockfiles
Avatar
There are actual lockfiles, but they apply to separate steps
Avatar
sus-devel amogus
Avatar
❯ sudo genlop -t sys-devel/llvm
  • sys-devel/llvm Wed Oct 12 11:40:22 2022 >>> sys-devel/llvm-14.0.6-r2 merge time: 29 minutes and 24 seconds.
Avatar
Now I want a new cpu damn
11:32
30 minutes for llvm
Avatar
Avatar
heinrich5991
but we can stop hosting the mod
Is the mod creator still against it? Maybe he changed his opinion too xd
11:33
Against os
Avatar
mesa compiles in 2 minutes
11:36
@Learath2 what terminal you use?
11:36
i ofc use alacritty
Avatar
urxvt, idk why but all these modern terminals give me this feeling of input lag
11:38
Idk if it's true input lag or maybe some configuration error, but it feels wrong
11:38
alacritty is the fastest to me
11:38
gpu accelerated even
11:38
aaand rust
Avatar
The output is definitely faster
11:39
But the time it takes from a keypress to the character to appear on my screen seems slower for whatever reason idk
11:39
Never debugged it too far
Avatar
im glad i ditched polybar
11:39
for i3blocks
11:40
way more minimal
11:40
and good config
11:40
good premade scripts
Avatar
I spent sometime making something similar to i3bar with lemonbar. If you have way too much time on your hand you could have some fun with that too 😄
Avatar
and i just cant stop using i3
11:41
i tried awesome but i cant like it
Avatar
Avatar
Ryozuki
and i just cant stop using i3
I went to bspwm, maybe you could enjoy that. I love the separate keyboard handler, very unix very cool
11:42
Also wasnt there a sort of port of i3 in rust? Did you try that?
Avatar
bloated software kek
Avatar
Avatar
Learath2
Also wasnt there a sort of port of i3 in rust? Did you try that?
true
11:42
but i think its for wayland only
11:42
sway
Avatar
Ah, hm idk how I feel about wayland yet. I'm not a huge fan of massive opinionated changes
11:43
oh wait
11:43
this is a compositor?
11:43
idk
11:44
Sway is a tiling Wayland compositor and a drop-in replacement for the i3 window manager for X11.
11:44
ah ok
11:44
weird usage of words
11:44
ye iif they force vsync i wont migrate
11:45
ah wait sway is made in C
11:45
it seemed too much effort to install so i jsut went with my trusty i3
11:45
and i got the config already made
Avatar
Wayland is just a weird piece of software. Why they would make a replacement for X but make such big changes idk. They should have just made a clean rewrite of X and XLib
Avatar
look it follows ur philosohpy
11:46
brb food
Avatar
Instead we have this weird wm/compositor combo deal
Avatar
How many files did it compile
Avatar
Avatar
Ryozuki
mesa compiles in 2 minutes
.
Avatar
Avatar
Jupstar ✪
How many files did it compile
idk
11:56
all
11:56
11:57
11:57
damn clang
11:57
well im compiling clang and nodejs at the same time
11:58
firefox needs nodejs for some reason xd
11:59
@Learath2 does emerge do clean builds always?
Avatar
It'll start from a clean build dir unless you use some trick I don't remember to resume the build after interrupting it
Avatar
i mean for e.g updates
Avatar
It won't create a new chroot and get all the deps new like clean aur builds on arch
Avatar
Avatar
Ryozuki
i mean for e.g updates
Yes, these will be clean, no incremental compilation
Avatar
ok now its compiling firefox
Avatar
cfe7880 add quotes around pathes so white spaces in the path wont break the script - BannZay fb3a575 Handle case with no config directory present in AppData - BannZay 67e3f80 Merge #5939 - bors[bot]
12:10
how can i install the 4.0 version
12:10
its not even under testing
Avatar
emerge -avt =net-p2p/transmission-4.0.0_beta1
12:12
they just released this major update
Avatar
Or >= 4.0.0
12:14
yborg 4 days ago | prev | next [–]
>
15.7 MB binary on macOS, in an age where it's usual to deliver a 400 MB Electron package. I kneel.
12:14
the alpine package is 1mb
Avatar
400 MB Electron package, just reading that gives me anxiety
Avatar
4.5mb on debian
12:15
xd
Avatar
we're 50 MiB these days, I think
12:15
rewritten in c++ kek
12:16
The code has been extensively profiled and improved to fix inefficient code and memory use. For example, a stress test of starting transmission-daemon with 25,000 torrents is almost entirely IO-bound, using 50% fewer CPU cycles and 70% fewer memory allocations than Transmission 3.00.
12:16
there was some serious bloat there i guess
Avatar
did I ask how you run your virtual machines btw?
Avatar
Avatar
Learath2
emerge -avt =net-p2p/transmission-4.0.0_beta1
This might ask for a ** unmask btw
Avatar
I have heard one should stay away from virtualbox due to it being oracle
Avatar
im still compiling firefox, 16 mins in
Avatar
Avatar
heinrich5991
I have heard one should stay away from virtualbox due to it being oracle
true i guess
12:17
also
12:17
opus is doing shady moves
12:17
trying to patent
Avatar
Avatar
heinrich5991
did I ask how you run your virtual machines btw?
I use qemu
Avatar
jefftk 21 hours ago | next [–]
>
Context: Opus was specifically designed to avoid known existing patents, except for ones that are available royalty-free [1]. If Fraunhofer and Dolby believed Opus infringed on their patents they could have said so a decade ago, but instead they've waited for it to become widely deployed.
>
This is also a peculiar choice from Dolby because the patents that do cover Opus are licensed with an exception for companies that sue saying they have patents covering Opus [2]. Dolby has at least one product that uses Opus [3] so if this pool goes ahead and sues someone then it looks like Dolby is open to being sued themselves.
> >
[2] "If you ... file a Claim for patent infringement against any entity alleging that an Implementation in whole or in part constitutes direct or contributory patent infringement ... then any patent rights granted to you under this License shall automatically terminate retroactively as of the date you first received the grant."
>
Opus, the open standard, high quality codec. Presentation, documentation, comparison with other formats, download links, source code repository.
12:17
we use opus right
Avatar
we do
Avatar
After so many years that idea should be laughed at at court. Patents are one thing but waiting for your "free" codec to gain usage across the world only then to reap the benefits should be called fraud.
12:19
shame
Avatar
Who even made opus?
Avatar
@Learath2 woah
12:20
12:20
that was faster
12:20
than i thought
Avatar
Avatar
Ryozuki
Click to see attachment 🖼️
Well I have 8 threads, takes me 45 minutes, you have 16, it is kinda reasonable 😄
Avatar
Avatar
Ryozuki
jefftk 21 hours ago | next [–]
>
Context: Opus was specifically designed to avoid known existing patents, except for ones that are available royalty-free [1]. If Fraunhofer and Dolby believed Opus infringed on their patents they could have said so a decade ago, but instead they've waited for it to become widely deployed.
>
This is also a peculiar choice from Dolby because the patents that do cover Opus are licensed with an exception for companies that sue saying they have patents covering Opus [2]. Dolby has at least one product that uses Opus [3] so if this pool goes ahead and sues someone then it looks like Dolby is open to being sued themselves.
> >
[2] "If you ... file a Claim for patent infringement against any entity alleging that an Implementation in whole or in part constitutes direct or contributory patent infringement ... then any patent rights granted to you under this License shall automatically terminate retroactively as of the date you first received the grant."
>
Thanks Capitalism 👍
Avatar
@Ryozuki como se dice "column" de un texto en español?
12:24
also, use edge and bing to search for "firefox", "There's no need to download a new web browser."
Avatar
Avatar
Learath2
Well I have 8 threads, takes me 45 minutes, you have 16, it is kinda reasonable 😄
i have 12!
Avatar
Avatar
heinrich5991
@Ryozuki como se dice "column" de un texto en español?
columna
12:25
and "de" is wrong, you would use "en"
Avatar
"column" en un texto?
12:25
in the sentence above
Avatar
what you mean exactly by column?
12:26
are you asking "how to say "column" in spanish?"
12:26
if so, it's "columna"
Avatar
como en un periódico
Avatar
@Learath2 idk if its a placebo effect, but firefox feels faster and snappier
12:27
for real
Avatar
Avatar
Ryozuki
are you asking "how to say "column" in spanish?"
Avatar
eNglIsH OnLY
Avatar
Let’s mod @ReiTW
issou 1
Avatar
(masked by: missing keyword)
12:30
do i add missing?
Avatar
I'm sorry. translations were provided by ryozuki ^^
Avatar
oh ** is missing
Avatar
Avatar
Ryozuki
oh ** is missing
** just unmasks everything. You can unmask everything for all versions or for a specific version if you want
12:33
Imo you should leave the live ebuild masked like they suggest in the wiki
12:33
9999 will get you the untested github master branch
Avatar
by live ebuild
12:34
net-p2p/transmission**
12:34
like this?
Avatar
Gentoo calls version 9999 as live ebuild
Avatar
Avatar
Ryozuki
net-p2p/transmission**
This unmasks all versions
Avatar
im not using the live ebuild
12:35
im using the beta 4.0
Avatar
<net-p2p/transmission-9999 ** to keep the live one masked so you can update easier when new betas come out
Avatar
oh pog
Avatar
if i have DDEV=ON and RelWithDebInfo does it work? xd
Avatar
yes
12:44
-DDEV=ON changes some things to make it nicer for frequent recompilation
12:44
without it, it's optimized for a packager
Avatar
but it says ddev toggles debug
Avatar
it doesn't override CMAKE_BUILD_TYPE if it is set
Avatar
but if i speicfy RelWithDebInfo after
12:44
ah ok
12:46
when postgresql support
12:46
now i gotta install mariadb bloat
12:46
xd
Avatar
you can also use sqlite ^^
Avatar
oh true
Avatar
Avatar
Ryozuki
now i gotta install mariadb bloat
Lately I’ve been thinking these things might actually belong in a walled off container so they don’t dirty my system
12:49
I sadly haven’t had time to explore any of the light container solutions that aren’t a weird mix of proprietary and open source (looking at you docker). I think I might use something like podman in the future
Avatar
it'd be better if these programs were easy to run without trying to tame their complexity using the operating system
Avatar
everything ready
12:54
BASED
Avatar
the first two lines look like they're the wrong way around
12:54
ah
12:54
hm
12:54
maybe not
Avatar
the first line looks unnecessary ^^
Avatar
maybe it doesnt exist
12:55
does cmake create it?
Avatar
cmake will create it
12:57
12:57
now its truly ready
Avatar
may I continue nitpicking?
12:57
xd
12:57
oh i forgot to enable mysql
Avatar
#!/usr/bin/env bash, although if you only target gentoo, it's probably fine
12:58
what's the compile_commands.json thing doing?
12:58
IDE support?
Avatar
i copied the shebang from integration_testing.sh
12:58
xd
Avatar
^^
Avatar
Avatar
heinrich5991
IDE support?
for the language server support
12:58
clangd in this case
Avatar
ah
12:58
cmake automatically generates it?
Avatar
with the option i give it yes
Avatar
oh
12:58
didn't see ^^
Avatar
clangd reads it to know how its compiled
12:59
so it can give proper info
Avatar
nice. I needed something like that before
Avatar
why is it called run_tests
13:01
instead of test
13:01
ninja test
Avatar
because test is reserved by cmake and can't be made compatible with what we do IIRC
13:05
so
13:05
couldn't test yet this doesnt show extra info on the client server list yet, just makes the server report it Checklist Tested the change ingame Provided screenshots if it is a visual chang...
13:05
is this wanted or not
13:05
im confused there
Avatar
I'm not entirely sure. @Learath2?
13:09
in principle, I like this extra information
13:09
^^
Avatar
Lots of Command line warning D9025: overriding '/MDd' with '/MTd' scrolling by for every compiled file.
Avatar
But what’d it be used for? Since we don’t have delta compression anywhere these extra bytes will be travelling around a lot
13:18
Sure our archive will compress just fine, but it does make each individual snapshot much bigger, especially if you start including 0.7 data aswell
13:19
E.g. is it negligible to json_parse the entire thing? We aren’t parsing the json lazily after all
Avatar
@Learath2 how do u init ur ssh-agent?
Avatar
Avatar
Ryozuki
@Learath2 how do u init ur ssh-agent?
I don’t use one. Back when I did, I started it in bashrc (it’s only ran interactively)
13:21
I also set it up to die every hour or when the laptop was locked
Avatar
i found where
13:23
in xinitrc
13:23
exec ssh-agent i3
Avatar
is it true that if i have for example void x(char aBuf[512]) and do a sizeof(aBuf) it will return the size of char* instead?
13:32
well clang says so
13:33
i guess parameter arrays are downcasted to its pointer type regardless
13:34
Avatar
It is true
13:38
embrace modernity
Avatar
yes, C decided you can't pass arrays by value
13:38
it's a bit weird
Avatar
Avatar
Learath2
But what’d it be used for? Since we don’t have delta compression anywhere these extra bytes will be travelling around a lot
we could use it to show the tees in the serverlist, although I agree it's only a "could" right now
Avatar
@Learath2 to know if a skin is 0.6 or 0.7 should i check if part_names is empty?
Avatar
It would be cool if you also add ping on server info
Avatar
that's unfortunately impossible
13:50
the server can't know what ping it has to you
Avatar
i think he means the ping players have
13:50
thats possible
Avatar
ah
13:51
do you mean that? @Deleted User
14:00
@heinrich5991 is there a easy way to test the master server registration/ info
14:00
without hosting a public one
Avatar
you can create a local masterserver easily
14:00
cargo run suffices, IIRC
Avatar
ok im running one
14:01
whats the port?
Avatar
sv_register_url http://localhost:8080/ddnet/15/register http_allow_insecure 1 (edited)
Avatar
and to list?
Avatar
it leaves a servers.json in the current directory
Avatar
cat servers.json {"servers":[]}
14:04
hmm
Avatar
it times out after like 15 seconds
Avatar
❯ cat autoexec_server.cfg sv_register 1 sv_register_url http://localhost:8080/ddnet/15/register http_allow_insecure 1
Avatar
you can get some logging from the masterserver with RUST_LOG=debug
14:05
what does the server log output say?
14:05
registered successfully?
Avatar
i see 2022-10-12 16:05:36 I console: executing 'autoexec_server.cfg'
14:06
but nothing about registering
Avatar
where did you place the autoexec.cfg?
14:06
probably in the wrong directory
14:06
you can pass the arguments directly to DDNet-Server
Avatar
ah it needs to be named myServerconfig.cfg
Avatar
./DDNet-Server "sv_register_url http://…"
Avatar
oh lol
14:08
i changed map and it segfaulted
14:08
2022-10-12 16:07:54 I http: http://localhost:8080/ddnet/15/register failed. libcurl error (22): The requested URL returned error: 400 2022-10-12 16:07:54 E register/6/ipv6: error response from master 2022-10-12 16:07:55 I server: player has entered the game. ClientID=0 addr=<{192.168.0.163:52376}> sixup=0 2022-10-12 16:07:55 I chat: *** 'Ryozuki' entered and joined the game 2022-10-12 16:07:55 I ddnet: cid=0 version=16040 2022-10-12 16:07:55 I sql: load player data done on read database 0 2022-10-12 16:07:55 I http: http://localhost:8080/ddnet/15/register failed. libcurl error (22): The requested URL returned error: 400 2022-10-12 16:07:55 E register/6/ipv4: error response from master 2022-10-12 16:08:03 I chat: *** 'Ryozuki' called vote to change server option 'Map: Gold Mine' (No reason given) 2022-10-12 16:08:03 I chat: *** Vote passed 2022-10-12 16:08:03 I git-revision: b6fe955ed9eb6f2c 2022-10-12 16:08:03 I sql: load best time done on read database 0 Segmentation fault
14:09
it spams this libcurl error tho
Avatar
which libcurl error?
Avatar
400 bad requests
14:10
you could open wireshark to see what it's sending
14:10
unfortunately, the game server doesn't print out what the masterserver answers
14:10
i guess im sending malformed json
Avatar
You can run with dbg_curl 1 and log_level trace
Avatar
i can just dbg_print the thing before sending it
14:11
xd
Avatar
that doesn't give you request bodies though :/
14:11
why not wireshark? ^^
Avatar
i dont have it installed yet
Avatar
Avatar
heinrich5991
that doesn't give you request bodies though :/
Huh, sure? I thought curl called the debug handler on request too
Avatar
yes, but only for headers for request and resposne
Avatar
ah btw
14:14
just the serverinfo is already printed out with log_level debug
14:14
you should try that 😛
Avatar
or trace maybe
Avatar
with debug it is
Avatar
ah
Avatar
str_format(aBuf.begin(), aBuf.size(), something)
14:15
this is how u do it when using a std::array right?
14:15
somehow i put garbage there
Avatar
did you pass the array by value?
14:16
i see
14:16
yep by reference works now
14:17
i see
14:17
broken json indeed
Avatar
Do we even use std::arrays? What use are they even?
Avatar
fixed size arrays
14:18
that dont downcast to pointers
14:18
idk modern cpp xd
14:18
14:18
wanted to do this
Avatar
just do a char *pBuf, int BufSize like always ^^
14:18
why cant we be modern
14:19
and isnt size_t better
Avatar
I’m old
Avatar
what does "modern" actually give you there except being "modern"?
Avatar
it gives me some safety
14:19
cuz i know the size
14:19
xd
14:19
and u cant miss passing a invalid size
Avatar
size_t is better but teeworlds hates unsigned integers with a burning passion for some reason
Avatar
how do I run custom cmake targets in MSVS?
Avatar
cant std::array optimize better in some places
14:20
due to const stuff
Avatar
it probably optimizes worse ^^
14:21
what is the const stuff that could optimize better?
Avatar
idk xD
14:21
since the array decays to a pointer
14:21
but a std::array always keeps the size info
14:21
maybe it can allow some optimizations
Avatar
but you're passing it by-reference, too ^^
14:21
in the best case it's exactly like passing the pointer to the array
14:22
in the worst case, it's worse because the class misses some optimizations that native arrays have
Avatar
i think this depends
Avatar
Avatar
heinrich5991
it probably optimizes worse ^^
I doubt it ever performs worse than just a plain array
Avatar
if we use iterators everywhere
14:24
we might avoid some range checks?
Avatar
no
14:24
we don't do range checks
14:24
std::array might introduce some though ^^
Avatar
we do segfaults kek
Avatar
There is only the range check, so you have to use .at to access
Avatar
int sum_class(const std::array<int, 3> &x) { int sum = 0; for (int y : x) { sum += y; } return sum; } bool sum_native(int x[3]) { int sum = 0; for (int i = 0; i < 3; i++) { sum += x[i]; } return sum; }
14:25
as predicted, same or worse, worse on MSVC++
Avatar
microsoft xd
14:27
@heinrich5991 isnt there a fold in c++?
Avatar
idk
14:28
ugh
14:28
this shows how c++ can be so ugly
Avatar
that's a language construct I didn't know 😮
Avatar
Avatar
Ryozuki
this shows how c++ can be so ugly
Huh, doesn’t look that bad
Avatar
how to use this
14:32
template<typename ...Args> int sum(Args&&... args) { // return (args + ... + 1 * 2); // Error: operator with precedence below cast return (args + ... + (1 * 2)); // OK }
14:32
??
Avatar
Avatar
Learath2
Huh, doesn’t look that bad
on rust i just use .fold from iter trait
14:32
here i gotta decipher a weird language
14:32
xd
Avatar
that's a different thing
14:32
this is about compile-time folds
Avatar
Different sort of fold yeah 😄
14:34
std::accumulate is the one you are looking for I think
Avatar
int sum_class(const std::array<int, 3> &x) { return std::accumulate(x.begin(), x.end(), 0); } bool sum_native(int x[3]) { int sum = 0; for (int i = 0; i < 3; i++) { sum += x[i]; } return sum; }
14:37
looko
14:37
on gcc
14:37
it has 1 instruction less
14:37
lol
14:37
whathever setne al does
14:37
its just microsoft being bad
Avatar
it sets the return value
14:38
xd
Avatar
it sets al to 1 if the result of the last addition wasn't 0
14:38
wait
14:38
is that a miscompilation?
Avatar
1 instruction less is not the best measure tbf. I wouldn’t be too surprised if all 3 performed very similarly on modern architectures given the insanely long pipelines
Avatar
ah
14:38
it's bool sum
14:38
😄
Avatar
bool sum?
Avatar
the second function returns a bool ^^
Avatar
Sets the destination operand to 0 or 1 depending on the settings of the status flags (CF, SF, OF, ZF, and PF) in the EFLAGS register. The destination operand points to a byte register or a byte in memory. The condition code suffix (cc) indicates the condition being tested for.
>
More information available in the context menu.
14:39
ah
14:39
now they identical
14:39
int sum_class(const std::array<int, 3> &x) { return std::accumulate(x.begin(), x.end(), 0); } int sum_native(int x[3]) { int sum = 0; for (int i = 0; i < 3; i++) { sum += x[i]; } return sum; }
14:40
kinda dope that std array is zero cost tho
Avatar
it should be
Avatar
unless u use msvc that is
Avatar
but it isn't on msvc, unfortunately
14:44
14:44
i was escaping the json 2 times
Avatar
notepad was "updated" on windows 11?
Avatar
Avatar
Ryozuki
@Learath2 to know if a skin is 0.6 or 0.7 should i check if part_names is empty?
@Learath2 know how?
14:45
how to*
Avatar
Where are you checking this?
Avatar
nowhere yet
14:45
i wanna check to avoid adding 0.7 where it isnt
14:45
rn i just add all
14:45
Avatar
I don't want to start nitpicking the protocol before we decide to add it 😦
Avatar
then we need to decide
Avatar
I don’t think I store that info yet. Maybe just add a bool and set it if we receive a setskin 0.7 message?
Avatar
oh okay
14:46
i never rly checked the 0.7 stuff
14:47
i think we should add it, the size is not a big difference, compresses well, it allows us to show more info on the web, client, etc, and possibly better statistics in the long run
14:47
e.g, calculate most popular skins, how long players are afk, colors, etc
Avatar
Can we atleast check if our jank json library parses this in a sane amount of time?
Avatar
we should use rapidjson
14:48
or
14:48
we could use serde
Avatar
^^ that's kind of unrelated because we don't yet ^^
Avatar
serde is some kind of black magick
Avatar
if we do add it, I think custom colors should be shown in hex, and only included when use_custom_color is true, use_custom_color can then be dropped
Avatar
Avatar
heinrich5991
if we do add it, I think custom colors should be shown in hex, and only included when use_custom_color is true, use_custom_color can then be dropped
This might be an issue. I don’t think hex rgb is roundtrip safe to tw colors
14:49
We should make sure that’s the case
Avatar
@heinrich5991 i think we should also use 0 or 1 instead of bool true or false
14:49
we can drop some bytes xd
Avatar
that's actually probably eaten by compression
14:51
but you can remove it entirely and only use the presence of custom_body and color_feet to decide if it has custom colors
Avatar
Avatar
Learath2
This might be an issue. I don’t think hex rgb is roundtrip safe to tw colors
eh 😦
14:51
what format are ddnet colors in?
14:51
HSL?
Avatar
Avatar
heinrich5991
eh 😦
I mean how could I make sure. I wasn’t allowed to break peoples old vanilla colors, so I have 4 bytes, one for h, one for s, one for l, one for a
14:52
One byte for h isn’t even enough for 360 degrees of hue
Avatar
HSLA is also a sane format, but it probably comes with a quirk?
Avatar
1 byte per component in rgba spans a larger amount of the color space than 1 byte per component hsla
Avatar
ah
Avatar
@Learath2 what clang-analyzer u use
14:55
on arch there was a aur with all
14:55
clang format
14:55
*
Avatar
There was one github repo with the statically linked builds of clang-format and stuff. I just fetched from there and put them in $HOME/.local/bin
14:57
My reasoning for just using that was that we always use an older version of clang-format. So I don’t really need to ever update it. And I’d rather not be fetching executables regularly from a git repo controlled by someone else
14:59
where is the repo tho
14:59
xd
14:59
we should have a github bot
14:59
u ask it to format ur code
Avatar
Yes, that’s the one I got it from
Avatar
where do i put the binary
15:01
ah
15:01
.local bin
Avatar
I'm stuck trying to get rust to link the tests on windows in the rust PR https://github.com/ddnet/ddnet/pull/5599
15:14
I can reproduce it locally, in a VM
15:14
I wanted to ask if someone knows what I could do to progress again
15:14
my own answer to that question is probably: try to find a minimal reproducing example
15:15
windows is not my comfortable environment, but I guess that's what one should always do
Avatar
Avatar
Ryozuki
.local bin
I mean I like it in local bin, some might prefer $HOME/bin. Others maybe /opt/bin even
Avatar
i put it in usr local bin
Avatar
That also works
15:19
I think very technically the correct place is opt bin since this is unbundled software, but who really cares about decades old unix conventions
15:20
ok now it shows either 0.6 or 0.7
Avatar
/usr/local/bin is for the sysadmin adding their own software, I thought
15:20
/opt is for stuff not fitting in the fhs
Avatar
im a sys admin ez
Avatar
I guess just random binaries do fit the fhs
Avatar
opt is where ppl put
15:21
gaming servers
15:21
or docker stuff
15:21
iirc
Avatar
It’s for packages that don’t have split libraries and assets and stuff. Like a from zip installation of teeworlds/ddnet
15:22
Though we do support the fhs conforming way of installing things
15:30
steam overlay crashes factorio
15:30
or probs any game
15:37
works now
15:37
i installed random stuff
Avatar
I have this feeling that steam also belongs in a container
Avatar
Detail map from ddnet it's what?
Avatar
some map authors mark some layers with the "detail" flag
15:48
those layers usually don't have significant meaning and just look good. they can be disabled with the "map details" flag in the settings
Avatar
Avatar
heinrich5991
those layers usually don't have significant meaning and just look good. they can be disabled with the "map details" flag in the settings
Thx
15:49
I'm doing Frankenstein from 0.7 to 0.6 to ddnet xD
Avatar
you're doing what? ^^
15:49
converting a map? writing a client? writing a server?
Avatar
Avatar
heinrich5991
converting a map? writing a client? writing a server?
Server xD
15:52
Clean 0.7 ported to ddnet, with its features like protocolex and flags, everything else is a vanilla server
Avatar
Description Allow Wireshark to capture Unix domain socket traffic. This is useful because some software communicates via them, e.g. nginx supports...
16:02
gitlab has non-gigantic infoboxes 😮
Avatar
Thanks gitlab, very cool
Avatar
gitlab always have more stuff than github cuz github sucks
16:04
(joke but true, you always have to wait 10 years for a small feature)
Avatar
cant agree generally gitlab defs missing features github has
  • better contributor stats
  • the web editor already allows extensions
  • "private" profiles
Avatar
it doesnt matter
16:12
if u want ur software to get contributors
16:12
u gotta use github
16:12
end of story
16:12
unless u are the linux kernel
Avatar
xDD
Avatar
hmm, gitlab is also fine, probably
Avatar
yeah gitlab is fine for sure
16:12
but it has a smaller community, so its maybe harder for less known projects
16:13
freedesktop also hosts it own gitlab in fact i have an account there and not on gitlab xD
Avatar
Avatar
Jupstar ✪
cant agree generally gitlab defs missing features github has
  • better contributor stats
  • the web editor already allows extensions
  • "private" profiles
private profiles? wdym
Avatar
i woudl use sourcehut instead of gitlab
16:13
so u can look more edgy
Avatar
Avatar
ReiTW
private profiles? wdym
profiles that basically show no information
Avatar
Avatar
Jupstar ✪
profiles that basically show no information
well you can manage your information on gitlab
Avatar
Avatar
Ryozuki
i woudl use sourcehut instead of gitlab
everyone comes across this one project that still chills there some day xD
16:14
@Ryozuki how long did firefox compile?
Avatar
29 mins
Avatar
ah ok
16:15
less than i expected
Avatar
19 mins
16:15
*
16:15
16:15
apparently im leaking
16:16
typical c++ dev smh
Avatar
nice, do u have more stats like these?
Avatar
Avatar
Iza
my skin "MummyBear" is missing again in the newest nightly client
^ btw idk if u saw my message
Avatar
llvm, gcc
Avatar
oh its ub
16:16
"UMMARY: UndefinedBehaviorSanitizer: undefined-behavior"
Avatar
Avatar
Iza
^ btw idk if u saw my message
can u send?
16:16
or is it in the DB?
16:17
i didnt make the skin but its what i always use
Avatar
for me it works
16:18
did the download maybe fail bcs of a ddos
16:18
just restart the client
16:18
or reload skins
Avatar
Did you maybe change your skin download url? Or is this a community skin? You could have unmarked community
Avatar
its normal
Avatar
its official db skin
Avatar
can u click reload and show f1?
Avatar
this problem also occured one time after an update before and you fixed it
Avatar
but that was a different issue
16:21
i dunno, tried all configs
16:21
always works
16:21
just look if f1 shows smth
16:22
when i check "download community skins" the skin appears again
16:23
but i had it unchecked for a long time now and i could always see my skin
Avatar
i'd say thats more weird xD
Avatar
and why does "MummyFoxy" work without "download community skins" even tho its from the same creator and same skin pack
Avatar
maybe it was moved to normal
16:24
bcs the website says its normal
16:25
out of all these 3 i can only see mummyfoxy without community skins
16:25
and with community skins, "Mummy" is missing
16:25
i think thats not normal
Avatar
can u show f1
Avatar
what u wanna see there?
16:26
its alot
Avatar
i dunno some curl logs
16:28
@Iza btw if we talk about latest client, do you mean nightly or normal release?
16:29
nightly
Avatar
Avatar
Jupstar ✪
That's an optimistic estimate
Nah, it will be cool feature. Top players, who already did all maps will have new goal, and it would be actually cool to play such maps. Like for me-all maps are easy, and boring, imagine moderate maps BRUH
16:29
But moderate map without tp is hard for me and I would enjoy it
Avatar
im looking for something in the console myself and i dont see anything that indicates that something is wrong with skin loading
16:30
except forthe sRGB profile warnings
Avatar
Avatar
Iza
im looking for something in the console myself and i dont see anything that indicates that something is wrong with skin loading
mh and reloading still doesnt fix it?
Avatar
reloading?
Avatar
in tee settings bottom right
16:30
is a reload button
16:31
doesnt work
16:31
but i really think one of ur recent nightly updates did something
16:31
because i didnt change anything
Avatar
ok, then i guess its a bug, i'll look
16:32
maybe a recent change did it
Avatar
@Iza seeing your entire log might help, otherwise idk, doesn’t make much sense that the community button helps at all
Avatar
@Jupstar ✪ have a rich sister, she buys the 4090 because she can, i get a 3080 ti for free, ???, profit
16:38
ill benchmark ddnet soon
16:39
BASED
Avatar
Avatar
Learath2
@Iza seeing your entire log might help, otherwise idk, doesn’t make much sense that the community button helps at all
i can imagine it came with favorite skins
16:40
tho its weird that it doesnt load these skins then, bcs its more of an UI change
Avatar
Avatar
Ryozuki
@Jupstar ✪ have a rich sister, she buys the 4090 because she can, i get a 3080 ti for free, ???, profit
a friend also bought
16:40
so i'll see in 1-2 days anyway
Avatar
poggers
Avatar
but windows nobo
Avatar
so it wont beat my record
Avatar
ill have to install nvidia driverrs tho
16:41
im so used to comfy amd
Avatar
Avatar
Jupstar ✪
so it wont beat my record
Take linux on a usb to his house
Avatar
ez
Avatar
does linux have good open source nvidia drivers?
Avatar
Avatar
Ryozuki
does linux have good open source nvidia drivers?
Ofc not
16:42
Nouveau only works decently on ancient cards
Avatar
is there any other info we can add on the mastersrv thing
16:45
now that i have it at hand
16:45
tell tell
16:45
this is rn
16:45
(new stuff is after is_player)
16:46
why does the macos build take ages
16:46
smh apple
Avatar
Avatar
Ryozuki
is there any other info we can add on the mastersrv thing
player ping?
Avatar
Ping might not be the best idea, it could enable some sort of fingerprinting or sth
16:49
i dont think u can do much more than now tho
Avatar
It also doesnt play great with serverinfo caching, no?
Avatar
Is it maybe planned to show team colors or an indicator in the info tab
16:52
Like when you press tab in game it groups players in the same team and shows colors
Avatar
it could be possible
16:59
with this info added
Avatar
Would be great cause then I wouldn't be joining a server if it's all people in a team
17:08
Or afk people
Avatar
@Alexander we could even render their tee with skins
17:09
in the list
17:09
and if they are afk put the afk animation state
Avatar
I just thought about that lmao
17:09
Would look epic
17:10
Would it be a problem if its a server with 128 people and a lot had like 8k skins
Avatar
1. never use such skins
17:11
2. they are client side
17:11
depends on ur computer xd
Avatar
@Ryozuki can you remove the use_custom_color field? it's kinda redundant
Avatar
Avatar
Jupstar ✪
1. never use such skins
I mean I'm just asking cause people use skins.tw and they have high res skins
Avatar
@heinrich5991 on 0.7 too?
17:13
""use_custom_colors":[%s,%s,%s,%s,%s,%s],"
Avatar
I haven't looked at 0.7 yet, perhaps we can find good names there, too
17:14
does 0.7 have an official json format?
17:15
im using names from teeinfo.h
Avatar
@Jupstar ✪ my fps
17:32
@Meekrioz kek
17:33
kernel with native march etc
17:33
on vulkan
17:33
server on 33/63
Avatar
53fps? YEP
Avatar
thats the ping xd
17:34
11k is quite high
Avatar
best is that i get 9k fps with details
17:34
11k with entities
Avatar
my fps do not chagne when changing
17:35
cl_refresh_rate 0
17:35
and
17:35
gfx_refresh_rate 0
Avatar
still
Avatar
bad pc i guess
17:35
cl_showfps 1
Avatar
Avatar
Ryozuki
@Jupstar ✪ my fps
wtf
17:36
nais
Avatar
before i got 4k iirc
Avatar
with wayland u'd beat me xd
Avatar
Avatar
Ryozuki
bad pc i guess
wdym bad pc? it's better when it doesnt change when im switching to entities and back OMEGADANCE
Avatar
how many fps u have
Avatar
its chilling at 1.7k always
Avatar
its normal for it to change xd
17:36
entities use less resources
17:36
so if its uncapped it goes higher
17:36
to 11k for example
Avatar
oh okay it's at 1.6-1.7k with design and at 1.8k-1.9k without
17:37
Wowee
Avatar
makes sense
17:37
this is the power of linux
17:37
BASED
17:38
chillin at 11k fps
Avatar
with vulcan im at 2.5k
17:39
the game looks way better OMEGADANCE
Avatar
why u didnt use vulkan?
17:41
im at vulkan too ofc
17:41
the modern renderer
17:41
made by the gigachad jupstar
Avatar
idk, i thought its for something special
Avatar
no lol
Avatar
Im playing with fps locked to 120, more smooth for me troll
Avatar
unlike opengl its not decades outdated
17:41
if u have a gpu from after 2014
17:41
use vulkan
17:41
more or less
Avatar
most of the time it uses the index just to get the skin, downloaded skins change the index. Now its simply a heap object and downloaded skins load directly. Also the loading might be a bit faster bcs it had a loop lookup .Also O(1) lookup not 100% tested. also fixes a bug with favorite skins hopefully

Checklist

  • [x] Tested the change ingame
  • [ ] Provided screenshots if it is a visual change
  • [ ] Tested in combination with possibly related configuration options
  • [ ] Written a ...
Avatar
@Iza can u test https://github.com/ddnet/ddnet/actions/runs/3236734042 if its finished building (around 25min)
DDraceNetwork, a free cooperative platformer game. Contribute to ddnet/ddnet development by creating an account on GitHub.
Avatar
a map makes the most sense for skins
17:44
why was this not made before kek
17:45
although unordered_map is slow
17:45
cuz c++ std sucks
17:45
but its probs faster
17:45
than vec
17:45
for this
17:46
boost is 6x~~ faster iirc
17:48
17:50
C++ associative containers. Contribute to sparsehash/sparsehash development by creating an account on GitHub.
Avatar
Avatar
Ryozuki
cuz c++ std sucks
yes but good enough
Avatar
but probs should use string view, dunno if unordered map auto supports it in .find( look into it later
18:10
a 30th IDE
Avatar
I mean the coding with other ppl sounds sort of fun
18:14
pair coding
18:14
never did it
18:14
yet so many companies advertize it
18:14
i just can see myself there being silent for 30 mins while thinking
Avatar
Avatar
Jupstar ✪
but probs should use string view, dunno if unordered map auto supports it in .find( look into it later
18:26
rip
Avatar
i wanna find easy issues to fix
18:52
but idk
Avatar
Update Dr. Mingw (ExcHndl) to 0.9.8. Use the new ExcHndlSetLogFileNameW function to set the exception log file name using wide characters, to support paths containing unicode. It's not necessary to call ExcHndlInit explicitly after loading exchndl.dll, as the DllMain will already initialize the exception handler when the DLL is loaded. Module offsets are supported by upstream ExcHndl now, so we don't need to provide our own version that supplies the module offset to `ExcHndlInit...
19:24
aa67356 Update Dr. Mingw (ExcHndl) to version 0.9.8 - Robyt3
19:26
Avatar
@Learath2 know why discord wont open links?
19:35
it works on my terminal hmm
Avatar
mhhhhhhhh how can i force a std::string to be a heap object so that c_str is 100% safe to use in specific scenarios
19:41
@Learath2 u know such stuff
Avatar
Avatar
Ryozuki
@Learath2 know why discord wont open links?
Yes, you probably don't start a dbus session properly
Avatar
Avatar
Jupstar ✪
mhhhhhhhh how can i force a std::string to be a heap object so that c_str is 100% safe to use in specific scenarios
Pass an allocator?
Avatar
mh ok
Avatar
@Jupstar ✪ .c_str() is always safe to use
Avatar
i mean as a heap object
Avatar
okay, maybe I misunderstand
Avatar
Avatar
Learath2
Yes, you probably don't start a dbus session properly
idk what im doing wrong tho
Avatar
what part of "as a heap object" do you need to use? (edited)
Avatar
its kinda annoying, i currently want to rewrite it a bit to use string_view, but the string object has to retain lifetime
Avatar
shouldnt the default dbus config work
Avatar
since only c++20 seems to allow string_views for unoredered_map.find
19:44
(for char arrays)
19:44
but maybe all skin strings are small enough anyway
Avatar
that sounds like an optimization that is likely to break
Avatar
Avatar
Ryozuki
idk what im doing wrong tho
You should be starting your i3 with dbus, something along the lines of dbus-launch --exit-with-session i3
Avatar
Avatar
heinrich5991
that sounds like an optimization that is likely to break
i just fear micro heap allocations for every .find we call
Avatar
oh
Avatar
that would introduce heap allocations in our loop
Avatar
you need to have a std::string to look up a std::unordered_map<std::string, …>?
Avatar
If you did it right your terminal environment should have the variable DBUS_SESSION_BUS_ADDRESS set properly
Avatar
need to learn some more C++ apparently
Avatar
Avatar
heinrich5991
you need to have a std::string to look up a std::unordered_map<std::string, …>?
not in c++20
Avatar
ah ^^
Avatar
but in c++17 yes
Avatar
eh
Avatar
Avatar
Learath2
If you did it right your terminal environment should have the variable DBUS_SESSION_BUS_ADDRESS set properly
nothing shows up oof
19:46
i added dbus to default now
19:46
on openrc
Avatar
Not enough
Avatar
sudo /etc/init.d/dbus start
  • WARNING: dbus has already been started
Avatar
That'll launch the system bus, your issue is that your environment isn't set properly
19:47
do i need smth in xinitrc
19:47
Launch i3 with dbus-launch --exit-with-session
19:47
check man dbus-launch I don't know if I remember the argument correctly
Avatar
exec dbus-launch --exit-with-session ssh-agent i3
19:48
will this work? xd
Avatar
Don't need the exec
19:49
Don't know about the ssh-agent, I guess it should be fine
Avatar
u sure i dont need exec
19:49
they always put it on xinitrc
19:50
exec dbus-launch --exit-with-session -- ssh-agent i3
Avatar
90% sure
Avatar
maybe this is better
Avatar
4bb549b Initialize the Windows COM library on all threads - Robyt3 c68841a Ensure Windows DDE conversations are finished in open_link - Robyt3 16c5756 Merge #5937 - bors[bot]
Avatar
c++17 allocator are so verbose, they require more implmentation xD
19:51
and in c++20 they remove everything
19:52
maybe i'll just use an heap object for now for the whole skin
Avatar
@Learath2 works now
Avatar
tricky thing to work out 😮
Avatar
well, I'm taking a break with Godot and start learning game maker studio 2, anybody who has experience on it can tell me how much do you need to learn the interface?
Avatar
@Jupstar ✪ so what were you trying to do? sorry I was in a game, didn't really follow
Avatar
i was trying to use a heap string so i can abuse it for string_views without it going out of scope bcs of a stack dealloc
20:33
c++20 makes it easier
20:33
allocators too much work
Avatar
The memory for a string is always in heap though, except in the case of SSO
Avatar
just went with heap skins now
Avatar
Avatar
Learath2
The memory for a string is always in heap though, except in the case of SSO
yes, skin names are small and 64bit pointers are huge (edited)
20:35
in the end it doesnt matter lot anyway
20:35
in worst case it allocs a string now it allocs a skin always
Avatar
What are you doing with a string_view anyway?
Avatar
i use it as key for the hash map
20:37
but if i use string, in c++17 it could cause micro allocs
Avatar
Ah, I understand the issue
Avatar
bcs this missing
Avatar
and the issue with c_str() is that the string might not be in the heap
Avatar
yes
Avatar
Where is the std::string stored anyway? Don't skins have their name in the skin class?
Avatar
yes, but i changed the name to string as said in the end wont matter too much
20:40
a string would be bit more space efficient
20:40
actually not even true probs
20:40
since it now basically allocates a CSkin pointer
20:41
the CSkin is allocated anyway in maps
20:41
so its all fine xd
Avatar
👍 was just curious
Avatar
yeah funny problems
Avatar
the "real" solution is to have the storage the CSkin object inside the map will be located
20:42
so i can save one allocation total 😄
20:43
somehow u can probably do that, custom allocators and shit, but too lazy for that xDD
Avatar
why store the cskin as a unique_ptr in unordered_map anyway? If it‘s just a cskin you can emplace and only the map allocates anything
Avatar
Yeah, that’s sort of what I was thinking, but I decided I’ll just wait and see on the PR since it was a bit too vague of a question for me
Avatar
fb31777 Support unicode with ExcHndl, use upstream module offsets, handle errors - Robyt3 bd3b4f2 Merge #5942 - bors[bot]
Avatar
a97a597 Inline Is(GameType) functions - heinrich5991 150485e Remove support for legacy 64 player info protocol - heinrich5991 a595936 Remove chat timeout code fallback heuristic - heinrich5991 a804c3c Get away from vector for skins - Jupeyy 6c3d0e9 Merge #5933 #5941 - bors[bot]
Exported 919 message(s)