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-02-14 00:00 and 2025-02-15 00:00
Avatar
Avatar
Hecta
A closer look at the tile menu. Forgot to add something too so here's the updated segment:
Made this popup make more sense A dot means it's index 0 An X mark means it's checking the NOTINDEX of the current position An ellipsis means there's more than 1 index for the current position rule
Avatar
Zerol Acqua 2025-02-14 01:49
thats cooool!
Avatar
Avatar
Hecta
Made this popup make more sense A dot means it's index 0 An X mark means it's checking the NOTINDEX of the current position An ellipsis means there's more than 1 index for the current position rule
cyberfighter 2 2025-02-14 02:11
this looks like the type o shit you find in ddnet rs
Avatar
Avatar
cyberfighter 2
this looks like the type o shit you find in ddnet rs
it was sort of inspired by the ddnet rs one
Avatar
Avatar
Hecta
A closer look at the tile menu. Forgot to add something too so here's the updated segment:
cyberfighter 2 2025-02-14 02:12
especially this
Avatar
tbh the old one sucked balls LOL
Avatar
cyberfighter 2 2025-02-14 02:13
sorry.. your popup isnt like the og teeworlds... its not crappy enough
Avatar
ur right
Avatar
Avatar
cyberfighter 2
sorry.. your popup isnt like the og teeworlds... its not crappy enough
Now it's sure to get merged in!!
Avatar
Avatar
MilkeeyCat
why is my prediction margin goes crazy when entities are off feelsbadman
MilkeeyCat 2025-02-14 07:17
@Jupstar ✪ do you have any ideas?
Avatar
Avatar
MilkeeyCat
why is my prediction margin goes crazy when entities are off feelsbadman
Jupstar ✪ 2025-02-14 08:35
I dunno maybe your PC power management
Avatar
MilkeeyCat 2025-02-14 08:35
but then my fps would also be bad, no?
Avatar
Jupstar ✪ 2025-02-14 08:36
Maybe your pc can't handle good internet and gpu usage at the same time
08:36
I have no other explanation for this. Sounds completely unrelated
Avatar
Avatar
Jupstar ✪
I have no other explanation for this. Sounds completely unrelated
MilkeeyCat 2025-02-14 08:58
Fixed by using ethernet 😬
Avatar
ws-client BOT 2025-02-14 09:11
<ChillerDragon> i am thinking about implementing anti bot using social engineering detection
09:12
<ChillerDragon> there is a surprisingly high amount of players that when asked which client they use they happily name cheat client names
Avatar
Avatar
ws-client
<ChillerDragon> there is a surprisingly high amount of players that when asked which client they use they happily name cheat client names
What if say ooga booga client as a joke?
Avatar
ws-client BOT 2025-02-14 09:13
<ChillerDragon> then you are legit
Avatar
but how does it know that I'm using sarcasm
09:14
That's some pretty advanced algo
Avatar
ws-client BOT 2025-02-14 09:14
<ChillerDragon> if you are being sarcastic to antibot and name a known cheat client then it is your fault you get kicked
09:14
<ChillerDragon> same as they never understand my bomb pranks at the airport
Avatar
Avatar
ws-client
<ChillerDragon> there is a surprisingly high amount of players that when asked which client they use they happily name cheat client names
I think if your bots regularly whisper the Russians asking if they're using Voldemort client and you're saying that you're using Voldemort client yourself I think most would confess xdf
09:15
Since they think they can play with you
Avatar
ws-client BOT 2025-02-14 09:15
<ChillerDragon> its like the good old are you are terrorist checkbox in some goverment forms
Avatar
Avatar
ws-client
<ChillerDragon> its like the good old are you are terrorist checkbox in some goverment forms
yea xddd
Avatar
ws-client BOT 2025-02-14 09:15
<ChillerDragon> i never know what it was for
09:16
<ChillerDragon> i think i know now
Avatar
ws-client BOT 2025-02-14 09:18
<ChillerDragon> imagine the trouble you can get into for fat fingering the wrong one
09:19
<ChillerDragon> thats much harder to not get wrong than not naming a cheat client
Avatar
Jupstar ✪ 2025-02-14 09:19
Imagine reading tourist
Avatar
ws-client BOT 2025-02-14 09:19
<ChillerDragon> oh boi
09:19
<ChillerDragon> yea there system is clearly flawed
09:20
<ChillerDragon> mine is better
Avatar
Avatar
Jupstar ✪
Imagine reading tourist
teerrorist
09:20
I'm real teerorist
Avatar
Jupstar ✪ 2025-02-14 09:20
Hello Sir, would you like to get banned for using cheats?
Avatar
ws-client BOT 2025-02-14 09:20
<ChillerDragon> yes
Avatar
Avatar
Teero
I'm real teerorist
Jupstar ✪ 2025-02-14 09:21
Indeed
Avatar
Avatar
Jupstar ✪
Hello Sir, would you like to get banned for using cheats?
Nooo it should be like "Hii in using Voldemort client wbu? I need someone to test the features with"
Avatar
ws-client BOT 2025-02-14 09:21
<ChillerDragon> что значит «cheats», я не знаю английского языка
Avatar
Avatar
Teero
Nooo it should be like "Hii in using Voldemort client wbu? I need someone to test the features with"
** in russian ofc
09:22
@zhn translate for me xd
09:22
I don't think deepl can do convincing russian
Avatar
ws-client BOT 2025-02-14 09:22
<ChillerDragon> its deepl generated xd
09:24
<ChillerDragon> i am not sure if you guys understand the effectiveness
09:24
<ChillerDragon> this guy just told me in game that he found a good tactic to not get kicked by me. And it is turning off cheats when i join.
justatest 2
Avatar
Avatar
ws-client
<ChillerDragon> this guy just told me in game that he found a good tactic to not get kicked by me. And it is turning off cheats when i join.
Tbh voting them out on kog is impossible. On 64 rus server there are at least 10-20% botters
Avatar
ws-client BOT 2025-02-14 09:37
<ChillerDragon> botters vote botters on my servers
09:37
<ChillerDragon> its the botters that complain the loudest about other botters
09:38
<ChillerDragon> kick votes pass on my server and it requires 80% yes :D
09:38
<ChillerDragon> can we improve the censorlist somehow?
09:38
<ChillerDragon> like add confusable support
09:38
<ChillerDragon> "Upgraded" == "Upgradеd"
09:39
<ChillerDragon> is False according to python
09:39
<ChillerDragon> but i want to censor one if i added the other to my censorlist.txt
Avatar
well are these two the same string? or does one have a different unicode character
09:51
unicode normalization should/could do the trick (edited)
Avatar
Avatar
ws-client
<ChillerDragon> "Upgraded" == "Upgradеd"
huh >>> "Upgraded" == "Upgradеd" False >>> str("Upgraded") == str("Upgraded") True
10:07
unless you are doing some utf8 bullshit with me
10:09
that e is weird
10:09
>>> str1 = "Upgraded" >>> str2 = "Upgradеd" >>> for i, c in enumerate(str2): ... print(str1[i] == c) ... True True True True True True False True
Avatar
cryllic e instead of latin e
10:11
first e: 'e': U+0065 second e: 'е': U+0435
Avatar
I guess banning by name doesn't make sense anyway
Avatar
ws-client BOT 2025-02-14 10:17
<ChillerDragon> banning by name?
Avatar
or censoring, every measure you'll take sb. will work around
Avatar
ws-client BOT 2025-02-14 10:19
<ChillerDragon> yes
10:19
<ChillerDragon> thats why the baseline should already filter out confusables to make the cat and mouse game less annoying
Avatar
I guess your best bet would be an offensive-name-AI which is trained and maintained by others
justatest 1
Avatar
ws-client BOT 2025-02-14 10:20
<ChillerDragon> wtf
Avatar
and hope it catches the edge-cases you normally wouldn't with generalization
Avatar
ws-client BOT 2025-02-14 10:21
<ChillerDragon> im pretty sure filtering invisble unicode and supporting confusables would go a long way
Avatar
what is your goal? silent renames?
Avatar
ws-client BOT 2025-02-14 10:22
<ChillerDragon> avoid ads for bot clients spreading
Avatar
yeah that can be done with pattern-matching around certain keywords and unicode normalization
Avatar
I guess filtering for https: and www would already do much
Avatar
ws-client BOT 2025-02-14 10:22
<ChillerDragon> there isnt a single http or www
10:23
<ChillerDragon> its all domains and telegram channels
10:23
<ChillerDragon> and they dont change
Avatar
Avatar
meloƞ
yeah that can be done with pattern-matching around certain keywords and unicode normalization
we handled that on Blockworlds with that - works decent, tho you get false positives sometimes, but since we log that on discord its easy to catch
10:24
e.g people just trolling by making troll whispers etc.
Avatar
ws-client BOT 2025-02-14 10:24
<ChillerDragon> false positives?
10:24
<ChillerDragon> ah
10:24
<ChillerDragon> okay only troll tho right
Avatar
because we just matched on "bro, check out this client" - without the last part
10:24
ye
Avatar
ws-client BOT 2025-02-14 10:24
<ChillerDragon> i sent that a lot
KEKW 1
10:24
<ChillerDragon> i think its funny af
Avatar
based
10:24
cammodude does that on copylovebox constantly
10:24
bro, check out this client: ddnet.org
Avatar
ws-client BOT 2025-02-14 10:24
<ChillerDragon> good one
Avatar
"bro, check out this client github.com/ddnet/ddnet"
Avatar
Avatar
Assa
"bro, check out this client github.com/ddnet/ddnet"
"stop sending me malware links"
Avatar
ws-client BOT 2025-02-14 10:25
<ChillerDragon> axaxax
Avatar
chiller, the most german dude living somewhere on beach laughing in russian you're really scared the finanzamt may find you, innit?
Avatar
ws-client BOT 2025-02-14 10:26
<ChillerDragon> justatest
Avatar
I wish to send you a scammy looking url just sending you to ddnet.org, but I can't find the service anymore, it was amazing 😦
Avatar
hyperlinks go BRRRRR
10:33
hmm
Avatar
it won't let you put http://a.b in the [] part
10:34
nice dc feature
Avatar
The way I made that fake link was actually sending two links, one with [h] and the other with [ttps://blah]
Avatar
Avatar
Assa
I wish to send you a scammy looking url just sending you to ddnet.org, but I can't find the service anymore, it was amazing 😦
arch1t3cht 2025-02-14 10:34
10:36
but I think the one I remember was different
Avatar
take a look at the "trumpify" option 🤣
10:36
service seems not to work btw
Avatar
how are custom colors applied to a skin? I'm trying (again) to make a tee renderer and I can't figure it out from the cpp code how custom colors are applied to the body/feet
Avatar
it's complicated, you kinda just have to read the code that does it
10:53
there's very little logic to why it works the way it does
Avatar
Avatar
Tater
it's complicated, you kinda just have to read the code that does it
Im not even sure where that is
10:57
I get the general idea of graying the skin before applying color
10:57
but how to actually do it I have no idea
Avatar
Avatar
Sans
Im not even sure where that is
DDraceNetwork, a free cooperative platformer game. Contribute to ddnet/ddnet development by creating an account on GitHub.
Avatar
the only thing about colors there is choosing random colors for the random skin button
Avatar
Avatar
Sans
the only thing about colors there is choosing random colors for the random skin button
See "LoadSkin" method
Avatar
@Teero @ChillerDragon do you still need it
Avatar
Avatar
zhn
@Teero @ChillerDragon do you still need it
wdym? The antibot cheater whisper message detector? xd
Avatar
Avatar
Tater
See "LoadSkin" method
This part here?
Avatar
After that
11:34
You'll need to check the convert to greyscale method also
Avatar
ah the reorder thing, isnt that just converting it to grayscale?
Avatar
no this is all pretty much "for fun" changing the values afaik but you'll need to copy it
11:36
I think ConvertToGreyscale does what it says
Avatar
Avatar
Teero
wdym? The antibot cheater whisper message detector? xd
ye
11:40
8bd743b Consistently use classes instead of structs for all mapitems - Robyt3 258010c Merge pull request #9673 from Robyt3/Mapitems-Classes-Only - heinrich5991
Avatar
Avatar
Hecta
Now it's sure to get merged in!!
cyberfighter 2 2025-02-14 12:06
cammostripes
Avatar
GitHub BOT 2025-02-14 12:45

what works

I managed to get antibot to work in different ways nothing felt good. Here is what worked for me: 1. The most straightforward way is editing antibot_null.cpp in place. That just works without any further configuration other than -DANTIBOT=ON. I have seen that being used by others. I do not like it because all my server code is open source and having only the antibot ...
Avatar
mod opaque_vec { extern fn malloc(size: u64) -> *mut u8; extern fn realloc(ptr: *mut u8, size: u64) -> *mut u8; struct OpaqueVec { ptr: *mut u8, len: u64, cap: u64, element_size: u64, } impl OpaqueVec { pub fn push<T>(&mut self, value: T) { if self.len <= self.cap { let new_cap: u64 = self.cap * 2; self.ptr = realloc(self.ptr, self.element_size * new_cap); self.cap = new_cap; } let target_ptr: *mut T = (self.ptr + (self.len * self.element_size)) as *mut T; *target_ptr = value; self.len = self.len + 1; } pub fn get<T>(&self, at: u64) -> &T { // todo: bounds check let target_ptr: *mut T = (self.ptr + (at * self.element_size)) as *mut T; return target_ptr as &T; } } fn main() -> i32 { // Still missing impl static methods. let element_size: u64 = 4; let mut vec: OpaqueVec = OpaqueVec { ptr: malloc(element_size * 32), len: 0, cap: 32, element_size: element_size, }; vec.push::<i32>(2); vec.push::<i32>(3); vec.push::<i32>(4); vec.push::<i32>(5); let pushed: &i32 = vec.get::<i32>(2); return *pushed; } } @MilkeeyCat no impl<T> generics yet, but i managed to get this compiling and it works, returns 4
13:46
im also missing a sizeof intrinsic
13:46
which would make this simpler xd
Avatar
Avatar
Ryozuki
mod opaque_vec { extern fn malloc(size: u64) -> *mut u8; extern fn realloc(ptr: *mut u8, size: u64) -> *mut u8; struct OpaqueVec { ptr: *mut u8, len: u64, cap: u64, element_size: u64, } impl OpaqueVec { pub fn push<T>(&mut self, value: T) { if self.len <= self.cap { let new_cap: u64 = self.cap * 2; self.ptr = realloc(self.ptr, self.element_size * new_cap); self.cap = new_cap; } let target_ptr: *mut T = (self.ptr + (self.len * self.element_size)) as *mut T; *target_ptr = value; self.len = self.len + 1; } pub fn get<T>(&self, at: u64) -> &T { // todo: bounds check let target_ptr: *mut T = (self.ptr + (at * self.element_size)) as *mut T; return target_ptr as &T; } } fn main() -> i32 { // Still missing impl static methods. let element_size: u64 = 4; let mut vec: OpaqueVec = OpaqueVec { ptr: malloc(element_size * 32), len: 0, cap: 32, element_size: element_size, }; vec.push::<i32>(2); vec.push::<i32>(3); vec.push::<i32>(4); vec.push::<i32>(5); let pushed: &i32 = vec.get::<i32>(2); return *pushed; } } @MilkeeyCat no impl<T> generics yet, but i managed to get this compiling and it works, returns 4
MilkeeyCat 2025-02-14 13:47
and I finally understood how to generate idiv instruction 😬
Avatar
nice
Avatar
MilkeeyCat 2025-02-14 13:47
im yoinking llvm ir and making it worse
13:48
and i could figure out how to generate code for %p = sdiv %lhs, 5, because on x86-64 rhs has to be either a register or a memory
Avatar
@MilkeeyCat this is for ur backend right?
Avatar
MilkeeyCat 2025-02-14 13:50
ye
Avatar
is the backend api in rust?
13:51
nice
13:51
does it have or u plan on having like a builder api
13:51
like inkwell
13:51
if u get smth working im up for making a mini lang using it
13:51
in fact if it does have enough stuff i could add it as a backend for the lang im making xD (edited)
Avatar
MilkeeyCat 2025-02-14 13:51
ill use it for meraki gigachad
13:51
if i ever finish it xd
13:51
gl 🫡
13:52
@MilkeeyCat do you know GEP?
Avatar
MilkeeyCat 2025-02-14 13:52
no
Avatar
gep is how u index a pointer in llvm
13:53
it calculates the final address
13:53
from type sizes and offsets
13:53
it can do it at comp time or runtime
13:53
its a llvm ir instruction
13:53
probably the most important
13:53
since it also is used to know about aliasing
Avatar
MilkeeyCat 2025-02-14 13:55
interesting, rn im trying to make a simple return statement with 1 + 2 expression work
Avatar
Avatar
Tater
I think ConvertToGreyscale does what it says
nailed it
14:26
why_god_why
Avatar
mod vec { extern fn malloc(size: u64) -> *mut u8; extern fn realloc(ptr: *mut u8, size: u64) -> *mut u8; struct Vec<T> { ptr: *mut T, len: u64, cap: u64, // needed cuz missing sizeof instrinsic type_size: u64, } impl<T> Vec<T> { pub fn push(&mut self, value: T) { if self.len <= self.cap { let new_cap: u64 = self.cap * 2; self.ptr = realloc(self.ptr as *mut u8, self.type_size * new_cap) as *mut T; self.cap = new_cap; } let target_ptr: *mut T = (self.ptr + (self.len * self.type_size)) as *mut T; *target_ptr = value; self.len = self.len + 1; } pub fn get(&self, at: u64) -> &T { // todo: bounds check let target_ptr: *mut T = (self.ptr + (at * self.type_size)) as *mut T; return target_ptr as &T; } } pub fn new_vec<T>(type_size: u64) -> Vec<T> { let vec: Vec<T> = Vec::<T> { ptr: malloc(type_size * 32) as *mut T, len: 0, cap: 32, type_size: type_size, }; return vec; } fn main() -> i32 { // Still missing impl static methods. let type_size: u64 = 4; let mut vec: Vec<i32> = new_vec::<i32>(type_size); vec.push(2); vec.push(3); vec.push(4); vec.push(5); let pushed: &i32 = vec.get(2); return *pushed; } } @MilkeeyCat even better, got impl generics working owo
Avatar
MilkeeyCat 2025-02-14 14:29
epyc
14:29
did you fix the bug which was making the compiler panic if the body of if is empty?
14:46
no ill check
Avatar
@Learath2 @MilkeeyCat i had a realization right now
14:59
do you know ELF?
14:59
do you know DWARF?
14:59
who is the genius that named both as some mythologic stuff?
14:59
elfs and dwarfs
14:59
justatest
15:00
what would be the hobbit
Avatar
I ama dwarf and I'm digging a hole
Avatar
Avatar
Ryozuki
what would be the hobbit
Hierarchically Optimal Block Backed Intrusive Tree
15:03
Go forth and spread the word of the HOBBIT pattern
Avatar
MilkeeyCat 2025-02-14 15:08
waiting for GOBLIN or CHIMERA format to come out
Avatar
Avatar
Learath2
Hierarchically Optimal Block Backed Intrusive Tree
does this exist
15:09
pog
15:10
@Learath2 oh llvm jit is named ORC
Avatar
Avatar
Ryozuki
does this exist
No it does not, I just made it up. We need to develop it and spread it
Avatar
Avatar
Ryozuki
who is the genius that named both as some mythologic stuff?
arch1t3cht 2025-02-14 15:16
afaik elf was a coincidence and dwarf was specifically chosen to match elf
Avatar
anyone interested in giving some feedback for #9670 justatest ? I have some time on the weekend to work on it
Avatar
As multiple times discussed in the discord, the current speedtile implementation is outdated, spaghetti code and very buggy causing multiple bugs. These bugs are deliberately abused by multiple map...
Avatar
Avatar
Assa
anyone interested in giving some feedback for #9670 justatest ? I have some time on the weekend to work on it
squash commits, remove unncesessary comments like "old buggy shitty spaghetti behavior" 15Socialcredit
15:34
better comment for old tile than "Very buggy"
Avatar
This comment was really necessary, not for the code, but for me to keep sane I'll cleanup and squash 👍
Avatar
Avatar
Assa
This comment was really necessary, not for the code, but for me to keep sane I'll cleanup and squash 👍
also can explain in explainDdnet func why the new tile is better
15:39
since it still has bugs like the one i sent in the pr
Avatar
What would be your way to explain this? I am aware of ~ 4 bugs this fixes, 4 videos?
Avatar
idk with old hookthrough all its done is just "outdated" sprite for it so whoever implemented that didnt have an idea either
Avatar
The sprites are yet another topic, I am in touch with maptesters, who want to rework the look of speedtiles fully anyway
Avatar
@Assa i love these new speedups
15:49
i was able to make some fun hookstrength specific stuff
Avatar
@Assa also tiles have names with _ instead of spaces so it should be BOOST_2
15:57
but 2 is bad name, "new" or smth would be better i think
15:58
fng has FNG_SPIKE_NAME and FNG_SPIKE_OLD for example
Avatar
I crunshed everything to 1 commit, the new text reads "OLD SPEEDUP: Gives tee defined speed. Arrow shows direction and angle. Deprecated." I guess this is professional enough
16:05
So you'd like to rename the internal mapitem from TILE_BOOST to TILE_BOOST_OLD and TILE_BOOST_NEW ?
Avatar
probably
16:05
how is it done for hookthrh
Avatar
@Souly is that second clip with old speedtiles? no its not, the other tee just doesn't move 😄 (edited)
16:07
I don't understand what you're doing in the clips xD
Avatar
no its just air_friction 1 0 and -1 on tune zone
Avatar
oh interesting
Avatar
Avatar
Ryozuki
mod vec { extern fn malloc(size: u64) -> *mut u8; extern fn realloc(ptr: *mut u8, size: u64) -> *mut u8; struct Vec<T> { ptr: *mut T, len: u64, cap: u64, // needed cuz missing sizeof instrinsic type_size: u64, } impl<T> Vec<T> { pub fn push(&mut self, value: T) { if self.len <= self.cap { let new_cap: u64 = self.cap * 2; self.ptr = realloc(self.ptr as *mut u8, self.type_size * new_cap) as *mut T; self.cap = new_cap; } let target_ptr: *mut T = (self.ptr + (self.len * self.type_size)) as *mut T; *target_ptr = value; self.len = self.len + 1; } pub fn get(&self, at: u64) -> &T { // todo: bounds check let target_ptr: *mut T = (self.ptr + (at * self.type_size)) as *mut T; return target_ptr as &T; } } pub fn new_vec<T>(type_size: u64) -> Vec<T> { let vec: Vec<T> = Vec::<T> { ptr: malloc(type_size * 32) as *mut T, len: 0, cap: 32, type_size: type_size, }; return vec; } fn main() -> i32 { // Still missing impl static methods. let type_size: u64 = 4; let mut vec: Vec<i32> = new_vec::<i32>(type_size); vec.push(2); vec.push(3); vec.push(4); vec.push(5); let pushed: &i32 = vec.get(2); return *pushed; } } @MilkeeyCat even better, got impl generics working owo
have problem?
Avatar
no, i make the problems
troll 1
Avatar
Avatar
Ryozuki
no, i make the problems
amm
Avatar
ai generated replies
Avatar
Avatar
louis
probably
its done like TILE_FNG_OLD1, TILE_FNG_OLD2, ... and the new ones are name TILE_FNG_BLUE, TILE_FNG_RED, ...
16:13
Guess I'll rename them, TILE_BOOST is also a strange name
Avatar
Avatar
Ryozuki
mod vec { extern fn malloc(size: u64) -> *mut u8; extern fn realloc(ptr: *mut u8, size: u64) -> *mut u8; struct Vec<T> { ptr: *mut T, len: u64, cap: u64, // needed cuz missing sizeof instrinsic type_size: u64, } impl<T> Vec<T> { pub fn push(&mut self, value: T) { if self.len <= self.cap { let new_cap: u64 = self.cap * 2; self.ptr = realloc(self.ptr as *mut u8, self.type_size * new_cap) as *mut T; self.cap = new_cap; } let target_ptr: *mut T = (self.ptr + (self.len * self.type_size)) as *mut T; *target_ptr = value; self.len = self.len + 1; } pub fn get(&self, at: u64) -> &T { // todo: bounds check let target_ptr: *mut T = (self.ptr + (at * self.type_size)) as *mut T; return target_ptr as &T; } } pub fn new_vec<T>(type_size: u64) -> Vec<T> { let vec: Vec<T> = Vec::<T> { ptr: malloc(type_size * 32) as *mut T, len: 0, cap: 32, type_size: type_size, }; return vec; } fn main() -> i32 { // Still missing impl static methods. let type_size: u64 = 4; let mut vec: Vec<i32> = new_vec::<i32>(type_size); vec.push(2); vec.push(3); vec.push(4); vec.push(5); let pushed: &i32 = vec.get(2); return *pushed; } } @MilkeeyCat even better, got impl generics working owo
have any problms or what
16:13
xd
Avatar
yes, that you dont know english
16:14
pls
16:14
dont spam
16:15
u dont even know what u talking about
16:15
my god
16:15
xD
Avatar
bro actually you so bipolar
Avatar
no im just making fun of ur ignorance
16:16
what u quoted is my own language not rust
16:16
ur ai shit wont help u
16:16
i didnt have any issue
16:16
i was just showing off my work
16:16
so get out of here
Avatar
Avatar
Ryozuki
i was just showing off my work
Koll Potato 2025-02-14 16:16
im jealous of ur lang
Avatar
this guy actually looks like a ai chatbot or smth
Avatar
Avatar
Ryozuki
this guy actually looks like a ai chatbot or smth
You are a stupid person and dancer (edited)
Avatar
@louis @kebs refactored/renamed/replaced all TILE_BOOST tiles (and the new ones as well)
👍 2
Avatar
okey nice
Avatar
Avatar
MAhdiyar
You are a stupid person and dancer (edited)
bro really throws arrows
Avatar
@Assa hopefully maintainers will merge it
Avatar
If they do I'll add more features I have in mind for speedups 🙂
16:20
wdym
Avatar
i had an idea
16:22
a delayed speedup
Avatar
2 other speedup related tiles:
  • max-speed tile, just slowing you down to max-speed in any direction, a speed limiting tile, or in trackmania similar to cruise control, no force is applied here
  • a speed setting tile. Set max-speed into direction immediately, just SET
(edited)
Avatar
u pass the speedup tile and the velocity is applied after X seconds
16:22
cool parts
Avatar
trol tile
Avatar
no u
Avatar
Avatar
Assa
2 other speedup related tiles:
  • max-speed tile, just slowing you down to max-speed in any direction, a speed limiting tile, or in trackmania similar to cruise control, no force is applied here
  • a speed setting tile. Set max-speed into direction immediately, just SET
(edited)
id stray away from too complex stuff
Avatar
these are less complex then the current one
Avatar
after all ddnet gave mappers spinners and pullers and look what mappers made
Avatar
Avatar
Assa
@louis @kebs refactored/renamed/replaced all TILE_BOOST tiles (and the new ones as well)
i think should be kept boost instead of speedup, since theres plans to add new tiles
16:24
and speedup is the name of entire layer
Avatar
ddnet gave tune zones and up and down happened
Avatar
when speedup is the name of the layer, then speedup_tile is the tile of the layer
16:24
this is exactly why I named it like this xD
16:24
why does the game layer have game-tiles?
Avatar
it has tile_hookable tile_jump etc not tile_game
Avatar
what about TILE_TUNE?
Avatar
tune has no other tiles
Avatar
speedup currently doesn't either
Avatar
i mean if you want to add new tiles it shouldnt be named like entire layer
16:26
for future
Avatar
why is it named speedup layer anyway, if it can slow you down? nouis
Avatar
ws-client BOT 2025-02-14 16:29
<ChillerDragon> @zhn i am not sure i understand your "do you still need it" message
Avatar
i would keep it boost since it boosts
Avatar
scientificly it would be an accelerator, like in a particel accelerator, but for Tees, so it's a TILE_TEE_ACCELERATOR
Avatar
and to not confuse when it was called boost before
Avatar
I mean in the end I don't care, these are just semantics
Avatar
ws-client BOT 2025-02-14 16:30
<ChillerDragon> @Assa bro, checkout this illuminati spelled backwards Itanimulli.com
Avatar
Avatar
ws-client
<ChillerDragon> @Assa bro, checkout this illuminati spelled backwards Itanimulli.com
!ban all_bridges 0
16:30
Damn bot not working again pepeRage (edited)
Avatar
ws-client BOT 2025-02-14 16:31
<ChillerDragon> justatest
Avatar
TILE_ILUMINATI: "Makes the Tee triangle formed, helps to spawn Cthulu"
Avatar
ws-client BOT 2025-02-14 16:31
<ChillerDragon> did you visit the url?
16:32
<ChillerDragon> was a response to ur message from 11:30
16:32
<ChillerDragon> > I wish to send you a scammy looking url just sending you to ddnet.org, but I can't find the service anymore, it was amazing 😦
Avatar
lmao, nsa
Avatar
ws-client BOT 2025-02-14 16:32
<ChillerDragon> deep state confirmed
16:33
<ChillerDragon> i just found out nsa.gov uses letsencrypt thats hilarious somehow
16:33
<ChillerDragon> if my bank would use letsencrypt i would assume i clicked on a phising link somehow
Avatar
@kebs what about TILE_SPEED_BOOST so we have THING_DOMAIN_INSTANCE
Avatar
Avatar
Assa
why is it named speedup layer anyway, if it can slow you down? nouis
because slowing down is just speeding up in the opposite direction 🧠
Avatar
ws-client BOT 2025-02-14 16:36
<ChillerDragon> ETile::SPEED_BOOST
Avatar
Avatar
Chairn
because slowing down is just speeding up in the opposite direction 🧠
Speed is always relative to the observer. You, as a player, never have any speed, you just move the world around you
poggers2 1
16:40
I guess we need a developer-important channel, where we can post but have a slow-down mode so we can put important stuff there and keep illuminating us here
Avatar
chillerdragon BOT 2025-02-14 16:41
Sounds good
16:41
Oh wait no. If you want stuff to not be forgotten open an GitHub issue, problem solved
Avatar
Oh yeah, like my github issue from 4 years ago, that totally wasn't forgotten. You may ask which one, ...
Avatar
At least the discussion isn't lost on github. Here it's pretty much gone without insane search skills
Avatar
I must say I open a lot of issues, some of them got "won't fix", every crashlog I ever send was solved like immediately
Avatar
Don't take wontfix too personally. We can't just say yes to everything, we also have a vision for the game
Avatar
I don't take that personally at all, I am just a villian pointing out gamebreaking issues that can't be solved without breaking backwards compatibility
Avatar
The one nice thing about having a discussion here is the real-time back and forth. You can figure out stuff that would take like 10 github comments with hours inbetween within minutes
Avatar
Also it's not like nothing comes around, the elasticity tuning was merged so now we have cool bouncy tiles with other side effects
Avatar
Avatar
Assa
Speed is always relative to the observer. You, as a player, never have any speed, you just move the world around you
no it's not in general relativity
Avatar
GitHub BOT 2025-02-14 17:10
if you unlock your team before finishing you get put in t0 so why cant you join t0 afterwards?
Avatar
somone merge #7729 for real
Avatar
I often play in locked teams out of convenience. Yet I often find myself stuck in the team after I have already finished, while unlocked teams automatically get moved to team 0. These changes allow...
Avatar
Avatar
Chairn
no it's not in general relativity
Let's implement proper physics at relativistic speeds
Avatar
Avatar
always
somone merge #7729 for real
I'm guessing everyone is scared of introducing cheats 😄
17:22
I'll think about it over food see if I can spot an exploit. If not I guess I can merge it
Avatar
Avatar
Learath2
Let's implement proper physics at relativistic speeds
I guess having max speed behave like speed of light would't be that bad opposed to ramp, but the backwards compatibility
Avatar
Avatar
Learath2
I'm guessing everyone is scared of introducing cheats 😄
there are no cheats
Avatar
Avatar
Assa
I guess having max speed behave like speed of light would't be that bad opposed to ramp, but the backwards compatibility
Eh, I've thought about this before, there is just not much value to fixing these quirks about movement. Most movement happens slower than the weird part of the curve and the other side of the curve is usually only used for weird glitches for parts
Avatar
its the same as if you had your team unlocked
Avatar
However, there is a way to fix it. We just fix it for new maps and for new clients, old clients just won't be allowed to join when those maps are being played
Avatar
Avatar
Learath2
Eh, I've thought about this before, there is just not much value to fixing these quirks about movement. Most movement happens slower than the weird part of the curve and the other side of the curve is usually only used for weird glitches for parts
well you hit the curve on some maps
17:40
run_blue type maps
17:40
you can also tell that you can't move <- -> as easily when you're falling real fast
Avatar
Avatar
louis
well you hit the curve on some maps
I did say most 😄
Avatar
i wonder how they even did the curve
17:42
isn't the easier/more intuitive way to implement air resistance somehow?
17:44
also unrelated but i would have the jump button jump less if you tap it quickly if i made teeworlds for the first time (edited)
Avatar
Avatar
Learath2
I'll think about it over food see if I can spot an exploit. If not I guess I can merge it
you can use sg bug after finish and restarts with weapon or whatever other path you could achieve with this
Avatar
Avatar
Chairn
you can use sg bug after finish and restarts with weapon or whatever other path you could achieve with this
you can already
17:51
do that by unlocking the team
17:51
every finishes except 1 tee
17:51
someone in t0 goes to a spot and someone in the team goes to the same spot (edited)
17:51
last tee disconnects, putting the team in t0 (edited)
17:52
and they can sg bug
17:52
so merging this doesnt really change much
17:52
except for making it a little bit easier
Avatar
oh true
17:53
you can stack one more tee than without
17:53
but then you could just finish the map x times
Avatar
well, whatever, game has been a mess since start 😄
Avatar
can't you much easily more stack like 40 tees in a single block with that change
17:54
if everyone just goes /team 0 sequentially
Avatar
yeah but you can already do that
17:54
just makes it easier
Avatar
yeah, like 40x easier
Avatar
true
Avatar
GitHub BOT 2025-02-14 17:58
2c1f1a6 Add arguments handling to shell_execute - KebsCS 1b161aa Add test map locally - KebsCS 840bc19 Merge pull request #9092 from KebsCS/pr-test-map-locally - Robyt3
Avatar
GitHub BOT 2025-02-14 18:23

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 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-addres...
Avatar
Avatar
louis
isn't the easier/more intuitive way to implement air resistance somehow?
Well teeworlds physics have no concept of acceleration/force in the traditional sense and the natural way to describe drag is in terms of a velocity dependent force
Avatar
example: friction only applies if the player doesnt move
18:54
*input moves
Avatar
i mean friction doesnt apply to a rolling bicycle in the same way it does to a braked bicycle (edited)
Avatar
So you can just apply the drag to velocity instead by first integrating the drag force to figure out the change in velocity. After that I'm guessing most game developers would just pick some curve instead of doing that integral 😄
Avatar
most game devs: if speed > max_speed: speed = max_speed
Avatar
I probably would have picked the logistic function as my curve, but then it's not very cheap to calculate
19:08
Perhaps something like x/sqrt(x^2 + 1) is cheaper to calculate and can be molded into the shape needed
19:10
or if you want proper drag I guess that could be had too, the integral of the drag force depends on the previous velocity though, so it wouldn't be a function of the new internal velocity as it was previously
19:10
That also could be why old games never really bothered with proper drag when it can be mimiced
Avatar
Avatar
Assa
most game devs: if speed > max_speed: speed = max_speed
I guess this is also an option, a piecewise function is not too bad perhaps even behaves better than what we have right now 😄 (edited)
19:22
1a62a96 Mark most color functions as constexpr - Robyt3 7d07697 Merge pull request #9678 from Robyt3/Base-Color-Constexpr - heinrich5991
Avatar
Yo is there a way to select own masterservers clientside?
19:29
as a config or smth? or file?
Avatar
Jupstar ✪ 2025-02-14 19:33
a file yeah
Avatar
MilkeeyCat 2025-02-14 19:35
you can put them in ddnet-serverlist-urls.cfg?
Avatar
okay thx that's what I was looking for
Avatar
GitHub BOT 2025-02-14 21:16
b0d3aa9 Add test for ClosestCharacter() - ChillerDragon c51ef72 Merge pull request #9643 from ChillerDragon/pr_ddnet_first_gameworld_test - heinrich5991
Avatar
ws-client BOT 2025-02-14 21:43
<ChillerDragon> help
Avatar
MilkeeyCat 2025-02-14 21:44
dont use cheat clients santatrollet
Avatar
ws-client BOT 2025-02-14 21:45
<ChillerDragon> to be fair chillerbot-zx is a cheat client
21:45
<ChillerDragon> but this server even "detects" regular ddnet as voldemort client
21:46
<ChillerDragon> does some1 want to be my spy on their server and ask them to fix selfcompiled ddnet support
21:47
<ChillerDragon> @Unknown
Avatar
MilkeeyCat 2025-02-14 21:47
unknown user
Avatar
ws-client BOT 2025-02-14 21:47
<ChillerDragon> sadge
Avatar
Avatar
ws-client
<ChillerDragon> does some1 want to be my spy on their server and ask them to fix selfcompiled ddnet support
Self built skill issue
21:48
Just join their discord server Clueless
21:48
Oh wait.. Finanzamt still looking for you amiright
Avatar
ws-client BOT 2025-02-14 21:48
<ChillerDragon> could u join it for me thanks xd
Avatar
Wdym join, I'm an honorable member
Avatar
ws-client BOT 2025-02-14 21:49
<ChillerDragon> tell them to stop advertising voldemort client to open source enjoyers
21:49
21:49
Honorable member!
Avatar
ws-client BOT 2025-02-14 21:51
<ChillerDragon> nvm its not a selfcompile ban
21:51
<ChillerDragon> its a linux ban xd website version doesnt work either
Avatar
Avatar
ws-client
<ChillerDragon> its a linux ban xd website version doesnt work either
No, Teero, me, and a lot of other Linux enjoyers can play there no problem
Avatar
ws-client BOT 2025-02-14 21:51
<ChillerDragon> steam?
Avatar
@Daniel tell this Chillerdragon dude how to join awb
Avatar
ws-client BOT 2025-02-14 21:52
<ChillerDragon> or website
21:52
<ChillerDragon> this cant join
Avatar
Avatar
ws-client
<ChillerDragon> or website
Steam / self build, also t-client. Every client works
Avatar
ws-client BOT 2025-02-14 21:54
<ChillerDragon> rly?
21:54
<ChillerDragon> u can join with selfcompiled ddnet here 140.82.38.41:8301 ?
21:54
<ChillerDragon> @meloƞ show me
Avatar
Man I'm in bed :(
Avatar
Jupstar ✪ 2025-02-14 22:17
ip grabber
Avatar
Avatar
meloƞ
@Daniel tell this Chillerdragon dude how to join awb
https://v.awb-clan.com Click "verify me" after cf turnstile did his thing and then wait 15s(60s if you want to be sure) and you can join all our ddos protected Gore's secer @ChillerDragon
AwB-Clan | Verify
Avatar
ws-client BOT 2025-02-14 22:36
<ChillerDragon> @Daniel why does the error message not say that?
22:36
<ChillerDragon> why does it advertise cheat clients instead?
22:36
<ChillerDragon> also didnt help btw
Exported 402 message(s)
Timezone: UTC+0