09:06 <+bridge_> [ddnet] man 09:06 <+bridge_> [ddnet] not having std::optional rly makes me feel sad 09:06 <+bridge_> [ddnet] its just such a good pattern 09:07 <+bridge_> [ddnet] i dont want to do `bool CreateMyType(MyType *pMyType);` `std::optional CreateMyType();` is just superior 09:08 <+bridge_> [ddnet] stupid debian smh 09:09 <+bridge_> [ddnet] ill use std::pair for now but i feel bad still 09:11 <+bridge_> [ddnet] error: 'class sorted_array' has no member named 'empty' 09:11 <+bridge_> [ddnet] 66 | return !m_Path.empty(); 09:11 <+bridge_> [ddnet] 😦 09:11 <+bridge_> [ddnet] i did it sorted_array m_Path; 09:12 <+bridge_> [ddnet] why it don't recognize being an array? 09:15 <+bridge_> [ddnet] @everestkio 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" 09:15 <+bridge_> [ddnet] if you look at src/base/tl/sorted_array.h 09:16 <+bridge_> [ddnet] what you could use is size() and checks if it's empty 09:23 <+bridge_> [ddnet] i just add /* 09:23 <+bridge_> [ddnet] Function: empty 09:23 <+bridge_> [ddnet] */ 09:23 <+bridge_> [ddnet] bool empty() const 09:23 <+bridge_> [ddnet] { 09:23 <+bridge_> [ddnet] return num_elements == 0; 09:23 <+bridge_> [ddnet] } 09:23 <+bridge_> [ddnet] on array.h and now it work 09:24 <+bridge_> [ddnet] do you know what this is for? or could you explain to me what the hell is mutex LOCK_SECTION_MUTEX 09:32 <+bridge_> [ddnet] what r u even trying to do 09:43 <+bridge_> [ddnet] implements some function of another client 09:43 <+bridge_> [ddnet] and often the client use LOCK_SECTION_MUTEX(m_Mutex) 10:45 <+bridge_> [ddnet] https://www.redox-os.org/news/release-0.7.0/ 12:50 <+bridge_> [ddnet] > 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. 12:50 <+bridge_> [ddnet] https://news.ycombinator.com/item?id=31199300 12:50 <+bridge_> [ddnet] so true 12:51 <+bridge_> [ddnet] > 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. 12:52 <+bridge_> [ddnet] - 12:52 <+bridge_> [ddnet] > 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. 12:52 <+bridge_> [ddnet] savage 14:33 <+bridge_> [ddnet] Hello, is allright if i will text in developer chat room? i don't want to mess with anything 14:35 <+bridge_> [ddnet] yes 14:35 <+bridge_> [ddnet] 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 w 14:35 <+bridge_> [ddnet] thank you 14:35 <+bridge_> [ddnet] thank you for letting me now 14:36 <+bridge_> [ddnet] you don't need to register your name 14:36 <+bridge_> [ddnet] just use it. the name belongs to no one in ddnet 14:36 <+bridge_> [ddnet] anyone can call themselves heinrich5991 14:37 <+bridge_> [ddnet] so in ddnet is okay if anyone uses a different user name ? 14:37 <+bridge_> [ddnet] so like if i will use for example Mixi name, it's all allright? 14:37 <+bridge_> [ddnet] ah, if you're talking about KoG, try this discord: https://discord.gg/3G5SJY49nY 14:38 <+bridge_> [ddnet] yes, on DDNet anyone can call themselves Mixi 14:38 <+bridge_> [ddnet] oooh 14:38 <+bridge_> [ddnet] yeah i mean kog 14:38 <+bridge_> [ddnet] im sorry i texted in wrong discord server 14:38 <+bridge_> [ddnet] so sorry 14:39 <+bridge_> [ddnet] thank you heinrich5991 15:40 <+bridge_> [ddnet] anyone got an opinion on the log format? before and after: 15:40 <+bridge_> [ddnet] ``` 15:40 <+bridge_> [ddnet] [2022-04-29 15:25:37][engine]: running on unix-linux-amd64 15:40 <+bridge_> [ddnet] [2022-04-29 15:25:37]I[engine]: running on unix-linux-amd64 15:40 <+bridge_> [ddnet] ``` 15:41 <+bridge_> [ddnet] 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 15:42 <+bridge_> [ddnet] 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 15:44 <+bridge_> [ddnet] How about no [] but spaces instead? 15:44 <+bridge_> [ddnet] ``` 15:44 <+bridge_> [ddnet] 2022-04-29 15:25:37 I engine: running on unix-linux-amd64 15:44 <+bridge_> [ddnet] ``` 15:44 <+bridge_> [ddnet] would be fine with that. doesn't have the characteristic teeworlds log format anymore, but I'm not attached to it 15:45 <+bridge_> [ddnet] might be more readable due less noise even 15:45 <+bridge_> [ddnet] lets see how android does it xd 15:45 <+bridge_> [ddnet] Mh, if we don't mind breaking peoples parsers I'd move the E/I/W all the way to the start 15:46 <+bridge_> [ddnet] the argument against that is that it's no longer naively sortable 15:46 <+bridge_> [ddnet] (see also the PR, but now the two arguments in there were already said ^^) 15:46 <+bridge_> [ddnet] Maybe the E/I/W is not that great, might be clearer with ERROR/INFO/WARNING/ 15:46 <+bridge_> [ddnet] `04-29 15:46:22.220 4064 13009 W PhenotypeConfigurationU:` 15:46 <+bridge_> [ddnet] 15:46 <+bridge_> [ddnet] so i guess similar to deens proposal 15:47 <+bridge_> [ddnet] ERROR WARN INFO DEBUG TRACE is clearer, EWIDT wastes less space 15:48 <+bridge_> [ddnet] Hm, that is a nice quality indeed. I think I like what deen proposed with full names 15:48 <+bridge_> [ddnet] Maybe WARN instead of WARNING so it's not too long 15:49 <+bridge_> [ddnet] rust's tracing-subscriber: 15:49 <+bridge_> [ddnet] ``` 15:49 <+bridge_> [ddnet] 2022-02-15T18:40:14.289898Z INFO fmt: preparing to shave yaks number_of_yaks=3 15:49 <+bridge_> [ddnet] ``` 15:49 <+bridge_> [ddnet] Maybe make the date and time ISO8601 with a T between? 15:50 <+bridge_> [ddnet] I don't like the T and Z personally, looks strange 15:50 <+bridge_> [ddnet] It does look worse but makes it trivial to parse 15:51 <+bridge_> [ddnet] I guess I also prefer spaces and no Z or T, human readability > robot readability 15:52 <+bridge_> [ddnet] We also print local time right now, so Z would be wrong 15:53 <+bridge_> [ddnet] currently, I think I'd prefer EWIDT over ERROR WARN INFO DEBUG due to the 4 less characters required 15:53 <+bridge_> [ddnet] currently, I think I'd prefer EWIDT over ERROR WARN INFO DEBUG due to the 4 fewer characters required 15:54 <+bridge_> [ddnet] the logs are read by users and developers. first time readers might be confused by EWIDT 15:54 <+bridge_> [ddnet] others benefit from it because more stuff fits into a line 15:54 <+bridge_> [ddnet] And I guess colors could compensate for the regular user not knowing exactly what EWIDT are 15:55 <+bridge_> [ddnet] default color red for errors? ^^ 15:55 <+bridge_> [ddnet] White is normal, Yellow is something might be awry, Red is bad 15:55 <+bridge_> [ddnet] could do that 🙂 15:56 <+bridge_> [ddnet] No idea what colors debug and trace should be, but shouldn't matter much 15:56 <+bridge_> [ddnet] I think tracing-subscriber had blue for debug, pink for trace 15:58 <+bridge_> [ddnet] (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? 🙂 ) 16:18 <+bridge_> [ddnet] @Ryozuki my bot, new drama round #5041 16:18 <+bridge_> [ddnet] https://github.com/ddnet/ddnet/issues/5041 16:19 <+bridge_> [ddnet] oh 16:22 <+bridge_> [ddnet] with a nice logging interface we could offer a json loggers too 16:22 <+bridge_> [ddnet] the common way is to output 1 json object per line 16:22 <+bridge_> [ddnet] per log 16:22 <+bridge_> [ddnet] with a nice logging interface we could offer a json logger too 16:24 <+bridge_> [ddnet] ```json 16:24 <+bridge_> [ddnet] {t: "datehere", "system": "engine", message :"rusti is better than C"} 16:24 <+bridge_> [ddnet] {t: "date2here", "system": "engine", message: "rusti is better than C"} 16:24 <+bridge_> [ddnet] {t: "date3here", "system": "engine", message: "rusti is better than C"} 16:24 <+bridge_> [ddnet] ``` 16:24 <+bridge_> [ddnet] like this 16:24 <+bridge_> [ddnet] i seen it a lot 16:24 <+bridge_> [ddnet] now my total awesome logging feature wont work anymore: 16:24 <+bridge_> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/969605020825813012/unknown.png 16:24 <+bridge_> [ddnet] xd 16:24 <+bridge_> [ddnet] well, with well formated json 16:24 <+bridge_> [ddnet] i forgot keys in json also use "" 16:24 <+bridge_> [ddnet] xd 16:25 <+bridge_> [ddnet] what's your totally awesome logging feature? 16:25 <+bridge_> [ddnet] team colors are shown correctly 16:25 <+bridge_> [ddnet] i guess its the colors? 16:25 <+bridge_> [ddnet] ah 16:25 <+bridge_> [ddnet] thats smth fokkonaut wanted and i implemented it, but never really finished it xd 16:28 <+bridge_> [ddnet] @Not Keks already put my comment there 16:28 <+bridge_> [ddnet] :BASEDHALT: 16:28 <+bridge_> [ddnet] nice 16:29 <+bridge_> [ddnet] 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 16:29 <+bridge_> [ddnet] true 16:29 <+bridge_> [ddnet] annoying item ex stuff and shit 16:29 <+bridge_> [ddnet] 16:29 <+bridge_> [ddnet] my does the laser from vanilla not even send its owner 16:29 <+bridge_> [ddnet] its so annoying in fng 😄 16:29 <+bridge_> [ddnet] todo: consider getting the only good stuff from 0.7, the dynamic skins, but without making them look weird 16:29 <+bridge_> [ddnet] that the client cannot know it 16:30 <+bridge_> [ddnet] i wanted star wars colors .c 16:30 <+bridge_> [ddnet] the skin support would be nice indeed 16:31 <+bridge_> [ddnet] it would also be cool to be able to fully use c++17 16:31 <+bridge_> [ddnet] and not just parts of it 16:31 <+bridge_> [ddnet] :PepeA: 16:31 <+bridge_> [ddnet] xd 16:31 <+bridge_> [ddnet] this is unrelated to vanilla 16:31 <+bridge_> [ddnet] true 16:31 <+bridge_> [ddnet] its vanillas fault that we support ubuntu 18 xdd 16:31 <+bridge_> [ddnet] blame them for everything 16:33 <+bridge_> [ddnet] @Not Keks have u ever imagined, scripting support within maps, with a rly stripped down language 16:33 <+bridge_> [ddnet] xd 16:33 <+bridge_> [ddnet] tesselation shaders 16:33 <+bridge_> [ddnet] i am all in 16:33 <+bridge_> [ddnet] note that most of that stuff also has backward compatibility concerns with ddnet itself ^^ 16:33 <+bridge_> [ddnet] I did, I thought about something like a command block which can execute console commands 16:33 <+bridge_> [ddnet] :O 16:33 <+bridge_> [ddnet] xd 16:33 <+bridge_> [ddnet] redstone computers incomming 16:33 <+bridge_> [ddnet] oh true 16:33 <+bridge_> [ddnet] maybe instead of a language as is 16:34 <+bridge_> [ddnet] provide building blocks 16:34 <+bridge_> [ddnet] like minecraft redstone 16:34 <+bridge_> [ddnet] xd 16:34 <+bridge_> [ddnet] aka switches 2.0 16:34 <+bridge_> [ddnet] just give a nand gate and do a computer 16:34 <+bridge_> [ddnet] cant wait to see doom in ddnet 16:35 <+bridge_> [ddnet] i'd love to have animation triggers for mappers 16:35 <+bridge_> [ddnet] maybe thats not that hard to do 16:35 <+bridge_> [ddnet] just make a special tune zone 16:35 <+bridge_> [ddnet] yeah think so too 16:35 <+bridge_> [ddnet] 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` 16:36 <+bridge_> [ddnet] just built in, we can always break compability xdd 16:36 <+bridge_> [ddnet] xd 16:36 <+bridge_> [ddnet] Animation triggers would be very cool, maybe even animations that chain so you wouldn't have to offset everything by hand 16:37 <+bridge_> [ddnet] i miss lady saavik animations 16:37 <+bridge_> [ddnet] https://www.youtube.com/watch?v=_OEgiJFKtQw 16:37 <+bridge_> [ddnet] if playername == ryozuki 16:37 <+bridge_> [ddnet] fireworks() 16:37 <+bridge_> [ddnet] else 16:37 <+bridge_> [ddnet] nothingxd() 16:37 <+bridge_> [ddnet] She made some insane stuff 16:38 <+bridge_> [ddnet] We need more loading screens for tournaments 😛 16:38 <+bridge_> [ddnet] well tournaments always remind me of the only thing we cant do nothing about 16:38 <+bridge_> [ddnet] :feelsbadman: 16:39 <+bridge_> [ddnet] the word must not be spoken 16:39 <+bridge_> [ddnet] :monkaS: 16:39 <+bridge_> [ddnet] why 16:40 <+bridge_> [ddnet] https://tenor.com/view/ddos-bowzer-roboo-homies-lunisity-gif-20625247 16:40 <+bridge_> [ddnet] but proxies will help a lot 16:40 <+bridge_> [ddnet] 16:40 <+bridge_> [ddnet] just make proxies for proxies 16:40 <+bridge_> [ddnet] 16:40 <+bridge_> [ddnet] then e.g. i can host for ppl i trust 16:46 <+bridge_> [ddnet] @heinrich5991 can u rebase ur other prs? 16:46 <+bridge_> [ddnet] yeah i saw that but havent really looked into it deeper 16:46 <+bridge_> [ddnet] its hard to see a good diff 16:46 <+bridge_> [ddnet] ah well 16:46 <+bridge_> [ddnet] i should click on the commit 16:46 <+bridge_> [ddnet] instead of changes 16:46 <+bridge_> [ddnet] xd 16:46 <+bridge_> [ddnet] xd 16:46 <+bridge_> [ddnet] which other PRs? @Ryozuki 16:46 <+bridge_> [ddnet] why is there a I (i) 16:46 <+bridge_> [ddnet] in the log format? 16:46 <+bridge_> [ddnet] 16:46 <+bridge_> [ddnet] `[2022-04-29 15:25:37]I[console]: executing 'autoexec_server.cfg'` 16:46 <+bridge_> [ddnet] EDIWT = ERROR DEBUG INFO WARNING TRACE 16:46 <+bridge_> [ddnet] i dislike it 16:46 <+bridge_> [ddnet] i prefer it to tell the full word 16:46 <+bridge_> [ddnet] We better discuss it in the PR 16:46 <+bridge_> [ddnet] best would be to post your opinion in the PR 16:46 <+bridge_> [ddnet] the first thing i thought about the I is that it was some fancy separator 16:46 <+bridge_> [ddnet] true 16:47 <+bridge_> [ddnet] done 16:50 <+bridge_> [ddnet] > Looks similar. Nice to see that nearly everyone is on most recent version, great advantage of Steam. 16:50 <+bridge_> [ddnet] its true 16:50 <+bridge_> [ddnet] and i think thanks to steam we can try to do breaking changes 16:52 <+bridge_> [ddnet] 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? 16:52 <+bridge_> [ddnet] probably no problem with that? 16:53 <+bridge_> [ddnet] why do you want it? 16:53 <+bridge_> [ddnet] i see nothing good 16:53 <+bridge_> [ddnet] please don't lie. I assume you have read the PR ^^ 16:53 <+bridge_> [ddnet] the issue* 16:53 <+bridge_> [ddnet] can you think of a positive thing that was said about vanilla support? 16:54 <+bridge_> [ddnet] 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 16:55 <+bridge_> [ddnet] thought about that too, removing network code from the client code as first step 😄 16:55 <+bridge_> [ddnet] I did it for 0.5-0.6, but I guess 0.6-0.7 is harder 16:55 <+bridge_> [ddnet] cause of the state that needs to be kept 16:55 <+bridge_> [ddnet] If we can truly have it be clean I'd be for having a 0.7 layer 16:56 <+bridge_> [ddnet] Not even sure if an outside observer can derive all the needed state 16:56 <+bridge_> [ddnet] can you come up with an example that would be hard? 17:01 <+bridge_> [ddnet] I was thinking about whispers, but I guess you could keep track of that 17:01 <+bridge_> [ddnet] just break compability once per year 17:01 <+bridge_> [ddnet] 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 17:01 <+bridge_> [ddnet] all problems solved 17:03 <+bridge_> [ddnet] @heinrich5991 ah I remembered one, `protocol7::CNetMsg_Sv_ServerSettings` how would you go about this one? 17:03 <+bridge_> [ddnet] It requires information that wouldn't be sent to a 0.6 client to begin with 17:04 <+bridge_> [ddnet] 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 17:04 <+bridge_> [ddnet] not sure if that'd still be called non-invasive by you then ^^ 17:05 <+bridge_> [ddnet] but the ddnet client could then also use the info ^^ 17:05 <+bridge_> [ddnet] in the worst case, if not wanted, I'd fill it with stub data that the client accepts 17:06 <+bridge_> [ddnet] 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 17:07 <+bridge_> [ddnet] Hm, the set of things sent to 0.7 clients is almost in all cases a superset, so this could be desirable 17:07 <+bridge_> [ddnet] ah u were talking about the pr 17:07 <+bridge_> [ddnet] i thought u said in general 17:07 <+bridge_> [ddnet] no, the issue, see next line 17:08 <+bridge_> [ddnet] @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 17:09 <+bridge_> [ddnet] Could even be generalized by #4791 17:09 <+bridge_> [ddnet] https://github.com/ddnet/ddnet/pull/4791 18:21 <+bridge_> [ddnet] u know how use twmap on py 18:22 <+bridge_> [ddnet] in a test script it gimme immediately this error File "c:\Users\sradi\Desktop\Test\test2.py", line 14, in 18:22 <+bridge_> [ddnet] assert g1.name == g1_name 18:22 <+bridge_> [ddnet] AssertionError 18:22 <+bridge_> [ddnet] best u tag patiga directly 20:59 <+bridge_> [ddnet] @heinrich5991 can you look what just happened to ger2 server? 20:59 <+bridge_> [ddnet] everyone disconnected at the same time 20:59 <+bridge_> [ddnet] or anyone that has insight to the servers 21:59 <+bridge_> [ddnet] Server crashed, probably because of the recent changes 22:03 <+bridge_> [ddnet] Bug in /swap, disabled on official servers for now 23:29 <+bridge_> [ddnet] 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 23:51 <+bridge_> [ddnet] oh sus 23:51 <+bridge_> [ddnet] lotus is a kog o ddnet map? 23:52 <+bridge_> [ddnet] could someone give me a hand, a tutorial or something on how to use HSplitBottom, vertical etc others well? 23:59 <+bridge_> [ddnet] I also have the feeling its black magic xD