00:39 <+bridge> [ddnet] I highly doubt youtube has copyright on the rolling cipher used on youtube lol 00:39 <+bridge> [ddnet] This is such a classic example of copyright abuse 01:37 <+bridge> [ddnet] @Learath2 this was not the claim in the DMCA request. I don't think the the DMCA request was legitimate, but that's not the reason for it 01:38 <+bridge> [ddnet] they claim that youtube-dl circumvents "effective copying protections" on music videos, the "cipher" that only exists on these special copyrighted videos from these companies 11:01 <+bridge> [ddnet] devs, why my screen become black for a second every time I switch on/out of game even though I use gfx_fullscreen = 0 ? The only thing that helps is using different from my screen resolution but then its very inconvenient to me 11:02 <+bridge> [ddnet] 15.1.3 win64-steam amd64 11:27 <+ChillerDragon> @BannZay try ``gfx_resizable 0`` 11:41 <+bridge> [ddnet] @Chillbreaker this settings already has 0 11:50 <+ChillerDragon> hmm 11:51 <+ChillerDragon> try using linux then :p 11:51 <+ChillerDragon> did you change anything before this blackscreening happend? 12:00 <+bridge> [ddnet] @BannZay @louis had similar problems with new intel driver. are you on intel? 12:21 <+bridge> [ddnet] @deen yes I am on Intel (27.20.100.8681). Have not tried older DDNet versions. For sure it might be drivers issue 13:24 <+bridge> [ddnet] the same with DDNet 14.4.1 13:32 <+bridge> [ddnet] @ChillerDragon I have changed nothing. Probably windows updated my Intel drivers automatically 13:36 <+bridge> [ddnet] Intel drivers roll back fixed the problem 13:36 <+bridge> [ddnet] CC: @louis 13:36 <+bridge> [ddnet] Intel drivers roll back fixed the problem for me 13:36 <+bridge> [ddnet] CC: @louis 14:49 <+bridge> [ddnet] Looks like `@everyone` ping was used in #records channel and pinged everyone -- maybe use `` tags to prevent that for the @DDNet bot? 15:28 <+bridge> [ddnet] I have disabled permissions to ping @ in that channel 15:41 <+bridge> [ddnet] Simple but effective 15:50 <+bridge> [ddnet] hey @deen, do you have any idea why show distance from ddnet client doesnt work on my server anymore? it used to work when i implemented it. Now it does only work for my F-Client, not ddnet client. The client is sending the packets but it doesnt arrive at the server, it seems 15:50 <+bridge> [ddnet] did you change anything there? 15:54 <+bridge> [ddnet] I don't think so 15:55 <+bridge> [ddnet] weird 16:30 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/773569777595449375/1604500374395.png 16:31 <+bridge> [ddnet] some younger people might assume that this is how it works now 16:31 <+bridge> [ddnet] but interesting "coincidence" 16:31 <+bridge> [ddnet] :thonk: wdym younger 16:33 <+bridge> [ddnet] It doesn't work like that xd 17:05 <+bridge> [ddnet] > :thonk: wdym younger 17:05 <+bridge> [ddnet] @TsFreddie he probs means ppl who dont know what or how matrices works will assume this is how they work i guess 17:05 <+bridge> [ddnet] thanks for explaining 17:05 <+bridge> [ddnet] helps a lot 17:05 <+bridge> [ddnet] irony? :justatest: 17:06 <+bridge> [ddnet] :justatest: 17:06 <+bridge> [ddnet] i appreciate it 17:06 <+bridge> [ddnet] :monkaS: 17:06 <+bridge> [ddnet] I think he really does 17:06 <+bridge> [ddnet] Appreciate the comment 17:06 <+bridge> [ddnet] :thonk: probably 17:06 <+bridge> [ddnet] :justatest: 17:07 <+bridge> [ddnet] bytes cant fully transmit a message 17:07 <+bridge> [ddnet] :monkalaugh: 19:57 <+bridge> [ddnet] I found something silly. You can't have opaque subclasses in C++ 20:04 <+bridge> [ddnet] s\/subclass/nested class/ I guess is more correct 20:07 <+bridge> [ddnet] @Learath2 wdym by opaque nested class 20:08 <+bridge> [ddnet] `class A { class B{ int foo; }; };` you can't expose `A::B` opaquely 20:20 <+bridge> [ddnet] but for namespaces it works, doesnt it? 20:21 <+bridge> [ddnet] I found a jank way to do it on ##c++. You can split the definition of A::B out into another file 20:21 <+bridge> [ddnet] how? 20:23 <+bridge> [ddnet] file1.h:`class A { class B; public: typedef B C; }` file2.h:`class A::B{ int foo; };` 20:23 <+bridge> [ddnet] uh wat 20:23 <+bridge> [ddnet] you can say class A::B 20:23 <+bridge> [ddnet] TIL 20:23 <+bridge> [ddnet] TIL aswell 20:24 <+bridge> [ddnet] Anyway, it's a shit solution 20:57 <+bridge> [ddnet] @jao ^ 20:58 <+bridge> [ddnet] wat 20:59 <+bridge> [ddnet] I was replacing tl/ with stl kinds 20:59 <+bridge> [ddnet] s\/kinds/containers/ 20:59 <+bridge> [ddnet] Funnily, there is no good way to have a sorted vector 20:59 <+bridge> [ddnet] responding to whom? or starting a new topic 20:59 <+bridge> [ddnet] ah 21:00 <+bridge> [ddnet] it's easy to replace in namebans, maybe a little difficult in authmanager 21:00 <+bridge> [ddnet] uuid manager needs some work 21:04 <+bridge> [ddnet] @Scrumplex i think thats not a discordbot issue, the records thing is a webhook coming from somewhere 21:04 <+bridge> [ddnet] 21:09 <+bridge> [ddnet] starts with "Everyone wants accounts" 21:09 <+bridge> [ddnet] :LowIqLaugh: 21:09 <+bridge> [ddnet] literally the only problem is people not wanting accounts 21:09 <+bridge> [ddnet] This guy really has a superiority complex 21:09 <+bridge> [ddnet] big one 21:10 <+bridge> [ddnet] he should try to get US president 21:10 <+bridge> [ddnet] xd 21:11 <+bridge> [ddnet] @Learath2 the best is that he things we dont know how to implement a account system 21:11 <+bridge> [ddnet] thats why he wrote a big wall of text 21:12 <+bridge> [ddnet] only way i see accounts is in ddnet 2 21:12 <+bridge> [ddnet] didnt he leave the server 21:12 <+bridge> [ddnet] yes when is hookrace coming out :justatest: 21:12 <+bridge> [ddnet] @plsplsplslol if u look at #join-leave he joins and leaves like everyday 21:12 <+bridge> [ddnet] probably to check if someone misses him 21:12 <+bridge> [ddnet] lol 21:12 <+bridge> [ddnet] actually would creating ddnet 2 be possible. that'd be really cool 21:12 <+bridge> [ddnet] hes in server now 21:13 <+bridge> [ddnet] i vote for the acount system that deen said. Any nickname, but an unique username(ofc) 21:14 <+bridge> [ddnet] i vote for no account system, i like the simplicity there is right now 21:14 <+bridge> [ddnet] well ofc, accounts optional too 21:14 <+bridge> [ddnet] i vote ddnet 2 and have accounts there 21:14 <+bridge> [ddnet] when u finished all novices and lot of mods and ddmax most ppl cant fake finish harder maps so its not a real problem 21:14 <+bridge> [ddnet] ddnet 3d 21:14 <+bridge> [ddnet] DDDNet 21:15 <+bridge> [ddnet] πŸ˜„ 21:15 <+bridge> [ddnet] ddnet 2.0 made with rust a parallel ECS implementation and vulkan 21:15 <+bridge> [ddnet] no 21:15 <+bridge> [ddnet] u dont even know what it means 21:15 <+bridge> [ddnet] 3DNet 21:15 <+bridge> [ddnet] rust = no 21:15 <+bridge> [ddnet] rust = yes 21:15 <+bridge> [ddnet] no 21:15 <+bridge> [ddnet] we wont need to ubsan 21:15 <+bridge> [ddnet] and asan 21:15 <+bridge> [ddnet] anus 21:15 <+bridge> [ddnet] lets call it louisnet 21:15 <+bridge> [ddnet] someone deleted 21:16 <+bridge> [ddnet] no 21:16 <+bridge> [ddnet] moderators are here 21:16 <+bridge> [ddnet] nouisnet 21:16 <+bridge> [ddnet] 21:16 <+bridge> [ddnet] hookrace 21:16 <+bridge> [ddnet] ddnet hfy already make that 21:16 <+bridge> [ddnet] lets do this, if biden wins we dont add acount system ,if trump does we add it 21:17 <+bridge> [ddnet] lets call it teeworlds 2.0 21:18 <+bridge> [ddnet] twoworlds 21:18 <+bridge> [ddnet] `teesworlds.com` 21:19 <+bridge> [ddnet] <Дядя ЖСня> I'm just curious why you didn't make an account system yet with all cool features it can provide if you know how to do it without breaking current system? 21:19 <+bridge> [ddnet] bcs everyone is too lazy 21:20 <+bridge> [ddnet] they just dont say it xd 21:21 <+bridge> [ddnet] how do you do it without breaking the current system 21:21 <+bridge> [ddnet] optional accounts 21:22 <+bridge> [ddnet] accounts with nicknames 21:22 <+bridge> [ddnet] only login name is unique 21:26 <+bridge> [ddnet] <Дядя ЖСня> @plsplsplslol so read the text and you will know 21:34 <+bridge> [ddnet] I guess he atleast made it about the implementation in the community sense 21:35 <+bridge> [ddnet] @Jupstar βœͺ It's not politically acceptable. I made several account systems 21:41 <+bridge> [ddnet] @Learath2 sounds good, shouldn't we just build upon the work that already has been done? 22:00 <+bridge> [ddnet] > starts with "Everyone wants accounts" 22:00 <+bridge> [ddnet] @Ryozuki leΓ­ eso y lo cerre 22:21 <+bridge> [ddnet] xd 22:34 <+bridge> [ddnet] @Jupstar βœͺ none of them are good bases for future work sadly 22:34 <+bridge> [ddnet] One of them is completely based on asymmetric crypto, no way to get it user friendly 22:35 <+bridge> [ddnet] Another I implemented all the crypto myself using primitives from libsodium. No way to get that merged 22:35 <+bridge> [ddnet] The last one is just a naive username password implementation. I don't even know if I have it on this computer 23:12 <+bridge> [ddnet] why don't ddnet use some macros for safe pointer's function call? 23:17 <+bridge> [ddnet] what do you mean? 23:19 <+bridge> [ddnet] there are many codeblocks like 23:19 <+bridge> [ddnet] ```cpp 23:19 <+bridge> [ddnet] if(pointer) 23:19 <+bridge> [ddnet] pointer->dosomething(); 23:19 <+bridge> [ddnet] ``` 23:20 <+bridge> [ddnet] ```cpp 23:20 <+bridge> [ddnet] #define prefix_safeCall(defaultValue, objectPointer, methodWithArguments)\ 23:20 <+bridge> [ddnet] [&](auto&& ptr) -> decltype(auto)\ 23:20 <+bridge> [ddnet] {\ 23:20 <+bridge> [ddnet] return ptr ? (ptr->methodWithArguments) : (defaultValue);\ 23:20 <+bridge> [ddnet] }\ 23:20 <+bridge> [ddnet] (objectPointer) 23:20 <+bridge> [ddnet] 23:20 <+bridge> [ddnet] #define prefix_safeCallVoid(objectPointer, methodWithArguments)\ 23:20 <+bridge> [ddnet] [&](auto&& ptr)\ 23:20 <+bridge> [ddnet] {\ 23:20 <+bridge> [ddnet] if(ptr)\ 23:20 <+bridge> [ddnet] (ptr->methodWithArguments); \ 23:20 <+bridge> [ddnet] }\ 23:20 <+bridge> [ddnet] (objectPointer)``` 23:20 <+bridge> [ddnet] 23:21 <+bridge> [ddnet] cpp14 23:21 <+bridge> [ddnet] btw https://m.habr.com/ru/post/246971/ 23:23 <+bridge> [ddnet] its also possible to do macro with params in/out/without 23:23 <+bridge> [ddnet] @gerdoe i see. I prefer the explicit over the macro. Also, often you need to do other things too inside the if 23:24 <+bridge> [ddnet] but its quite often in tee code... 23:24 <+bridge> [ddnet] also we are getting such segfaults on pointers 23:24 <+bridge> [ddnet] I can't read the article, but it's using too many #defines I think 23:24 <+bridge> [ddnet] Well, you can't replace all calls with safe one anyway for performance reasons 23:24 <+bridge> [ddnet] also, it's not always correct to not call a function when a ptr is null 23:24 <+bridge> [ddnet] it trades a segfault for a logic bug 23:24 <+bridge> [ddnet] title is "dirty tricks with cpp macros" 23:25 <+bridge> [ddnet] yeah, i thought about performance, that why i asked for opinion 23:26 <+bridge> [ddnet] I'd call the macro "conditional_call" if I wanted to use it 23:26 <+bridge> [ddnet] `safe_call` sounds like you add some safety by using it 23:26 <+bridge> [ddnet] which is not the case IMO 23:26 <+bridge> [ddnet] Ideally we should use references more instead of pointers 23:27 <+bridge> [ddnet] whole code is using pointers, no way 23:27 <+bridge> [ddnet] I don't think we have a lot of problems with null pointers (which is the problem that references solve) 23:27 <+bridge> [ddnet] yeah, but I mean instead of the safe_call macro 23:27 <+bridge> [ddnet] someone gets it while changing the base code 23:28 <+bridge> [ddnet] not often, but not rare thing 23:28 <+bridge> [ddnet] and we had our fair share of nullpointer crashes 23:28 <+bridge> [ddnet] oh, and to satisfy the name safe_call it should throw an exception if it's null 23:28 <+bridge> [ddnet] it can also spam in console about null-pointer reference for debugging 23:28 <+bridge> [ddnet] and then you need exception handling 23:28 <+bridge> [ddnet] have a recent one so we can check whether it would have been solved by references? 23:28 <+bridge> [ddnet] console is too easy to ignore 23:29 <+bridge> [ddnet] no recent ones afaik 23:29 <+bridge> [ddnet] hm, actually, exception is best solution 23:29 <+bridge> [ddnet] (I kinda disagree on using more references, especially for out parameters. they hide data flow from a programmer reading the code) 23:31 <+bridge> [ddnet] https://github.com/ddnet/ddnet/commit/d437c57d26c53488881fb15451eb3c197bade714 23:31 <+bridge> [ddnet] https://github.com/ddnet/ddnet/commit/0259e5c3e5acdebdc8669c2b5b91f26cce1945a1 23:31 <+bridge> [ddnet] https://github.com/ddnet/ddnet/commit/5423e14ac90972106da3b82e056759953e29db34 23:31 <+bridge> [ddnet] (just searched for "null pointer") 23:32 <+bridge> [ddnet] Yes, references are a bit tricky because they behave like values, but still the best way in C++ I think 23:32 <+bridge> [ddnet] or rather can get used like values 23:32 <+bridge> [ddnet] it doesn't look like refernces would have helped in either of these three cases 23:33 <+bridge> [ddnet] All of those can actually be 0, so yeah, have to check them 23:41 <+bridge> [ddnet] > @Scrumplex i think thats not a discordbot issue, the records thing is a webhook coming from somewhere 23:41 <+bridge> [ddnet] @Ryozuki but now I found the right repo :D 23:42 <+bridge> [ddnet] u can make a pr with the fix 23:42 <+bridge> [ddnet] :D 23:42 <+bridge> [ddnet] I can do it tomorrow (if no one else is faster :D) 23:42 <+bridge> [ddnet] I can do it tomorrow morning (if no one else is faster :D) 23:43 <+bridge> [ddnet] i think deen alr fixed? 23:43 <+bridge> [ddnet] > I have disabled permissions to ping @ in that channel 23:43 <+bridge> [ddnet] idk he said that earlier 23:44 <+bridge> [ddnet] Well that's kinda a fix :D 23:44 <+bridge> [ddnet] But better to just fix it at the source I think 23:44 <+bridge> [ddnet] i guess you could ping other people tho 23:44 <+bridge> [ddnet] gonna tryhard some map just to ping you lol 23:51 <+bridge> [ddnet] idk why but some mappres in the editor i cant use them. Can someone explain me why? πŸ˜‚ 23:51 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/773680807566245888/screenshot_2020-11-04_22-44-43.png 23:52 <+bridge> [ddnet] The width or the height of the image is not divisible by 16. This is required for images used in tile layers. 23:52 <+bridge> [ddnet] i.e. its not 1024x1024 px 23:52 <+bridge> [ddnet] it has to be 16px multiple on each side 23:52 <+bridge> [ddnet] yeh but others can use it hm 23:54 <+bridge> [ddnet] then u have a good client 23:54 <+bridge> [ddnet] and others dont 23:57 <+bridge> [ddnet] send it to me @FrosTribe 23:57 <+bridge> [ddnet] or 23:57 <+bridge> [ddnet] maaybe u downloaded it incorrectly from the forums