00:08 < bridge_> [ddnet] But the demand attention thing says in the manual that, if the window got the required attention it removes the flag. I disabled the urgency code. So the broken code is the other x11 code 00:17 < bridge_> [ddnet] I also tried to remove it one the window got focused. But had to spam it for 2 seconds to work 00:17 < bridge_> [ddnet] https://github.com/Jupeyy/ddnet/commit/97c755a86c242383d75e8b24beaeead1e692e430 00:18 < bridge_> [ddnet] That was my work around in the past 00:18 < bridge_> [ddnet] I also tried to remove it once the window got focused. But had to spam it for 2 seconds to work 00:18 < bridge_> [ddnet] https://github.com/Jupeyy/ddnet/commit/97c755a86c242383d75e8b24beaeead1e692e430 00:23 < bridge_> [ddnet] Also we need a solution that works without x11,bcs Wayland is on the March 02:39 < bridge_> [ddnet] have you seen the block clips, wrong warps, pixel perfect jumps, and the 1-1 bonus they have to do xD. 07:17 < bridge_> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/839732667859730432/4GTECWEM5A54YBTQ3.jpg 09:45 < bridge_> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/839769742981857330/unknown.png 09:48 < bridge_> [ddnet] i don't get it 09:48 < bridge_> [ddnet] my cmake is still messed up 09:50 < bridge_> [ddnet] did u try to make clean build dir? 09:50 < bridge_> [ddnet] or is that a normal macos error xd 09:52 < bridge_> [ddnet] if you refer to this error: 09:52 < bridge_> [ddnet] https://discord.com/channels/252358080522747904/342454474117218334/839758984587771924 09:52 < bridge_> [ddnet] 09:52 < bridge_> [ddnet] deen: 09:52 < bridge_> [ddnet] i guess this is really bcs they just click unsupported resolutions, and select something insane? 09:53 < bridge_> [ddnet] or do you think it can help with this @TsFreddie ? your pr 09:57 < bridge_> [ddnet] i mean it showed them incorrect, but they werent invalid, were they? 10:02 < bridge_> [ddnet] @Jupstar ✪ i replied in the pr. 10:03 < bridge_> [ddnet] @TsFreddie btw just out of interest, do you actually get a lower resolution canvas then on macos? if ur have low dpi set? 10:03 < bridge_> [ddnet] like full hd on 4k screen 10:03 < bridge_> [ddnet] or smthj 10:03 < bridge_> [ddnet] at least my mac does that 10:03 < bridge_> [ddnet] ok 10:03 < bridge_> [ddnet] kinda interesting approach xd 10:03 < bridge_> [ddnet] but also a bit weird 10:04 < bridge_> [ddnet] ye, on windows is weird too 10:05 < bridge_> [ddnet] on windows the desktop width is lowered if you have hidpi off. but it does make a bit more sense. 10:05 < bridge_> [ddnet] or is there a difference in windows? 10:05 < bridge_> [ddnet] > have hidpi off 10:05 < bridge_> [ddnet] I mean in the application property, application doesn't know anything about DPI in windows. 10:06 < bridge_> [ddnet] thought our hdpi awareness meta data just makes ur window always the same 10:06 < bridge_> [ddnet] or did u only test that on vanilla? 10:07 < bridge_> [ddnet] I rewrote the whole thing in ddnet. it is actually a different method. 10:07 < bridge_> [ddnet] only the issue is similar in vanilla 10:07 < bridge_> [ddnet] and our window size doesn't change indeed 10:07 < bridge_> [ddnet] screen size changes 10:08 < bridge_> [ddnet] there are two resolutions in mac os. You pass the window size during init and during resize, and SDL gives you the scaled canvas size back (which we store in m_ScreenWidth) 10:10 < bridge_> [ddnet] I remember seeing a thread somewhere that mentions the hidpi thing is implemented for wayland as well. but i don't know if they work the same as macos. 10:13 < bridge_> [ddnet] i find it kinda strange anyway that we need it 10:13 < bridge_> [ddnet] teeworlds is dpi aware in a sense that it always asumes the same height 10:13 < bridge_> [ddnet] resolution independent anyway 10:14 < bridge_> [ddnet] full hd to 4k should only improve image quality not really change anything 10:15 < bridge_> [ddnet] oh i didn't change anything to the size that we are communicating with SDL and stuff at all 10:15 < bridge_> [ddnet] yeah no i mean that u get full hd canvas on 4k monitor 10:15 < bridge_> [ddnet] the resolution list is displaying the wrong numbers that's it. 10:15 < bridge_> [ddnet] doesnt that imply that u have lower image quality 10:15 < bridge_> [ddnet] yes, if you don't have hidpi on 10:15 < bridge_> [ddnet] ah so its the exact oposite? 10:16 < bridge_> [ddnet] so macos reports full hd resolution but actually has 4k canvas? 10:16 < bridge_> [ddnet] ye 10:16 < bridge_> [ddnet] i see 10:17 < bridge_> [ddnet] wait. 10:17 < bridge_> [ddnet] guess that makes more sense 😄 10:17 < bridge_> [ddnet] i'm a bit confused 10:17 < bridge_> [ddnet] i mean the desktop reports full hd resolution, but the opengl framebuffer is 4k? 10:17 < bridge_> [ddnet] thats what i mean 10:17 < bridge_> [ddnet] yes 10:18 < bridge_> [ddnet] ok 10:18 < bridge_> [ddnet] in ddnet we still sees the 4k 10:18 < bridge_> [ddnet] ok 10:18 < bridge_> [ddnet] but we need to pass full hd to initialize 10:18 < bridge_> [ddnet] which means if someone selects 4k with hidpi on, it goes boom 10:18 < bridge_> [ddnet] so the resolution list is wrong. 10:18 < bridge_> [ddnet] so i was fixing that. there you go 10:19 < bridge_> [ddnet] finally lol 10:19 < bridge_> [ddnet] yeah 😄 11:19 < bridge_> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/839793427801047080/unknown.png 11:21 < bridge_> [ddnet] and this can happen without ppl configuring it manually per app? 11:21 < bridge_> [ddnet] thats already insane 11:23 < bridge_> [ddnet] if steam is in lowDPI mode, like an auto update of steam breaks the setting. then steam may launch other games with the dpi setting overriden. Some of my app like QQ restarts itself in low DPI mode if it crashes 11:23 < bridge_> [ddnet] either way the game on the left will just think the desktop is smaller, it's the same thing with switch monitors. You can avoid it just by checking if the resolution is larger than the reported desktop size during launch. 11:24 < bridge_> [ddnet] puh ok 11:24 < bridge_> [ddnet] and then windows acts like u told me before 11:24 < bridge_> [ddnet] with the screen size being smaller or smth 11:24 < bridge_> [ddnet] also, some laptop user may change resolution back and forth 11:25 < bridge_> [ddnet] ye. mac gives you smaller window with larger canvas, windows gives you smaller desktop with canvas and window at the same size. 11:25 < bridge_> [ddnet] also, some laptop user may change resolution back and forth to save batteries. again, same thing. 11:25 < bridge_> [ddnet] its so random 11:25 < bridge_> [ddnet] why cant u just disable it completly xD 11:25 < bridge_> [ddnet] that behavior xD 11:25 < bridge_> [ddnet] the windows one? 11:26 < bridge_> [ddnet] yes 11:26 < bridge_> [ddnet] i mean SDL wise 11:26 < bridge_> [ddnet] because older apps can't scale 11:27 < bridge_> [ddnet] windows will guess which one is high and which one is low. so older apps appears blurry but not insanely small, and newer apps appears at the right resolution. 11:27 < bridge_> [ddnet] SDL doesn't know about windows scaling like you said 11:27 < bridge_> [ddnet] but wouldnt this mean we don't explicitly have to care 11:28 < bridge_> [ddnet] windows always gives a valid screen 11:28 < bridge_> [ddnet] never an invalid 11:28 < bridge_> [ddnet] we don't cae 11:28 < bridge_> [ddnet] we care about changing resolution and switch monitors on windows 11:28 < bridge_> [ddnet] but the issue in #general is that the canvas is way too big 11:28 < bridge_> [ddnet] windows will happily give you window context in any size 11:29 < bridge_> [ddnet] ok, so just to be clear 11:29 < bridge_> [ddnet] u on low dpi mode, set ur resolution to something high, so it looks fullscreen, then u change back DPI settings and then ur window is broken? 11:29 < bridge_> [ddnet] or the opposite 11:29 < bridge_> [ddnet] wdym low dpi mode 11:30 < bridge_> [ddnet] in ddnet? or the per app property set to "System" 11:30 < bridge_> [ddnet] yeah the steam thing 11:30 < bridge_> [ddnet] which influences ddnet 11:31 < bridge_> [ddnet] you were in Application "hidpi" mode, game sees 4k screen. you set a 4k resolution. it looks fullscreen. 11:32 < bridge_> [ddnet] ok i think i get it 11:32 < bridge_> [ddnet] something breaks the DPI setting, now it is in System "lowDPI" mode, game sees full hd screen, game still launches in 4k resolution, with a 4k window. you can see a quarter of the game. 11:32 < bridge_> [ddnet] so does this realisticly happen easily, or is the users input required to make this happen 11:33 < bridge_> [ddnet] if clicking update button is user input then it requires user inputs 11:33 < bridge_> [ddnet] but it can happen any time when ddnet isn't running. 11:34 < bridge_> [ddnet] maybe you launched it a week ago. something break during the week. you launch ddnet next week it will be broken. 11:34 < bridge_> [ddnet] ok 11:34 < bridge_> [ddnet] atleast this guy said he clicked graphic settings 11:34 < bridge_> [ddnet] https://discord.com/channels/252358080522747904/745926398140612678/838576495827222560 11:34 < bridge_> [ddnet] we have people that have game launches like that for sure 11:34 < bridge_> [ddnet] i am just not sure if it acutally happens for so many ppl 11:34 < bridge_> [ddnet] ok 11:35 < bridge_> [ddnet] but i know how to fix it pretty easily so it wasn't a huge issue for us tbh. 11:35 < bridge_> [ddnet] so you want to force the "best" resolution? 11:35 < bridge_> [ddnet] or what is the plan 11:35 < bridge_> [ddnet] but i still think we should do a countdown revert on resolution change for your case, and a desktop size check for my case. 11:36 < bridge_> [ddnet] i want to force the desktop resolution if the configed resolution is larger than the desktop 11:36 < bridge_> [ddnet] ok 11:36 < bridge_> [ddnet] so we can basically also remove the fake modes? 11:36 < bridge_> [ddnet] i mean they basically uselss then 11:36 < bridge_> [ddnet] who has 8k screen xD 11:36 < bridge_> [ddnet] i don't know what fake modes are for initially 11:36 < bridge_> [ddnet] neither i do 11:36 < bridge_> [ddnet] they just existed 11:36 < bridge_> [ddnet] actually 11:37 < bridge_> [ddnet] i prefer if we just check it against the highest resolution possible 11:37 < bridge_> [ddnet] i mean u can set uneven resolution in windowed mode 11:37 < bridge_> [ddnet] i am fine with that 11:37 < bridge_> [ddnet] VideoModes are your monitors' (or GPU's) supported display mode right? 11:37 < bridge_> [ddnet] guess a mix of both 11:37 < bridge_> [ddnet] so fake mode might still be useful for getting a windowed mode with a size that isn't available on your monitor 11:37 < bridge_> [ddnet] but i guess only fullscreen modes 11:38 < bridge_> [ddnet] but why should that even happen xD 11:38 < bridge_> [ddnet] also u can just resize on windowed mode 11:38 < bridge_> [ddnet] can you do it in the last release already? 11:38 < bridge_> [ddnet] yeah 11:38 < bridge_> [ddnet] i can't 11:39 < bridge_> [ddnet] let me check master lol 11:39 < bridge_> [ddnet] well u should note on windows the window doesnt remove fullscreen flags 11:39 < bridge_> [ddnet] rest should work 11:39 < bridge_> [ddnet] i tested it on windows 11:39 < bridge_> [ddnet] ofc not in borderless 11:39 < bridge_> [ddnet] if u tested that 11:39 < bridge_> [ddnet] windowed mode, can't drag to resize 11:39 < bridge_> [ddnet] real windowed or borderless? 11:40 < bridge_> [ddnet] real windowed 11:40 < bridge_> [ddnet] press windows key plus up 11:40 < bridge_> [ddnet] should normally work 11:40 < bridge_> [ddnet] or windows key right 11:40 < bridge_> [ddnet] nope 11:41 < bridge_> [ddnet] maximum is not even enabled 11:41 < bridge_> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/839798959145091102/unknown.png 11:41 < bridge_> [ddnet] wtf 11:41 < bridge_> [ddnet] did u disable that in windos or smth 11:41 < bridge_> [ddnet] how do I do that lol 11:41 < bridge_> [ddnet] ok u forced me to switch to windows xd 11:41 < bridge_> [ddnet] i'll test 11:41 < bridge_> [ddnet] i saw the code handling resizes, don't know why it isn't possible yet 11:42 < bridge_> [ddnet] been wondering that for a while tbh 11:42 < bridge_> [ddnet] :kek: I'm so sorry 11:44 < bridge_> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/839799653570707456/unknown.png 11:44 < bridge_> [ddnet] oh 11:44 < bridge_> [ddnet] works for me 11:44 < bridge_> [ddnet] strange 11:44 < bridge_> [ddnet] is that really a driver thing 11:44 < bridge_> [ddnet] would kill me 11:44 < bridge_> [ddnet] i can casually resize 11:44 < bridge_> [ddnet] its a bit annoying as the mouse always gets into the window once i dragg, but it certainly works 11:45 < bridge_> [ddnet] and if i rem. correctly it was already in the latest version too 11:46 < bridge_> [ddnet] can driver disable window resize tho 11:46 < bridge_> [ddnet] i've no idea 11:46 < bridge_> [ddnet] i honestly thought this is all handled by windows itself 11:46 < bridge_> [ddnet] but e.g. windowed fullscreen also only worked in the vm 11:46 < bridge_> [ddnet] was already annoying enough 11:46 < bridge_> [ddnet] you need to set some flags to disable it explictly 11:46 < bridge_> [ddnet] SDL might have done that by default 11:47 < bridge_> [ddnet] really strange 11:47 < bridge_> [ddnet] maybe it is a SDL thing? 11:47 < bridge_> [ddnet] what sdl do u use, u can see it in the console 11:47 < bridge_> [ddnet] actually 11:47 < bridge_> [ddnet] one sec 11:47 < bridge_> [ddnet] :justatest: 11:47 < bridge_> [ddnet] [2021-05-06 11:47:28][sdl]: SDL version 2.0.8 (compiled = 2.0.8) 11:47 < bridge_> [ddnet] i use that version 11:47 < bridge_> [ddnet] why is gfx_resizeable a config 11:48 < bridge_> [ddnet] AA 11:48 < bridge_> [ddnet] yeah that need to be on xD 11:48 < bridge_> [ddnet] doesnt it default to true? xxD 11:48 < bridge_> [ddnet] i don't know 11:48 < bridge_> [ddnet] maybe u used an old client once? 11:48 < bridge_> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/839800834354315277/unknown.png 11:48 < bridge_> [ddnet] no 11:48 < bridge_> [ddnet] oh 11:48 < bridge_> [ddnet] rip 11:48 < bridge_> [ddnet] why is it default off xD 11:48 < bridge_> [ddnet] old config rip 11:49 < bridge_> [ddnet] we can't easily change that now 11:49 < bridge_> [ddnet] we can 11:49 < bridge_> [ddnet] i think its cuz resizing was bugged somewhere? 11:49 < bridge_> [ddnet] default values are not saved 11:49 < bridge_> [ddnet] oh 11:49 < bridge_> [ddnet] i fixed all 11:49 < bridge_> [ddnet] macos too? 11:49 < bridge_> [ddnet] xd 11:49 < bridge_> [ddnet] i even respected macos thing yes 11:49 < bridge_> [ddnet] even tho it was never tested 11:49 < bridge_> [ddnet] i respected the canvas 11:50 < bridge_> [ddnet] 👀 i'll test resize on the size for macos then 11:50 < bridge_> [ddnet] yes 11:50 < bridge_> [ddnet] would be good to know 11:50 < bridge_> [ddnet] then we can defs turn it on again 11:51 < bridge_> [ddnet] but i think i'll test it after the resolution list thing 11:51 < bridge_> [ddnet] @Jupstar ✪ it caused troubles on i3 and other wms before 11:51 < bridge_> [ddnet] i always had to disable that 11:51 < bridge_> [ddnet] also `SDL_GL_GetDrawableSize` seems broken 11:52 < bridge_> [ddnet] it changes resolution randomly when i switch workspace iirc 11:52 < bridge_> [ddnet] on macos with HiDPI mode off (in game), `SDL_GL_GetDrawableSize` still reports super high resolution. 11:53 < bridge_> [ddnet] and if you changed window size and called `glViewport`, `SDL_GL_GetDrawableSize` will report low resolution again. 11:53 < bridge_> [ddnet] it is weird 11:54 < bridge_> [ddnet] can you test that again? 11:55 < bridge_> [ddnet] just to be sure 11:55 < bridge_> [ddnet] i had a bug in KDE too before, but it was gone after i moved some code around between the graphic thread and the main thread 11:55 < bridge_> [ddnet] well sdl2 says u should use it xD 11:56 < bridge_> [ddnet] i know 11:56 < bridge_> [ddnet] but it is broken tho 11:56 < bridge_> [ddnet] so random 11:56 < bridge_> [ddnet] i hate randomness xD 11:56 < bridge_> [ddnet] I checked SDL flag, if HIDPI is not set, i used SDL_GetWindowSize for a fix. 11:57 < bridge_> [ddnet] but i don't know if that's jank 11:58 < bridge_> [ddnet] yeah and everytime we change smth in these things we have to test all OS 11:59 < bridge_> [ddnet] anyway, we can also #ifdef it for windows 11:59 < bridge_> [ddnet] it works good enough for windows 11:59 < bridge_> [ddnet] not perfect but ok 11:59 < bridge_> [ddnet] i don't think it matters on windows whether you use `SDL_GetWindowSize` or `SDL_GL_GetDrawableSize` 11:59 < bridge_> [ddnet] yeah i mean the resizable config 11:59 < bridge_> [ddnet] oh 12:00 < bridge_> [ddnet] then yeah. 12:00 < bridge_> [ddnet] and about the resolution clamp, i'd personally prefer we implement that 12:00 < bridge_> [ddnet] why isn't it a settings in Graphics tho 12:00 < bridge_> [ddnet] better than allowing stuff that doesnt exists 12:00 < bridge_> [ddnet] guess bcs it doesnt work on all OS XD 12:00 < bridge_> [ddnet] #ifdef the menu 12:00 < bridge_> [ddnet] lol 12:01 < bridge_> [ddnet] just let people enable it and see it is broken, they can disable it without checking whether there is a command (maybe) 12:01 < bridge_> [ddnet] i mean why not yeah 12:01 < bridge_> [ddnet] probably most ppl dont play in "real" windowed anyway 12:01 < bridge_> [ddnet] either borderless or fullscreen 12:02 < bridge_> [ddnet] i know people who do 12:02 < bridge_> [ddnet] a lot actually lol 12:02 < bridge_> [ddnet] chinese ppl test every setting, perfect xD 12:02 < bridge_> [ddnet] quality by quantitiy 12:02 < bridge_> [ddnet] also a way 12:02 < bridge_> [ddnet] i don't get why they like windowed mode tho 12:02 < bridge_> [ddnet] i guess they watch stuff while playing the game or something 12:03 < bridge_> [ddnet] possibly 😄 12:03 < bridge_> [ddnet] I also know a lot of people just don't like fullscreen 12:03 < bridge_> [ddnet] Because I have 10 things running at once at any time, need to mulitask 😄 12:04 < bridge_> [ddnet] some people use DDNet client more for chatting and watching than playing 12:04 < bridge_> [ddnet] ah yeah 12:04 < bridge_> [ddnet] and even when playing, you can be stuck in one place for hours 12:04 < bridge_> [ddnet] for them its perfect ofc 12:04 < bridge_> [ddnet] because your partner can't do the part well, or you're died and waiting for the next team 0 group 12:04 < bridge_> [ddnet] i'd tab out probably xD 12:05 < bridge_> [ddnet] then the game is also muted and stuff 12:05 < bridge_> [ddnet] also since Allow High DPI option does nothing on windows, should we ifdef that out of windows too? 12:05 < bridge_> [ddnet] i wondered about that too 12:05 < bridge_> [ddnet] but yeah its already in the meta data of the manifest 12:05 < bridge_> [ddnet] we can trade resize vs hdpi xD 12:05 < bridge_> [ddnet] button swap 12:06 < bridge_> [ddnet] wtf it is 6pm already. i haven't done anything today yet. 12:06 < bridge_> [ddnet] start with breathing 12:08 < bridge_> [ddnet] yesterday someone in chn mentioned that we probably have enough players for teeworlds BR during weekends. 12:09 < bridge_> [ddnet] @deen should we just default all intel users to gl 2.x? 12:09 < bridge_> [ddnet] on windows ofc 12:09 < bridge_> [ddnet] there is still no official answer 12:09 < bridge_> [ddnet] i doubt we'll get any soon 12:09 < bridge_> [ddnet] yes 13:08 < bridge_> [ddnet] i'm getting crashes on master if friendlist is empty 13:12 < bridge_> [ddnet] oh doesnt sound good 13:14 < bridge_> [ddnet] maybe that list fix update 13:14 < bridge_> [ddnet] with up and down key 13:14 < bridge_> [ddnet] emm 13:14 < bridge_> [ddnet] it is broken since april? 13:15 < bridge_> [ddnet] i'm trying to find a good commit, when was the list fix 13:15 < bridge_> [ddnet] ah 13:15 < bridge_> [ddnet] no 13:15 < bridge_> [ddnet] its "just" an assert 13:15 < bridge_> [ddnet] bcs the list is empty 13:15 < bridge_> [ddnet] oh 13:15 < bridge_> [ddnet] it wont happen on release mode 13:15 < bridge_> [ddnet] :justatest: 13:15 < bridge_> [ddnet] ok 13:16 < bridge_> [ddnet] i'll just patch it 13:16 < bridge_> [ddnet] yeah, do that 13:17 < bridge_> [ddnet] also i think i rebased the resolution thing 13:17 < bridge_> [ddnet] maybe test that on linux 13:19 < bridge_> [ddnet] ok i'll try 13:22 < bridge_> [ddnet] emm 13:22 < bridge_> [ddnet] ah 13:22 < bridge_> [ddnet] not rebased i see 13:22 < bridge_> [ddnet] but seems to work 13:23 < bridge_> [ddnet] My resolution list change nuked higher resolution on windows if the per-app setting forced a low dpi mode 13:23 < bridge_> [ddnet] ah it is now 13:23 < bridge_> [ddnet] oh 13:23 < bridge_> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/839824798304829441/unknown.png 13:24 < bridge_> [ddnet] but yeah still works for me 😄 13:24 < bridge_> [ddnet] i'll try in wayland 😄 13:28 < bridge_> [ddnet] seems to work too 13:28 < bridge_> [ddnet] but also only have 2k screen xd 13:29 < bridge_> [ddnet] do you have dpi scaling on or something tho 13:29 < bridge_> [ddnet] dunno in linux its probs DE related or smth 13:29 < bridge_> [ddnet] cant even tell tbh 13:29 < bridge_> [ddnet] i have a dpi setting 13:29 < bridge_> [ddnet] it also works for the normal apps 13:30 < bridge_> [ddnet] but it desont report any other canvas size 13:30 < bridge_> [ddnet] does the list has less options tho 13:30 < bridge_> [ddnet] resize seems fine on macos btw 13:32 < bridge_> [ddnet] oh it told me to restart my pc, after changing the dpi settings, didnt even notice xD 13:34 < bridge_> [ddnet] yeah dunno, doesnt care about these settings 13:34 < bridge_> [ddnet] tried turning off HDPI in the client 13:34 < bridge_> [ddnet] on off no diff, just gives me the normal resolution list 13:34 < bridge_> [ddnet] figured 13:35 < bridge_> [ddnet] then it is "working" i guess 13:35 < bridge_> [ddnet] at least didn't break anything 13:35 < bridge_> [ddnet] atleast kde doesnt care it seems 13:37 < bridge_> [ddnet] maybe it is time to finally port text editing stuff to ddnet 13:37 < bridge_> [ddnet] since i'm still kinda in the flow 13:40 < bridge_> [ddnet] would be really cool 13:41 < bridge_> [ddnet] also kinda tired of people asking why they can't see their IME and the broadcast can't center and motd can't wordwrap 13:41 < bridge_> [ddnet] and stuff 13:42 < bridge_> [ddnet] yeah, its sad that sdl has no opengl backend for ime xD 13:42 < bridge_> [ddnet] that works really really 13:42 < bridge_> [ddnet] that works really well 13:42 < bridge_> [ddnet] yeah 13:42 < bridge_> [ddnet] but i found a way to render IME in game anyway 13:42 < bridge_> [ddnet] without removing fullscreen? 13:42 < bridge_> [ddnet] ye 13:42 < bridge_> [ddnet] nice 13:43 < bridge_> [ddnet] vanilla has that in a Robert's PR which I submitted 13:43 < bridge_> [ddnet] he was doing the TextEditing stuff, so I just added that on top 13:43 < bridge_> [ddnet] don't know why i wrote text editing like that 14:32 < bridge_> [ddnet] btw have u also tried that without the hdpi setting in the client 14:32 < bridge_> [ddnet] As it also calls SDL_GL_GetDrawableSize 14:32 < bridge_> [ddnet] which then reports the wrong resolution i guess? 14:32 < bridge_> [ddnet] `SDL_GL_GetDrawableSize` reports the right size after glViewport is called apparently 14:33 < bridge_> [ddnet] wtf xD 14:33 < bridge_> [ddnet] ok 14:33 < bridge_> [ddnet] ah yeah 14:33 < bridge_> [ddnet] probs makes sense 14:33 < bridge_> [ddnet] but i'll test it with hidpi off too 14:34 < bridge_> [ddnet] yep, seems fine 14:35 < bridge_> [ddnet] yeah ok 14:35 < bridge_> [ddnet] i also see in the sdl backend it sets the viewport later 14:36 < bridge_> [ddnet] but good that u find all these weird stuff 😄 14:37 < bridge_> [ddnet] how late tho 14:37 < bridge_> [ddnet] https://github.com/ddnet/ddnet/pull/3804/files#diff-442d7485882d4f383630c81a7061d34995210d7f694acf5eae9366d85a9f66e9L972 14:38 < bridge_> [ddnet] oh 14:38 < bridge_> [ddnet] didnt work well xD 14:38 < bridge_> [ddnet] search CCommandBuffer::SCommand_Update_Viewport CmdSDL; 14:38 < bridge_> [ddnet] in backend_sdl 14:39 < bridge_> [ddnet] oh i see 14:39 < bridge_> [ddnet] i thought you meant somewhere inside SDL itself 14:39 < bridge_> [ddnet] i also dunno when this code is called 14:39 < bridge_> [ddnet] only fullscreen as it seems 14:40 < bridge_> [ddnet] anytime you resize it is called 14:40 < bridge_> [ddnet] hmm wait. no, i'm probably wrong then. seems like we call GetViewportSize first before issuing `SCommand_Update_Viewport` 14:41 < bridge_> [ddnet] then I have no idea why `SDL_GL_GetDrawableSize` reports the correct size after we resize 14:42 < bridge_> [ddnet] I tried `SDL_SetWindowSize` before `SDL_GL_GetDrawableSize` during `CGraphicsBackend_SDL_OpenGL::Init` which didn't help either 14:42 < bridge_> [ddnet] i think it can make sense tho, we alter the viewport which basically is the drawable size 14:43 < bridge_> [ddnet] so after we changed it, the getdrawable size is different 14:44 < bridge_> [ddnet] okay, we used the result of `SDL_GL_GetDrawableSize` to call `glViewport` 14:44 < bridge_> [ddnet] which makes me more confused 14:44 < bridge_> [ddnet] so maybe `SDL_GL_GetDrawableSize` will be correct after the window has appeared in the OS? 14:45 < bridge_> [ddnet] you need to be very careful with these, I spent a good 10 hours trying to get this working properly on macOS when I got it to resize properly 14:46 < bridge_> [ddnet] :justatest: 14:46 < bridge_> [ddnet] your best bet seems to be to react to the sdl resize event instead of trying to figure out when it's safe to query sdl 14:47 < bridge_> [ddnet] we are discussing why `SDL_GL_GetDrawableSize` gives us the wrong size during initialization with HIDPI flag not set. 14:48 < bridge_> [ddnet] on macOS that is completely broken until some arbitrary time when the WM decides to populate whatever internal fields this is taken from 14:48 < bridge_> [ddnet] sounds about right 14:48 < bridge_> [ddnet] I know for a fact that you'll get a `SDL_WINDOWEVENT_SIZE_CHANGED` when it does populate it though 14:49 < bridge_> [ddnet] anyway i just grabbed window size instead of draw size when HIDPI is not set during init 14:49 < bridge_> [ddnet] What are you trying to fix btw? 14:49 < bridge_> [ddnet] do you think it is too hacky. 14:49 < bridge_> [ddnet] I think ddnet already works fine with hidpi, atleast on macOS 14:50 < bridge_> [ddnet] yeah, but it doesn't with hidpi off lol 14:50 < bridge_> [ddnet] you sure? it worked fine for me on 10.15 iirc 14:50 < bridge_> [ddnet] at least some clipping is broken for me 14:50 < bridge_> [ddnet] e.g. the resolution list 14:50 < bridge_> [ddnet] ah, I think jupeyy never added the reaction on SDL_WINDOWEVENT_SIZE_CHANGED 14:50 < bridge_> [ddnet] until i resize the game 14:51 < bridge_> [ddnet] https://github.com/Learath2/teeworlds/commit/7f594afc9be9b402263f18f866a8b59abb08cbe1 with this patch I got it to work properly on macOS 14:51 < bridge_> [ddnet] that's just a quirk that i found during me changing the resolution list tho 14:52 < bridge_> [ddnet] i can drop that change 14:52 < bridge_> [ddnet] The clipping is indeed wrong because of the resolution being wrong at initialization 14:52 < bridge_> [ddnet] you just need to wait for the event and then get the correct size 14:52 < bridge_> [ddnet] i'll try that 14:55 < bridge_> [ddnet] (one thing idk is whether this works well on windows and linux hidpi since I have no access to a hidpi display except the retina display on my macbook) 14:57 < bridge_> [ddnet] no. but win doesn't need hidpi support 14:58 < bridge_> [ddnet] why not? some magic code making it transparent to even SDL? 14:59 < bridge_> [ddnet] :twintri: 14:59 < bridge_> [ddnet] i think we made hidpi flag into our executable, which just makes windows automatically use hidpi. and SDL doesn' seems to override that. 15:00 < bridge_> [ddnet] yes 15:00 < bridge_> [ddnet] and if hidpi is forced off (set to "System scaling"), windows will tell the game that we have a smaller desktop, and it'll just work and windows handles the scaling. 15:00 < bridge_> [ddnet] its some manifest file i added a few years ago 15:00 < bridge_> [ddnet] black magic 15:01 < bridge_> [ddnet] and do we hide the hidpi setting on windows? 15:01 < bridge_> [ddnet] currently not 15:01 < bridge_> [ddnet] but we can trade it for resizable button 15:01 < bridge_> [ddnet] but we should 15:01 < bridge_> [ddnet] so hidpi does nothing on windows? 😄 15:02 < bridge_> [ddnet] yepf 15:02 < bridge_> [ddnet] also d 15:02 < bridge_> [ddnet] also does nothing on kde i think @Jupstar ✪ said that 15:02 < bridge_> [ddnet] yeah but thats a different story i guess 15:03 < bridge_> [ddnet] i havent decided if i'd like it more to just get a dpi floating point scale or smth instead of all these canvas stuff 15:03 < bridge_> [ddnet] then u can actually create dpi awareness 15:03 < bridge_> [ddnet] I want to cry when I hear of these things, an abstraction layer like sdl is supposed to just handle this all transparently 15:03 < bridge_> [ddnet] HA 15:03 < bridge_> [ddnet] best joke 15:03 < bridge_> [ddnet] I really don't like the floating point scale idea, floating points are cancer 15:03 < bridge_> [ddnet] :gg: 15:04 < bridge_> [ddnet] sdl behaves so different between all OS and linux variants 15:04 < bridge_> [ddnet] nobody knows what works and what not xD 15:04 < bridge_> [ddnet] Please, let's just use the actual resolution and not some internal resolution * scale factor bs 15:04 < bridge_> [ddnet] yeah doesnt need to be a c++ ´float´ 15:04 < bridge_> [ddnet] just some scale 15:05 < bridge_> [ddnet] actual canvas resolution or actual window resolution? XD 15:05 < bridge_> [ddnet] macOS doesn't even give you this information, you can calculate it but that's just goofing around with a non guaranteed API 15:05 < bridge_> [ddnet] i calculated it for resolution list... 15:06 < bridge_> [ddnet] Canvas resolution is what matters for us, no? 15:06 < bridge_> [ddnet] i guess tsfreedie's pr makes sense, bcs else u cannot select fullhd easily on full hd window resolution, bcs it might be 4k canvas 15:06 < bridge_> [ddnet] we initialize window with window resolution 15:06 < bridge_> [ddnet] at least SDL does 15:06 < bridge_> [ddnet] ah wait 15:07 < bridge_> [ddnet] ur pr does scale the window resolution down? 15:07 < bridge_> [ddnet] or up 15:08 < bridge_> [ddnet] canvas resolution kinda is what u care about 15:08 < bridge_> [ddnet] my pr uses videomodes as canvas resolution, calculated the window resolution. compare config to window resolution for selected item, shows canvas resolution in UI 15:08 < bridge_> [ddnet] discards canvas resolution that is too big for desktop resolution 15:08 < bridge_> [ddnet] that sounds good to me 15:08 < bridge_> [ddnet] but thats also what learath wants 15:08 < bridge_> [ddnet] so we all happy xD 15:08 < bridge_> [ddnet] whats the problem 15:09 < bridge_> [ddnet] As soon as I see "calculated" I'm extremely vary 15:09 < bridge_> [ddnet] tried `SDL_WINDOWEVENT_SIZE_CHANGED` didn't trigger the event after the window is up. 15:09 < bridge_> [ddnet] for some reason 15:09 < bridge_> [ddnet] now comes SDL version changes? XXD 15:09 < bridge_> [ddnet] i might be doing it wrong. i'll keep trying tho 15:09 < bridge_> [ddnet] What is the actual issue you are looking to fix btw? 15:10 < bridge_> [ddnet] resolution list showing the wrong size for canvas and selected items with hidpi off 15:11 < bridge_> [ddnet] that fix is already done with the "calculated" thing that worries you. 15:11 < bridge_> [ddnet] https://github.com/ddnet/ddnet/pull/3804/ 15:12 < bridge_> [ddnet] ye, `SDL_WINDOWEVENT_SIZE_CHANGED` is not triggering for me without resizing. 15:14 < bridge_> [ddnet] has it side effects to just always HDPI in macos? 15:14 < bridge_> [ddnet] or generally 15:14 < bridge_> [ddnet] I mean I had it working and even letting me change hidpi without restart, so maybe an AppKit change at some point? 15:14 < bridge_> [ddnet] What version of macOS are you on? 15:14 < bridge_> [ddnet] latest 15:15 < bridge_> [ddnet] 11.3 15:15 < bridge_> [ddnet] cmake doesn't work for me with this version 15:15 < bridge_> [ddnet] cmake doesn't even work for me with this version* 15:16 < bridge_> [ddnet] wym by cmake doesn't work? some include mess again? 15:16 < bridge_> [ddnet] pnglite/version is getting compileud 15:16 < bridge_> [ddnet] building on macOS has been broken for a year now, I just patch CMakeCache to fix it 15:16 < bridge_> [ddnet] and glew/version 15:16 < bridge_> [ddnet] it was fine a few days ago 15:16 < bridge_> [ddnet] oh we got the GLES change in too today 15:17 < bridge_> [ddnet] I was going to take a look at the hidpi thing myself, but I honestly don't have it in me to debug another cmake issue 15:17 < bridge_> [ddnet] i just commented both version files 15:17 < bridge_> [ddnet] lol 15:18 < bridge_> [ddnet] I'm on 10.15, but my XCode is up to date, so I have sdk version 11.0 15:18 < bridge_> [ddnet] CMake will find some include files in the 10.15 sdk and some in the 11.0 one, so it won't compile 15:19 < bridge_> [ddnet] which is a result of homebrew not actually being aware of sdk versions, so some of my libraries downloaded from homebrew are linked to the old sdk because of a broken pkg-config file 15:20 < bridge_> [ddnet] I also have to delete the bundled sdl framework because even if I have `-DPREFER_BUNDLED_LIBS=OFF` it will link to the damn framework there 15:21 < bridge_> [ddnet] on my machine, you can't even tell it is the version file being compiled 15:21 < bridge_> [ddnet] because it being compiled messes up something in macos sdk 15:21 < bridge_> [ddnet] and spits those errors out 15:21 < bridge_> [ddnet] @Learath2 is gles also deprecated on macos? i guess their phones probably still use it? 15:22 < bridge_> [ddnet] ~~when are we dropping macos support~~ 15:22 < bridge_> [ddnet] Anyway, I'm fairly scared of your PR, but if you feel confident it works fine everywhere I guess I just don't have the energy to look into it 15:22 < bridge_> [ddnet] 👀 well you can at least test it i guess 15:22 < bridge_> [ddnet] since I only have one mac 15:22 < bridge_> [ddnet] what about this? 15:22 < bridge_> [ddnet] OpenGL in general is deprecated, I highly doubt ES has some exception 15:23 < bridge_> [ddnet] its completly random anyway 15:24 < bridge_> [ddnet] ```-- Found SDL2: /usr/local/lib/libSDL2.dylib 15:24 < bridge_> [ddnet] -- Found SQLite3: /Library/Developer/CommandLineTools/SDKs/MacOSX11.0.sdk/usr/include (found version "3.32.3") 15:24 < bridge_> [ddnet] -- Checking for module 'sqlite3' 15:24 < bridge_> [ddnet] -- Found sqlite3, version 3.28.0 15:24 < bridge_> [ddnet] -- Found SQLite3: /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include``` 15:24 < bridge_> [ddnet] Look at this joke 15:24 < bridge_> [ddnet] :nouis: 15:24 < bridge_> [ddnet] I really just want to pay someone to fix our cmakefile 15:24 < bridge_> [ddnet] `sed -i "" 's/10\.15/11.0/g' CMakeCache.txt` here is the only fix I could come up with 15:24 < bridge_> [ddnet] after configuring patching the configuration 15:25 < bridge_> [ddnet] @noby test my PR pls 15:25 < bridge_> [ddnet] I can't if I can't compile it 15:25 < bridge_> [ddnet] hmm 15:26 < bridge_> [ddnet] do we have artifacts for PRs 15:26 < bridge_> [ddnet] Oh btw, they merged my patch to SDL 15:26 < bridge_> [ddnet] super 15:26 < bridge_> [ddnet] The artifacts for macOS usually don't work because of linking issues 15:26 < bridge_> [ddnet] :justatest: 15:27 < bridge_> [ddnet] on the release version we patch several paths using otool 15:28 < bridge_> [ddnet] thank god dyld is very very flexible and lets us patch it as we want 15:28 < bridge_> [ddnet] I'd probably cry if we had to patch ELF files on linux 15:28 < bridge_> [ddnet] or PE files on windows 15:31 < bridge_> [ddnet] we have to remove macos support anyway if they actually remove opengl 15:31 < bridge_> [ddnet] okay so I fixed the damn mess, now you said something about resolutions in the list being broken? 15:31 < bridge_> [ddnet] or we use opengl to vulkan to metal xD 15:32 < bridge_> [ddnet] at that point i'd probably want to implement a vk backend 15:33 < bridge_> [ddnet] did you build my PR? 15:33 < bridge_> [ddnet] or master 15:33 < bridge_> [ddnet] we really shouldn't have removed the emergency exit, nearly killed my mac... 15:33 < bridge_> [ddnet] we need to remove the fullscreen option on macs, it's just broken 15:34 < bridge_> [ddnet] this one 15:34 < bridge_> [ddnet] then uncheck hidpi then restart and see the resolution list i guess 15:34 < bridge_> [ddnet] both when I have hidpi on and off it'll only show me screen resolutions 15:35 < bridge_> [ddnet] not the actual canvas resolution 15:35 < bridge_> [ddnet] oh that, then you should just build my PR and see if it is what you wanted 15:35 < bridge_> [ddnet] but i'm saying the resolution list might have clipping issue 15:35 < bridge_> [ddnet] on master 15:35 < bridge_> [ddnet] mh, it doesn't for me atleast 15:36 < bridge_> [ddnet] any other gfx settings I need to get it to clip? 15:36 < bridge_> [ddnet] with the resizing support in ddnet I can't imagine the resolution falling out of sync 15:36 < bridge_> [ddnet] are you running it in full screen? 15:37 < bridge_> [ddnet] you mean desktop fullscreen or fullscreen 15:37 < bridge_> [ddnet] desktop fullscreen i guess 15:37 < bridge_> [ddnet] fullscreen will just not work at all 15:38 < bridge_> [ddnet] did you run it in windowed mode, no hidpi and the resolution list looks fine? 15:38 < bridge_> [ddnet] yep, windowed, no hidpi and it clipped properly 15:39 < bridge_> [ddnet] let me take a screenshot :justatest: 15:39 < bridge_> [ddnet] btw whats the reason it doesnt work in fullscreen? 15:39 < bridge_> [ddnet] does nothing wokr in fullscreen on macos? XD 15:39 < bridge_> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/839858963994378310/unknown.png 15:39 < bridge_> [ddnet] mine does this 15:39 < bridge_> [ddnet] @Jupstar ✪ couldn't debug it at all, it's completely impossible to debug with it completely getting your computer stuck 15:40 < bridge_> [ddnet] can you tell me exactly your steps? 15:40 < bridge_> [ddnet] just launch the game 15:40 < bridge_> [ddnet] it just look like that 15:40 < bridge_> [ddnet] for me 15:40 < bridge_> [ddnet] until i resize it 15:40 < bridge_> [ddnet] then it is fine 15:41 < bridge_> [ddnet] I was running gl3.3 but even without that it was fine 15:41 < bridge_> [ddnet] this is what i did to the resolution list in the PR btw 15:41 < bridge_> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/839859440793813022/unknown.png 15:41 < bridge_> [ddnet] can you show me `cat yourconfig | grep "^gfx_"`? 15:41 < bridge_> [ddnet] sure 15:42 < bridge_> [ddnet] Ohhh wait I'm running bleeding edge SDL 15:42 < bridge_> [ddnet] maybe it's the SDL version 15:42 < bridge_> [ddnet] check during launch what version sdl reports 15:43 < bridge_> [ddnet] how do I check sdl version again? 15:43 < bridge_> [ddnet] mh, I'm spending time I don't have on this... I really am supposed to be studying 15:43 < bridge_> [ddnet] it prints on the console during launch 15:43 < bridge_> [ddnet] 2.0.8 15:43 < bridge_> [ddnet] 👀 should i update my sdl then 15:44 < bridge_> [ddnet] ah, hm 2.0.8 will just instantly crash for me and usually for everyone beyond macOS 10.15 15:44 < bridge_> [ddnet] miricale 15:44 < bridge_> [ddnet] no, we ship sdl 2.0.8 so it needs to work there 15:44 < bridge_> [ddnet] I'll compile a patched sdl 2.0.8 to test 15:45 < bridge_> [ddnet] oops, already brewed it. 15:45 < bridge_> [ddnet] cant we use current master sdl somehow? 15:45 < bridge_> [ddnet] what version did you brew? 15:45 < bridge_> [ddnet] it probs fixes alot of stuff 15:45 < bridge_> [ddnet] wait 15:45 < bridge_> [ddnet] There was one massive performance issue on windows that made us roll back 15:45 < bridge_> [ddnet] i don't think i'm using homebrew's sdl anyway 15:46 < bridge_> [ddnet] my homebrew already has 2.0.12 15:46 < bridge_> [ddnet] yeah, it's pain to get macOS to link to the correct sdl 15:46 < bridge_> [ddnet] 2.0.16 is going to be the first version with my patch to fix the appkit issue 15:47 < bridge_> [ddnet] :poggers: 15:47 < bridge_> [ddnet] @TsFreddie afaik the only way to get it to link to homebrew sdl is to delete the sdl window in ddnet-libs 15:47 < bridge_> [ddnet] yeah i dont mean for windows 15:47 < bridge_> [ddnet] just for macos 15:48 < bridge_> [ddnet] i don't want to deal with that tbh 15:49 < bridge_> [ddnet] I'll try to reproduce your issue on 2.0.8 15:50 < bridge_> [ddnet] with my cute sdl monkeypatcher probably 😛 15:50 < bridge_> [ddnet] SDL master 15:50 < bridge_> [ddnet] i really don't like reading sdl2's code every time something happened. 15:50 < bridge_> [ddnet] yeah, such a pain 15:50 < bridge_> [ddnet] and most of the time it's not even sdl's fault 15:51 < bridge_> [ddnet] on macOS you almost always are in a world of pain trying to disassemble bits of AppKit 15:51 < bridge_> [ddnet] 👀 ~~well what about the IME stuff on windows~~ 15:51 < bridge_> [ddnet] How does this damn thing even work for you.... 15:51 < bridge_> [ddnet] you are supposed to get SIGILL on launch like all other macOS users 15:52 < bridge_> [ddnet] :poggers: 15:52 < bridge_> [ddnet] maybe no one is running big sur? 15:53 < bridge_> [ddnet] or maybe my macos is fresh since every time something happens i just nuke it and restart. 15:53 < bridge_> [ddnet] i don't save anything on my mac 15:53 < bridge_> [ddnet] maybe AppKit on big sur actually noticed this is an insane check 15:53 < bridge_> [ddnet] maybe 15:53 < bridge_> [ddnet] the only way around is to link your application to an old sdk, which is what we do for the official release 15:53 < bridge_> [ddnet] ``` 15:53 < bridge_> [ddnet] gfx_screen_width 1280 15:53 < bridge_> [ddnet] gfx_screen_height 800 15:53 < bridge_> [ddnet] gfx_borderless 0 15:53 < bridge_> [ddnet] gfx_highdpi 0 15:53 < bridge_> [ddnet] gfx_vsync 1 15:53 < bridge_> [ddnet] gfx_resizable 1 15:53 < bridge_> [ddnet] gfx_opengl_major 2 15:53 < bridge_> [ddnet] gfx_3d_texture_analysis_done 1 15:54 < bridge_> [ddnet] ``` 15:54 < bridge_> [ddnet] don't know if you still need it, but i forgot to send this 15:54 < bridge_> [ddnet] do I even have old sdks on my mac? 15:54 < bridge_> [ddnet] how do i check 15:55 < bridge_> [ddnet] `ls -la /Library/Developer/CommandLineTools/SDKs/` 15:55 < bridge_> [ddnet] i have 10.15.sdk 15:55 < bridge_> [ddnet] There is a SDK in XCode too but I don't remember the exact path 15:55 < bridge_> [ddnet] i don't have xcode installed 15:55 < bridge_> [ddnet] i hate that thing anyway 15:56 < bridge_> [ddnet] it has a decent profiler, about the only thing I use in it 15:56 < bridge_> [ddnet] i use orbit on windows 15:56 < bridge_> [ddnet] since i don't have visual studio either 15:57 < bridge_> [ddnet] hm I've been looking for a way to avoid vs too, is orbit any good? 15:57 < bridge_> [ddnet] well i don't know how profiler supposed to work, but i can see nanoseconds and stuff so i'm content with it lol 15:57 < bridge_> [ddnet] I just love my tools on linux so much, why wouldn't they just mimic linux? 😦 15:58 < bridge_> [ddnet] perf, callgrind, gprof, valgrind, ASan, MSan 15:58 < bridge_> [ddnet] on windows it's either VS or here have this 10 year old windows NT tool 15:58 < bridge_> [ddnet] I run valgrind in WSL for server codes which has been working fine for me 15:58 < bridge_> [ddnet] Dr. Memory is a piss poor excuse for ASan 15:59 < bridge_> [ddnet] how does WSL work? do you link to another set of libraries? 15:59 < bridge_> [ddnet] WSL2 is just a vm now 15:59 < bridge_> [ddnet] msvcrt doesn't really take well to hooking into malloc 15:59 < bridge_> [ddnet] Ah, a VM makes sense 16:00 < bridge_> [ddnet] with some microsoft jank that bridge the file system and stdin/out somehow 16:00 < bridge_> [ddnet] it is kinda magic. i can run windows version of powershell in the WSL2 vm and run WSL2's zsh inside the powershell that is in the zsh to begin with. 16:03 < bridge_> [ddnet] okay, 2.0.8 breaks resizing 16:03 < bridge_> [ddnet] but that's all 16:03 < bridge_> [ddnet] emmm 16:03 < bridge_> [ddnet] resizing works fine for me tho 16:04 < bridge_> [ddnet] i doubt my pr fix resizes 16:04 < bridge_> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/839865099925192715/Screenshot_2021-05-06_at_16.03.51.png 16:04 < bridge_> [ddnet] i'll try master i guess 16:05 < bridge_> [ddnet] that's a huge screen tho 16:05 < bridge_> [ddnet] isnt that bcs of the fullscreen flag? 16:05 < bridge_> [ddnet] idk what sdl version I should try with your PR 16:05 < bridge_> [ddnet] @Jupstar ✪ ? 16:05 < bridge_> [ddnet] or is that pure window 16:05 < bridge_> [ddnet] i mean like clicking fullscreen button 16:05 < bridge_> [ddnet] probs the yellow top right 16:05 < bridge_> [ddnet] never used macos xxd 16:05 < bridge_> [ddnet] it's the screenshot of a window 16:06 < bridge_> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/839865628264628224/unknown.png 16:06 < bridge_> [ddnet] i mean like this 16:06 < bridge_> [ddnet] you want me to try hit the button or sth? 16:06 < bridge_> [ddnet] are u in a maximized state 16:07 < bridge_> [ddnet] hitting the maximize button breaks the game 😄 16:07 < bridge_> [ddnet] like clicking maximize 16:07 < bridge_> [ddnet] oh ok 16:07 < bridge_> [ddnet] ye, resizing worked for me just fine 16:07 < bridge_> [ddnet] anyway, I wasn't maximized 16:07 < bridge_> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/839865918419239012/Screenshot_2021-05-06_at_16.06.18.png 16:07 < bridge_> [ddnet] ok, just thought bcs under windosw sdl doesnt remove the flag for some reason 16:07 < bridge_> [ddnet] maximize works for me too lol 16:08 < bridge_> [ddnet] maybe learath should update his os xD 16:08 < bridge_> [ddnet] does macos not force u todo it? 16:09 < bridge_> [ddnet] with SDL 2.0.15 both maximizing and resizing works fine for me 16:09 < bridge_> [ddnet] niceeee update 16:10 < bridge_> [ddnet] though we seem to be missing an event hook when we are maximizing 16:10 < bridge_> [ddnet] I need to resize twice to get our code to catch the resize 16:11 < bridge_> [ddnet] sooo.. what's the plan 16:12 < bridge_> [ddnet] I don't know what to do 16:12 < bridge_> [ddnet] I'll try your PR, if it works for me I guess we merge it since it fixes one more version of macOS I guess 16:12 < bridge_> [ddnet] always blame sdl or drivers 16:12 < bridge_> [ddnet] on linux it works perfect 16:13 < bridge_> [ddnet] we also seem to confuse concepts a lot, resizing the screen by dragging or hitting maximize actually changes the render resolution 16:13 < bridge_> [ddnet] but we don't change `gfx_screen_width` and height 16:13 < bridge_> [ddnet] yeah 16:13 < bridge_> [ddnet] i am also not sure if we should do that 16:13 < bridge_> [ddnet] or if we do, we should show the current resolution somewhere 16:14 < bridge_> [ddnet] else u cannot click the current resolution in the list 16:14 < bridge_> [ddnet] current selected 16:14 < bridge_> [ddnet] i feel like we shouldn't 16:14 < bridge_> [ddnet] mixed feelings tbh 16:14 < bridge_> [ddnet] it can also be nice to restore last state 16:14 < bridge_> [ddnet] don't know why but that's how i feel 16:14 < bridge_> [ddnet] ye 16:15 < bridge_> [ddnet] https://streamable.com/ly8obr 16:15 < bridge_> [ddnet] the first time I change resolution it doesn't work, after that it works perfectly 16:15 < bridge_> [ddnet] idk wtf is up with macOS in general... 16:15 < bridge_> [ddnet] that actually happened to me a while ago. i thought you fixed it 16:16 < bridge_> [ddnet] forgot which version was i on. but i'm already on big sur for sure 16:16 < bridge_> [ddnet] i was* 16:16 < bridge_> [ddnet] I thought I fixed it too, another bug that will take hours to debug 16:16 < bridge_> [ddnet] okay, I would really like to continue this but I really will be mad at myself if I don't spend at least 1 hour studying today 16:17 < bridge_> [ddnet] so I'm leaving right after I compile your PR 16:17 < bridge_> [ddnet] 👍 16:17 < bridge_> [ddnet] what was the pr number? 16:17 < bridge_> [ddnet] 3804 16:19 < bridge_> [ddnet] okay there is an issue here 16:19 < bridge_> [ddnet] the highest supported resolution is not my entire screen 16:20 < bridge_> [ddnet] with hidpi off right 16:20 < bridge_> [ddnet] with hidpi off it is my entire screen 16:20 < bridge_> [ddnet] with hidpi on it's smaller 16:20 < bridge_> [ddnet] hmm 16:21 < bridge_> [ddnet] i might need to swap canvas size and window size around then 16:21 < bridge_> [ddnet] 3360x2100 is the highest shown in hidpi 16:22 < bridge_> [ddnet] which is the second highest actually, maybe you are overculling the resolutions? 16:22 < bridge_> [ddnet] was is supposed to be the highest btfw 16:22 < bridge_> [ddnet] btw* 16:22 < bridge_> [ddnet] maybe a < instead of a <= somewhere? 😛 16:22 < bridge_> [ddnet] it's supposed to be 1920x1200 * 2 16:23 < bridge_> [ddnet] so idkx1400 16:23 < bridge_> [ddnet] 2400* 16:24 < bridge_> [ddnet] maybe it is something wrong with calculated dpi scale 16:24 < bridge_> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/839870227260637214/unknown.png 16:24 < bridge_> [ddnet] afterall 16:24 < bridge_> [ddnet] see why the word "calculated" scares me? 😛 16:25 < bridge_> [ddnet] 👀 16:25 < bridge_> [ddnet] well i can swap canvas size and windows size 16:25 < bridge_> [ddnet] Oh and wanna hear something even funnier? 16:25 < bridge_> [ddnet] so i keep videomodes as windowsize, and calculate canvas size which is only used for displaying in ui 16:25 < bridge_> [ddnet] with sdl 2.0.8 your PR actually creates the clipping issue you reported 16:26 < bridge_> [ddnet] hmm 16:26 < bridge_> [ddnet] well fuck me then 16:26 < bridge_> [ddnet] and it breaks resizing and it still won't show the correct highest resolution when hidpi is on... 16:27 < bridge_> [ddnet] how does it break resizing 16:27 < bridge_> [ddnet] pffff this is like sooooo sooooo soooo annoying when macOS behaves so differently between versions 16:27 < bridge_> [ddnet] i didn't change anything about resizing tho 16:27 < bridge_> [ddnet] oh actually resizing was already broken in 2.0.8 for me 16:27 < bridge_> [ddnet] nvm 16:28 < bridge_> [ddnet] maybe I should just pony up the cash and get an M1 macbook to test this on 16:31 < bridge_> [ddnet] 👀 if you haven't gone yet, see if the new commit works better, at least in the resolution part. 16:32 < bridge_> [ddnet] not sure about clipping. but i guess i'll keep looking for stuff. 16:33 < bridge_> [ddnet] Is SDL bundled so that we can update it? 16:33 < bridge_> [ddnet] i'm using bundled SDL 16:34 < bridge_> [ddnet] Then why struggle with outdated stuff 16:34 < bridge_> [ddnet] If 2.0.15 works fine 16:34 < bridge_> [ddnet] works fine for me, I wonder if it works fine for @TsFreddie e.g. 16:35 < bridge_> [ddnet] 👀 16:36 < bridge_> [ddnet] Actually what I'm using is sdl master 16:36 < bridge_> [ddnet] let's wait for 2.0.16 maybe? 16:40 < bridge_> [ddnet] @TsFreddie can you try something for me? 16:40 < bridge_> [ddnet] yes, sdl master 16:41 < bridge_> [ddnet] can you do `defaults write -g NSLogUnusualAppConfig -bool YES` 16:41 < bridge_> [ddnet] then launch ddnet and see if you get anything extra in the console 16:41 < bridge_> [ddnet] it will show the compatibility changes appkit makes to run the program 16:42 < bridge_> [ddnet] sure on sec 16:42 < bridge_> [ddnet] without `2021-05-06 16:40:49.478 DDNet[19052:1029624] NSOpenGLContextSuppressThreadAssertions=YES` in the log I'm fairly certain you have some alien macOS 16:43 < bridge_> [ddnet] sent by the gods to allow you to run legacy ogl applications with ease 16:43 < bridge_> [ddnet] :poggers: 16:44 < bridge_> [ddnet] btw which console 16:44 < bridge_> [ddnet] where stdout goes 16:44 < bridge_> [ddnet] ok 16:44 < bridge_> [ddnet] the terminal where you launch the game 16:44 < bridge_> [ddnet] still building, just making sure 16:45 < bridge_> [ddnet] my mac throttled so hard it take 5 minutes to build ddnet 16:45 < bridge_> [ddnet] yeah mine chokes too, an intel mac? 16:45 < bridge_> [ddnet] ye 16:45 < bridge_> [ddnet] M1s are supposed to be much better 16:45 < bridge_> [ddnet] i know 16:45 < bridge_> [ddnet] i'm poor now tho 16:46 < bridge_> [ddnet] I would probably never spend my own money on a mac 16:46 < bridge_> [ddnet] unless I was like filthy rich and felt like testing something 16:46 < bridge_> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/839875812353376256/unknown.png 16:46 < bridge_> [ddnet] i have alien mac i guess 16:47 < bridge_> [ddnet] did you raid apple store 16:49 < bridge_> [ddnet] I got one in exchange for developing a mobile app 16:49 < bridge_> [ddnet] they were considering hiring a developer, I offered to do it if they got me the mac 16:49 < bridge_> [ddnet] ic 16:50 < bridge_> [ddnet] so.. what did I do to my mac 16:50 < bridge_> [ddnet] you sure these were the only unusual configs? 16:50 < bridge_> [ddnet] let me grep it then 16:50 < bridge_> [ddnet] It should be right after the opengl context creation btw 16:50 < bridge_> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/839876850439421972/unknown.png 16:51 < bridge_> [ddnet] one last thing, can you try opengl3 16:51 < bridge_> [ddnet] will do 16:51 < bridge_> [ddnet] it shouldn't differ but maaaybe in big sur ogl3 takes a different codepath 16:52 < bridge_> [ddnet] same thing 16:52 < bridge_> [ddnet] and it just works? 16:52 < bridge_> [ddnet] looks like it 16:53 < bridge_> [ddnet] okay can you do an `otool -L DDNet`? 16:54 < bridge_> [ddnet] do you want the output 16:54 < bridge_> [ddnet] I'm looking for just the AppKit line 16:54 < bridge_> [ddnet] ``` /System/Library/Frameworks/AppKit.framework/Versions/C/AppKit (compatibility version 45.0.0, current version 2022.44.149)``` 16:55 < bridge_> [ddnet] 👀 16:55 < bridge_> [ddnet] okay that is much much newer than mine, can I have the appkit framework? it's a bit large but if you don't mind I want to check out what they changed 16:55 < bridge_> [ddnet] emm how 16:55 < bridge_> [ddnet] do i just archive it or something 16:55 < bridge_> [ddnet] yep, that works 16:56 < bridge_> [ddnet] AppKit.framework right? 16:56 < bridge_> [ddnet] yep 16:57 < bridge_> [ddnet] don't send it here btw 16:57 < bridge_> [ddnet] how do you get new AppKit in the first place 16:57 < bridge_> [ddnet] new macOS version 16:57 < bridge_> [ddnet] make sense 16:58 < bridge_> [ddnet] AppKit never breaks compatibility though, so functions take different codepaths in newer AppKits if they are linked to an older version of the sdk 16:58 < bridge_> [ddnet] I want to check out `[NSOpenGL_Context setView:]` 16:58 < bridge_> [ddnet] hmm, the archive is 20mb 16:58 < bridge_> [ddnet] jesus 16:59 < bridge_> [ddnet] mh, I guess don't bother, no need to waste time to satisfy my curiosity 16:59 < bridge_> [ddnet] I'll just get big sur sometime and check it out 17:00 < bridge_> [ddnet] I wish the SDKs no longer came with flat manifests instead of the actual framework files 17:00 < bridge_> [ddnet] is the size wrong 17:01 < bridge_> [ddnet] no it's correct, it's just too large to upload, atleast for my internet speed 17:01 < bridge_> [ddnet] if you don't mind I'd still like to have it 17:01 < bridge_> [ddnet] i can upload it pretty quickly 17:01 < bridge_> [ddnet] if you can't be assed, it's whatever, again just idle curiosity 17:01 < bridge_> [ddnet] and it's done 17:02 < bridge_> [ddnet] dm me the link, apple doesn't really enjoy people uploading these 17:03 < bridge_> [ddnet] 👀 i have something like 100mbits up 17:03 < bridge_> [ddnet] I wish 17:03 < bridge_> [ddnet] but i still need to upload stuff through a proxy so the file can get to onedrive and stuff, so i guess i'm bottlenecked by the proxy 17:03 < bridge_> [ddnet] still plenty fast th 17:04 < bridge_> [ddnet] tho* 17:05 < bridge_> [ddnet] hm, you sure you zipped this correctly? 17:05 < bridge_> [ddnet] maybe not. 17:05 < bridge_> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/839880656414179348/unknown.png 17:06 < bridge_> [ddnet] can you do a `ls -la /System/Library/Frameworks/AppKit.framework/Versions/C/AppKit`? 17:06 < bridge_> [ddnet] maybe it's a symlink 17:06 < bridge_> [ddnet] /C/AppKit doesn't exists 17:06 < bridge_> [ddnet] eh? 17:07 < bridge_> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/839880953089359882/unknown.png 17:07 < bridge_> [ddnet] maybe they moved it 17:07 < bridge_> [ddnet] but your ddnet was linked to it 17:07 < bridge_> [ddnet] emm 17:07 < bridge_> [ddnet] eeeeh? 17:07 < bridge_> [ddnet] huh 17:08 < bridge_> [ddnet] ye right, it was linked to it. 17:08 < bridge_> [ddnet] do you have lldb? 17:08 < bridge_> [ddnet] hmm 17:08 < bridge_> [ddnet] i do 17:08 < bridge_> [ddnet] forgot how to use it 17:08 < bridge_> [ddnet] `lldb ./DDNet` 17:08 < bridge_> [ddnet] `run` , wait a bit `^C` to interrupt 17:08 < bridge_> [ddnet] then do `image list` 17:09 < bridge_> [ddnet] can you grep within lldb 17:10 < bridge_> [ddnet] no, but AppKit should be within the first 20 17:10 < bridge_> [ddnet] `[ 15] 10AFBC3A-E9A4-3E62-B9F5-97DF579B7A84 0x00007fff22e79000 /System/Library/Frameworks/AppKit.framework/Versions/C/AppKit` 17:10 < bridge_> [ddnet] bruh 17:11 < bridge_> [ddnet] okay, I'm starting to believe aliens sent this mac to you as a gift 17:11 < bridge_> [ddnet] I guess I'm not going to get to check out what changed until I get my own big sur 17:11 < bridge_> [ddnet] maybe apple hide those path in kernel or something 17:11 < bridge_> [ddnet] 👀 17:11 < bridge_> [ddnet] well do a `sudo ls -la` instead 17:11 < bridge_> [ddnet] if root can't see it idk, only god himself knows 17:12 < bridge_> [ddnet] gg 17:12 < bridge_> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/839882255735848990/unknown.png 17:12 < bridge_> [ddnet] i'm out. 17:12 < bridge_> [ddnet] :sendhelp: 17:12 < bridge_> [ddnet] yeah me too, we tried 17:13 < bridge_> [ddnet] ```New in macOS Big Sur 11 beta, the system ships with a built-in dynamic linker cache of all system-provided libraries. As part of this change, copies of dynamic libraries are no longer present on the filesystem. Code that attempts to check for dynamic library presence by looking for a file at a path or enumerating a directory will fail. Instead, check for library presence by attempting to dlopen() the path, which will correctly check fo 17:14 < bridge_> [ddnet] apparently there is a tool to dump it from the cache, I've already wasted enough of your time, I'll just check it out myself when I upgrade some day 17:15 < bridge_> [ddnet] :gg: 17:15 < bridge_> [ddnet] 頑張って on your studying then 17:16 < bridge_> [ddnet] if you still going for that 17:17 < bridge_> [ddnet] I have to, so I don't have to live under the bridge with the hobos 17:17 < bridge_> [ddnet] 🙂 17:42 < bridge_> [ddnet] @Jupstar ✪ does this patch fix window icon notifications on KDE? I have only tested it on i3 and it seems to work well. 17:42 < bridge_> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/839889978364395531/attentionfix.patch 17:44 < bridge_> [ddnet] @Learath2 I guess try the new commit in my PR and see if that fixed it for you when you got time. Since you are the only one who can test that problem. 😅 19:28 < bridge_> [ddnet] I don't think that there's a Wayland protocol for that. See https://gitlab.freedesktop.org/wayland/wayland-protocols/-/issues/31 19:51 < bridge_> [ddnet] https://blog.rust-lang.org/2021/05/06/Rust-1.52.0.html 19:51 < bridge_> [ddnet] :poggers: :bluekitty: 19:51 < bridge_> [ddnet] every six weeks 😉 19:51 < bridge_> [ddnet] i needed that clippy fix so much 19:51 < bridge_> [ddnet] and im 2 lazy to setup nightly just for that 19:52 < bridge_> [ddnet] ah, nice bugfix. otherwise it looks like a rather small release 19:52 < bridge_> [ddnet] > The most significant change in this release is not to the language or standard libraries, but rather an enhancement to tooling support for Clippy. 19:54 < bridge_> [ddnet] @heinrich5991 there is something "big" idk how big but its a regression 19:54 < bridge_> [ddnet] that affects ring 19:54 < bridge_> [ddnet] since rust is the only real world end user of the llvm noalias stuff they find all the bugs it has xd 19:54 < bridge_> [ddnet] https://github.com/rust-lang/rust/issues/84958 19:55 < bridge_> [ddnet] > Enable mutable noalias by default on LLVM 12, as previously known miscompiles have been resolved. Now it's time to find the next one ;) 19:55 < bridge_> [ddnet] :monkalaugh: 19:57 < bridge_> [ddnet] I wonder if it'll ever work to enable it 20:00 < bridge_> [ddnet] this is kind of an open question: have there been attempts / ideas of a complete rewrite (either in cpp or other lang) with goals to make modding and ddnet contribution easier? i know this is not a simple or straightforward process but idk if it's been attempted before 20:01 < bridge_> [ddnet] not really, some attempts have been made 20:01 < bridge_> [ddnet] i dont think ddnet is a good base for making a "empty" teeworlds 20:01 < bridge_> [ddnet] it has many ddnet specific code everywhere 20:01 < bridge_> [ddnet] e.g. mine 😛 https://github.com/heinrich5991/libtw2/tree/master/server 20:01 < bridge_> [ddnet] teeworlds 0.7 is actually a good base for new mods 20:02 < bridge_> [ddnet] it has 64p support 20:02 < bridge_> [ddnet] and cmake 20:03 < bridge_> [ddnet] well specific and not, all of teeworlds + ddnet code would be part of the rewrite 20:03 < bridge_> [ddnet] and even treating them as the same code 20:04 < bridge_> [ddnet] @heinrich5991 would it be crazy/improve speed to rewrite the server using a async runtime like tokio? https://github.com/tokio-rs/mio 20:04 < bridge_> [ddnet] ideally it would be organized like some "core" that generally works with any client but has "extensions" for modes 20:05 < bridge_> [ddnet] @heinrich5991 how much of the protocol does this cover? 20:09 < bridge_> [ddnet] @lynn the protocol is completely implemented, the server is a very barebones and you can only move around, nothing else 20:09 < bridge_> [ddnet] no client is implemented 20:11 < bridge_> [ddnet] @Ryozuki I don't think tokio is going to improve much… the server is already using mio to get notified about socket events 20:11 < bridge_> [ddnet] oh i didnt see it 20:12 < bridge_> [ddnet] so you could connect to it and play? just wouldn't support things like races 20:12 < bridge_> [ddnet] you can connect to it and move around 20:12 < bridge_> [ddnet] no weapons, teams, etc. are implemented 20:12 < bridge_> [ddnet] no collision 20:12 < bridge_> [ddnet] oh wow 20:12 < bridge_> [ddnet] wait if there's no collision what do you mean move around 20:12 < bridge_> [ddnet] no collision with other tees, I mean 20:12 < bridge_> [ddnet] oh, with other players 20:12 < bridge_> [ddnet] yeah ok 20:13 < bridge_> [ddnet] well, this is good then 20:13 < bridge_> [ddnet] (it's just a proof of concept, I did the interesting parts and stopped before the boring parts came) 20:13 < bridge_> [ddnet] maybe i will try to learn rust this weekend and try to PR it with some of this 20:13 < bridge_> [ddnet] i need to stop saying "i will learn rust" and actually do it 20:13 < bridge_> [ddnet] good luck learning it in 1 weekend :monkaS: 20:14 < bridge_> [ddnet] well not all of it obviously, but enough to add logic to it 20:14 < bridge_> [ddnet] another programmer converted :greenthing: 20:17 < bridge_> [ddnet] idk ive always liked rust but other stuff has had my attention for forever 20:17 < bridge_> [ddnet] i had a lua phase 20:18 < bridge_> [ddnet] i never liked it 20:18 < bridge_> [ddnet] and i rly pushed myself to like it due to factorio modding 20:18 < bridge_> [ddnet] but i dont like it 20:18 < bridge_> [ddnet] (lua) 20:19 < bridge_> [ddnet] but you can't mod factorio in rust… ryo already send the next message 😦 20:19 < bridge_> [ddnet] sent* 20:19 < bridge_> [ddnet] wdym? 20:19 < bridge_> [ddnet] is it some discord desync 20:19 < bridge_> [ddnet] ah 20:23 < bridge_> [ddnet] their api is rly gud https://lua-api.factorio.com/latest/ :feelsbadman: 20:30 < bridge_> [ddnet] when tw api? 20:33 < bridge_> [ddnet] 👀 20:37 < bridge_> [ddnet] When programming language researcher get bored due to lockdowns 20:37 < bridge_> [ddnet] https://www.youtube.com/watch?v=77999Td20TM 20:38 < bridge_> [ddnet] i admire how hands off the lua library is 20:38 < bridge_> [ddnet] i enjoyed making my own constructs that exist in other langs in lua 21:14 < bridge_> [freenode] how can i turn off the spec tees? 21:14 < bridge_> [freenode] i dont wanna see those ghosts 21:16 < bridge_> [ddnet] you can't 21:16 < bridge_> [freenode] oh yikes that is inconvienient 21:16 < bridge_> [freenode] any chance we can get an option? 21:17 < bridge_> [ddnet] not really, no 21:17 < bridge_> [ddnet] can you explain why you don't want to see the spec tees? 21:18 < bridge_> [ddnet] he could make the x_spec.png skin transparent, no? 21:18 < bridge_> [ddnet] ah right 21:19 < bridge_> [ddnet] it might still show the nametag though 21:20 < bridge_> [ddnet] (I think) 😄 21:20 < bridge_> [ddnet] also right 21:20 < bridge_> [freenode] i really dislike it optically i rather not know than look at something visually unpleasing 21:21 < bridge_> [ddnet] you can replace the skin maybe. or you could get used to it for a couple of days and see if it still looks out of place 21:21 < bridge_> [freenode] its not that the design is bad its quite good actually. Its just i do not want to see a tee i can not interact with. So i really have to fork for that cfg? 21:21 < bridge_> [freenode] i still see the name 21:21 < bridge_> [freenode] yea probably i can get used to it 23:35 < bridge_> [ddnet] its not really visually unpleasing tbh, u just have to get used to it