00:19 <+bridge> [ddnet] @Yami_x3 which client are you trying to connect with? 00:20 <+bridge> [ddnet] DDNet 0.6.4, 14.0.3 00:21 <+bridge> [ddnet] can you try to connect with an older client, just to check if it's #2370 00:21 <+bridge> [ddnet] https://github.com/ddnet/ddnet/issues/2370 00:21 <+bridge> [ddnet] :poggers: 00:22 <+bridge> [ddnet] this is going to be so much of a pita to debug 😦 00:22 <+bridge> [ddnet] this one doesn't happen when I try it, so I don't know where to look 00:22 <+bridge> [ddnet] have u a older version? 00:26 <+bridge> [ddnet] i try it with a older version but its not working only connect with: IP.. 00:27 <+bridge> [ddnet] older cersion of server? 00:27 <+bridge> [ddnet] older version of server? 00:27 <+bridge> [ddnet] oh sure i test it x'D 00:28 <+bridge> [ddnet] more stranger xd 00:30 <+bridge> [ddnet] omg .-. with the DDNet 13.2.2 work the Server x'D 00:31 <+bridge> [ddnet] yeah figures it'd be the impossible to reproduce bug 00:31 <+bridge> [ddnet] I'll take a look tomorrow 00:31 <+bridge> [ddnet] ok no problem developing is hard x'D thanks for help ❤️ :3 10:04 <+bridge> [ddnet] #2370 10:04 <+bridge> [ddnet] https://github.com/ddnet/ddnet/issues/2370 10:04 <+bridge> [ddnet] lol 10:06 <+bridge> [ddnet] <ᶰ°Konͧsti> :feelsbadman: 10:06 <+bridge> [ddnet] <ᶰ°Konͧsti> Others had the same problem 10:08 <+bridge> [ddnet] @ᶰ°Konͧsti you don't see the server or connecting doesn't work? 10:08 <+bridge> [ddnet] <ᶰ°Konͧsti> I see the server but it keeps connecting forever 10:09 <+bridge> [ddnet] <ᶰ°Konͧsti> The lan server is The Problem, didnt work with older client too 10:09 <+bridge> [ddnet] could I ask you to install wireshark and capture packets for debugging? 10:09 <+bridge> [ddnet] <ᶰ°Konͧsti> not now tbh, im on a way till evening 10:09 <+bridge> [ddnet] okay 🙂 10:42 <+bridge> [ddnet] Please discuss ^ 11:00 <+bridge> [ddnet] <ᶰ°Konͧsti> Maybe it would make it easier to understand envelopes and shit 13:00 <+bridge> [ddnet] @heinrich5991 isn't showothers used to showothers from another team 13:00 <+bridge> [ddnet] thats what i does rn 13:06 <+bridge> [ddnet] yes 13:07 <+bridge> [ddnet] look my github 13:07 <+bridge> [ddnet] comments 13:07 <+bridge> [ddnet] the following situation: 13:07 <+bridge> [ddnet] A has showothers enabled 13:07 <+bridge> [ddnet] B doesn't, is in a different team 13:08 <+bridge> [ddnet] we create a snap for B 13:08 <+bridge> [ddnet] since A has showothers enabled, we snap the specchar 13:08 <+bridge> [ddnet] but that's not intended, its should only be snapped when B has showothers enabled, not A 13:09 <+bridge> [ddnet] "we create a snap for B" as in the snapshot will be sent to b? 13:09 <+bridge> [ddnet] yes 13:09 <+bridge> [ddnet] snappingclient is the one who will receive the snapshot? 13:09 <+bridge> [ddnet] yes 13:09 <+bridge> [ddnet] ok 13:09 <+bridge> [ddnet] its a bit confusing sometimes 13:10 <+bridge> [ddnet] so i should just use pSnapPlayer->m_ShowOthers 13:10 <+bridge> [ddnet] @heinrich5991 did you see about -1? 13:11 <+bridge> [ddnet] this is on the same level and it doesn't handle -1 13:11 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/727481377649459221/unknown.png 13:12 <+bridge> [ddnet] @heinrich5991 do you know if the dummy is the same player? 13:13 <+bridge> [ddnet] dummy is a separate player 13:13 <+bridge> [ddnet] ah nevermind 13:13 <+bridge> [ddnet] it isnt 13:13 <+bridge> [ddnet] ok it works 13:14 <+bridge> [ddnet] well only the -1 remains 13:36 <+bridge> [ddnet] @Ryozuki out of bounds is still a problem there (and above as you noted), star goes to the variable name, not the type 14:46 <+bridge> [ddnet] using a variable and then for some reason not using it 14:46 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/727505460407566386/unknown.png 14:47 <+bridge> [ddnet] :lol: 14:47 <+bridge> [ddnet] 😄 16:48 <+bridge> [ddnet] #2370 happens with our prebuilt servers 16:48 <+bridge> [ddnet] https://github.com/ddnet/ddnet/issues/2370 16:53 <+bridge> [ddnet] yep, that's pretty bad 16:54 <+bridge> [ddnet] eh, rather hard to debug when recompiling it fixes it 😄 16:54 <+bridge> [ddnet] so I should bisect on my build server? 16:54 <+bridge> [ddnet] @deen is the steam rls now planned 🤔 ? 16:54 <+bridge> [ddnet] yeah 16:54 <+bridge> [ddnet] Nice one 16:56 <+bridge> [ddnet] @Learath2 you could run with asan or valgrind to check for some weird stuff, because that's my guess 16:56 <+bridge> [ddnet] planned? is there a release date? 16:56 <+bridge> [ddnet] no 16:56 <+bridge> [ddnet] ddnet birthday 16:56 <+bridge> [ddnet] :feelsbadman: 16:56 <+bridge> [ddnet] I'm taking a look on what messages I get on the client 16:56 <+bridge> [ddnet] planned yes, release date no 16:57 <+bridge> [ddnet] we're waiting for valve to review the release 16:57 <+bridge> [ddnet] currently 16:57 <+bridge> [ddnet] I get a NETMSG_CON_READY, then I get a SNAPEMPTY 16:57 <+bridge> [ddnet] which should be enough to let the client ingame, no? 16:57 <+bridge> [ddnet] client receives 3 snaps before it goes ingame IIRC? 16:57 <+bridge> [ddnet] hm, I only get one, nothing after 16:58 <+bridge> [ddnet] no symbols on the release either, I thought we were building with RelWithDebInfo 16:59 <+bridge> [ddnet] @Learath2 memcheck output, maybe it helps 16:59 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/727538724191076385/memcheck.txt 16:59 <+bridge> [ddnet] it might be nice if we could build with detached debug info 16:59 <+bridge> [ddnet] then we don't need to ship the debug info (smaller downloads) but can still debug after the fact 16:59 <+bridge> [ddnet] true 17:01 <+bridge> [ddnet] hm, `maximum(MaxClients - maximum(g_Config.m_SvSpectatorSlots, g_Config.m_SvReservedSlots), PlayerCount)` how could any of these be uninitialized? the memcheck doesn't make much sense 17:01 <+bridge> [ddnet] the first one? 17:01 <+bridge> [ddnet] the 2 variables we directly initialize, the configs are initialized by the config 17:02 <+bridge> [ddnet] i think the last one might be more interesting 17:02 <+bridge> [ddnet] oh yeah that does look more interesting 17:04 <+bridge> [ddnet] My guess would be that you run the CacheServerInfo before initializing g_Config 17:10 <+bridge> [ddnet] looks like my guess is wrong 17:13 <+bridge> [ddnet] mine was too 17:19 <+bridge> [ddnet] m_MaxClients in CNetServer is only initialized after Open() 17:19 <+bridge> [ddnet] but we access it before 17:21 <+bridge> [ddnet] I'll fix that 17:23 <+bridge> [ddnet] hm, actually not so easy since it happens while reading the config and we need the config for that 17:24 <+bridge> [ddnet] What triggers resends? 17:24 <+bridge> [ddnet] no idea 😄 @heinrich5991 maybe knows 17:25 <+bridge> [ddnet] when the other peer asks for them 17:25 <+bridge> [ddnet] Nothing else? 17:25 <+bridge> [ddnet] and long outstanding acks I think 17:25 <+bridge> [ddnet] I don't see the client asking for one, but the server sends the tuneparams, then sends another with resend flag set 17:26 <+bridge> [ddnet] after a timeout? 17:26 <+bridge> [ddnet] I'm not sure why it's sent 17:26 <+bridge> [ddnet] the client is still stuck in the loading screen 17:29 <+bridge> [ddnet] found a nicer solution 17:32 <+bridge> [ddnet] @deen can you try a build with debug info? 17:32 <+bridge> [ddnet] Well actually, can you get me one 😄 17:32 <+bridge> [ddnet] from the build server? 17:33 <+bridge> [ddnet] did you fix the uninitialised value in OnClientEnter yet? 17:33 <+bridge> [ddnet] yeah, doesn't happen on my builds 17:33 <+bridge> [ddnet] I couldn't find what is uninitialized OnClientEnter 17:33 <+bridge> [ddnet] ok, let me take a look 17:34 <+bridge> [ddnet] the Flags 17:34 <+bridge> [ddnet] hm, no 😄 17:34 <+bridge> [ddnet] it has a default value 17:34 <+bridge> [ddnet] I thought it could be the m_Sixup of the client, but I don't see how that could happen 17:35 <+bridge> [ddnet] especially after `[2020-06-30 16:58:01][server]: player has entered the game. ClientID=0 addr=<{192.168.0.2:63032}> sixup=1` 17:35 <+bridge> [ddnet] m_aClients[ClientID].m_Sixup is initiailzed? 17:36 <+bridge> [ddnet] oh, doesn't seem to be, but at that point it has to be assigned to atleast once 17:37 <+bridge> [ddnet] nope, missing in CClient::Reset() 17:37 <+bridge> [ddnet] i think that will fix it 17:37 <+bridge> [ddnet] nnonono 17:37 <+bridge> [ddnet] 😄 17:37 <+bridge> [ddnet] that creates a really interesting issue 17:37 <+bridge> [ddnet] try it in CServer::Init instead 17:38 <+bridge> [ddnet] done, memcheck is green now 17:39 <+bridge> [ddnet] now let's test on the build server if I can verify it 17:39 <+bridge> [ddnet] x86-64 linux? 17:39 <+bridge> [ddnet] yep 17:42 <+bridge> [ddnet] Having it in `Reset()` caused the server to forgot that the client is sixup on a map change because a rejoin causes a reset 17:42 <+bridge> [ddnet] s\/forgot/forget/ 17:44 <+bridge> [ddnet] oh 17:46 <+bridge> [ddnet] tbf though, I don't see how the value can end up uninitialized ever, `NewClientCallback` always sets `m_Sixup` 17:46 <+bridge> [ddnet] but this code is run before NewClientCallback 17:47 <+bridge> [ddnet] maybe that's the problem 17:47 <+bridge> [ddnet] really? how? I thought NewClientCallback is where CNetServer hands it over to CServer 17:48 <+bridge> [ddnet] memcheck complained all the way in CGameContext 17:54 <+bridge> [ddnet] aha I see why 17:54 <+bridge> [ddnet] ok true 17:54 <+bridge> [ddnet] are you passing in an uninitialized Sixup into NewClientCallback? 17:55 <+bridge> [ddnet] Nah, I'm not checking `ClientIngame` before checking `IsSixup` 17:55 <+bridge> [ddnet] The lower part of the stack drops the messages to the invalid clientids just fine so I never noticed 17:55 <+bridge> [ddnet] ok, my change didn't fix the connection issue 17:56 <+bridge> [ddnet] do you still need the debug build? 17:56 <+bridge> [ddnet] Well yes, can't really go on without symbols 17:56 <+bridge> [ddnet] I mean I could but disassembling this would be a PITA and I'd rather avoid it 17:56 <+bridge> [ddnet] https://ddnet.tw/debug.tar.xz 17:56 <+bridge> [ddnet] so you're hoping it also happens in debug 17:56 <+bridge> [ddnet] could be something that is caused by optimizations 17:58 <+bridge> [ddnet] ok, can be reproduced 17:59 <+bridge> [ddnet] oh great that it happens in debug 17:59 <+bridge> [ddnet] I was hoping `RelWithDebInfo` 18:00 <+bridge> [ddnet] that would have been my next step 18:00 <+bridge> [ddnet] but easier to debug without opts 18:01 <+bridge> [ddnet] @deen `Reading symbols from ./DDNet-Server...(no debugging symbols found)...done.` 18:01 <+bridge> [ddnet] what are you building on? 18:01 <+bridge> [ddnet] oooh, it's probably stripping 18:02 <+bridge> [ddnet] i used the make package_default 18:02 <+bridge> [ddnet] ah makes sense 18:03 <+bridge> [ddnet] https://ddnet.tw/DDNet-Server 18:05 <+bridge> [ddnet] \o/ symbols 18:16 <+bridge> [ddnet] @deen which commit is this exactly? 18:16 <+bridge> [ddnet] I'm having trouble matching the source lines 18:22 <+bridge> [ddnet] uh, I wonder how this ever worked at all 18:25 <+bridge> [ddnet] it's just master from ddnet/ddnet 18:26 <+bridge> [ddnet] @deen https://streamable.com/ozwb2j 18:26 <+bridge> [ddnet] using the logistic function :D 18:26 <+bridge> [ddnet] I see, @deen I think your compiler is choosing the wrong template specialization 18:26 <+bridge> [ddnet] yay, buggy compiler 18:26 <+bridge> [ddnet] ok, so I need to update and build a new release 18:26 <+bridge> [ddnet] gotta find a way to make it look good when zooming while the animation 18:26 <+bridge> [ddnet] or figure out a better template hack than me 18:27 <+bridge> [ddnet] nah, not worth it to fight buggy compilers 18:27 <+bridge> [ddnet] can you take a quick look at what I do please? 18:27 <+bridge> [ddnet] I'm not great with meta-programming and SFINAE 18:27 <+bridge> [ddnet] @Ryozuki maybe a bit too fast 18:27 <+bridge> [ddnet] yeah 18:27 <+bridge> [ddnet] there is a setting tho 18:27 <+bridge> [ddnet] @Learath2 ok, where 18:28 <+bridge> [ddnet] better make the default reasonable 18:28 <+bridge> [ddnet] yeah 18:28 <+bridge> [ddnet] @deen datasrc/seven/compile.py:L118 18:30 <+bridge> [ddnet] messages from protocol7 are then marked with `using is_sixup = char;` causing is_sixup to evaluate to true 18:30 <+bridge> [ddnet] Ah I know this issue actually 18:30 <+bridge> [ddnet] hm, it's not a compiler issue, it's a standards defect fixed in C++14 18:31 <+bridge> [ddnet] so we need to set C++14 as minimum? 18:31 <+bridge> [ddnet] nah there is an ugly-ish workaround to define void_t before C++14 18:31 <+bridge> [ddnet] ```c++ 18:31 <+bridge> [ddnet] template struct make_void { typedef void type;}; 18:31 <+bridge> [ddnet] template using void_t = typename make_void::type;``` 18:32 <+bridge> [ddnet] sounds like you know enough to fix it 😄 18:32 <+bridge> [ddnet] @deen can you try that instead of the simpler definition of void_t I have there? 18:32 <+bridge> [ddnet] @deen it just hit me when I looked at compile.py that I added that void_t definition when I thought we'd upgrade to C++14, then I remembered reading about a standards defect 18:33 <+bridge> [ddnet] > Until CWG 1558 (a C++14 defect), unused parameters in alias templates were not guaranteed to ensure SFINAE and could be ignored... 18:33 <+bridge> [ddnet] Oh It's a C++14 defect even, so would have needed C++17 18:34 <+bridge> [ddnet] There's something broken with switches on the map Croissant 18:34 <+bridge> [ddnet] nope, doesn't work 18:34 <+bridge> [ddnet] nooooo 18:35 <+bridge> [ddnet] you sure it regenerated the protocol? 18:36 <+bridge> [ddnet] ``` 18:36 <+bridge> [ddnet] $ grep -r "void_t = " 18:36 <+bridge> [ddnet] Binary file datasrc/seven/__pycache__/compile.cpython-34.pyc matches 18:36 <+bridge> [ddnet] datasrc/seven/compile.py:template using void_t = typename make_void::type; 18:36 <+bridge> [ddnet] src/game/generated/protocol7.h:template using void_t = typename make_void::type; 18:36 <+bridge> [ddnet] ``` 18:36 <+bridge> [ddnet] meh, I guess it's a compiler defect then 18:36 <+bridge> [ddnet] https://ddnet.tw/DDNet-Server is the new one 18:39 <+bridge> [ddnet] hm, that fixed the wrong branch being taken 18:39 <+bridge> [ddnet] @deen that does fix it for me 18:39 <+bridge> [ddnet] I can join the server with the prebuilt binary 18:42 <+bridge> [ddnet] I would have been awfully surprised if that didn't work, given the C++14 defect fit perfectly to what I'm doing 18:42 <+bridge> [ddnet] After that change I can connect with both 0.7 and ddnet, if there is another issue, it's one that I can't reproduce on any system I have access to 18:46 <+bridge> [ddnet] making the zoom go faster when u spam zoom+ is rly hard 18:46 <+bridge> [ddnet] or idk 18:47 <+bridge> [ddnet] why? Just change the end spot and the logistic function should get faster? 18:47 <+bridge> [ddnet] don't set a new start spot 18:47 <+bridge> [ddnet] i did that, but the zoom jumps 18:47 <+bridge> [ddnet] ah 18:47 <+bridge> [ddnet] it's not that simple 18:47 <+bridge> [ddnet] jumps? huh how could it if you don't move the current spot? 18:47 <+bridge> [ddnet] it jumps cuz if u were 30% done, now ur 20% done 18:47 <+bridge> [ddnet] and thus it jumps 18:47 <+bridge> [ddnet] jump in speed 18:48 <+bridge> [ddnet] like 18:48 <+bridge> [ddnet] instant change 18:48 <+bridge> [ddnet] i dont want instant changes 18:48 <+bridge> [ddnet] that shouldn't happen 18:48 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/727566297432457256/unknown.png 18:48 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/727566302834720918/unknown.png 18:48 <+bridge> [ddnet] tell me what im doing wrong 18:48 <+bridge> [ddnet] xd 18:49 <+bridge> [ddnet] well 18:49 <+bridge> [ddnet] the second screenshoit 18:49 <+bridge> [ddnet] is just testing 18:49 <+bridge> [ddnet] so when targetzoom changes, m_Zoom gets an abrupt change? 18:50 <+bridge> [ddnet] ye 18:50 <+bridge> [ddnet] because the old point is no longer on the logistics curve 18:50 <+bridge> [ddnet] with only m_TargetZoom *= ZoomStep; 18:50 <+bridge> [ddnet] i was racing and some admin shut down the server 18:50 <+bridge> [ddnet] how about you instead go forward in time? to where the curve matches the current zoom and continue from there? 18:51 <+bridge> [ddnet] im trying that 18:51 <+bridge> [ddnet] complicated tho 18:51 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/727566960308650155/unknown.png 18:51 <+bridge> [ddnet] guys a hacker is locking all the servers 18:51 <+bridge> [ddnet] no hacker 18:51 <+bridge> [ddnet] just read #announcements 18:52 <+bridge> [ddnet] but why reset when i was in middle of race 18:52 <+bridge> [ddnet] :O 18:52 <+bridge> [ddnet] why censor 18:52 <+bridge> [ddnet] cuz it says deen 18:52 <+bridge> [ddnet] lmao 18:52 <+bridge> [ddnet] not 18:52 <+bridge> [ddnet] it could say anything 18:52 <+bridge> [ddnet] its the right length 18:52 <+bridge> [ddnet] it could say noby to 18:52 <+bridge> [ddnet] o 18:53 <+bridge> [ddnet] @Ryozuki so where is the curve that drives zoomprogress? 18:53 <+bridge> [ddnet] wdym 18:53 <+bridge> [ddnet] zoomprogress is getting incremented somewhere according to the curve, no? 18:53 <+bridge> [ddnet] this calculates the current zoom, zoomprogress returns from 0 to 1, i scale that to -6 to 6 18:53 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/727567615454871582/unknown.png 18:54 <+bridge> [ddnet] ah 18:54 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/727567685357142146/unknown.png 18:54 <+bridge> [ddnet] What calculates `ZoomProgress()`? 18:54 <+bridge> [ddnet] forgot to send it 18:55 <+bridge> [ddnet] uhm, I can get a little dense with this math stuff, but where is the curve defined? 18:55 <+bridge> [ddnet] zoomprogress returns a value which is used in the curve 18:55 <+bridge> [ddnet] the curve is the ```c 18:55 <+bridge> [ddnet] float ScaledProgress = ZoomProgress() * 12 - 6; 18:55 <+bridge> [ddnet] float Amount = 1.f / (1.f + exp(-ScaledProgress)); 18:55 <+bridge> [ddnet] m_Zoom = mix(m_StartZoom, m_TargetZoom, Amount); 18:55 <+bridge> [ddnet] ``` 18:55 <+bridge> [ddnet] Amount specificily 18:55 <+bridge> [ddnet] ah, yeah sorry blind 18:56 <+bridge> [ddnet] I think I can get a formula for how you should modify the starttick to get the point you need 18:56 <+bridge> [ddnet] this is either rly simple, or overcomplicated 18:56 <+bridge> [ddnet] if you can go ahead 18:56 <+bridge> [ddnet] xD 18:57 <+bridge> [ddnet] @Learath2 now it works when it's not stripped, but after stripping it doesn't 18:57 <+bridge> [ddnet] i'm confused 18:57 <+bridge> [ddnet] :justatest: 18:57 <+bridge> [ddnet] what? really? 18:57 <+bridge> [ddnet] seems so 18:57 <+bridge> [ddnet] I'm baffled, strip shouldn't be touching any code 18:57 <+bridge> [ddnet] i rebuilt again, deleted all files before 18:57 <+bridge> [ddnet] or cmake does something very wrong here? 18:58 <+bridge> [ddnet] ooooh 18:58 <+bridge> [ddnet] if you deleted your build folder, I don't see how the past could influence 18:58 <+bridge> [ddnet] the DDNet-Server I sent you is wrong 18:58 <+bridge> [ddnet] @Learath2 we can always just forbid zooming while zoom is in progress 18:58 <+bridge> [ddnet] when you make package_default the DDNet-Server doesn't get updated apparently 18:58 <+bridge> [ddnet] @Ryozuki but that's not cool enough 18:58 <+bridge> [ddnet] @deen so it's not fixed? 18:58 <+bridge> [ddnet] :pepeH: 18:59 <+bridge> [ddnet] Wait, how is the DDNet-Server you sent me fine then? 18:59 <+bridge> [ddnet] It should be fixed 😄 18:59 <+bridge> [ddnet] let me rebuild again 18:59 <+bridge> [ddnet] the smooth zoom should be like accelerating 18:59 <+bridge> [ddnet] not linear 18:59 <+bridge> [ddnet] if u know what i mean 19:01 <+bridge> [ddnet] a logistic curve is accelerating in the middle 19:01 <+bridge> [ddnet] ah was it changed 19:01 <+bridge> [ddnet] in the github thingie it looked linear 19:05 <+bridge> [ddnet] @louis https://www.youtube.com/watch?v=n87XuBnH8X4&feature=youtu.be 19:06 <+bridge> [ddnet] this is how it looks rn 19:06 <+bridge> [ddnet] @Ryozuki what about smooth zoom from ath 19:06 <+bridge> [ddnet] ath sucks my ass 19:06 <+bridge> [ddnet] yeah 19:06 <+bridge> [ddnet] but smooth zoom is nice 19:06 <+bridge> [ddnet] you can implement it 19:06 <+bridge> [ddnet] for videos and stuff 19:06 <+bridge> [ddnet] i wont do it 19:06 <+bridge> [ddnet] :justatest: 19:07 <+bridge> [ddnet] biggest f3 19:08 <+bridge> [ddnet] why does /save g if g is already a save code make my tee do a weird kill thing 19:08 <+bridge> [ddnet] shouldnt it not affect ur tee and give an error msg instead 19:08 <+bridge> [ddnet] @Ryozuki how do you modify the end of the animation when you modify the target zoom? 19:08 <+bridge> [ddnet] it does, but it spawns the kill particles on my tee and also makes the kill message in scoreboard 19:08 <+bridge> [ddnet] end tick of the animation* 19:08 <+bridge> [ddnet] even though my position doesn't change 19:09 <+bridge> [ddnet] oh.. thats weird lol 19:09 <+bridge> [ddnet] secret trick to swap strong hook :justatest: 19:09 <+bridge> [ddnet] come srv @onby 19:09 <+bridge> [ddnet] oh wtf 19:09 <+bridge> [ddnet] thats actuaqlly genius 19:09 <+bridge> [ddnet] wait lemme test it 19:09 <+bridge> [ddnet] @Learath2 here u have the changes with this thing missing https://github.com/ddnet/ddnet/pull/2420/files 19:09 <+bridge> [ddnet] ah I see what you tried 19:09 <+bridge> [ddnet] i can try that but i doubt it makes any difference 19:10 <+bridge> [ddnet] wait i dont get it lol 19:10 <+bridge> [ddnet] aw it doesnt give strong >:l 19:10 <+bridge> [ddnet] @onby join my server 19:11 <+bridge> [ddnet] send tldr 19:11 <+bridge> [ddnet] u have to see it 19:11 <+bridge> [ddnet] im on springlobe 3 19:12 <+bridge> [ddnet] ok 19:12 <+bridge> [ddnet] wtf 19:12 <+bridge> [ddnet] hahahaah 19:12 <+bridge> [ddnet] okay this is more @heinrich5991's ball park as this ends up being a differential equation if you don't want the speed to change 😛 19:12 <+bridge> [ddnet] that looks so silly 19:12 <+bridge> [ddnet] tdtw's zoom 19:12 <+bridge> [ddnet] heinrich the math expert 19:12 <+bridge> [ddnet] if you just want the zoom not to jump, I can do that 19:13 <+bridge> [ddnet] what do you mean 19:13 <+bridge> [ddnet] you can fix it without complicated maths 19:13 <+bridge> [ddnet] can an admin join my server 19:13 <+bridge> [ddnet] ? 19:13 <+bridge> [ddnet] flw louis 19:13 <+bridge> [ddnet] thats 19:13 <+bridge> [ddnet] yeah 19:13 <+bridge> [ddnet] i watched it 19:13 <+bridge> [ddnet] its wierd 19:13 <+bridge> [ddnet] i do think someone should look into it xd 19:14 <+bridge> [ddnet] If you don't want instant changes of the zoom, I can solve the equation to tell you how to modify the start and the end 19:14 <+bridge> [ddnet] he just makes the spawn particles 19:14 <+bridge> [ddnet] and appears in the same place 19:14 <+bridge> [ddnet] yeah go ahead 19:14 <+bridge> [ddnet] If you want the speed the zoom is changing to stay the same, I can't, it's a differential equation that I can't seem to solve 😛 19:14 <+bridge> [ddnet] haha this can be used to do instant hooks since you die and respawn and your hook is reset so it makes it easy to do edgehooks since you need to hook very fast 19:14 <+bridge> [ddnet] how do u trigger it? 19:14 <+bridge> [ddnet] just using a save code that exists? lol 19:14 <+bridge> [ddnet] what about smooth text appearing? 19:15 <+bridge> [ddnet] it would be nice 19:15 <+bridge> [ddnet] louis are u sure ur actually dying and respawning 19:15 <+bridge> [ddnet] maybe it happened too fast for me to see lol 19:15 <+bridge> [ddnet] no my time doesnt change but i see the scoreboard for a split second sometimes 19:15 <+bridge> [ddnet] i took demo 19:16 <+bridge> [ddnet] ill go play a dota ranked and cry in a corner after losing 19:16 <+bridge> [ddnet] @Learath2 ping me if u find a solution 19:16 <+bridge> [ddnet] if i am dying and respawning, it should be possible to stack tees in maps where /spec doesn't allow for it and possibly do some bugs 19:16 <+bridge> [ddnet] im not sure 19:16 <+bridge> [ddnet] try to find a way to exploit it 19:16 <+bridge> [ddnet] then it will get fixed faster 19:17 <+bridge> [ddnet] ok :troll: 19:19 <+bridge> [ddnet] @Learath2 diff eq? 19:19 <+bridge> [ddnet] did someone call me? 😛 19:20 <+bridge> [ddnet] @heinrich5991 its about https://github.com/ddnet/ddnet/pull/2420 19:21 <+bridge> [ddnet] how to modify the curve smoothly 19:21 <+bridge> [ddnet] after the zoom animation already started 19:21 <+bridge> [ddnet] @Ryozuki have you just tried increasing the target zoom? 19:21 <+bridge> [ddnet] you can try it 19:21 <+bridge> [ddnet] download the artifact 19:22 <+bridge> [ddnet] this entire equation just reduces to `0 = 0` so you should be able to change that 19:22 <+bridge> [ddnet] ah 19:22 <+bridge> [ddnet] i tried but its abrupt 19:22 <+bridge> [ddnet] no it does kill because my rockets suddenly stop when i run the command 19:22 <+bridge> [ddnet] you can checkout the pr and try it xd 19:22 <+bridge> [ddnet] so its not exploitable 19:22 <+bridge> [ddnet] nvm, I'm retarded, I forgot the mix() 19:22 <+bridge> [ddnet] and its literaly just a way to kill in a weird way? lol 19:22 <+bridge> [ddnet] no i think it could be exploitable 19:22 <+bridge> [ddnet] :kek: :kek: 19:23 <+bridge> [ddnet] and u dont even die / give strong 19:23 <+bridge> [ddnet] well i think ur not wrong that if its making ur projs disappear then ur tee is dying 19:24 <+bridge> [ddnet] i fail to see how it helps u yet 19:24 <+bridge> [ddnet] for example, running the bind the frame you are on a kill might override the kill and you may be able to skip kills 19:24 <+bridge> [ddnet] hmmmmmmmm 19:24 <+bridge> [ddnet] or running the bind the frame a tee teleports to the tile you are on can stack both tees and you can do a sg bug maybe 19:24 <+bridge> [ddnet] u should make a test map 19:24 <+bridge> [ddnet] for that 19:24 <+bridge> [ddnet] ye but idk if my srv will have the glitch 19:24 <+bridge> [ddnet] download newest ddnet 19:34 <+bridge> [ddnet] @deen join my server 19:34 <+bridge> [ddnet] @louis ip? 19:35 <+bridge> [ddnet] just follow louis 19:35 <+bridge> [ddnet] 74.91.114.132:8305 19:35 <+bridge> [ddnet] i think 19:37 <+bridge> [ddnet] @onby yes its fully exploitable LMAO 19:38 <+bridge> [ddnet] hahaaha 19:38 <+bridge> [ddnet] how? 19:38 <+bridge> [ddnet] join srv 19:38 <+bridge> [ddnet] lol 19:39 <+bridge> [ddnet] @onby 19:40 <+bridge> [ddnet] ok 20:08 <+bridge> [ddnet] @onby can you explain the rocket thing? 20:08 <+bridge> [ddnet] which thing 20:08 <+bridge> [ddnet] if u mean what louis said, i just agreed because ddnet removes ur projectiles once ur tee dies 20:09 <+bridge> [ddnet] so i thought that supported the idea of what he had found 20:09 <+bridge> [ddnet] i dont know much about how hes actually doing it 20:10 <+bridge> [ddnet] :/ 20:11 <+bridge> [ddnet] @deen 20:11 <+bridge> [ddnet] [12:08 PM] louis: why does /save g if g is already a save code make my tee do a weird kill thing 20:11 <+bridge> [ddnet] NICE SNITCH 20:11 <+bridge> [ddnet] he can scroll up himself tho 20:11 <+bridge> [ddnet] thanks 20:11 <+bridge> [ddnet] if u didnt want ddnet #developers to know maybe u shouldnt have wrote how to do it in the #developer channel @louis lmao 20:13 <+bridge> [ddnet] -- :troll: 20:16 <+bridge> [ddnet] @onby i wrote that before i realized u could a: buse :( 20:17 <+bridge> [ddnet] well 20:17 <+bridge> [ddnet] uve learned something today 20:18 <+bridge> [ddnet] https://github.com/ddnet/ddnet/commit/4476ec39f9edfcce5e85701aa360a4dfe4bf6656 that wasn't necessary to revert 20:19 <+bridge> [ddnet] send senior bug tester role :troll: 20:20 <+bridge> [ddnet] Revert Revert :troll: 20:24 <+bridge> [ddnet] @Learath2 no, still not fixed somehow 20:25 <+bridge> [ddnet] @louis see 20:25 <+bridge> [ddnet] how did you even get that one build that worked? 20:25 <+bridge> [ddnet] I'm also wondering... 20:25 <+bridge> [ddnet] where is that DDNet-Server executable coming from 20:25 <+bridge> [ddnet] It'd be really odd if this was undefined behaviour in the compiler itself 20:25 <+bridge> [ddnet] I deleted it and it came back with an old creation timestamp 20:26 <+bridge> [ddnet] what the hell? 20:26 <+bridge> [ddnet] oh, my time is wrong in the chroot 20:26 <+bridge> [ddnet] that at least explains the timestamp 20:27 <+bridge> [ddnet] ok sorry 20:27 <+bridge> [ddnet] it's fixed 20:27 <+bridge> [ddnet] i copied to the wrong directory 20:28 <+bridge> [ddnet] mixed up the user and then copied to the wrong home directory obviously 20:28 <+bridge> [ddnet] your fix works 20:28 <+bridge> [ddnet] I'm very confused 😄 20:28 <+bridge> [ddnet] please make a PR, and let's get it released before I go on vacation 😄 20:28 <+bridge> [ddnet] @deen some weird bug 20:28 <+bridge> [ddnet] with /save again 20:28 <+bridge> [ddnet] join srv xd 20:28 <+bridge> [ddnet] too bad i cant a: buse this one 20:29 <+bridge> [ddnet] not with that attitude 20:31 <+bridge> [ddnet] nvm it wasnt even a bug 20:35 <+bridge> [ddnet] I don't get it 20:37 <+bridge> [ddnet] @heinrich5991 what? the fix? 20:37 <+bridge> [ddnet] yes 20:37 <+bridge> [ddnet] I guess I should read up on CWG1558 20:39 <+bridge> [ddnet] Before C++17 whether an unused template argument could cause substitution failure was undefined 20:39 <+bridge> [ddnet] and when something is undefined the vendor always chooses the easier to implement choice 😄 20:46 <+bridge> [ddnet] omg @Learath2 my color binds are back! 20:46 <+bridge> [ddnet] xd 20:47 <+bridge> [ddnet] @Learath2 whats a c++ defect? 20:47 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/727596123530985512/screenshot_2020-06-30_13-46-44.png 20:47 <+bridge> [ddnet] reproduced ping bug 20:47 <+bridge> [ddnet] @jao's hairy kebab 20:47 <+bridge> [ddnet] who is using my name 20:47 <+bridge> [ddnet] in that image 20:47 <+bridge> [ddnet] llol 20:47 <+bridge> [ddnet] not me 20:47 <+bridge> [ddnet] ik 20:47 <+bridge> [ddnet] but it pinged 20:47 <+bridge> [ddnet] so who 20:47 <+bridge> [ddnet] its sp someone 20:47 <+bridge> [ddnet] ah xd 20:47 <+bridge> [ddnet] @Ryozuki it's when the standard itself missed something 20:48 <+bridge> [ddnet] :poggers: 20:48 <+bridge> [ddnet] @ZombieToad troll 20:48 <+bridge> [ddnet] u 20:48 <+bridge> [ddnet] that's heresy @Learath2 20:49 <+bridge> [ddnet] never heard of this 20:49 <+bridge> [ddnet] @Ryozuki @heinrich5991 found a function that should work better than a logistic curve and is easy to manipulate on the run 20:50 <+bridge> [ddnet] which 20:50 <+bridge> [ddnet] @Ryozuki never heard of what? 20:50 <+bridge> [ddnet] Cubic bezier curves 20:50 <+bridge> [ddnet] CWG Issues 20:50 <+bridge> [ddnet] or something similar to them 20:51 <+bridge> [ddnet] @Learath2 is the hungarian version updated or not? im actually scared on updating my client so i wont lose any progress translating it lmao 20:51 <+bridge> [ddnet] https://en.wikipedia.org/wiki/B%C3%A9zier_curve#Higher-order_curves 20:51 <+bridge> [ddnet] You can set the curve to range from `m_StartZoom` to `m_EndZoom`, and the first derivative is simple enough that we can set the initial speed to be the current speed 20:51 <+bridge> [ddnet] *the first derivative at 0 20:52 <+bridge> [ddnet] reading wikipedia formulas is an art 20:52 <+bridge> [ddnet] itself 20:52 <+bridge> [ddnet] takes a masters degree and 3 phds 20:53 <+bridge> [ddnet] if you know how to implement it feel free :justatest: 20:53 <+bridge> [ddnet] I'll try to 20:53 <+bridge> [ddnet] enjoy, my math has gotten too rusty in a year of not doing any math 20:54 <+bridge> [ddnet] same :justatest: 20:55 <+bridge> [ddnet] how to convert subtiles/tick into blocks/sec :lol: :lol: :lol: 20:55 <+bridge> [ddnet] 50ticks=1sec 20:55 <+bridge> [ddnet] 32subtiles=block 20:55 <+bridge> [ddnet] one of my friends who programs C# asked me this 20:55 <+bridge> [ddnet] genuinely 20:56 <+bridge> [ddnet] https://cubic-bezier.com/#.17,.67,.82,.6 20:56 <+bridge> [ddnet] beutiful 20:56 <+bridge> [ddnet] I was only proposing something similar to bezier curves 20:56 <+bridge> [ddnet] that algorithm can be used on teewords editor? 20:56 <+bridge> [ddnet] I think so 20:57 <+bridge> [ddnet] @heinrich5991 I think bezier curves fit perfectly here, no? 20:57 <+bridge> [ddnet] @Learath2 for graph editing yes 20:57 <+bridge> [ddnet] the formula we use is not the one web browsers use (at least if we use it in 1d instead of 2d) 20:57 <+bridge> [ddnet] https://pomax.github.io/bezierinfo/ 20:58 <+bridge> [ddnet] easy to attach one bezier curve to the end of another 20:58 <+bridge> [ddnet] https://pomax.github.io/bezierinfo/ja-JP/ 20:58 <+bridge> [ddnet] 😛 20:58 <+bridge> [ddnet] first! 20:58 <+bridge> [ddnet] はい 20:58 <+bridge> [ddnet] oh 20:58 <+bridge> [ddnet] japanese 20:58 <+bridge> [ddnet] weeb heinrich 20:58 <+bridge> [ddnet] :kek: nerds finding best stuff 20:58 <+bridge> [ddnet] わかりません 20:59 <+bridge> [ddnet] I found a bug in apples IME 20:59 <+bridge> [ddnet] asian characters look rly nice, i wonder what they thing of our characters 20:59 <+bridge> [ddnet] have you seen japanese or chinese websites, some are impresive 21:00 <+bridge> [ddnet] Chinese is usually a little more blocky, but both do have some beautiful glyphs 21:02 <+bridge> [ddnet] I looked into rendering arabic lately 21:02 <+bridge> [ddnet] god is that insanely hard 21:02 <+bridge> [ddnet] that's fun 🙂 21:02 <+bridge> [ddnet] I took a arabic course for a semester, was a bit enlightening 21:02 <+bridge> [ddnet] even word is broken btw 21:02 <+bridge> [ddnet] you need a feedback loop while putting out the characters as the character that comes after a character determines how it's drawn 21:02 <+bridge> [ddnet] korean language best :feelsamazingman: 21:02 <+bridge> [ddnet] *laughs in hungarian* 21:02 <+bridge> [ddnet] hangul is really easy to learn 21:03 <+bridge> [ddnet] hangul? 21:03 <+bridge> [ddnet] The korean alphabet 21:03 <+bridge> [ddnet] ah 21:17 <+bridge> [ddnet] my other profile is not available, so this is the new one :tee_thinking: 21:18 <+bridge> [ddnet] fork-pr also not working :lol: 21:52 <+bridge> [ddnet] thanks @Cellegen 21:52 <+bridge> [ddnet] ^^ 22:10 <+bridge> [ddnet] great 23:31 <+bridge> [ddnet] arch linux updated :greenthing: 23:31 <+bridge> [ddnet] thanks Ryozuki 23:33 <+bridge> [ddnet] @Ryozuki TU when? 23:33 <+bridge> [ddnet] whats TU? 23:34 <+bridge> [ddnet] ah 23:34 <+bridge> [ddnet] idk 23:34 <+Learath2> Translation Unit? 23:34 <+bridge> [ddnet] Trusted User 23:35 <+bridge> [ddnet] i think i need to maintain more packages 23:36 <+bridge> [ddnet] aside of ddnet i maintain https://aur.archlinux.org/packages/digital/