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-04-29 00:00:00Z and 2022-04-30 00:00:00Z
Avatar
8162257 Allow sv_show_others_default in map settings - def- 90c61b0 Merge #4692 - bors[bot]
Avatar
2782f82 Increase MAX_IDS to 32k (fixes #4723) - def- 3ca86ee Display super with "super" string in scoreboard (fixes #4724) - def- 15b8dc8 Remove dots in tooltip texts - def- 298287f Implement shields that remove specific weapon (fixes #4572) - def- b8da817 Return the quad offset of the first added quad, when adding new quads - Jupeyy af0fcf8 Use std::clamp - def- 67286a4 Remove unused sign() (C++11 has signbit) - def- 6a7c7ff Use std::gcd - def- ae1c63f Try adding mysql to github workflow in ubuntu 20.04 - def- 98bf721 Merge #4726 #4727 #4728 #4880 #5022 - bors[bot]
07:06
not having std::optional rly makes me feel sad
07:06
its just such a good pattern
07:07
i dont want to do bool CreateMyType(MyType *pMyType); std::optional<MyType> CreateMyType(); is just superior
07:08
stupid debian smh
07:09
ill use std::pair for now but i feel bad still
Avatar
error: 'class sorted_array<CAStar::Node>' has no member named 'empty' 66 | return !m_Path.empty();
07:11
😦
07:11
i did it sorted_array<Node> m_Path;
07:12
why it don't recognize being an array?
Avatar
@kio no, it says that the class sorted_array doesn't have a member named empty, this means there's no method declared with name "empty"
07:15
if you look at src/base/tl/sorted_array.h
07:16
what you could use is size() and checks if it's empty
Avatar
i just add /* Function: empty */ bool empty() const { return num_elements == 0; } on array.h and now it work
Avatar
Avatar
ReiTW
@kio no, it says that the class sorted_array doesn't have a member named empty, this means there's no method declared with name "empty"
do you know what this is for? or could you explain to me what the hell is mutex LOCK_SECTION_MUTEX
Avatar
what r u even trying to do
Avatar
implements some function of another client
07:43
and often the client use LOCK_SECTION_MUTEX(m_Mutex)
Avatar
I guess this supersedes https://github.com/ddnet/ddnet/pull/4106 This time this is just an engine interface, it uses a modern encryption library (that @Learath2 often suggested): https://doc.libsodium.org/ The important question is how to store the key pairs, or if to store them at all, would there be a problem with generating a new key pair on every startup? The next step is to figure out how to share the public keys and then enable a secure channel. Future possible stuff:
  • En...
Avatar
7fbcaa6 start document system.h with doxygen - edg-l a7c2596 progress - edg-l 2fca287 Merge branch 'master' into pr/system/documentation - edg-l cb73967 Merge #4732 - bors[bot]
Avatar
Since we have no control over this library

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 if it works standalone, system.c especially
  • [ ] 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://git...
Avatar
19fa886 Ignore non-zero offset to null pointer in json.c (fixes #5031) - def- 63403ea Merge #5034 - bors[bot]
Avatar
The best way to get a correct answer on the internet is to post an obviously wrong answer and wait for someone to correct you.
10:50
so true
10:51
The advantage of a ridiculously ambitious goal is that it sets the bar very high so even in failure it may be a success measured by the ordinary.
10:52
-
10:52
To keep young kids behaving on a car road trip, have a bag of their favorite candy and throw a piece out the window each time they misbehave.
10:52
savage
Avatar
Hello, is allright if i will text in developer chat room? i don't want to mess with anything
Avatar
yes
Avatar
Im playing DDraceNetwork for a 5 months now, im playing only kog, i had the name on steam same as in game and it was not taken name, now someone stole my name and 4 points added in my name and when some friend of mine changed it on my name, it showed new clan and new state flag in tab what i didn't recognised, i cant register the name i don't know why, i tried to register as mail, it couldn't and i tried to register as discord, it didn't worked too, i played on my name already 500 hours so i don't want anyone to play on my name, because he is messing with all my friends i met in the game before, is there any solution of registering my name "Maik" in DDraceNetwork please?
12:35
thank you for letting me now (edited)
Avatar
you don't need to register your name
12:36
just use it. the name belongs to no one in ddnet
12:36
anyone can call themselves heinrich5991
Avatar
so in ddnet is okay if anyone uses a different user name ?
12:37
so like if i will use for example Mixi name, it's all allright?
Avatar
ah, if you're talking about KoG, try this discord: https://discord.gg/3G5SJY49nY
Invite to join a server
12:38
yes, on DDNet anyone can call themselves Mixi
12:38
yeah i mean kog
12:38
im sorry i texted in wrong discord server
12:38
so sorry
12:39
thank you heinrich5991
Learath2 pinned a message to this channel. 2022-04-29 13:09:03Z
13:31
The position between timestamp and system was chosen because it is at a fixed position (unlike after the system) but the log still remains naively sortable (which wouldn't happen if we were to place it in front of the timestamp. Before: ``` [2022-04-29 15:25:37][engine]: running on unix-linux-amd64 [2022-04-29 15:25:37][engine]: arch is little endian [2022-04-29 15:25:37][storage]: added path '$USERDIR' ('/path/to/home/.teeworlds') [2022-04-29 15:25:37][storage]: added path '$DATAD...
13:34
This makes it almost as short to log as with dbg_msg (one to two more characters), and much shorter than Console()->Print(IConsole::OUTPUT_LEVEL_{STANDARD,ADDINFO,DEBUG}).
Avatar
anyone got an opinion on the log format? before and after: [2022-04-29 15:25:37][engine]: running on unix-linux-amd64 [2022-04-29 15:25:37]I[engine]: running on unix-linux-amd64
Avatar
Hm, The I might look better after the module name and it'd be easier to spot, however this way might make more sense logically
13:42
Though now that I think more about it not all modules have the same name length, so the set position after the timestamp is better
Avatar
How about no [] but spaces instead? 2022-04-29 15:25:37 I engine: running on unix-linux-amd64
Avatar
would be fine with that. doesn't have the characteristic teeworlds log format anymore, but I'm not attached to it
13:45
might be more readable due less noise even
Avatar
lets see how android does it xd
Avatar
Mh, if we don't mind breaking peoples parsers I'd move the E/I/W all the way to the start
Avatar
the argument against that is that it's no longer naively sortable
13:46
(see also the PR, but now the two arguments in there were already said ^^)
Avatar
Maybe the E/I/W is not that great, might be clearer with ERROR/INFO/WARNING/
Avatar
04-29 15:46:22.220 4064 13009 W PhenotypeConfigurationU: so i guess similar to deens proposal
Avatar
ERROR WARN INFO DEBUG TRACE is clearer, EWIDT wastes less space
Avatar
Avatar
heinrich5991
the argument against that is that it's no longer naively sortable
Hm, that is a nice quality indeed. I think I like what deen proposed with full names
13:48
Maybe WARN instead of WARNING so it's not too long
Avatar
rust's tracing-subscriber: 2022-02-15T18:40:14.289898Z INFO fmt: preparing to shave yaks number_of_yaks=3
Avatar
Maybe make the date and time ISO8601 with a T between?
Avatar
I don't like the T and Z personally, looks strange
Avatar
It does look worse but makes it trivial to parse
13:51
I guess I also prefer spaces and no Z or T, human readability > robot readability
Avatar
We also print local time right now, so Z would be wrong
Avatar
Fixes the issue from cheeser0613 in discord, that showed a quad that shouldnt exists. The quadoffset is only +1 if the current quad is fully transparent(this was added a while ago to improve performance of the firework background). This affects OpenGL 3.3 & Vulkan and was introduced with the Vulkan change.

Checklist

  • [x] Tested the change ingame
  • [ ] Provided screenshots if it is a visual change
  • [ ] Tested in combination with possibly related configuration options
  • [ ] ...
Avatar
currently, I think I'd prefer EWIDT over ERROR WARN INFO DEBUG due to the 4 fewer characters required (edited)
13:54
the logs are read by users and developers. first time readers might be confused by EWIDT
this 1
13:54
others benefit from it because more stuff fits into a line
Avatar
And I guess colors could compensate for the regular user not knowing exactly what EWIDT are
Avatar
default color red for errors? ^^
Avatar
White is normal, Yellow is something might be awry, Red is bad
Avatar
could do that 🙂
Avatar
No idea what colors debug and trace should be, but shouldn't matter much
13:56
I think tracing-subscriber had blue for debug, pink for trace
Avatar
(anyone wanna take a look at merging https://github.com/ddnet/ddnet/pull/5013 so I can more easily work on the follow-up pull requests for changing the format and the macros? 🙂 )
This makes the "black console window" less important on Windows (or anywhere else, for that matter), lets you see logs from other threads in the f1 console, and removes the distinction be...
Avatar
https://github.com/ddnet/ddnet/pull/4728#issuecomment-1112860690 I forgot the vanilla compatibility of this feature. The thread already has a small discussion about it. Perhaps we could simply show a normal shield as @Zoozti proposed? >I think its the best way to just show vanilla/old client players a normal shield. So they see they will lose weapons and dont get surprised by an invisible tile CC @C0D3D3V @def- @edg-l @fokkonaut @Zoozti
14:17
53cb36b Fix wrong quad offset for (not caused by transparent) flushes - Jupeyy 8c4212f Merge #5038 - bors[bot]
Avatar
@Ryozuki my bot, new drama round #5041
Avatar
Avatar
Learath2
It does look worse but makes it trivial to parse
with a nice logging interface we could offer a json logger too (edited)
14:22
the common way is to output 1 json object per line
14:22
per log
14:24
{t: "datehere", "system": "engine", message :"rusti is better than C"} {t: "date2here", "system": "engine", message: "rusti is better than C"} {t: "date3here", "system": "engine", message: "rusti is better than C"}
14:24
like this
14:24
i seen it a lot
Avatar
now my total awesome logging feature wont work anymore:
14:24
xd
Avatar
well, with well formated json
14:24
i forgot keys in json also use ""
14:24
xd
Avatar
what's your totally awesome logging feature?
Avatar
team colors are shown correctly
Avatar
i guess its the colors?
Avatar
ah
Avatar
thats smth fokkonaut wanted and i implemented it, but never really finished it xd
Avatar
@Jupstar ✪ already put my comment there
14:28
BASEDHALT
Avatar
nice
Avatar
todo: Remove vanilla support, remove 0.7 stuff, change the protocol to remove the monkey patches we done throughout the history to not completly break vanilla
Avatar
true
14:29
annoying item ex stuff and shit my does the laser from vanilla not even send its owner
14:29
its so annoying in fng 😄
Avatar
todo: consider getting the only good stuff from 0.7, the dynamic skins, but without making them look weird
Avatar
that the client cannot know it
14:30
i wanted star wars colors .c
Avatar
the skin support would be nice indeed
Avatar
it would also be cool to be able to fully use c++17
14:31
and not just parts of it
14:31
PepeA
Avatar
xd
Avatar
this is unrelated to vanilla
Avatar
its vanillas fault that we support ubuntu 18 xdd
14:31
blame them for everything
Avatar
@Jupstar ✪ have u ever imagined, scripting support within maps, with a rly stripped down language
14:33
xd
Avatar
tesselation shaders
14:33
i am all in
Avatar
note that most of that stuff also has backward compatibility concerns with ddnet itself ^^
Avatar
Avatar
Ryozuki
@Jupstar ✪ have u ever imagined, scripting support within maps, with a rly stripped down language
I did, I thought about something like a command block which can execute console commands
Avatar
xd
14:33
redstone computers incomming
Avatar
oh true
14:33
maybe instead of a language as is
14:34
provide building blocks
14:34
like minecraft redstone
14:34
xd
14:34
aka switches 2.0
14:34
just give a nand gate and do a computer
14:34
cant wait to see doom in ddnet
Avatar
i'd love to have animation triggers for mappers
Avatar
maybe thats not that hard to do
14:35
just make a special tune zone
Avatar
yeah think so too
Avatar
I think I still have the prototype somewhere, the id of the tee that touched the tile would be %v, so you could do things like tele_xyz %v 0 0 0
Avatar
just built in, we can always break compability xdd
Avatar
Avatar
Jupstar ✪
i'd love to have animation triggers for mappers
Animation triggers would be very cool, maybe even animations that chain so you wouldn't have to offset everything by hand
Avatar
i miss lady saavik animations
Avatar
if playername == ryozuki fireworks() else nothingxd()
Avatar
She made some insane stuff
14:38
We need more loading screens for tournaments 😛
Avatar
well tournaments always remind me of the only thing we cant do nothing about
14:38
feelsbadman
14:39
the word must not be spoken
14:39
monkaS
Avatar
fa4bcd5 Unify logging infrastructure between IConsole and dbg_msg - heinrich5991 ca4b622 Merge #5013 - bors[bot]
Avatar
Avatar
Ryozuki
well tournaments always remind me of the only thing we cant do nothing about
why
Avatar
but proxies will help a lot just make proxies for proxies then e.g. i can host for ppl i trust u can host for ppl u trust etc.
14:41
realistically pros will win anyway in tournaments
14:41
i lost all faith
Avatar
Avatar
Jupstar ✪
realistically pros will win anyway in tournaments
ye but its fun to watch them
Avatar
it works, bcs i will never give you my IP 😄
Avatar
its also a moment where u meet old friends
14:41
and players
14:42
idk
14:42
xd
Avatar
yes watching will work perfectly xd
14:43
also a good way to demotivate ddosers maybe
Avatar
heinrich got the groundwork for proxies done if any of you are interested in actually making a proxy scheme
Avatar
i guess if pros can play without laggs it gets less interesting
Avatar
@heinrich5991 can u rebase ur other prs?
Avatar
Avatar
Learath2
heinrich got the groundwork for proxies done if any of you are interested in actually making a proxy scheme
yeah i saw that but havent really looked into it deeper
Avatar
its hard to see a good diff
14:44
ah well
14:44
i should click on the commit
14:44
instead of changes
14:44
xd
Avatar
xd
Avatar
which other PRs? @Ryozuki
Avatar
why is there a I (i)
14:45
in the log format?
14:45
[2022-04-29 15:25:37]I[console]: executing 'autoexec_server.cfg'
Avatar
EDIWT = ERROR DEBUG INFO WARNING TRACE
Avatar
i dislike it
14:46
i prefer it to tell the full word
Avatar
We better discuss it in the PR
Avatar
best would be to post your opinion in the PR
Avatar
the first thing i thought about the I is that it was some fancy separator
14:46
true
14:47
done
14:50
Looks similar. Nice to see that nearly everyone is on most recent version, great advantage of Steam.
14:50
its true
14:50
and i think thanks to steam we can try to do breaking changes
Avatar
what would you think about vanilla support if it was encapsulated in a way that doesn't interact with the main source code, and developed independently?
14:52
probably no problem with that?
Avatar
why do you want it?
14:53
i see nothing good
Avatar
please don't lie. I assume you have read the PR ^^
14:53
the issue*
14:53
can you think of a positive thing that was said about vanilla support?
Avatar
Avatar
heinrich5991
what would you think about vanilla support if it was encapsulated in a way that doesn't interact with the main source code, and developed independently?
A sort of proxy? In my experience while adding sixup this is really hard to achieve. If you envision a proxy I'd say it's very close to impossible with how much information is lost when you get to the packet level. Otherwise I guess you'd need hooks littered everywhere
Avatar
Avatar
heinrich5991
what would you think about vanilla support if it was encapsulated in a way that doesn't interact with the main source code, and developed independently?
thought about that too, removing network code from the client code as first step 😄
Avatar
I did it for 0.5-0.6, but I guess 0.6-0.7 is harder
14:55
cause of the state that needs to be kept
Avatar
If we can truly have it be clean I'd be for having a 0.7 layer
Avatar
Avatar
heinrich5991
cause of the state that needs to be kept
Not even sure if an outside observer can derive all the needed state
Avatar
can you come up with an example that would be hard?
Avatar
I was thinking about whispers, but I guess you could keep track of that
Avatar
just break compability once per year
Avatar
What would be a little sad is that you'd have to re-calculate state that the server already knew, but I guess it could be affordable for 1% of clients
Avatar
all problems solved
Avatar
@heinrich5991 ah I remembered one, protocol7::CNetMsg_Sv_ServerSettings how would you go about this one?
15:03
It requires information that wouldn't be sent to a 0.6 client to begin with
Avatar
if it's not sent, I'd first check if it's optional, and if not I'd add an extended message sending the same or similar information
15:04
not sure if that'd still be called non-invasive by you then ^^
15:05
but the ddnet client could then also use the info ^^
15:05
in the worst case, if not wanted, I'd fill it with stub data that the client accepts
15:06
player_slots can be derived from server info, team_balance set to true, team_lock set to false, spec_vote set to true, kick_min set to 5
Avatar
Avatar
heinrich5991
but the ddnet client could then also use the info ^^
Hm, the set of things sent to 0.7 clients is almost in all cases a superset, so this could be desirable
Avatar
Avatar
heinrich5991
please don't lie. I assume you have read the PR ^^
ah u were talking about the pr
15:07
i thought u said in general
Avatar
no, the issue, see next line
Avatar
@heinrich5991 I'd honestly even be okay with it if you can wrap it up into a separate set of files loosely hooked into the server code, but an external proxy would be great too
15:09
Could even be generalized by #4791
Avatar
The proxy server is supposed to prepend the client IP address and port in the first 18 bytes of a packet. IPv4 addresses are represented using IPv4-mapped IPv6 addresses with the prefix ::ffff:, e....
Avatar
When going beyond the last page it was previously redrawn in a hacky way, which was also not updated to use the correct console colors, so the colors would flash white when hold the page up key. The underlying fix is the same as on upstream https://github.com/teeworlds/teeworlds/pull/3063. The rendered page will only be changed after the log has already been rendered, to ensure that the page can be clamped correctly. Closes #5040.

Checklist

  • [X] Tested the change ingame
  • [ ]...
Avatar
u know how use twmap on py
16:22
in a test script it gimme immediately this error File "c:\Users\sradi\Desktop\Test\test2.py", line 14, in <module> assert g1.name == g1_name AssertionError
Avatar
best u tag patiga directly
Avatar
da44ecd Fix flashing colors in console when scrolling up continuously - Robyt3 2e12082 Merge #5042 - bors[bot]
Avatar
@heinrich5991 can you look what just happened to ger2 server?
18:59
everyone disconnected at the same time
18:59
or anyone that has insight to the servers
Avatar
Server crashed, probably because of the recent changes
Avatar
`` Core was generated by ./DDRace64-Server_sql -f servers/8326.cfg'. Program terminated with signal SIGSEGV, Segmentation fault. #0 CCharacter::ResetHook (this=0x0) at /home/teeworlds/src/master/src/game/server/entities/character.cpp:693 693 m_Input.m_Direction = 0; [Current thread is 1 (Thread 0x7fc0f4853b80 (LWP 7445))] (gdb) bt #0 CCharacter::ResetHook (this=0x0) at /home/teeworlds/src/master/src/game/server/entities/character.cpp:693 #1 0x0000564ec6f2a715 in CGameTeams::Swap...
Avatar
Bug in /swap, disabled on official servers for now
😭 1
Avatar
Both dummy and player connection do this when they are not the active player. It always reports the tick where they were last used. The only reason Dummy is ever able to do inputs while not active is because the server is bumping old input packets to the current tick which works but isn't consistent with how the prediction margin should work. !image
Avatar
Avatar
kio
in a test script it gimme immediately this error File "c:\Users\sradi\Desktop\Test\test2.py", line 14, in <module> assert g1.name == g1_name AssertionError
in the test file I sent you for example code it does that assertion. it even tells you the line there ^^. the file should only have success with the map Lotus, and probably also only on the dev-branch of twmap-py, due to an unrelated bug
21:51
lotus is a kog o ddnet map?
21:52
could someone give me a hand, a tutorial or something on how to use HSplitBottom, vertical etc others well?
Avatar
Avatar
kio
could someone give me a hand, a tutorial or something on how to use HSplitBottom, vertical etc others well?
I also have the feeling its black magic xD
22:06
Hopefully doesn't allow cheats, see previous exploit fix: https://github.com/ddnet/ddnet/pull/3764

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 if it works standalone, system.c especially
  • [ ] Considered possible null pointers and out of bounds array indexing
  • [ ] Changed no physics that affect existing maps
  • [ ] Tested the cha...
Avatar
Is there a name for the style of UI element management by splitting lots of rectangles that ddnet uses, or is it a custom idea? (edited)
Avatar
What alternative way is there?
22:16
It seems natural to me when you have a large rectangle to fill, that you split it into smaller rectangles
Avatar
Avatar
Tater
Is there a name for the style of UI element management by splitting lots of rectangles that ddnet uses, or is it a custom idea? (edited)
immediate mode gui
Avatar
Avatar
c0d3d3v
I also have the feeling its black magic xD
AH
Avatar
Avatar
Tater
Is there a name for the style of UI element management by splitting lots of rectangles that ddnet uses, or is it a custom idea? (edited)
imgui
Avatar
Avatar
kio
could someone give me a hand, a tutorial or something on how to use HSplitBottom, vertical etc others well?
i documented them explicitly
Avatar
Avatar
Ryozuki
i documented them explicitly
WHEREEEEEEEEEEEEEEE
22:42
read the text
Avatar
fuck me baby
Avatar
in the source files
Avatar
question, but how does the order of things work with these ui functions? isn't there something like position: absolute on css? (edited)
Avatar
i think everything starts with a CUIRect that defines the screen size (edited)
22:46
the CUI has a method
22:46
to get that rect
22:46
but usually u start from another rect
22:46
e.g in the settings there is a rect already
22:46
u should check how other code does stuff
Avatar
yes im trying to study this shit xd
22:57
according to you when doing MainView.HSplitBottom (30.0f, 0, 0); what effect the MainView should have
Avatar
I think it does nothing
Avatar
the main MainView stays the same
23:01
it modifies the 2 rects u pass it
23:01
Avatar
2534d62 Use clang++-7 on Linux build for full C++17 support - def-
Avatar
the italic "this" means the MainView in this case
Avatar
This reverts commit 4e3d5c562617913548ca6d3f61813200e292c962. Should work again with clang++-7 and libc++-7. See https://github.com/ddnet/ddnet-scripts/commit/2534d627ac47dc52af7fc5222d0ce5763b1c202e

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 if it works standalone, system.c especially
  • [ ] Considered possible null pointers a...
Avatar
poggers
Avatar
fc49b81 Use clang++-7 on Linux build for full C++17 support - def-
Avatar
Got to fix linking
Avatar
Has anyone ever attempted to create a system similarily to tee skins to feed custom game skins to other players aswell? Not quite sure what you call this ^^
23:29
basically this:
Avatar
Avatar
murpi
Has anyone ever attempted to create a system similarily to tee skins to feed custom game skins to other players aswell? Not quite sure what you call this ^^
yes like skin download but for gameskins
23:30
i know its been requested a bit in the past
Exported 300 message(s)