Guild icon
DDraceNetwork
Development / developer
Development discussion. Logged to https://ddnet.tw/irclogs/ Connected with DDNet's IRC channel, Matrix room and GitHub repositories — IRC: #ddnet on Quakenet | Matrix: #ddnet-developer:matrix.org GitHub: https://github.com/ddnet
Between 2022-10-24 00:00:00Z and 2022-10-25 00:00:00Z
Avatar
just curious, if you guys were to change the ui in any way, which aspects would you want to change?
Avatar
change most of the querying chat commands to pop up boxes with better gfx
Avatar
48a0a27 R NUT Hardcore UNITED, R NUT_hardcore_bestof, R NUT_hardcore_race1, R NUT_hardcore_race2, R NUT_hardcore_race3, R NUT_hardcore_race4, R NUT_hardcore_race5, R NUT_hardcore_race6, R NUT_race1, R NUT_race2, R NUT_race3, R NUT_race4, R NUT_race5, R NUT_race6, R NUT_race7, R NUT_race8, R NUT_race9, R NUT_short_race1, R NUT_short_race2, R NUT_short_race3, R NUT_short_race4, R NUT_short_race5, R NUT_short_race6, R NUT_short_race7, R #MegaRosenkohl, R -Ikarus-, R 21, R Adrenaline 3, R Alpaga, R Ambrosia, R Arcade 2, R Arcade, R AreaOfEffect, R At Night, R Beachmap, R Besbex, R Best Of, R Black & Red, R Black_City, R Blizzard!, R Blue Hell, R BrokenBlack-1, R Brownie, R Chaos 1, R Chaos 2, R Chaos 3, R Chaos 4, R Cloud Nine, R Cocaine, R Confusion, R CrazyHOOD, R Creative, R Curse, R DawnOfDust, R Day, R DayWalker, R Dead Island, R Deadline 1, R Deadline 2, R DeathClaw, R Dels 2, R Dels 3, R Dels, R Deria, R Difficult 1.1, R Difficult 1.2, R Difficult 1.3, R Difficult 2.1, R Difficult 2.2, R Difficult 2.3, R Divided, R DoT, R Dragonscale, R Dreadful, R Easy Way, R Eclipse, R Elo-Hell, R Energie, R Equalize!, R Executive, R Explosive, R Fantabob, R Fly to the Moon, R Forever, R Four Gates, R Gold Rush, R Hard Way 1.0, R HardcoreZ, R HearTbeaT, R HearTcross, R Hell Fly, R Imagination3, R Insane 2, R Insane 3, R Insane, R Inspire, R IronFlight, R Jajka, R Lost Castle, R LowPossibility3.1, R Madness 5, R MicCore, R Multivitamin, R Nasa, R Natura, R Night Jungle, R NightRunner, R Nightmare, R Notice 1, R Ntumba, R Outlet, R Paik, R Paranoia, R Picklock, R Poke, R Rampage, R Reality, R Red Hell, R Repeat, R Rockita, R Scabrous 2, R SkyIsland, R Skyfly, R Skyisland2, R Skyisland3, R Space, R Summer Hell, R The Tower, R TheWalkingDead, R Therapy, R Think! 2, R Veni Vidi Vici, R Volcano, R Woader, R World of Magic, R Zephronikon, R blue-mountains, R skynet compilation, R supernice, R whatever, R ~AuTuMn~ - ddnet-maps
Avatar
another concept i JUST thought of: why not modernize the killfeed to include more information? Rather it be icons for how someone is killed, or even misc. things, like stealing someone else's kill, or winning a race? this could also crunch down a few elements, like if you restart multiple times or if you score a wrong goal in FNG, so the feed isnt too cluttered?
06:02
given some icons might not be needed, this is just a concept doodle
08:52
today will be a special unix time
brownbear 3
Avatar
@Ryozuki I found some old stickers 😀
😄 1
10:09
poggers2
Avatar
Avatar
Ryozuki
today will be a special unix time
seems to be tomorrow? $ date -d @1666666666 --iso-8601=seconds 2022-10-25T04:57:46+02:00
Avatar
@Learath2 what do you think about this? https://github.com/ddnet/ddnet/pull/5949#pullrequestreview-1148360008
(Additionally, we could probably add a flag to the NETADDR struct so we can pass it through that as well. @Learath2, what would you think about that?)
While keeping 0.6 fully working and untouched This adds the option to connect via 0.7 This is the first working version there is still work todo There are a few known bugs and missing featues to na...
Avatar
Avatar
heinrich5991
@Learath2 what do you think about this? https://github.com/ddnet/ddnet/pull/5949#pullrequestreview-1148360008
(Additionally, we could probably add a flag to the NETADDR struct so we can pass it through that as well. @Learath2, what would you think about that?)
NETADDRs having a 7 flag?
Avatar
i.e. adding something like NETTYPE_TW07 to the NETADDR struct, since connecting to an tw 0.6 and tw 0.7 server asks the low-level network stuff to do something different
14:24
like the websocket flag
Avatar
I honestly don't like the netaddrs we have now. They are just a weird abstraction
Avatar
what's wrong with them?
Avatar
No wait. It's the netsockets I don't like. Addrs are fine
14:26
I think that level might be too low to be aware of protocol details though, so is a flag there really appropriate?
14:28
Atleast in my eyes system.h is supposed to not be very aware of any details of teeworlds
Avatar
yea. maybe just reserve some space there and let the higher levels stuff it in? ^^
14:29
ideally, using a different type for the engine etc. would be better
Avatar
Or maybe higher level code should wrap it?
Avatar
but I don't fancy rewriting all the ddnet code to use another type
14:30
ah, maybe we could use NETADDR for the high level and a new type for the low-level code
Avatar
Or that. NETADDR_in
Avatar
in stands for 'internet', I think ^^
Avatar
Mine is for internal 😄
Avatar
what don't you like about our NETSOCKETs btw?
Avatar
Though, I wonder how much of the high level code even uses NETADDRs
Avatar
Avatar
heinrich5991
what don't you like about our NETSOCKETs btw?
The way they wrap multiple sockets in one just feels like too thick of an abstraction
14:32
Like a hack to add ipv6 without thinking too much about it
Avatar
the OSs even support wrapping IPv4 and IPv6 sockets into one, I think
14:34
IPV6_V6ONLY
14:34
we just disable it
Avatar
But that's not really what we do. We open two or more sockets per netsocket
Avatar
perhaps we should use that instead of using two sockets for IPv4 and IPv6
Avatar
Oh btw you broke some api promises when you made netsockets or netaddrs allocated. Idk which one
Avatar
netsockets
14:35
I think someone submitted a fix(?)
Avatar
Documentation promises return of NETSOCKET_INVALID. But we don't do that. It fails silently, it didnt break because we never checked
Avatar
ah, isn't that a nice part of our abstraction btw? using recvmmsg automatically
Avatar
That is a good part of the thick abstraction yeah
Avatar
What's better, logic world or virtual circuit board?
15:14
Logic world has a worse name
15:15
Vcb is unreadable
15:15
Really hard choice
Avatar
you can try logisim
15:18
we used that in school
15:21
ah, apparently your stuff is more of a game
15:37
@heinrich5991 digital is better
15:37
Logisim is unmaintained
Avatar
link?
Avatar
Github digital
15:41
Im on mobile sry
Avatar
turkey admin
Avatar
A digital logic designer and circuit simulator. Contribute to hneemann/Digital development by creating an account on GitHub.
15:50
probably
Avatar
@heinrich5991 Why are there no turkish admins?
Avatar
I don't know why there aren't any turkish moderators
Avatar
Is laser instant? like when you shoot, it immediately appear in full length + bounce? My antiping on ictf feels wrong, i noticed i killed guy with wallshot when shot straight above, maybe old versions had some laser spread speed?
Avatar
i think turkish admins are needed
Avatar
Avatar
Anime.pdf
Is laser instant? like when you shoot, it immediately appear in full length + bounce? My antiping on ictf feels wrong, i noticed i killed guy with wallshot when shot straight above, maybe old versions had some laser spread speed?
bounce is delayed
Avatar
Avatar
rammstein
i think turkish admins are needed
I believe moderators moderate beyond their usual home server. having a moderator that speaks turkish would be useful though, I guess
Avatar
Avatar
heinrich5991
bounce is delayed
okay feelsbadman
Avatar
(bounce was always delayed)
15:53
probably just skill issue
Avatar
@heinrich5991 So who is the founder?
Avatar
Avatar
rammstein
@heinrich5991 So who is the founder?
i believe founder of ddnet is @deen
15:54
not teeworlds or smth
Avatar
I believe moderator recruitment happens in the forums
Avatar
where to get admin
15:55
@heinrich5991 do you know eujax
Avatar
no, have only read their name a couple of times (edited)
15:55
ah, eujax is a turkish moderator
Avatar
I think 2 or 3 Turkish admins should be taken.
Avatar
Avatar
rammstein
I think 2 or 3 Turkish admins should be taken.
why are you advocating for more admins when youre one of the players who just gets banned on sight everytime lol
OMEGADANCE 1
Avatar
[quakenet] ChillerDragon BOT 2022-10-24 16:14:03Z
Oof is there a way to shrink a array on the stack? -.-
Avatar
why
16:14
just save the size of the array in a second var
Avatar
[quakenet] ChillerDragon BOT 2022-10-24 16:14:59Z
yea thats probably the wrong approach -.-
Avatar
why tho xD
Avatar
[quakenet] ChillerDragon BOT 2022-10-24 16:15:15Z
but i get user input and i then compress it using huffman tw compress algo magic
16:15
and then i cast it to some ruby object
16:15
and it takes the size of my buffer on the stack
16:15
it wont eat my heap allocated memory
16:16
wait gimme a minute ill spin up da electron to paste code xd
Avatar
no other way to give it an object?
16:16
with size
Avatar
chillerdragon BOT 2022-10-24 16:16:31Z
idk how to read docs
16:16
iv been starring at it for ages
Avatar
*staring
Avatar
chillerdragon BOT 2022-10-24 16:16:43Z
Object huff_compress(const char * pInput, int Size) { CHuffman Huffman; Huffman.Init(); unsigned char aOutput[10]; Huffman.Compress(pInput, Size, aOutput, sizeof(aOutput)); Array out(aOutput); return out; }
16:16
so this works
Avatar
since when are you using ruby?
Avatar
chillerdragon BOT 2022-10-24 16:17:04Z
but i always get back a array of size 10 in ruby since my buffer is fixed 10
Avatar
is there documentation for this Array class?
Avatar
chillerdragon BOT 2022-10-24 16:17:17Z
i built a tw client in ruby yesterday xd
16:17
didnt find any
16:17
i found the array class in the source code xd
16:17
Ruby Interface for C++ Extensions. Contribute to jasonroelofs/rice development by creating an account on GitHub.
16:17
they use vectors
16:18
maybe i should push my unsigned char* into a vector
16:18
but if i could just trim my stack size that would also work but if there isnt any way i guess vectors it is
Avatar
Object huff_compress(const char * pInput, int Size) { CHuffman Huffman; Huffman.Init(); std::array<unsigned char, 10> aOutput; Huffman.Compress(pInput, Size, aOutput, sizeof(aOutput)); Array out(aOutput.begin(), aOutput.end()); return out; } or do it with ptrs if it allows it
16:19
what @Jupstar ✪ says
Avatar
oh but aOutput.data() in compress and aOutput.size()
16:20
ok sizeof might work
16:20
but nicer
Avatar
[quakenet] ChillerDragon BOT 2022-10-24 16:20:09Z
so instead of hardcoding 10 i can use Size?
Avatar
no
Avatar
[quakenet] ChillerDragon BOT 2022-10-24 16:20:26Z
:(
Avatar
its still fixed size
Avatar
you can use the start pointer and the end pointer
16:20
ChillerDragon
Avatar
[quakenet] ChillerDragon BOT 2022-10-24 16:20:36Z
but then it will always be 10
Avatar
u can do .begin() and .begin() + 5
16:20
for example
16:20
+ 5 = any value u want
Avatar
Array out(aOutput, aOutput + 10);
16:21
you don't even need std::array, if I read the source code correctly
Avatar
[quakenet] ChillerDragon BOT 2022-10-24 16:21:09Z
wouldnt that be out of bounds then?
Avatar
one-past end is allowed
Avatar
[quakenet] ChillerDragon BOT 2022-10-24 16:21:30Z
my code as of now is compiling and working fine
16:21
but i always get back an array of size 10
Avatar
yes
Avatar
[quakenet] ChillerDragon BOT 2022-10-24 16:21:43Z
i want to get back an array of size Size
Avatar
then dont pass +10 XD
16:21
but + Size
Avatar
Array out(aOutput, aOutput + Size);
Avatar
[quakenet] ChillerDragon BOT 2022-10-24 16:22:04Z
but if it only allocates an array of 10 how does that work?
Avatar
what @Jupstar ✪ says
Avatar
[quakenet] ChillerDragon BOT 2022-10-24 16:22:07Z
a
16:22
Ouuuu now i get it
16:22
so i omit the vector
16:22
and just pass in the size
16:22
ah hot thnks
16:22
omot the array*
16:23
works wonderful thanks a lot <3
16:24
now its very unrubyish passing in a string and its size instead of an byte array but too lazy to figure argument data types out xd
Avatar
i find native interfaces suck anyway, same for JNI 😄
Avatar
[quakenet] ChillerDragon BOT 2022-10-24 16:25:20Z
still better than porting huffman.cpp to ruby :D
kek 1
16:25
and cooler/faster
Avatar
just use c as a protocol
Avatar
[quakenet] ChillerDragon BOT 2022-10-24 16:25:50Z
bbbut
16:25
yea i probably could xd
Avatar
no idc just do what u want
Avatar
[quakenet] ChillerDragon BOT 2022-10-24 16:26:16Z
you can use c protocol even for c++ right? actually im kinda confused what api im even using at this point xd
16:26
i went as c++ as i could :D
16:27
so who wants to add huffman tests to ddnet codebase?
16:27
so i can check if it works
Avatar
just use rust like all cool kinds
16:35
cancel ruby
Avatar
cancer luby
Avatar
cancel cancer
Avatar
[quakenet] ChillerDragon BOT 2022-10-24 16:36:56Z
works flawless
16:36
Avatar
hello V xd
Avatar
if u want a challenge use the top20 most used programming languages in your project and all work together
Avatar
[quakenet] ChillerDragon BOT 2022-10-24 16:37:32Z
-.-
Avatar
world is V confirmed
Avatar
@noby that's not me
Avatar
Crash reported by @teini94 on Discord.

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:...
Avatar
be45604 Fix demo file not being closed after showing error message - Robyt3 3c1cd89 Append file extension before checking for identical cut demo filename - Robyt3 997af45 Fix crash when cutting a demo opened from command line - Robyt3 326a0a5 Fix slicing a demo opened with absolute path not working - Robyt3 b486028 Remove dead code - Robyt3 6ef3ada Fix long demo names being truncated in popups and UI - Robyt3 cc9ef40 Merge #5975 - bors[bot]
Avatar
Avatar
rammstein
@noby that's not me
yes so the person whos been banned hundreds of times with the name Soh isnt you
21:51
of course
Exported 176 message(s)