Guild icon
DDraceNetwork
Development / developer
Development discussion. Logged to https://ddnet.org/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 2025-01-22 00:00 and 2025-01-23 00:00
Avatar
Avatar
zhn
thanks to that good person who hosts master3.teeworlds.com, 0.5 master is alive again!
Sad, u can spam @Mr_Anderson for that kek , long live 0.5
Avatar
NonSymmetric 2025-01-22 10:08
The VOTE_DESC_LENGTH seems to be not work properly in client-side, the client will only render texts ranged in origin length
Avatar
idk if anybody does this, but instead of listening to music while i code/work i put stuff from here https://mynoise.net/
myNoise sets the standard for online background noise machines and interactive soundscapes.
10:11
this website is gold
Avatar
MilkeeyCat 2025-01-22 10:15
I listen to Slipknot while I code/work 😏
Avatar
Playlist · 🎷🐛 · 110 items · 3.3K saves
10:16
eh seems like i can't remove spotify embedded's. gg
10:19
llvm mimics rust Result
Avatar
Is it because of downstream rust devs?
Avatar
no, because its a good pattern
10:21
they force you to check for nullptr for example
10:21
if u dont check, it throws a assert if asserts are on
Avatar
ah I guess that's not a crazy thing to copy yeah
Avatar
so its not as enforced
10:22
but i found a bug in the C api
10:22
so ill do a pr
Avatar
Apparently trying to lookup a function pointer using the C api mlirExecutionEngineLookup will throw an assert instead of just returning a nullptr on builds with asserts. The docs itself says it ret...
10:36
new llvm pr
Avatar
Avatar
Ryozuki
llvm mimics rust Result
Koll Potato 2025-01-22 11:08
are options in c++ also stolen from rust? poggers2
Avatar
@Koll Potato i guess
11:09
the thing is these constructs arent as powerful as rust
11:09
because c++ has no algebraic data types
Avatar
Koll Potato 2025-01-22 11:11
after i started coding in rust i cant go back to any language that doesnt have adts
11:11
rust is addictive af
Avatar
Avatar
ReiTW
Sad, u can spam @Mr_Anderson for that kek , long live 0.5
long live 0.5!
Avatar
Avatar
Koll Potato
rust is addictive af
yup
Avatar
@Koll Potato ocaml has adts
11:16
but its more functional
11:16
but its awesom
11:16
but tooling sucks hard
11:16
its why i dont use it much
11:16
the original rust compiler was made in ocaml
11:16
rust is heavily inspired by it
Avatar
Koll Potato 2025-01-22 11:16
yeah ive seen, but im not good at fp
Avatar
Avatar
Ryozuki
Click to see attachment 🖼️
but it's part of std lib already?
Avatar
Avatar
Ryozuki
the original rust compiler was made in ocaml
Koll Potato 2025-01-22 11:17
wait really
Avatar
Avatar
zhn
but it's part of std lib already?
i think only optional is of std
Avatar
Koll Potato 2025-01-22 11:17
i thought c++
Avatar
Expected is a llvm thing
Avatar
Avatar
Koll Potato
wait really
yes rly
11:17
ocaml is a nice lang to make compilers
11:17
rly nice pattern matching etc
11:17
it also has llvm bindings
Avatar
Koll Potato 2025-01-22 11:17
whats the point of bootstrapping languages btw
Avatar
nevetherless llvm uses their own
Avatar
Koll Potato 2025-01-22 11:18
why didnt they keep the compiler in ocaml
Avatar
hm i wonder if they have reasons to use non-std
11:18
or its just like legacy thing that will never be touched again
Avatar
Avatar
Koll Potato
why didnt they keep the compiler in ocaml
its always better to have it in the same lang, because dog fooding
11:18
and its a statement
11:19
u can make a thing as complex as a rust compiler in rust
11:19
Eating your own dog food or "dogfooding" is the practice of using one's own products or services. This can be a way for an organization to test its products in real-world usage using product management techniques. Hence dogfooding can act as quality control, and eventually a kind of testimonial advertising. Once in the market, dogfooding can dem...
Avatar
Koll Potato 2025-01-22 11:19
epic
11:19
i just googled that xD
Avatar
ForgottenCat 2025-01-22 12:20
Does anyone has the tutorial on how to use quads for renderding images in ddnet?
Avatar
chillerdragon BOT 2025-01-22 14:10
@Zwelf: when check matrix
✍️ 1
Avatar
GitHub BOT 2025-01-22 14:34
5d86305 Add stats_alloc allocator feature as a smaller alternative to alloc_track. - Jupeyy 1691fd7 Add invalid actions, improve valid actions. - Jupeyy ce2aeb4 Merge pull request #84 from Jupeyy/pr_editor_improvements - Jupeyy
Avatar
Skibidisigma 2025-01-22 15:01
can any1 give me site where displayed all servers
15:01
from master server
15:01
i found it
Avatar
Jupstar ✪ 2025-01-22 15:01
i can give you the site
Avatar
GitHub BOT 2025-01-22 15:02
Refactored CMenus::RenderServerControlServer, removed unneeded comparison with m_pClient->m_Voting.m_NumVoteOptions, scroll to selected option when search parameter is changed

