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-23 00:00 and 2025-01-24 00:00
Avatar
@heinrich5991 when you have some time, would you like to go through all the PRs together and close/merge them?
01:15
The amount of PRs is rather large, but still a manageable amount. We should get to it before it gets worse and while I'm still very much unemployed
Avatar
wait I can help
Avatar
Avatar
Tater
wait I can help
monkalaugh
Avatar
Avatar
Tater
wait I can help
What happened with that PR anyway, was supposed to be pretty simple :/
01:41
It even worked fine iirc
Avatar
it had some issues
01:42
getting the entity ids was not as consistent as I expected
01:42
so if two entities entered a teleport on the same tick and both of them didn't get an m_Id they would go to the same spot
01:43
also seeding the prng with a small integer is probably not very good for it
Avatar
GitHub BOT 2025-01-23 03:29
You can find this client external 0.7 images here: generic_shadows.png As a 0.7 map resource, this is a part of sixup.
Avatar
GitHub BOT 2025-01-23 05:09
Client doesn't display correct ninja progress bar in 0.7 servers.
Avatar
chillerdragon BOT 2025-01-23 07:50
Start from the oldest
Replying to @Learath2 The amount of PRs is rather large, but still a manageable amount. We sho…
07:52
The two oldest open prs are by this Heinrich and learath guy. Go tell them to get their pr fixed up and merge it
Avatar
GitHub BOT 2025-01-23 07:57
f0038a5 Add translation credits to language settings - Robyt3 a415580 Merge pull request #9568 from Robyt3/Client-Localization-Credits - def-
Avatar
MilkeeyCat 2025-01-23 08:27
morning C enjoyers and others
Avatar
Avatar
MilkeeyCat
morning C enjoyers and others
morn
Avatar
GitHub BOT 2025-01-23 09:01
Implements/fixes #2304 Although this version doesn't do confusables matching, but I leave it for the future. I need to be given an official ddnet url to set as the default option for the world list url before merging this. !image !image

Checklist

  • [ ] Tested the change ingame
  • [ ] Provided screenshots i...
Avatar
im still a certified c++ dev(tm)
09:16
justatest
Avatar
Is there some leetcode algorithm to do this without n^2
Avatar
well messages are max 256 chars
Avatar
I'm just wondering
Avatar
oh if u find tell me
09:20
i just wanted to get this working(tm)
09:21
maybe instead of a vec i could use a set
09:21
are there hashsets in c++
09:21
std
09:22
maybe iterating the message word by word and doing a set.contains is faster
Avatar
Yeah but you still pay the hashing price
Avatar
that would be just n iirc
09:22
true
09:22
is hashing that expensive tho
09:22
what alg does std::set use
09:25
@heinrich5991 is using a set better?
09:25
saw ur comments
Avatar
I think you want a tree for the best complexity
09:28
If you hash all the banned words you still need to check against the hash of all possible sub strings in the message that are shorter than the longest banned word
09:29
which is kinda still n^2 I guess
09:29
Maybe that makes the current solution n^3
09:29
Well
09:30
m*n^2
Avatar
according to docs std::set is a binary search tree
09:31
i guess i need to figure how the json parsing works in ddnet now
Avatar
GitHub BOT 2025-01-23 09:33

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/ddnet/ddnet/#using-addresssan...
Avatar
Avatar
Ryozuki
according to docs std::set is a binary search tree
it's in general a red-black tree i think
09:37
(which is a kind of binary tree)
Avatar
making it json makes it actually easier xd
Avatar
GitHub BOT 2025-01-23 09:46
a167f0e Do not force infinite ammo for ddrace gametypes - ChillerDragon 8efab46 Allow ammo count -1 over the network to inidcate infinite ammo - ChillerDragon f50bec8 Snap -1 ammo count to indicate infinite ammo to the client - ChillerDragon 5162cbe Merge pull request #9557 from ChillerDragon/pr_ddr_ammo - heinrich5991
Avatar
@Tater actually i forgot a loop there lmao
10:09
fixed and now uses json
Avatar
Avatar
Ryozuki
fixed and now uses json
hot
Avatar
(without the loop it only censored the first matching same word)
Avatar
GitHub BOT 2025-01-23 10:18
65e377a Annotate that we use ISO 3166-1 numeric for countries everywhere - heinrich5991 9dbf46c Merge pull request #9573 from heinrich5991/pr_ddnet_iso3166_1_numeric - def-
Avatar
[build] /Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk/System/Library/Frameworks/ApplicationServices.framework/Frameworks/QD.framework/Headers/ColorSyncDeprecated.h:1000:41: note: 'CMProfileRef' has been explicitly marked deprecated here [build] 1000 | typedef struct OpaqueCMProfileRef* CMProfileRef DEPRECATED_IN_MAC_OS_X_VERSION_10_6_AND_LATER; [build] |
11:03
there is lot of msg like this when compiling in macos
Avatar
Avatar
Tater
Is there some leetcode algorithm to do this without n^2
What even is the n here? I'd expect it to be something like m * n * k where n is the message length, m is the amount of words in the blacklist, and k is the average length of a blackliated word
Avatar
due to [build] In file included from /Users/edgarluque/Documents/misc/ddnet/src/macos/notifications.mm:1:
11:04
xD
Avatar
Though there are more efficient ways to do it indeed. You can employ the Rabin-Karp search algorithm
11:08
Or build an Aho-Corasick state machine
Avatar
i leave that for the future
11:37
In computer science, the Commentz-Walter algorithm is a string searching algorithm invented by Beate Commentz-Walter. Like the Aho–Corasick string matching algorithm, it can search for multiple patterns at once. It combines ideas from Aho–Corasick with the fast matching of the Boyer–Moore string-search algorithm. For a text of length n and maxi...
Avatar
the pr is ready now btw
11:56
well there is a log i can remove
11:57
done
Avatar
what is it, just hash pattern matching?
Avatar
Koll Potato 2025-01-23 13:03
nerdy ass developer channel
Avatar
i dont think it should have both local and global
13:04
why not just have online lists that have varying lebels of censor if ur able to change the online lists url anyways
13:04
like censor_slurs, censor_all
13:16
i prefer to give control to the user
13:16
and levels is subjective
Avatar
ye, then they can host their own censorlist if they really want that much control
13:19
seems like an unnecessary additional setting
13:20
u could also have a local json that has online: field updated by the online url and a local: that won't get overwritten
Avatar
@Ryozuki does the censorlist support replacing the words? nerdy ass programming language
Avatar
so ppl who really care to have a local can edit it manually and those who dont care dont have to be exposed to multiple settings in the gui
Avatar
no users who dont want this just click 1 checkbox
13:24
im not gonna change it
13:24
u can make a pr, i think my way is the best
Avatar
Avatar
Teero
@Ryozuki does the censorlist support replacing the words? nerdy ass programming language
it just replaces to *
Avatar
Avatar
Teero
@Ryozuki does the censorlist support replacing the words? nerdy ass programming language
Koll Potato 2025-01-23 13:27
nerdy *** programming language
Avatar
Avatar
Ryozuki
it just replaces to *
uh ok
Avatar
always BOT 2025-01-23 13:27
helo
Avatar
Koll Potato 2025-01-23 13:27
will that feature be enabled on the official servers?
Avatar
always BOT 2025-01-23 13:27
gg's everyone
13:27
WTF
Avatar
Avatar
always
helo
Koll Potato 2025-01-23 13:27
dont use spyware
Avatar
always BOT 2025-01-23 13:28
it removed my @
Avatar
\****
Avatar
Avatar
Koll Potato
will that feature be enabled on the official servers?
its client sided
Avatar
Koll Potato 2025-01-23 13:28
oh
13:28
im a dumbass
13:28
xD
13:28
then its cool
Avatar
if u want chat censor u can always go to chn servers
13:29
server sided chat censor*
Avatar
Koll Potato 2025-01-23 13:29
is it enforced by the government?
Avatar
is there actually a censor??
Avatar
Koll Potato 2025-01-23 13:29
classic china moment
Avatar
on chn there is server side censor
Avatar
u cant say taiwan number one
Avatar
Koll Potato 2025-01-23 13:29
i will test it when i get home
13:29
theres no way
Avatar
i just lost so much social credit
Avatar
Avatar
Ryozuki
u cant say taiwan number one
Koll Potato 2025-01-23 13:41
i am the chosen one
13:42
or am i supposed to say it in chinese
13:42
xD
13:42
will try again
13:42
still works
13:42
in chinese
13:44
but the external male organ is being censored
13:49
idk
Avatar
dream setup complete (edited)
14:05
now i just need m4 mac mini
Avatar
well the censorship actually doesn't help lot tho
14:17
since names are not censored
14:19
and also censor word list is not enough
Avatar
it is enough for now
Avatar
so i'd rather not having it at all
Avatar
we can make it better always
14:19
u can disable it so that works for you
Avatar
I mean the current chn ones
Avatar
oh ok
14:19
idc about china xD
Avatar
ofc i should care being in china TT
Avatar
Avatar
louis
now i just need m4 mac mini
Jupstar ✪ 2025-01-23 14:20
Give team viewer access pls. Need to git bisect smth on Apple silicon
Avatar
@Jupstar ✪ send repro instructions
14:22
if usend a git bisect script i can run it
14:23
u know u can script it to automatically compile and test and check if its good or bad
Avatar
Jupstar ✪ 2025-01-23 14:28
lmao i am not even sure yet how i'd reproduce it, it's just that newer moltenvk create some weird pink framebuffer: https://github.com/KhronosGroup/MoltenVK/issues/2220 they know all commits where it happened but apparently nobody fixes it xd
MoltenVK 1.2.7+ has a regression of unknown origin reported here and here. Both projects share mostly identical Vulkan rendering backend. For example, this version was built with MoltenVK 1.2.8, an...
14:28
MoltenVK is a Vulkan Portability implementation. It layers a subset of the high-performance, industry-standard Vulkan graphics and compute API over Apple's Metal graphics framework, enablin...
14:29
i just hate apple, these mfs that refuse anything good and let randoms have to fix their shit. free slaves for apple
Avatar
Same should apply to many
Avatar
Jupstar ✪ 2025-01-23 14:30
apple is defs the worst xd
Avatar
Avatar
louis
dream setup complete (edited)
US dream setup frfr
Avatar
Async-signal-safety is preserved, too. In fact, getenv is fully reentrant and can be called from the malloc call in setenv (if a replacement malloc uses getenv during its initialization). This is...
15:13
  • Do not deallocate the environment array. Instead, keep older versions around and adopt an exponential resizing policy. This results in an amortized constant space leak per active environment variable, but there already is such a leak for the variable itself (and that is even length-dependent, and includes no-longer used values).
15:13
xd
15:13
extern char** environ;
15:13
this legacy thing is crazy
Avatar
GitHub BOT 2025-01-23 15:15
HTTP downloads to files now automatically have If-Modified-Since support, you can opt out using SkipByFileTime(false). Downloaded maps are now downloaded to a filename like name.map.123.tmp.123.tmp which isn't really what one wants, but also doesn't hurt.

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 c...
Avatar
GitHub BOT 2025-01-23 15:26
ef5b746 Add speed_arrow - Jupeyy a26ebaa Merge pull request #65 from Jupeyy/pr_editor_speedup_arrow - ChillerDragon
Avatar
GitHub BOT 2025-01-23 15:36
Remade the speedup arrow in inkscape to have a higher resolution base image, bcs the old img looked horrible when zooming in, swipe to see the difference used a updated script Totally did that script myself cough ```py from PIL import Image def create_rotated_tileset(src_image_path, tileset_path="tileset.png", tile_size=64, max_rotation=90): """ Creates a tileset image with rotated versions of the source image. ...
Avatar
GitHub BOT 2025-01-23 16:44
ded71c1 Add editor physics layers - Jupeyy 7369887 Higher quality speedup arrows - Jupeyy 20cb4cb Merge pull request #3 from Jupeyy/pr_editor_layers - Jupeyy
Avatar
Avatar
GitHub
Click to see attachment 🖼️
Hot
Avatar
Avatar
meloƞ
Hot
Jupstar ✪ 2025-01-23 17:03
That's only the data repo tho 😂
17:03
But yeah commit is in unmerged pr
Avatar
Idc, hot Btw are you planning on doing the freeze timer? I saw the .PNG but no impl
17:04
Wanted to do it but I cba learning how to handle external pngs for now justatest
Avatar
Avatar
meloƞ
Idc, hot Btw are you planning on doing the freeze timer? I saw the .PNG but no impl
Jupstar ✪ 2025-01-23 17:05
you have to use the freeze container. game/client-containers/src/freezes.rs
17:06
almost every asset is build around the container stuff
Avatar
Yeah I looked at how you did the hook but it's impl looked like a lot of boilerplate
17:06
Not saying it's bad! But I was just to tired to do it
17:06
justatest
Avatar
Jupstar ✪ 2025-01-23 17:08
besides the texture or exactly the texture?
Avatar
Besides
17:10
Can't reread it so I'm also not sure anymore justatest
17:10
In bed rn
Avatar
Jupstar ✪ 2025-01-23 17:10
sure
17:10
but i think it should not be much harder than the old ddnet. xddd he said
Avatar
GG you jinxed it!
Avatar
@MilkeeyCat u implemented generics in ur lang?
Avatar
Avatar
Ryozuki
@MilkeeyCat u implemented generics in ur lang?
MilkeeyCat 2025-01-23 17:24
not yet, i'm still not sure if I need to add one more ir xd
Avatar
struct A { a: i32, b: i32, } impl A { pub fn hello(&self, other: i32) -> i32 { return self.a * other; } pub fn set_a(&mut self, value: i32) { self.a = value; return; } } pub fn main() -> i32 { let mut x: A = A { a: 2, b: 3, }; x.set_a(4); return x.a; } this compiles in the lang im making at work
17:24
now i need to do generics
Avatar
Avatar
Ryozuki
struct A { a: i32, b: i32, } impl A { pub fn hello(&self, other: i32) -> i32 { return self.a * other; } pub fn set_a(&mut self, value: i32) { self.a = value; return; } } pub fn main() -> i32 { let mut x: A = A { a: 2, b: 3, }; x.set_a(4); return x.a; } this compiles in the lang im making at work
MilkeeyCat 2025-01-23 17:25
epyc
Avatar
@MilkeeyCat how many irs u have rn
17:25
i have AST -> ir -> llvm ir -> machine code
Avatar
Avatar
Ryozuki
@MilkeeyCat how many irs u have rn
MilkeeyCat 2025-01-23 17:25
ast and 1 ir
Avatar
the IR will be fully monomorphized already, this means that the ir itself has no generics, so i need to do the work on the ast
Avatar
can you guys stop being so smart
17:26
god damn it.
Avatar
MilkeeyCat 2025-01-23 17:26
do you have type inference? 😬
Avatar
only a tiny bit
17:26
its not the priority right now xd
Avatar
Avatar
Ryozuki
only a tiny bit
MilkeeyCat 2025-01-23 17:27
do you do it on ir or ast?
Avatar
ast, the IR is fully typed and has all the info needed
17:27
to make codegen as easy as possible
17:27
but for example, i think rust has 3 irs
17:27
AST THIR MIR LIR
17:28
and i think it does type checking on THIR
Avatar
MilkeeyCat 2025-01-23 17:28
where's hir? 🤨
Avatar
oh THIR and hir are probs same
17:28
actually THIR may be something like type higher ir or smth
Avatar
MilkeeyCat 2025-01-23 17:28
hm, i remember it being a separate thing
17:28
The THIR ("Typed High-Level Intermediate Representation"), previously called HAIR for "High-Level Abstract IR", is another IR used by rustc that is generated after type checking. It is (as of January 2024) used for MIR construction, exhaustiveness checking, and unsafety checking. As the name might suggest, the THIR is a lowered version of the HIR where all the types have been filled in, which is possible after type checking has completed. But it has some other interesting features that distinguish it from the HIR:
Avatar
Avatar
Ryozuki
struct A { a: i32, b: i32, } impl A { pub fn hello(&self, other: i32) -> i32 { return self.a * other; } pub fn set_a(&mut self, value: i32) { self.a = value; return; } } pub fn main() -> i32 { let mut x: A = A { a: 2, b: 3, }; x.set_a(4); return x.a; } this compiles in the lang im making at work
Koll Potato 2025-01-23 17:29
isnt this rust
Avatar
ok so i guess it does type checking on the ast
Avatar
Avatar
Koll Potato
isnt this rust
looks nearly same ye xd
Avatar
Koll Potato 2025-01-23 17:29
so whats the goal
Avatar
but this lang will have an embedded async runtime, like erlang
Avatar
Avatar
Ryozuki
but this lang will have an embedded async runtime, like erlang
i'm confused, is this still edlang? or something new
Avatar
the goal is a mix of erlang and rust
17:29
@meloƞ im also making a language at work
Avatar
Avatar
Ryozuki
but this lang will have an embedded async runtime, like erlang
Koll Potato 2025-01-23 17:30
oh right embedded async runtime
Avatar
lmao
Avatar
Koll Potato 2025-01-23 17:30
cool
Avatar
in rust u have to choose
17:30
tokio for example
17:30
it divides a bit the community
Avatar
Koll Potato 2025-01-23 17:30
async rust is hell
Avatar
also tokio needs to be cooperstive, it cant be preemptive
17:30
the coop part is the .await points
17:31
is where u yield
17:31
to be preemptive u need compiler control
Avatar
Koll Potato 2025-01-23 17:32
u smart af
17:32
i dont understand anything u said
Avatar
Koll Potato 2025-01-23 17:32
cammo
Avatar
@Koll Potato you know what a thread is right
17:33
you know green threads?
Avatar
Koll Potato 2025-01-23 17:34
no
17:34
a thread that is scheduled by a runtime library or virtual machine (VM) instead of natively by the underlying operating system (OS).
Avatar
Avatar
Ryozuki
to be preemptive u need compiler control
MilkeeyCat 2025-01-23 17:36
I love your funny words magic man
Avatar
Koll Potato 2025-01-23 17:36
xD
Avatar
Avatar
MilkeeyCat
I love your funny words magic man
Koll Potato 2025-01-23 17:36
u are writing a compiler yourself
Avatar
well processes execute in a thread, and in a cpu core, only one thread at a time can actually run (simplified for explanation), but the kernel needs to manage how much cpu time each process uses, otherwise one program would run always while the others wait forever, for this, when you are in a preemptive runtime, the kernel forcefully yields your thread, giving control back to kernel and it can decide to give run time to another process
Avatar
Koll Potato 2025-01-23 17:36
u are the magic man too
Avatar
Avatar
Koll Potato
u are the magic man too
MilkeeyCat 2025-01-23 17:36
I'm a cave man magic man
Avatar
in a cooperative runtime u yield as a user
17:37
in rust those are .await points
17:37
i probs explained this wrong but idk xd
Avatar
GitHub BOT 2025-01-23 17:37
0e2251e Update Persian translations (by Fàłłéñ) - def- 470908e Merge pull request #9560 from def-/pr-persian2 - Robyt3
Avatar
In computing, preemption is the act of temporarily interrupting an executing task, with the intention of resuming it at a later time. This interrupt is done by an external scheduler with no assistance or cooperation from the task.: 153  This preemptive scheduler usually runs in the most privileged protection ring, meaning that interruption and t...
17:37
read lot of wiki articles
17:37
i do this all the time
Avatar
Avatar
Ryozuki
well processes execute in a thread, and in a cpu core, only one thread at a time can actually run (simplified for explanation), but the kernel needs to manage how much cpu time each process uses, otherwise one program would run always while the others wait forever, for this, when you are in a preemptive runtime, the kernel forcefully yields your thread, giving control back to kernel and it can decide to give run time to another process
Koll Potato 2025-01-23 17:37
now i understand 50% instead of 0%
17:37
thanks smart man
Avatar
Avatar
Ryozuki
read lot of wiki articles
Koll Potato 2025-01-23 17:38
ive been reading a lot of them recently
17:38
mostly about networking
17:38
networking is fun
Avatar
Avatar
Ryozuki
well processes execute in a thread, and in a cpu core, only one thread at a time can actually run (simplified for explanation), but the kernel needs to manage how much cpu time each process uses, otherwise one program would run always while the others wait forever, for this, when you are in a preemptive runtime, the kernel forcefully yields your thread, giving control back to kernel and it can decide to give run time to another process
Koll Potato 2025-01-23 17:38
one thread at a time per cpu or per cpu core?
17:38
ah right
17:38
cpu core
17:39
so if i have 4 cores i can only run 4 threads at a time
17:39
then i dont understand what i achieved with python 3 years ago when i tried running 1000 threads in parallel
Avatar
well there are weird stuff like hyperthreading which idk what does but ye
17:39
Intel® Hyper-Threading Technology is a hardware innovation that allows more than one thread to run on each core. More threads means more work can be done in parallel. How does Hyper-Threading work? When Intel® Hyper-Threading Technology is active, the CPU exposes two execution contexts per physical core.
Avatar
Avatar
Koll Potato
then i dont understand what i achieved with python 3 years ago when i tried running 1000 threads in parallel
you have to know the difference between parallel and concurrent
Avatar
Koll Potato 2025-01-23 17:40
is it like fetching and executing instruction of one thread
17:40
and then going to another one
Avatar
Avatar
Ryozuki
you have to know the difference between parallel and concurrent
Koll Potato 2025-01-23 17:40
yes
17:40
to me these words are the same
Avatar
A system is said to be concurrent if it can support two or more actions in progress at the same time. A system is said to be parallel if it can support two or more actions executing simultaneously. The key concept and difference between these definitions is the phrase “in progress.”
Avatar
Koll Potato 2025-01-23 17:41
got it
Avatar
tokio can be concurrent using a single thread
17:44
@Koll Potato btw threading is one of the hardest and most interesting stuff in computing, its why u need locks, mutexes, atomics, and need to know well the memory model
Avatar
Koll Potato 2025-01-23 17:44
i find most of the things in computer science interesting
17:45
but i will still avoid async rust for a while
Avatar
The Dark Arts of Advanced and Unsafe Rust Programming
Avatar
Koll Potato 2025-01-23 17:45
well thats just because i dont need it
Avatar
oh yeah u dont need async for threading xd
17:45
there was a post learath sent me years ago
17:45
but i forgot
17:46
In parallel computing, work stealing is a scheduling strategy for multithreaded computer programs. It solves the problem of executing a dynamically multithreaded computation, one that can "spawn" new threads of execution, on a statically multithreaded computer, with a fixed number of processors (or cores). It does so efficiently in terms of exec...
17:46
good for learning
Avatar
Koll Potato 2025-01-23 17:47
justatest
17:47
do they teach this in uni
Avatar
this is what tokio does
17:47
idk i didnt go to uni
Avatar
Koll Potato 2025-01-23 17:48
i will
17:48
probably
Avatar
do it if u can
17:49
how old r u
Avatar
Koll Potato 2025-01-23 17:49
16
17:49
just 3 more years in school
Avatar
u got lot of.time ahead
Avatar
GitHub BOT 2025-01-23 17:49
435e357 Add confirmations for closing tabs & editor. - Jupeyy d3b3b4d Add simplistic server settings panel. - Jupeyy 377d80c Add some icons to file dialog. - Jupeyy 3b49989 Add missing logic for speedup & switch layers. - Jupeyy 03bd892 Small chat improvements - Jupeyy 6aa63c7 Add proper physics overlays - Jupeyy 76d0ff9 Prepare actions for meta data changes. - Jupeyy 05ef0f3 Merge pull request #86 from Jupeyy/pr_editor_improvements3 - Jupeyy
Avatar
Avatar
Ryozuki
u got lot of.time ahead
Koll Potato 2025-01-23 17:51
i gotta write my own compiler
17:51
before uni
17:51
that has been my dream (edited)
17:51
for 3 years already
Avatar
MilkeeyCat 2025-01-23 17:51
@Ryozuki what do you do with ir before it's lowered to llvm ir?
Avatar
Koll Potato 2025-01-23 18:00
@Ryozuki btw this is kinda cool https://edgl.dev/blog/rust-fn-size-trick/
A simple trick to avoid generics generating a lot of code.
18:00
but why cant the compiler optimize that?
Avatar
Avatar
MilkeeyCat
@Ryozuki what do you do with ir before it's lowered to llvm ir?
nothing
Avatar
MilkeeyCat 2025-01-23 18:02
thonk
Avatar
the ir is block based and kinda like ssa
18:02
so it makes it rly ez to translate to llvm ir
18:03
it doesnt have if else it has (cond) jumps s between blocks
18:03
and blocks have no control flow within
18:03
like llvm ir
Avatar
MilkeeyCat 2025-01-23 18:04
maybe one day I'll make a generator which will spit out llvm ir in the end
Avatar
Then what do you generate now
Avatar
MilkeeyCat 2025-01-23 18:15
assembly
Avatar
Koll Potato 2025-01-23 18:15
when machine code
18:15
assembly too high level (edited)
Avatar
I got modulo in automap working!
18:23
Well, kind of. Let me explain: The logic is inverted. It's supposed to place tile 49 when the modulo is equal to 0, not the opposite. However, when trying to set it that way, it only places down tile 49 (meaning it's always true). Here's what I put down for the code. In reference to auto_map.cpp void CAutoMapper::Proceed(CLayerTiles *pLayer, CLayerTiles *pGameLayer, int ReferenceId, int ConfigId, int Seed, int SeedOffsetX, int SeedOffsetY) // [ ... ] for(size_t k = 0; k < pIndexRule->m_vModuloRules.size() && RespectRules; ++k) { CModuloRule *pModuloRule = &pIndexRule->m_vModuloRules[k]; if((x + pModuloRule->m_OffsetX) % pModuloRule->m_ModX == 0 && (y + pModuloRule->m_OffsetY) % pModuloRule->m_ModY == 0) { RespectRules = false; } } // already defined code below, just for context if(RespectRules && (pIndexRule->m_RandomProbability >= 1.0f || HashLocation(Seed, h, i, x + SeedOffsetX, y + SeedOffsetY) < HASH_MAX * pIndexRule->m_RandomProbability)) { CTile Previous = *pTile; pTile->m_Index = pIndexRule->m_Id; pTile->m_Flags = pIndexRule->m_Flag; pLayer->RecordStateChange(x, y, Previous, *pTile); }
18:25
Like, I KNOW it's in this bit of code: (x + pModuloRule->m_OffsetX) % pModuloRule->m_ModX == 0 && (y + pModuloRule->m_OffsetY) % pModuloRule->m_ModY == 0) But if I set the == to != it doesn't set RespectRules to false anywhere.
18:30
Well, setting it to !=, and then changing the && to a || works, kind of, but it doesn't accept more than 1 modulo factor that doesn't overlap.
Avatar
Avatar
Hecta
I got modulo in automap working!
Jupstar ✪ 2025-01-23 18:31
sweet
Avatar
oh i have an idea actually
Avatar
Avatar
Koll Potato
i gotta write my own compiler
u could probably do it if that's the only goal
18:55
it would be really cool to see
Avatar
am getting Error running link command: no such file or directorymake[2]: *** [CMakeFiles/steam_api.dir/build.make:101: libsteam_api.a] Error 2 make[1]: *** [CMakeFiles/Makefile2:399: CMakeFiles/steam_api.dir/all] Error 2 make[1]: *** Waiting for unfinished jobs.... when compiling ):
Avatar
needs make
19:04
but also wtf
19:04
what command invoked this
19:04
never seen that
19:05
lmfao pkg broken and im unable to fix it myself so i go to google
19:05
1 minute ago
Avatar
Avatar
Ewan
needs make
i did cmake ..; make -j24
Avatar
try not make
Avatar
okay....
Avatar
do u have ninja or something
19:06
-GNinja
Avatar
i do now
19:06
and i will try
19:07
👀
19:07
works
Avatar
prob beats make anyway
19:10
u know instead of doing like cmake; <make command> u can do cmake; cmake --build and it will do it intelligently
19:11
u basically dont even have to care about the generator as long as u have it installed then
Avatar
Avatar
Ewan
u know instead of doing like cmake; <make command> u can do cmake; cmake --build and it will do it intelligently
i somehow always forget the cmake --build
Avatar
Avatar
Ewan
lmfao pkg broken and im unable to fix it myself so i go to google
376k issues justatest
Avatar
Avatar
kebs
376k issues justatest
probably nix
19:14
or some other huge monorepo
19:19
it's nixpkgs
19:19
which is all packages
Avatar
Koll Potato 2025-01-23 19:28
why doesnt heinrich chat here anymore
19:29
no messages since the last year
Avatar
i can only speculate
Avatar
Avatar
Koll Potato
why doesnt heinrich chat here anymore
true weird
19:33
but he online so he reads us
Avatar
i think ppl may just be more mad at him overall lately
Avatar
Avatar
Koll Potato
no messages since the last year
well thats a bit trol since last year is not a month ago
Avatar
Avatar
Ewan
i think ppl may just be more mad at him overall lately
did smth happen
Avatar
Avatar
Ewan
i think ppl may just be more mad at him overall lately
Koll Potato 2025-01-23 19:33
for what?
Avatar
Avatar
Ryozuki
well thats a bit trol since last year is not a month ago
Koll Potato 2025-01-23 19:33
yes xD
Avatar
not really
Avatar
Koll Potato 2025-01-23 19:34
no message since october though
Avatar
he active on gh
19:34
so we cant sneak prs kek (edited)
Avatar
Koll Potato 2025-01-23 19:34
sometimes devs ask him something here
19:34
are dms on github a thing
19:35
oh gh he can ghost people if he doesn't like their perspective lol
Avatar
@Koll Potato when pr to ddnet
Avatar
Avatar
Ryozuki
@Koll Potato when pr to ddnet
Koll Potato 2025-01-23 19:35
hmmm
19:35
a good question
Avatar
Avatar
Ryozuki
he active on gh
leaves a comment, author resolves it and refuses to collaborate further
Avatar
Koll Potato 2025-01-23 19:35
i need to open an issue first
Avatar
saw at least 10 prs like that that just are abandoned
Avatar
Avatar
kebs
leaves a comment, author resolves it and refuses to collaborate further
basically
Avatar
Koll Potato 2025-01-23 19:35
i havent got much issues with ddnet
Avatar
Avatar
kebs
leaves a comment, author resolves it and refuses to collaborate further
tell me prs and i can look into then if its about merging
19:36
altho if its 0.7 stuff i prefer to not be involved
19:36
xd
Avatar
Koll Potato 2025-01-23 19:36
Still missing: timeout protection works on computers other than my own? works on windows? works for cross-compiling review protocol for segmenting messages, is there some sort of standard may...
Avatar
i dont have them saved last 2 pages of prs have few like that
Avatar
i think past a certain point the conflicts will outweigh the cost of just remaking the change or w/e
19:37
so it really is insulting when he just leaves your code to sit like that
Avatar
but whats the issue, author solved the issue and is waiting for merge?
Avatar
or more feedback
19:38
ive seen many PRs which have died because he can't be bothered to come up with a response
Avatar
well if that happens ask another dev
Avatar
yea well i think whenever that's been tried it seems like going behind him or w/e
19:38
he's heinrich
19:39
he's just more involved than most devs so they usually defer to him
Avatar
if he is against smth he will come after we merge it so
Avatar
Koll Potato 2025-01-23 19:39
what about this pr #8988?
Avatar
Toxic players may take advantage of someone&#39;s request to swap, for example by committing suicide and then accepting the request at the start, or by intentionally dying in a place where they...
Avatar
Koll Potato 2025-01-23 19:39
just a simple command
19:39
not much
Avatar
we merge first ask questions later if the pr looks good
Avatar
yea right
19:39
did u see how he reviewed chiller's more recent PRs
19:39
also why you've probably seen fewer PRs from him
Avatar
Avatar
Ryozuki
we merge first ask questions later if the pr looks good
Koll Potato 2025-01-23 19:40
then the whole ddnet is down because of a null pointer
Avatar
sometimes he's relentless and idk his criteria
Avatar
Avatar
Koll Potato
just a simple command
6 files changed wtf
Avatar
Avatar
zhn
6 files changed wtf
Koll Potato 2025-01-23 19:41
2 of them are header files
19:42
one file is just for registering the command
19:43
ok i changed to heinrich review and now what
Avatar
that one actually does seem kinda prone to weird things, just another reason we need truly unique identifiers for players lol
Avatar
its good to have someone like heinrich that heavily vets everything though
Avatar
45 degree bind pr?
Avatar
its just he's not as active as some ppl would like
Avatar
also simple feature and finished and abandoned
Avatar
most maintainers aren't as active as ppl would like i guess
Avatar
not paid
Avatar
Avatar
Ewan
that one actually does seem kinda prone to weird things, just another reason we need truly unique identifiers for players lol
i guess so but would be nice to have it in pr
19:53
or review with a way to make it less bug prone
Avatar
Avatar
Ryozuki
not paid
even if they were paid i doubt they'd work
19:54
unless it was pretty good rates
Avatar
ill check some prs
19:54
btw i recommend u are pushy about ur own prs to get them merged
19:54
ppl simply forget
19:54
i am pushy
Avatar
Avatar
kebs
i guess so but would be nice to have it in pr
#3411
Avatar
Koll Potato 2025-01-23 19:55
XD
Avatar
no pr yet bcs nobody has done it
Avatar
i dont rly care too much about getting my specific stuff merged, it'd just be nice to have things merged quicker in general
Avatar
be pushy about it
19:55
but send the pr links xd
Avatar
Avatar
Ryozuki
but send the pr links xd
Avatar
Avatar
Ryozuki
ill check some prs
Koll Potato 2025-01-23 19:56
when merge this #7697
Avatar
Some findings i found with clangd and clang tidy The explicitly defaulted function declarations enable more opportunities in optimization, because the compiler might treat explicitly defaulted func...
Avatar
this is already implemented in "new" teeworlds editor
Avatar
I'd like #9097 in 19.0
Avatar
Send list of all maps available in the maps folder on the server to authed clients that have access to the sv_map or change_map command, so the maps can be shown as console arguments for these comm...
Avatar
Jupstar ✪ 2025-01-23 19:58
i think laser doors and stuff would be more useful than pickups (edited)
Avatar
Avatar
Jupstar ✪
i think laser doors and stuff would be more useful than pickups (edited)
Koll Potato 2025-01-23 19:59
WIP PULL REQUEST Related to #6683 This is a basic implementation based on infclass code (so yeah this should credit infclass developer too), it is still WIP so some things are still weird and the c...
Avatar
Jupstar ✪ 2025-01-23 19:59
i mean ok there are probs few maps that use moving switch pickups
Avatar
Jupstar ✪ 2025-01-23 20:00
that is quite a massive hack xD
Avatar
it doesnt render moving pickups on speeder
20:00
just normal ones in place (edited)
Avatar
Avatar
Jupstar ✪
that is quite a massive hack xD
Koll Potato 2025-01-23 20:00
why would this pr even exist
20:00
it probably affected physics a lot
Avatar
speeders are tied to server tick so cant rly accurately in editor
Avatar
Toxic players may take advantage of someone&#39;s request to swap, for example by committing suicide and then accepting the request at the start, or by intentionally dying in a place where they...
Avatar
Koll Potato 2025-01-23 20:01
@Masłowian lets goooo
Avatar
Koll Potato 2025-01-23 20:02
why exactly snake case?
Avatar
Jupstar ✪ 2025-01-23 20:02
pleasecancelthisswapthankyouverymuch
Avatar
Koll Potato 2025-01-23 20:02
all other ddnet commands are just words without any separator
Avatar
Avatar
Jupstar ✪
that is quite a massive hack xD
yeah i don't think it's gonna happen xd
20:02
i mean its cool though
20:02
maybe with good prediction it can be nice
Avatar
Avatar
Koll Potato
why exactly snake case?
readable for me and if u type /cancel<tab> it fills it
Avatar
Koll Potato 2025-01-23 20:03
yea
20:03
agree
Avatar
Jupstar ✪ 2025-01-23 20:03
i'd say /rocketman should give jetpack
Avatar
Koll Potato 2025-01-23 20:04
/shootgun
20:04
btw
20:04
idea for an admin only command
20:04
/seg - causes the server to do a segmentation fault
Avatar
Jupstar ✪ 2025-01-23 20:04
oh yeah
20:05
/cpp
Avatar
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 add...
😬 1
Avatar
Koll Potato 2025-01-23 20:05
hell yeah
Avatar
i wonder how many ppl used /c ever (edited)
Avatar
Koll Potato 2025-01-23 20:05
i never did xD
Avatar
MilkeeyCat 2025-01-23 20:05
^
Avatar
Jupstar ✪ 2025-01-23 20:05
i always use it
Avatar
anyway u shouldnt be doing naughty stuff on ddnet chat
20:05
its transparent
Avatar
Koll Potato 2025-01-23 20:05
i just /w <tab>
Avatar
Koll Potato 2025-01-23 20:06
and sometimes arrow key up
Avatar
@Jupstar ✪ ur graphics guy, does it look ok? https://github.com/ddnet/ddnet/pull/9057
Avatar
Koll Potato 2025-01-23 20:07
is there a view screenshots directory button in ddnet
Avatar
how would that work
20:08
ddnet doesnt take screenshots
Avatar
Avatar
Ryozuki
@Jupstar ✪ ur graphics guy, does it look ok? https://github.com/ddnet/ddnet/pull/9057
Jupstar ✪ 2025-01-23 20:08
i dunno xd
Avatar
u can do it thru steam but anything else is super platform specific
Avatar
Avatar
Jupstar ✪
i dunno xd
bruv
Avatar
Avatar
Ewan
ddnet doesnt take screenshots
Jupstar ✪ 2025-01-23 20:08
F10
Avatar
u can take screenshot ind dnet
Avatar
u can make ur own folder in xdg photos but 99% of ppl wont want that
20:09
WTF
20:09
news to me
Avatar
Jupstar ✪ 2025-01-23 20:09
xddd
Avatar
Koll Potato 2025-01-23 20:09
xD
Avatar
lterally never used this feature
Avatar
and ye there should be screenshot carosel xd
20:09
would be cute
Avatar
so where does it put them justatest
Avatar
Avatar
Ryozuki
@Jupstar ✪ ur graphics guy, does it look ok? https://github.com/ddnet/ddnet/pull/9057
I'll review it
Avatar
Koll Potato 2025-01-23 20:09
ah i think i found an alternative
20:09
i can copy the dir from the console
Avatar
Jupstar ✪ 2025-01-23 20:09
so many features in ddnet, there's at least one nobody knows xd
Avatar
Koll Potato 2025-01-23 20:09
not perfect but it works
Avatar
Avatar
Robyt3
I'll review it
thanks!
Avatar
just the ddnet data dir?
Avatar
Koll Potato 2025-01-23 20:09
ddnet/screenshots
Avatar
any other pr
20:10
now is the time
Avatar
Koll Potato 2025-01-23 20:10
I didn&#39;t update all scripts, some don&#39;t seem too relevant to the web. My plan is to make the dev of the web more managable, I plan to remove all the prints and use jinja templates t...
Avatar
troll
Avatar
Koll Potato 2025-01-23 20:11
xd
Avatar
i closed it
Avatar
Koll Potato 2025-01-23 20:11
lmao
20:11
why
Avatar
it had lot of conflicts
20:11
(im edg-l btw)
Avatar
Koll Potato 2025-01-23 20:11
edger
Avatar
Avatar
Ryozuki
(im edg-l btw)
Koll Potato 2025-01-23 20:11
ikr
20:12
imo not sure if necessary, or moved to ddnet tab
Avatar
Koll Potato 2025-01-23 20:12
what about adding view screenshots dir there too
20:12
poggers2
Avatar
view screenshot in that tab ok
Avatar
looks ok, i found a typo that triggers me so i commented it (edited)
20:14
do a lot of ppl view their saves files?
Avatar
ewan@machine ~/ddnet-rs (main)> cargo run warning: /home/ewan/ddnet-rs/Cargo.toml: file `/home/ewan/ddnet-rs/src/lib.rs` found to be present in multiple build targets: * `lib` target `ddnet_rs` * `bin` target `ddnet-rs` Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.31s Running `target/debug/ddnet-rs` [2025-01-23T20:12:08Z INFO fs] Found config dir in "/home/ewan/.config/ddnet-rs-alpha" [2025-01-23T20:12:08Z WARN thread_priority] Couldn't set the priority for the thread with Rust Thread ID ThreadId(7) named Some("backend-thread"): OS(13) [2025-01-23T20:12:08Z INFO graphics_backend::backend_thread] graphics backend thread exited: libvulkan.so.1: cannot open shared object file: No such file or directory [2025-01-23T20:12:08Z INFO xkbcommon_dl] Failed loading `libxkbcommon.so.0`. Error: CantOpen(DlOpen { desc: "libxkbcommon.so.0: cannot open shared object file: No such file or directory" }) [2025-01-23T20:12:08Z INFO xkbcommon_dl] Failed loading `libxkbcommon.so`. Error: CantOpen(DlOpen { desc: "libxkbcommon.so: cannot open shared object file: No such file or directory" }) thread 'main' panicked at /home/ewan/.cargo/registry/src/index.crates.io-6f17d22bba15001f/winit-0.30.8/src/platform_impl/linux/wayland/seat/keyboard/mod.rs:300:41: called `Result::unwrap()` on an `Err` value: XKBNotFound note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
20:14
it's installed 😭
20:14
wat is this runtime lib detection
Avatar
Avatar
Ryozuki
do a lot of ppl view their saves files?
Koll Potato 2025-01-23 20:14
i do once a few months
Avatar
weird shit
20:14
that should be ld.so's job
Avatar
Avatar
Ryozuki
do a lot of ppl view their saves files?
i do
Avatar
Avatar
Ewan
ewan@machine ~/ddnet-rs (main)> cargo run warning: /home/ewan/ddnet-rs/Cargo.toml: file `/home/ewan/ddnet-rs/src/lib.rs` found to be present in multiple build targets: * `lib` target `ddnet_rs` * `bin` target `ddnet-rs` Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.31s Running `target/debug/ddnet-rs` [2025-01-23T20:12:08Z INFO fs] Found config dir in "/home/ewan/.config/ddnet-rs-alpha" [2025-01-23T20:12:08Z WARN thread_priority] Couldn't set the priority for the thread with Rust Thread ID ThreadId(7) named Some("backend-thread"): OS(13) [2025-01-23T20:12:08Z INFO graphics_backend::backend_thread] graphics backend thread exited: libvulkan.so.1: cannot open shared object file: No such file or directory [2025-01-23T20:12:08Z INFO xkbcommon_dl] Failed loading `libxkbcommon.so.0`. Error: CantOpen(DlOpen { desc: "libxkbcommon.so.0: cannot open shared object file: No such file or directory" }) [2025-01-23T20:12:08Z INFO xkbcommon_dl] Failed loading `libxkbcommon.so`. Error: CantOpen(DlOpen { desc: "libxkbcommon.so: cannot open shared object file: No such file or directory" }) thread 'main' panicked at /home/ewan/.cargo/registry/src/index.crates.io-6f17d22bba15001f/winit-0.30.8/src/platform_impl/linux/wayland/seat/keyboard/mod.rs:300:41: called `Result::unwrap()` on an `Err` value: XKBNotFound note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
Koll Potato 2025-01-23 20:14
wayland skill issue?
Avatar
save map that gets boring, then come back to it after while with save code
Avatar
hyprland uses xkb
Avatar
Avatar
Ewan
hyprland uses xkb
Koll Potato 2025-01-23 20:15
u on hyprland?
Avatar
and libxkbcommon is installed here
20:15
yea
Avatar
Koll Potato 2025-01-23 20:15
omg
20:15
me too
20:15
hi frien
Avatar
Koll Potato 2025-01-23 20:15
i still havent finished configuring it
Avatar
maybe ddnet-rs needs a fhs env pepeW
Avatar
Jupstar ✪ 2025-01-23 20:16
what is that xd
Avatar
Avatar
louis
maybe with good prediction it can be nice
The client from that branch has good prediction, the problem is with old clients xd
Avatar
would have been useful when i was testing hot reload
Avatar
@Robyt3 if u can review https://github.com/ddnet/ddnet/pull/9572 too :3
Implements/fixes #2304 Although this version doesn&#39;t do confusables matching, but I leave it for the future. I need to be given an official ddnet url to set as the default option for the w...
20:17
owo
Avatar
Koll Potato 2025-01-23 20:17
uwu please review
Avatar
Avatar
Ryozuki
@Robyt3 if u can review https://github.com/ddnet/ddnet/pull/9572 too :3
Jupstar ✪ 2025-01-23 20:17
why not add it in a new file
20:18
chat msg in new msg out
Avatar
what if it was word per line instead of json
Avatar
Jupstar ✪ 2025-01-23 20:19
i think we should give up on the cmake list explicit files, if we don't stop bloating existing components more
20:19
a chat filter sounds like smth that could be split completely
Avatar
Avatar
Jupstar ✪
why not add it in a new file
wdym
Avatar
Avatar
kebs
what if it was word per line instead of json
Koll Potato 2025-01-23 20:19
less configuration
Avatar
Avatar
kebs
what if it was word per line instead of json
non tech people dont know json, it would be easier to edit it for them
Avatar
Avatar
kebs
what if it was word per line instead of json
json is better, more easily extensible
Avatar
also json is easier to handle since we got the json parser already
Avatar
Avatar
Ryozuki
wdym
move the censoring functions to a different file for faster parallel compilation
Avatar
Avatar
Ryozuki
also json is easier to handle since we got the json parser already
for getting it from web yes
Avatar
is it worth it?
20:20
xD
Avatar
Jupstar ✪ 2025-01-23 20:20
lel
Avatar
Avatar
kebs
for getting it from web yes
for parsing too since we effectively need 0 parsing code
Avatar
json for configs is the worst IMO
Avatar
but i mean if some streamer wants to add a bannable word
Avatar
Avatar
Ryozuki
also json is easier to handle since we got the json parser already
Jupstar ✪ 2025-01-23 20:21
did you miss serde?
20:21
be honest
Avatar
json is confusing
Avatar
Avatar
Jupstar ✪
be honest
i can't go back
Avatar
nah
Avatar
Avatar
Jupstar ✪
did you miss serde?
i do
Avatar
Avatar
Ryozuki
is it worth it?
also because we might want to reuse it for other strings
Avatar
serde is the best invention in rust
Avatar
Koll Potato 2025-01-23 20:21
use rust bridge and implement word censoring in rust!
Avatar
Avatar
Ewan
i can't go back
Jupstar ✪ 2025-01-23 20:21
go back to what xd
Avatar
non serde ser/de
Avatar
Avatar
Robyt3
also because we might want to reuse it for other strings
can u add a comment with this? i cant code rn so i may forget
Avatar
Avatar
Ryozuki
for parsing too since we effectively need 0 parsing code
yea but you dont need to parse text file
Avatar
Avatar
Ewan
non serde ser/de
Jupstar ✪ 2025-01-23 20:21
ah xdd
Avatar
Avatar
kebs
yea but you dont need to parse text file
u need to parse newlines xd
🤔 1
Avatar
Avatar
Ryozuki
can u add a comment with this? i cant code rn so i may forget
yeah, I'll add some comments
owo 1
Avatar
they could port it to cpp tho it would just be somewhat messy
20:23
they are using real attributes
20:23
i was expecting macro mess
Avatar
Koll Potato 2025-01-23 20:24
another dependency to ddnet? poggers2
Avatar
they have json parser it's fine
20:24
this only has yaml anyway rn
20:24
but it's about the usability
Avatar
Koll Potato 2025-01-23 20:24
yaml is good
20:24
but
20:24
having .cfg .json .yaml
Avatar
also i dont think most ppl want to depend on a repo with so few stars and such
Avatar
serde has shitload of options
Avatar
Koll Potato 2025-01-23 20:24
not good
Avatar
GitHub BOT 2025-01-23 20:25
ae61c77 Persist last whisper between map changes - KebsCS ff348fc Merge pull request #9083 from KebsCS/pr-persist-converse - edg-l
Avatar
Avatar
Ewan
also i dont think most ppl want to depend on a repo with so few stars and such
Koll Potato 2025-01-23 20:25
yeah just copy the source straight to your project
Avatar
i think json and cfg do serve pretty different roles
20:25
but having json for client configs just sucks
20:25
make a toml parser
Avatar
Avatar
Ryozuki
serde has shitload of options
Koll Potato 2025-01-23 20:25
i will rewrite my teeworlds protocol packer in serde (edited)
20:25
i have no idea why i didnt do it in the first place
Avatar
or do old fashioned .ini which is basically toml compatible anyway
20:26
not hard to parse either tho
20:26
json is like the second worst way to store configs imo
Avatar
Avatar
Ewan
make a toml parser
Koll Potato 2025-01-23 20:27
who knows about toml besides rust devs
Avatar
lots of ppl
20:27
it was around before that
Avatar
Koll Potato 2025-01-23 20:27
its relatively new
Avatar
Avatar
kebs
json>
Koll Potato 2025-01-23 20:27
no 😠
20:27
just let the user write in binary
Avatar
cbor or jsonb
Avatar
Koll Potato 2025-01-23 20:27
who cares about silly abstractions yk
Avatar
Koll Potato 2025-01-23 20:28
msgpack
Avatar
but i think those are mostly good for web
20:28
network transfer
20:28
or even like protobuf
Avatar
Koll Potato 2025-01-23 20:28
msgpack good
20:28
ddnet uses it
Avatar
there was a modern protobuf alternative that looked good
Avatar
Koll Potato 2025-01-23 20:28
for caching
Avatar
i think user configs are totally different bcs they need to be readable still
Avatar
Avatar
Ewan
there was a modern protobuf alternative that looked good
Koll Potato 2025-01-23 20:28
huh
20:28
what is it
Avatar
and easy to fix if u break them
20:28
i cant remember what it's called
Avatar
Avatar
kebs
15Socialcredit
taiwan number one
20:32
btw, cbor is based on msgpack
Avatar
Koll Potato 2025-01-23 20:32
so fast???
20:32
crazy
Avatar
it's assuming you need the whole payload at once
20:32
other formats perform better if you're doing chunked reads for example
20:33
but it's good for what it is
Avatar
https://github.com/ddnet/ddnet/pull/9542 looks good to me, if another can check
We could definitely add this info in the ingame server info menu below the number of players though. Originally posted by @Robyt3 in #9413 (comment) Before (stolen from Improve ingame server info...
20:33
otherwise ill check again next week and merge
20:39
1da945c Add sv_practice_in_team_0 command - l-ouis b559d22 Merge pull request #9251 from l-ouis/master - edg-l
Avatar
GitHub BOT 2025-01-23 20:48
d2d3286 Higher quality speedup arrows. - Jupeyy a9246df Merge pull request #9575 from Jupeyy/pr_higher_quality_speedup_arrows - edg-l
20:49
🙂
Avatar
@kebs its true that u should open a issue first before implementing a feature, specially if it is a bit polemic
Avatar
if i feel like coding ill just quick code
Avatar
There are still unresolved comments. I'm working on the one about debug dummies
Avatar
Avatar
kebs
if i feel like coding ill just quick code
ok but then dont complain if feature is rejected, just have it in mind
👍 1
Avatar
cant the 128p pr be split into 2
20:51
client and server
20:51
unresolved comments are about server
Avatar
Of course, because this only contains server-side changes except setting MAX_CLIENTS = 128
Avatar
Koll Potato 2025-01-23 20:53
what is this save name '/load panty fit carry' to continue
20:54
does it use the whole english dictionary
20:54
71e092a Add button in settings to enable/disable spectator cursor - Bamcane bd42c47 Merge pull request #9547 from Bamcane/client-spec-cursor-compatibility - edg-l
Avatar
Avatar
Robyt3
Of course, because this only contains server-side changes except setting MAX_CLIENTS = 128
yea, but most of the server changes are to support old clients from what i see
Avatar
Avatar
Koll Potato
does it use the whole english dictionary
It uses wordlist.txt, no idea where that comes from though
Avatar
so if the max_clients gets changed to 128 now on client, the patch will support more client versions in future 👍 (edited)
Avatar
Koll Potato 2025-01-23 20:54
@Ryozuki less than 100 prs open now
20:55
u can rest now rust pro
Avatar
Avatar
Robyt3
It uses wordlist.txt, no idea where that comes from though
Koll Potato 2025-01-23 20:57
why does it end with 6666 xD
20:57
cursed file
Avatar
yeah, I also noticed monkaS
Avatar
Avatar
Robyt3
It uses wordlist.txt, no idea where that comes from though
Koll Potato 2025-01-23 20:59
the features was added by zwelf 5 years ago
20:59
Joe Bonneau dives deep into systems using dice to generate random passphrases and introduces EFF's three new wordlists.
20:59
there is another file available
20:59
also 66666 lines
20:59
Avatar
`called Result::unwrap() on an Err value: failed to load default files for "skins/": requested sound file for default not found: ground_jump_001` 😕 (edited)
Avatar
Koll Potato 2025-01-23 20:59
and another one
20:59
bruh
Avatar
Avatar
Ewan
`called Result::unwrap() on an Err value: failed to load default files for "skins/": requested sound file for default not found: ground_jump_001` 😕 (edited)
Koll Potato 2025-01-23 21:00
ah
21:00
u need ddnet-rs-data
21:00
or something
21:00
its another repo
21:00
i updated submodules
Avatar
Koll Potato 2025-01-23 21:00
yeah
21:01
now u can enjoy blazingly fast compile times
Avatar
can i use ddnet configs
Avatar
Replying to @Robyt3 It uses `wordlist.txt`, no idea where that comes from though
Avatar
Koll Potato 2025-01-23 21:02
files are cursed
Avatar
Avatar
Ewan
can i use ddnet configs
Koll Potato 2025-01-23 21:03
i wonder too
21:03
the repo still not indexed
Avatar
any idea why my libpng on my macos build seems to completely fail? all images are unable to load due to "png_create_read_struct failed" which I assume means the library is just broken since this isn't even related to the filesystem 2025-01-23 12:55:48 E png: libpng internal failure: png_create_read_struct failed. 2025-01-23 12:55:48 E png: failed to load image from file. filename='editor/checker.png' 2025-01-23 12:55:48 E png: libpng internal failure: png_create_read_struct failed. 2025-01-23 12:55:48 E png: failed to load image from file. filename='editor/cursor.png' 2025-01-23 12:55:48 E png: libpng internal failure: png_create_read_struct failed. (edited)
Avatar
Try to pass arguments for the other arguments to png_create_read_struct which are nullptr right now: https://refspecs.linuxbase.org/LSB_3.1.1/LSB-Desktop-generic/LSB-Desktop-generic/libpng12.png.create.read.struct.1.html
21:05
That should give you detailed error messages hopefully (edited)
Avatar
Koll Potato 2025-01-23 21:06
wouldnt have such issues in rust btw
21:06
sorry for propaganda
Avatar
how is the thread priority stuff supposed to work?
21:06
for ddnet rs
21:06
unless you're running as superuser which doesn't generally work
Avatar
GitHub BOT 2025-01-23 21:28
d10b81f Fix grammar and minor refactor - Pioooooo 141c5b3 Show team info in server info - Pioooooo ab7b375 Merge pull request #9542 from Pioooooo/client-menus-show-team-info - Robyt3
21:32
addf4ca Add in-game entities to editor - KebsCS d3ab109 Merge pull request #9057 from KebsCS/pr-editor-ingame-entities - Robyt3
Avatar
well its not monday so i cant say its merge monday
21:35
merge thursday doesnt sound cool
Avatar
Koll Potato 2025-01-23 21:37
merge friday justatest
Avatar
Avatar
Robyt3
Try to pass arguments for the other arguments to png_create_read_struct which are nullptr right now: https://refspecs.linuxbase.org/LSB_3.1.1/LSB-Desktop-generic/LSB-Desktop-generic/libpng12.png.create.read.struct.1.html
this was useful thanks. yielded the warning: Application built with libpng-1.4.12 but running with 1.6.43
21:40
which version is the one it's supposed to be
Avatar
1.6.43 is in ddnet-libs, so you somehow built an old version it seems
Avatar
Or you are using the ddnet-libs header files but linking with a different library version
Avatar
idk I can atleast start investigating now
21:43
I do have -DPREFER_BUNDLED_LIBS=ON which I thought is what you want
Avatar
The version probably comes from #define PNG_LIBPNG_VER_STRING "1.6.43" in png.h, so while this file is up-to-date the compiled library is not
Avatar
was 1.4.12 ever a version included with ddnet
21:46
I'm assuming it's using a version on the system incorrectly
Avatar
Probably not, this version looks rather old (edited)
Avatar
ChillerDragon BOT 2025-01-23 21:51
irclog fun fact
21:51
heinrich has been pinged 10 times this year and wrote 0 messages this year
21:52
this year being 2025 not the last 356 days
Avatar
GitHub BOT 2025-01-23 21:52
Set the error and warning handling functions as early as possible to also get more detailed errors and warnings when the png_create_read_struct function fails, e.g. due to libpng version mismatch.

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
  • [ ] Considered possible null pointe...
Avatar
I can confirm he isn't dead
Avatar
hi chiller
Avatar
ChillerDragon BOT 2025-01-23 21:53
ryowo
21:55
another fun fact is that both 0xdeen and ChillerDragon wrote exactly 84 messages this year (since my last log dump)
21:56
and kollpotato wrote 620? i think my stats are flawed
Avatar
when do servers restart with nightly build
Avatar
ChillerDragon BOT 2025-01-23 21:58
there is no system
21:58
if you need it faster ping some admin
Avatar
Avatar
kebs
when do servers restart with nightly build
we deploy servers on demand
Avatar
Avatar
Ewan
that one actually does seem kinda prone to weird things, just another reason we need truly unique identifiers for players lol
isn't UniqueId not enough? i thought it persists on map change
22:16
is*
Avatar
@Learath2 can u deploy today
22:16
tomorrow its friday so its forbidden
Avatar
Avatar
Ryozuki
@Learath2 can u deploy today
What needs to be deployed?
Avatar
there is pr merged that adds a new flag
22:17
bumping version to 10
22:17
idk the exact name
Avatar
Maybe a PR number?
Avatar
We could definitely add this info in the ingame server info menu below the number of players though. Originally posted by @Robyt3 in #9413 (comment) Before (stolen from Improve ingame server info...
22:18
this
Avatar
Doesn't this need client support too? I can deploy it probably but is there any point to it until we also release a client?
Avatar
it does but i play on latest commit always
22:20
u dont want to support me?
22:20
owo
Avatar
I was already planning to merge #9096 tomorrow along with a new antibot, if it's not urgent I'd rather deploy all 3 together
Avatar
Current AB data is kind of poor and requires processing client packets manually to get, for example, relatable client input info. I tried to include more variables to AB to make it easier for devel...
Avatar
nah its not urgent
22:21
@Learath2 i like how first pr pfp is a anime girl and second is a guy smoking
22:21
internet at its best
Avatar
The duality of developers
Avatar
@Learath2 so ur not hitting the merge button for a reason or?
Avatar
Avatar
Ryozuki
@Learath2 so ur not hitting the merge button for a reason or?
It's because I don't want to merge it, forget about the antibot bump, then a deploy happens and everything breaks
Avatar
so i shouldnt merge it right
22:24
noted
Avatar
the antibot deploy and the server deploy needs to happen in a certain order in lockstep with an api bump
Avatar
can u put it in a comment
Avatar
@Robyt3 it seems weird that it's building with a system version of libpng because the build log says -- Found PNG: /Users/runner/work/TaterClient-ddnet/TaterClient-ddnet/ddnet-libs/png/mac/libfat/libpng16.16.dylib and -- * PNG not found (using bundled version) so how is it getting libpng-1.4.12. I confirmed the libpng16.16.dylib version is 1.6.43
Avatar
Avatar
Learath2
the antibot deploy and the server deploy needs to happen in a certain order in lockstep with an api bump
also ppl would say this is a devops skill issue
🤨 1
22:25
ngmi
22:26
i wanna know if im the only one down bad
22:26
does anybody here know what TPOT is
Avatar
Avatar
Ryozuki
does anybody here know what TPOT is
the power of two (bfdi)
Avatar
Avatar
oxyzo
the power of two (bfdi)
no xd
Avatar
i tried
Avatar
it means "this place of twitter" and its a bunch of 19y old or smth like that blabbering like they know about tech
22:27
and usually bad takes
22:27
like zig best
Avatar
Avatar
Ryozuki
also ppl would say this is a devops skill issue
eh, there is a world in which we'd have put the api version of the antibot within the filename so the deployment could be smoother
Avatar
Avatar
Learath2
eh, there is a world in which we'd have put the api version of the antibot within the filename so the deployment could be smoother
skill issue
Avatar
currently there is a timeframe within which some servers don't have server executables new enough to run the new antibot, so if a restart happens during that it's an immediate crash
Avatar
Avatar
Ryozuki
does anybody here know what TPOT is
brainrot slop for children
22:30
oh thats not what you meant
Avatar
>8 hours of sleep >6g creatine >Johnson&Johnson ketamine nasal spray >BPC-157 >white monster >sparkly pink butt plug >spin up docker containers >turn on cocomelon >100x lev long technology at the intersection of autonomous systems & decentralized finance
22:30
this is an example
22:30
of stupid tpot
Avatar
Avatar
Ryozuki
like zig best
sounds like a great take, smart people
Avatar
you think i reject llm because you think i am stubborn and hate ai i reject llm because i am doing it for the love of the game we are not the same
22:31
its about this pic
22:31
for ppl that dont wanna open it
Avatar
GitHub BOT 2025-01-23 22:32
c1de7ff Also print errors/warnings for png_create_read_struct function - Robyt3 f691a29 Merge pull request #9576 from Robyt3/Png-Create-Struct-Error-Handling - def-
Avatar
I also reject llm for the love of the game. Chat am I one of these twitter yappers? FrierenShook
22:33
i also dont use any ai for coding
22:33
programming is something i enjoy
22:33
and it probs sucks at rust
Avatar
There is only one single exception I make. I make chatgpt convert shitty documentation screenshots to golang structs
22:34
They make it so annoying with an html table so I can't properly copy it, they add a stupid description to the side, add a billion fields. Literal waste of my time manually transcribing down all the api fields and their types
Avatar
rest api dev hurdles
Avatar
we use openapi and i just generate bindings from the json
Avatar
Avatar
Ewan
we use openapi and i just generate bindings from the json
With my recent experience, I have learned that "developers" put out some absolute horseshit apis out there. This api I linked sends a field that has "flag" in the name, says boolean in the docs, but is actually sending the string true and false
22:42
Especially in the logistics industry they create absolute messes. Number fields that are sent as string with unknown precision
22:43
Fields that have different meaning when sent as null vs not sent at all
Avatar
Avatar
Learath2
With my recent experience, I have learned that "developers" put out some absolute horseshit apis out there. This api I linked sends a field that has "flag" in the name, says boolean in the docs, but is actually sending the string true and false
Yes, mine too
22:45
endpoints return an object BooleanDto with 1 field, “success” (edited)
justatest 1
22:46
The openapi way is pretty good
22:46
The progenitor crate can do some cool stuff and even generate http mock extensions for you
22:47
takes all the boilerplate out of writing a mock basically
Avatar
has anyone successfully compiled macos from a github runner or gotten one of the build artifacts to launch correctly?
22:52
I have a feeling I'm the first one to actually care
Avatar
ask mister a: buse
Avatar
Avatar
Tater
has anyone successfully compiled macos from a github runner or gotten one of the build artifacts to launch correctly?
I don't think those ever worked, we only ever used that CI to make sure it still compiles
Avatar
Avatar
Learath2
I don't think those ever worked, we only ever used that CI to make sure it still compiles
but like, why not? I don't think it should be impossible or even that hard to make them work
Avatar
Avatar
Tater
but like, why not? I don't think it should be impossible or even that hard to make them work
It just was never something we really cared about I guess. Only me, noby and at some point deen had macs, I never played on it, deen only used his for his job and noby probably built his own client
Avatar
hmm ok
Avatar
ihave mac but i would never play
Avatar
I fixed some macOS sdl issues because I'm very obsessive. Cleaned up the objective C stuff we had. Cleaned up some linking stuff. Didn't really touch it ever again after my mac broke
Avatar
Avatar
Learath2
I fixed some macOS sdl issues because I'm very obsessive. Cleaned up the objective C stuff we had. Cleaned up some linking stuff. Didn't really touch it ever again after my mac broke
the objective c stuff is deprecated
23:16
in macos 14.5 or smth
23:16
like it throws warns
23:16
about methods
Avatar
Avatar
Ryozuki
the objective c stuff is deprecated
What we have? I guess it might need an update
Avatar
.mm files
Avatar
I did all of this on Catalina, that's 10.15 I think
Avatar
deen's pc seems to be the only one capable of making a universal macos binary lol. I can't figure it out
Avatar
Do we ship fat binaries with both aarch64 and amd64?
Avatar
yeah it looks like it
Avatar
what fails?
Avatar
libpng is linking itself wrong
23:19
or something weird
23:19
see above convo
Avatar
Also I think our official mac build is still crossbuilt from linux, it might be an issue there too
23:19
interesting
23:19
maybe I should do that instead
Avatar
it is entirely possible no one really ever tried the build process on an actual mac
Avatar
Avatar
Tater
maybe I should do that instead
I remember it being quite annoying to set up osxcross, but you can try
Avatar
yeah it looked annoying
Avatar
You can also try to fix the native build, or you can donate me a mac and I can try fix the native build again 😄
23:21
ship me the mac, I ship it back after 😄
Avatar
I think the shipping costs more than the mac I'm using to test lol
Avatar
is it native aarch64? that might also be causing issues, back when I last made sure the mac thing still built natively aarch64 macs werent even a thing
23:22
I think it's like a 2015 mac mini or something
23:22
I forgot the year
Avatar
Ah, that's probably still amd64, yeah idk if you can build fat binaries on there, if anyone tested native builds recently it's deen and he has an apple silicon macbook iirc
Avatar
I'm not building it on this mac I'm just testing
23:24
it's building in the github runner
Avatar
Avatar
Learath2
it is entirely possible no one really ever tried the build process on an actual mac
tela builds it all the time
Avatar
Nice to hear someone still does 😄
Avatar
on x86 tho
Avatar
it's easier to build if it only needs to work on your system
Avatar
fwiw i built it fine
23:25
i got it on my work laptop briefly
23:25
played tclient
23:25
a month or so ago
Avatar
it's much harder to run into system library issues if you're building and running it on the same machine
23:26
anyway I'm close to making it work
Exported 843 message(s)
Timezone: UTC+0