Checklist

  • [x] Tested the change ingame
  • [ ] Provided screenshots if it is a visual change
  • [ ] Tested in combination with possibly related configuration options
  • [ ] Written a unit test (especially base/) or added coverage to integration test
  • [x] Considered possible null pointers and out of bound...
Avatar
GitHub BOT 2025-01-22 15:09
d5bca05 Make editor server cert persistent. - Jupeyy 32de301 Merge pull request #85 from Jupeyy/pr_editor_improvements2 - Jupeyy
Avatar
Koll Potato 2025-01-22 16:43
after 2 weeks of coding in rust i have realised i have no idea idea how to not store everything on the heap
Avatar
borrow them or smth idk
Avatar
Koll Potato 2025-01-22 16:44
great advice
16:45
i can just .clone() everything
Avatar
Avatar
Koll Potato
after 2 weeks of coding in rust i have realised i have no idea idea how to not store everything on the heap
Jupstar ✪ 2025-01-22 16:51
watcha mean? if u dont use Rc, Arc, Vec, Box or similar it's not heap allocated
Avatar
Avatar
Jupstar ✪
watcha mean? if u dont use Rc, Arc, Vec, Box or similar it's not heap allocated
Koll Potato 2025-01-22 16:52
i use Vec<u8> and String everywhere
Avatar
Jupstar ✪ 2025-01-22 16:53
If that is what your app needs, that sounds ok 😄
Avatar
Koll Potato 2025-01-22 16:53
when i try to use slices i cant handle the pain of the lifetimes
Avatar
Avatar
Jupstar ✪
If that is what your app needs, that sounds ok 😄
Koll Potato 2025-01-22 16:53
perhaps
Avatar
Jupstar ✪ 2025-01-22 16:53
u rarely need to define the lifetimes explictly
Avatar
Avatar
Koll Potato
after 2 weeks of coding in rust i have realised i have no idea idea how to not store everything on the heap
you need code review i think
16:56
you are lack of some good advice from jupstar or lerato
Avatar
you need to look into more advanced languages like C
Avatar
GitHub BOT 2025-01-22 16:56
This will allow us to automate community handling. My plan is to split https://info.ddnet.org/info into three parts. The finish information, to be served under a different URL, e.g. https://finishes.ddnet.org/finishes?name=nameless%20tee, the static info without any DB acess, maybe https://info.ddnet.org/info2, and the community metadata and server info data, into https://master1.ddnet.org/ddnet/15/servers.json. There will be a communities key in the top level with the static community ...
Avatar
Here you go, great advice ^^
Avatar
Avatar
Learath2
you need to look into more advanced languages like C
Koll Potato 2025-01-22 16:57
C is simple af
16:57
u alloc u free
16:57
in Rust u have 20 different traits to do the same thing
Avatar
You are dangerously close to spawning the Rust crew, choose your next sentence very carefully
💀 1
Avatar
Jupstar ✪ 2025-01-22 16:58
i'd simply claim it's not true 😂
Avatar
Jupstar ✪ 2025-01-22 16:59
If you don't understand when to use Box over Rc or wise versa, then you simply didn't understand their use case 😄
Avatar
Koll Potato 2025-01-22 16:59
but their task is the same
16:59
store on the heap
Avatar
Jupstar ✪ 2025-01-22 16:59
Mh
Avatar
You may need to do some more Rusting 😄
Avatar
Koll Potato 2025-01-22 17:00
i know the different between them
Avatar
Jupstar ✪ 2025-01-22 17:00
the concept isn't even from rust
Avatar
Koll Potato 2025-01-22 17:00
i just say they both allocate on the heap
Avatar
Avatar
Learath2
You are dangerously close to spawning the Rust crew, choose your next sentence very carefully
theres a crew?? 💀
Avatar
Avatar
Hecta
theres a crew?? 💀
You can join by converting one other person to the church of Rust
Avatar
Jupstar ✪ 2025-01-22 17:01
Voxel is the rusty artist
17:01
deen_star
Avatar
i dont care who the irs sends, i am NOT programming in ru.st!
Avatar
Avatar
Jupstar ✪
Voxel is the rusty artist
yea my art is pretty rusty i can admit that
Avatar
Avatar
Jupstar ✪
the concept isn't even from rust
Well the biggest difference is ownership, which is not something many software engineers are used to thinking about outside the Rustosphere
17:03
Maybe more modern C++ programmers are more familiar with it with unique_ptr and shared_ptr
Avatar
Avatar
Koll Potato
in Rust u have 20 different traits to do the same thing
what u doing
17:09
rust type system is extensive because it wants to express all variables in the type system
Avatar
Avatar
Learath2
Maybe more modern C++ programmers are more familiar with it with unique_ptr and shared_ptr
which it also has ownership system but its manual
17:09
in llvm the c api tells u in docs "takes ownership"
17:10
rust doesnt live in the stone age and lets u handle it in the language itself
Avatar
Avatar
Ryozuki
rust type system is extensive because it wants to express all variables in the type system
Koll Potato 2025-01-22 17:12
i am aware of that
17:12
i just said that c is simpler
Avatar
there is a common pitfall tho, specially when dealing heavily with lifetimes, if you have a code that looks like this: fn hello<'a>(a: &'a MyTypeWithABorrowedField<'a>) {} you are in trouble, because this doesnt make much sense, but u can type it, altho when u try to do something with it u will see compile errors
Avatar
Avatar
Ryozuki
there is a common pitfall tho, specially when dealing heavily with lifetimes, if you have a code that looks like this: fn hello<'a>(a: &'a MyTypeWithABorrowedField<'a>) {} you are in trouble, because this doesnt make much sense, but u can type it, altho when u try to do something with it u will see compile errors
Koll Potato 2025-01-22 17:12
oh no thats my code
Avatar
Jupstar ✪ 2025-01-22 17:13
but u dont need to do that xd
Avatar
i guess its more problem when u make it mut too xd
Avatar
Jupstar ✪ 2025-01-22 17:13
fn hello(a: &MyTypeWithABorrowedField<'_>) {}
17:13
this will work too (edited)
Avatar
Koll Potato 2025-01-22 17:13
i forgor about that
Avatar
Jupstar ✪ 2025-01-22 17:13
xd
Avatar
Koll Potato 2025-01-22 17:13
too much stuff to remember
Avatar
Avatar
Jupstar ✪
but u dont need to do that xd
i forgot the exact pattern but there was a forum rust describing the problem
Avatar
Jupstar ✪ 2025-01-22 17:14
clippy will help you do remove useless lifetimes
Avatar
Koll Potato 2025-01-22 17:15
clippy doesnt like me
Avatar
Jupstar ✪ 2025-01-22 17:15
but you like it
17:15
deen_star
Avatar
i think @MilkeeyCat had a repo with this pattern
17:15
it was something about a arena
Avatar
Avatar
Koll Potato
too much stuff to remember
c++ has more to remember
17:17
unless u do unsafe rust
17:17
holding unsafe rust to be safe is harder
Avatar
Avatar
Learath2
You are dangerously close to spawning the Rust crew, choose your next sentence very carefully
Avatar
Koll Potato 2025-01-22 17:22
xDDDDDDD
Avatar
GitHub BOT 2025-01-22 17:33
sv_maps_base_url https://www.example.com/ leads to a map download URL of https%3A%2F%2Fwww.example.com%2FTutorial_796a3716fe64657bfb8bc6af5f9422b197278919a9d875e43b9bbbcb73262fc0.map, which is invalid. CC https://github.com/ddnet/ddnet/pull/9395#discussion_r1925616867 @Kaffeine Can you take a look?
Avatar
биг мак меню 2025-01-22 17:35
d
Avatar
Avatar
Learath2
You are dangerously close to spawning the Rust crew, choose your next sentence very carefully
Avatar
ws-client BOT 2025-01-22 18:06
<ChillerDragon> ger3 ok?
Avatar
it's fine for me
f3 1
Avatar
Koll Potato 2025-01-22 18:12
18:12
but its impossible to quit teeworlds and ddnet
Avatar
is he done with vanilla teeworlds or done with the game in all?
18:15
oh ig everything
Avatar
he will come back
18:17
trust
Avatar
what happened
Avatar
Avatar
Koll Potato
Click to see attachment 🖼️
i'll give him a year
Avatar
Koll Potato 2025-01-22 18:19
he made a pr just a month ago
18:20
now he quit
Avatar
Avatar
Koll Potato
he made a pr just a month ago
but why did he quit
Avatar
Koll Potato 2025-01-22 18:20
was he supposed to?
18:21
ahh
18:21
didnt read the question right
Avatar
Avatar
Ryozuki
but why did he quit
Koll Potato 2025-01-22 18:21
maybe depression
18:21
teeworlds hurts people
18:21
cammo
Avatar
GitHub BOT 2025-01-22 18:22
Quick fix of #9566

Checklist

  • [ ] Tested the change ingame
  • [ ] Provided screenshots if it is a visual change
  • [ ] Tested in combination with possibly related configuration options
  • [ ] Written a unit test (especially base/) or added coverage to integration test
  • [ ] Considered possible null pointers and out of bounds array indexing
  • [ ] Changed no physics that affect existing maps
  • [ ] Tested the change with [ASan+UBSan or valgrind's memcheck](https://github.com...
Avatar
Koll Potato 2025-01-22 18:23
@zhn how so fast
Avatar
Avatar
Ryozuki
but why did he quit
ddnet doesn't really appreciate any move into more mod-friendly codebase
Avatar
Koll Potato 2025-01-22 18:24
ddnet-rs will solve this
Avatar
again this is why we need to push ddnet-rs its like the ultimate mod potential
Avatar
Avatar
Hecta
again this is why we need to push ddnet-rs its like the ultimate mod potential
Koll Potato 2025-01-22 18:25
seems like u secretly enjoy rust
Avatar
listen a person can like a rocket launching into space but hate figuring out how the science behind it is done
Avatar
nah you hated the instrument with which this rocket was built up
18:27
we all rember this....
Avatar
no patrick, rockets are not instruments
18:30
rust is the instrument and ddnet-rs is rocket
Avatar
i cant believe voxel pushes for rust made software
Avatar
Avatar
Hecta
listen a person can like a rocket launching into space but hate figuring out how the science behind it is done
looks like nowadays u need to be a nazi 💀
Avatar
i cant believe voxel pushes for nerdy ass programming language made software
Avatar
to send rockets to space
18:32
kek
18:32
seems we will troll ya forever for this xdd
18:32
im sorry in advance
Avatar
@zhn i cant help but read ur bio all days
Avatar
! 7mzom alonso 2025-01-22 18:33
can anyone give me kog maps+aip gores dawnload please
Avatar
wrong channel
Avatar
! 7mzom alonso 2025-01-22 18:33
where
Avatar
#questions
Avatar
Avatar
Ryozuki
@zhn i cant help but read ur bio all days
huh?
Avatar
Koll Potato 2025-01-22 18:46
rust in god we trust
18:48
god in rust we trust
Avatar
Avatar
zhn
ddnet doesn't really appreciate any move into more mod-friendly codebase
Unless you actually know why he left you are just speculating. Which is useless
Avatar
do u think this channel gets so many random questions because it’s the first channel from the top of the list that anyone can type in?
19:01
i mean, half the time i see the dumb questions they’ve been crossposted (spammed) to general and probably other channels
19:01
but maybe moving this channel or category down would reduce that
Avatar
It's also one of the most active channels, perhaps that also contributes
Avatar
Jupstar ✪ 2025-01-22 19:04
§1 You cannot quit teeworlds §2 If you quit teeworlds §1 becomes active (edited)
Avatar
why does a dollar become active
Avatar
Jupstar ✪ 2025-01-22 19:05
lel
19:20
So on x86_64 processors, we have to branch to say “a 32-bit zero value has 32 leading zeros”. Put differently, the “count leading zeros” intrinsic isn’t necessarily a branchless instruction. This might look nicer on another architecture!
19:20
til
19:25
Branchless UTF-8 decoder. Contribute to skeeto/branchless-utf8 development by creating an account on GitHub.
Avatar
Nope, I think we just adopted what teeworlds has which should be the naive implementation
Avatar
static void * utf8_decode(void *buf, uint32_t *c, int *e) { static const char lengths[] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 3, 3, 4, 0 }; static const int masks[] = {0x00, 0x7f, 0x1f, 0x0f, 0x07}; static const uint32_t mins[] = {4194304, 0, 128, 2048, 65536}; static const int shiftc[] = {0, 18, 12, 6, 0}; static const int shifte[] = {0, 6, 4, 2, 0}; unsigned char *s = buf; int len = lengths[s[0] >> 3]; /* Compute the pointer to the next character early so that the next * iteration can start working on the next character. Neither Clang * nor GCC figure out this reordering on their own. */ unsigned char *next = s + len + !len; /* Assume a four-byte character and load four bytes. Unused bits are * shifted out. */ *c = (uint32_t)(s[0] & masks[len]) << 18; *c |= (uint32_t)(s[1] & 0x3f) << 12; *c |= (uint32_t)(s[2] & 0x3f) << 6; *c |= (uint32_t)(s[3] & 0x3f) << 0; *c >>= shiftc[len]; /* Accumulate the various error conditions. */ *e = (*c < mins[len]) << 6; // non-canonical encoding *e |= ((*c >> 11) == 0x1b) << 7; // surrogate half? *e |= (*c > 0x10FFFF) << 8; // out of range? *e |= (s[1] & 0xc0) >> 2; *e |= (s[2] & 0xc0) >> 4; *e |= (s[3] ) >> 6; *e ^= 0x2a; // top two bits of each tail byte correct? *e >>= shifte[len]; return next; }
19:47
xd
Avatar
It would need to be benched tbh
Avatar
im sure this wins but yeah
19:47
do we even use a lut
Avatar
Avatar
Learath2
Unless you actually know why he left you are just speculating. Which is useless
he literally said this couple of times
Avatar
brb going into a 24 man savage raid
Avatar
Avatar
Ryozuki
static void * utf8_decode(void *buf, uint32_t *c, int *e) { static const char lengths[] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 3, 3, 4, 0 }; static const int masks[] = {0x00, 0x7f, 0x1f, 0x0f, 0x07}; static const uint32_t mins[] = {4194304, 0, 128, 2048, 65536}; static const int shiftc[] = {0, 18, 12, 6, 0}; static const int shifte[] = {0, 6, 4, 2, 0}; unsigned char *s = buf; int len = lengths[s[0] >> 3]; /* Compute the pointer to the next character early so that the next * iteration can start working on the next character. Neither Clang * nor GCC figure out this reordering on their own. */ unsigned char *next = s + len + !len; /* Assume a four-byte character and load four bytes. Unused bits are * shifted out. */ *c = (uint32_t)(s[0] & masks[len]) << 18; *c |= (uint32_t)(s[1] & 0x3f) << 12; *c |= (uint32_t)(s[2] & 0x3f) << 6; *c |= (uint32_t)(s[3] & 0x3f) << 0; *c >>= shiftc[len]; /* Accumulate the various error conditions. */ *e = (*c < mins[len]) << 6; // non-canonical encoding *e |= ((*c >> 11) == 0x1b) << 7; // surrogate half? *e |= (*c > 0x10FFFF) << 8; // out of range? *e |= (s[1] & 0xc0) >> 2; *e |= (s[2] & 0xc0) >> 4; *e |= (s[3] ) >> 6; *e ^= 0x2a; // top two bits of each tail byte correct? *e >>= shifte[len]; return next; }
Yeah this looks pretty cheap, I can't imagine anything branched outdoing this
Avatar
Avatar
zhn
he literally said this couple of times
Unless he literally said "I'm leaving because of X", you are speculating
19:49
Personal scratch code. Contribute to skeeto/scratch development by creating an account on GitHub.
Avatar
Avatar
Learath2
Unless he literally said "I'm leaving because of X", you are speculating
https://github.com/ddnet/ddnet/pull/9010#issuecomment-2397316203 i think his point is pretty solid and understandable
Finally found reason of weird vanilla demos behaviour. If it has downfalls in terms of prediction DDNet/DDRace/any other mod, please mention it here Checklist Tested the change ingame Provided s...
Avatar
He does not say why he won't have time for it in the foreseen future. Maybe he started a new job, maybe he has a new hobby. There is no point speculating
20:01
He was not fond of the pace upstream was moving at, and he does not have time for teeworlds. Those two things don't need to be in a causal relationship, they are things that can happen at the same time
Avatar
i don't see any reason to actually pull this up, you can ask him directly if you really want to know exact reasons of his leave, there's no point to start sophistic discussion
20:03
this comment makes it clear and if you want it to be more clear, again, ask him directly
Avatar
You are the one that made a claim. I don't particularly care why he doesn't currently have time for teeworlds. He doesn't have time that's all that matters to me
20:03
You can go ask if you are curious
Avatar
so you started this polemic just to argue?
Avatar
I just wanted to point out to bystanders that what you said has no basis in any statement made by them
Avatar
he's none of president to make official messages to the tee world but okey xd
Avatar
As I said, I don't care. You are the one that just pulled that reason out of thin air to fit your obvious bias
Avatar
i could see this kind of strict semantics applied only in jurisprudence
Avatar
What I do know is we can't expect them to fix that issue, so someone else will have to do it
Avatar
GitHub BOT 2025-01-22 20:33
Show credits for the selected language file in the language settings. The credits are retrieved from the respective language file like a regular localization string. The string "English translation by the DDNet Team" with context "Translation credits" should be translated to the credits for the respective language. All language authors should be listed (without duplicates) in the order in which they first contributed to the language file. Credits for the German translation are provi...
Avatar
Koll Potato 2025-01-22 20:50
developer drama is getting as hot as the testing one
Avatar
there's no drama, only two men disputing manly gigachad
Avatar
MilkeeyCat 2025-01-22 21:19
@jxsl13 look what they did to him
Avatar
they are the real haters
Avatar
Avatar
Ryozuki
Click to see attachment 🖼️
LOL
Avatar
chillerdragon BOT 2025-01-22 21:20
He posted on ddnet github why he stops contributing and is not happy.
Replying to @Learath2 Unless you actually know why he left you are just speculating. Which is …
Avatar
as lerato said he has to make it clear with statement like "i leave because X", any other phrasing doesn't make it clear and it is just assumptions and speculations
Avatar
"Considering #7777 I have no plan to put effort in fixing DDNet stuff" is pretty clear to me and i agree with him
Avatar
Avatar
kebs
"Considering #7777 I have no plan to put effort in fixing DDNet stuff" is pretty clear to me and i agree with him
you are speculating troll
22:04
ok trollmode off
Avatar
Avatar
zhn
as lerato said he has to make it clear with statement like "i leave because X", any other phrasing doesn't make it clear and it is just assumptions and speculations
this one is said without any sarcasm tho
Avatar
GitHub BOT 2025-01-22 22:07
63cdefb Remember selected server settings option during search - Pioooooo efe10bc Merge pull request #9564 from Pioooooo/vote-menus - Robyt3
Avatar
GitHub BOT 2025-01-22 23:51
As far as I am aware FSAA only increases frame time and does not add any "delay" to the pipeline. So by that logic any setting that lowers your fps by any amount causes delay but I don't think this is what players expect when they see the warning. I'm making this an issue instead of an immediate PR because I might be wrong about this so if someone wants to correct me please do.
Exported 238 message(s)
Timezone: UTC+0