09:32 <+bridge> [ddnet] oh 09:32 <+bridge> [ddnet] nice 09:33 <+bridge> [ddnet] got annoyed by all the copy paste at some point 😄 09:34 <+bridge> [ddnet] 🙂 12:37 <+bridge> [ddnet] the bg animation isn't smooth when you switch the tabs Settings -> DDNet 12:37 <+bridge> [ddnet] and please why this terrible sun with wrong sunrays 12:37 <+bridge> [ddnet] smooth like the camera? 12:38 <+bridge> [ddnet] or the actual animation 12:39 <+bridge> [ddnet] @Lady Saavik we are happy to take better maps, the current ones are from vanilla 12:39 <+bridge> [ddnet] oh it's so random 12:39 <+bridge> [ddnet] if u have laggs loading the settings, it might be of loading something from ur harddrive 12:40 <+bridge> [ddnet] if u have laggs loading the settings, it might be bcs of loading something from ur harddrive 12:41 <+bridge> [ddnet] it's annoying that the sun sometimes moves so far and sometimes not 12:42 <+bridge> [ddnet] the clouds resetting is the most annoying thing 12:43 <+bridge> [ddnet] as said the maps arent really good, except maybe jungle night 12:43 <+bridge> [ddnet] winter is ok, rest is not really nice 12:43 <+bridge> [ddnet] winter night is ok, rest is not really nice 12:44 <+bridge> [ddnet] idk, the bug is gone .-. 12:44 <+bridge> [ddnet] omg it's back 12:44 <+bridge> [ddnet] I know 12:44 <+bridge> [ddnet] now 12:44 <+bridge> [ddnet] are you using 15.1 btw? 12:45 <+bridge> [ddnet] or master 12:45 <+bridge> [ddnet] I was in wrong tab in settings 12:45 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/765525671619198996/unknown.png 12:45 <+bridge> [ddnet] ok 12:46 <+bridge> [ddnet] I can record it 12:46 <+bridge> [ddnet] its not like i dont believe it 😄 12:47 <+bridge> [ddnet] but go ahead 12:47 <+bridge> [ddnet] idk if you understand me 12:47 <+bridge> [ddnet] ok 12:47 <+bridge> [ddnet] 👀 12:47 <+bridge> [ddnet] <> Tee and Controls have almost the same position in the background xd 12:47 <+bridge> [ddnet] xd 12:48 <+bridge> [ddnet] <> same with General and Player 12:48 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/765526453092745226/2020-10-13_12-48-04.mp4 12:49 <+bridge> [ddnet] not smooth 12:49 <+bridge> [ddnet] yeah 12:49 <+bridge> [ddnet] <> ah 12:49 <+bridge> [ddnet] true 12:49 <+bridge> [ddnet] <> same 12:50 <+bridge> [ddnet] probably bcs the distance is too short 12:51 <+bridge> [ddnet] but it works the other way xd 12:53 <+bridge> [ddnet] when I click on "Run server" and close the black window, why does it still say "Stop server" 12:53 <+bridge> [ddnet] <> Internet and Sound have the same position 12:54 <+bridge> [ddnet] the client doesnt track the server process probably 12:54 <+bridge> [ddnet] u can probably also close the client and it wont stop the server 12:56 <+bridge> [ddnet] setting for example cl_rotation_radius 15 12:56 <+bridge> [ddnet] fixes it, so its very probably the distance 14:16 <+bridge> [ddnet] @Дядя Женя please don't make a huge PR with everything. Split features into smaller PR's. 14:16 <+bridge> [ddnet] That has benefits: you get feedback early and will make less work on refactoring; others will get features sooner; subtasks will not stall the development; you will get better motivation seeing something is finished already; ~~we don't risk you quit development at all not making a single PR cause it's "unfinished"~~ 14:16 <+bridge> [ddnet] In my point of view chat messages are technically related but are functionally separate from scores. 14:17 <+bridge> [ddnet] In my point of view although chat/ messages are technically related but are functionally separate from scores. 14:19 <+bridge> [ddnet] <Дядя Женя> k, I'll try to make some margin, fix bugs and clear some useless code I made on failed attempts and make a PR 14:23 <+bridge> [ddnet] <Дядя Женя> I was afraid making any pull requests mainly because I don't think it's ok to build release version of client with unfinished feature, which not everyone would like on that stage 14:24 <+bridge> [ddnet] <Дядя Женя> Maybe I should add client config variable for that to be enabled 14:25 <+bridge> [ddnet] <Дядя Женя> Also half of the padding is hardcoded now, 'cause I had no idea how to calculate it properlt 14:25 <+bridge> [ddnet] <Дядя Женя> Also half of the padding is hardcoded now, 'cause I had no idea how to calculate it properly 14:25 <+bridge> [ddnet] There is such thing as WIP-PR or drafts. A way to get a feedback from reviewers before the feature gets to the stage. Though chances are if your feature is only lacks some visual polishing only it still could be merged. 14:26 <+bridge> [ddnet] Sadly I don't know anything about client. But I am sure others ddnet devs will suggest better solutions when reviewing your PR. Also you can direct them to lines in code commenting it in PR by yourself and asking questions there. 14:27 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/765551312297132072/draft-pull-requests.png 14:27 <+bridge> [ddnet] https://github.blog/2019-02-14-introducing-draft-pull-requests/ 14:28 <+bridge> [ddnet] Before draft pr's were introduced a title containing "WIP" keyword was indicating that this PR is not yet complete but you need a review to get a fresh look or suggestions. 14:28 <+bridge> [ddnet] :s/but/but still 14:29 <+bridge> [ddnet] (I hate this SED edit syntax enforced in this channel) 17:03 <+bridge> [ddnet] @Jupstar ✪ what is broken about data allocation? It didn't look like it required anything specific to me, that's why I didn't touch it 17:11 <+bridge> [ddnet] yeah i dunno yet either, but OGL 3.3 doesnt work in entities anymore @Learath2 17:13 <+bridge> [ddnet] @Jupstar ✪ You sure it's alloc? entities works completely fine for me on macOS with 3.3 17:14 <+bridge> [ddnet] i bisect and its 100% this commit 17:14 <+bridge> [ddnet] but im not 100% sure what is causing it 17:14 <+bridge> [ddnet] I'll try linux 17:17 <+bridge> [ddnet] Well I'll be, for once something works on macOS doesn't on linux 17:17 <+bridge> [ddnet] xD 17:19 <+bridge> [ddnet] `failed to allocate data for command buffer` 17:20 <+bridge> [ddnet] y [ddnet] i think i found the issue 17:20 <+bridge> [ddnet] the current commands rely on the buffer size too much 17:20 <+bridge> [ddnet] i'll write the patch if thats ok for u 17:21 <+bridge> [ddnet] so its not ur impl 17:22 <+bridge> [ddnet] (except that it always adds the alignment) 17:22 <+bridge> [ddnet] which increases the buffer size always 17:22 <+bridge> [ddnet] Yeah, I came to the same conclusion, it genuinely doesn't seem to fit 17:22 <+bridge> [ddnet] I'll fix the wasted bytes 17:23 <+bridge> [ddnet] Oh, I wonder if that would be enough actually 😄 17:23 <+bridge> [ddnet] yeah thats the question 😄 17:24 <+bridge> [ddnet] Yep, it's enough 17:24 <+bridge> [ddnet] But still, is it expected that space is so tight in the data buffer? 17:24 <+bridge> [ddnet] no, but it will use the full buffer if the alloc fails once 17:24 <+bridge> [ddnet] it just clears it and uses full space 17:25 <+bridge> [ddnet] That was apparently wasting so many bytes that even the full space wasn't enough 17:25 <+bridge> [ddnet] yes, its always 16 bytes too much 😄 17:25 <+bridge> [ddnet] so it can never allocate the space it wants 17:26 <+bridge> [ddnet] Oh I forgot to ask, what should the alignment for data be? 17:27 <+bridge> [ddnet] well, actually doesnt matter probably, alignof(ptr) should be fine for almost all architectures 17:27 <+bridge> [ddnet] dunno if floats have higher alignments somewhere 17:27 <+bridge> [ddnet] maybe maximum of floats and ptrs xd 17:27 <+bridge> [ddnet] but that would be the same issue for commands 17:27 <+bridge> [ddnet] AllocData is just byte storage, right? 17:28 <+bridge> [ddnet] they sometimes contain floats too 😄 17:28 <+bridge> [ddnet] yes, but it should still be aligned correctly 17:28 <+bridge> [ddnet] arm cant read floats that are missaligned 17:28 <+bridge> [ddnet] (so too driver dependend) to make it byte aligned 17:29 <+bridge> [ddnet] (iirc new arm can do unaligned read/write, it's quite costly though) 17:29 <+bridge> [ddnet] well for floats it crashes 17:29 <+bridge> [ddnet] i had a bug in arm android some day 17:29 <+bridge> [ddnet] i am speaking about arm32 btw 17:29 <+bridge> [ddnet] I guess I'll keep max_align_t for data, just to be safe 17:29 <+bridge> [ddnet] 64 is fine 😄 17:29 <+bridge> [ddnet] ah, arm32 yeah 17:30 <+bridge> [ddnet] yeah just keep it, should be safe 17:31 <+bridge> [ddnet] Should I close the issue by fixing the waste or do you want to do something about it too? 17:32 <+bridge> [ddnet] yeah just do it by waste 17:32 <+bridge> [ddnet] i dont see anything that could break else 17:44 <+bridge> [ddnet] @Jupstar ✪ look what i found on youtube, (probably version 14.6.2) xddd 17:44 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/765600863434571776/unknown.png 17:45 <+bridge> [ddnet] what video is that 17:45 <+bridge> [ddnet] 17:45 <+bridge> [ddnet] im lurking youtube 17:45 <+bridge> [ddnet] the guy plays the game 17:45 <+bridge> [ddnet] like its normal 17:45 <+bridge> [ddnet] xdd 17:45 <+bridge> [ddnet] :feelsbadman: 17:46 <+bridge> [ddnet] WTF XD 17:46 <+bridge> [ddnet] XD 17:46 <+bridge> [ddnet] funny how the skins are broken not the map 17:46 <+bridge> [ddnet] the map is broken 17:46 <+bridge> [ddnet] look at epix start 17:46 <+bridge> [ddnet] thats like the opposite of what we have else 17:46 <+bridge> [ddnet] thats not normal 17:46 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/765601487131770930/unknown.png 17:47 <+bridge> [ddnet] i mean kobra 17:47 <+bridge> [ddnet] start 17:47 <+bridge> [ddnet] this is bugged 17:47 <+bridge> [ddnet] well anyway with the new verion he'd be in the fallback 17:47 <+bridge> [ddnet] He must think we are all on LSD all the time 17:47 <+bridge> [ddnet] yeah 17:47 <+bridge> [ddnet] but why are the skins broken xD i dont get it 17:47 <+bridge> [ddnet] man ppl in 2020 still upload videos to youtube in 480p 17:47 <+bridge> [ddnet] hilarious 17:48 <+bridge> [ddnet] 4:3 with some 15 years old GPU uploads in 480p 17:48 <+bridge> [ddnet] some ppl just live in the past xD 17:48 <+bridge> [ddnet] @Jupstar ✪ yep, look at #showroom 17:48 <+bridge> [ddnet] i found a funny chilean 17:48 <+bridge> [ddnet] well u probs dont understand him 17:48 <+bridge> [ddnet] ryo lives in a bubble 17:49 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/765601998556233758/unknown.png 17:49 <+bridge> [ddnet] xdddd 17:49 <+bridge> [ddnet] I don't get it how could valgrind say there is no leak and ASan say there is a leak? 17:49 <+bridge> [ddnet] i still dont get why valgrind didnt see the invalid index, what ubsan found 17:50 <+bridge> [ddnet] maybe valgrind is not perfect 17:50 <+bridge> [ddnet] IT IS 17:50 <+bridge> [ddnet] :justatest: 17:50 <+bridge> [ddnet] anyway 17:50 <+bridge> [ddnet] WHO BROKE BORSA 17:50 <+bridge> [ddnet] WHO BROKE BORS 17:50 <+bridge> [ddnet] isnt ubsan static analysis and valgrind runtime? 17:51 <+bridge> [ddnet] both are runtime 17:51 <+bridge> [ddnet] ubsan is runtime too 17:51 <+bridge> [ddnet] UBSan and ASan are instrumented directly into the program. Valgrind instruments the program by monkey patching it 17:51 <+bridge> [ddnet] is ubsan and asan faster? 17:51 <+bridge> [ddnet] Yes 17:51 <+bridge> [ddnet] valgrind rly makes the game slow af 17:51 <+bridge> [ddnet] xd 17:51 <+bridge> [ddnet] With ASan the game is actually quite playable 17:52 <+bridge> [ddnet] yes 17:52 <+bridge> [ddnet] it runs pretty smooth 😄 17:52 <+bridge> [ddnet] `> 1k fps` 17:52 <+bridge> [ddnet] yes we know u have a super vega gpu 17:52 <+bridge> [ddnet] its not gpu side xD 17:52 <+bridge> [ddnet] :monkalaugh: 17:52 <+bridge> [ddnet] what cpu u got 17:52 <+bridge> [ddnet] 3800x 17:53 <+bridge> [ddnet] thats pretty good 17:53 <+bridge> [ddnet] isnt it 17:53 <+bridge> [ddnet] I wonder if something like ASan exists for GPUs 17:53 <+bridge> [ddnet] 342€ 17:53 <+bridge> [ddnet] yes 17:53 <+bridge> [ddnet] xd 17:53 <+bridge> [ddnet] instrumenting the shaders 😄 17:53 <+bridge> [ddnet] yeah but like 30% faster than some 5 years old intel 17:53 <+bridge> [ddnet] so not the world xd 17:53 <+bridge> [ddnet] will u buy the new amd ryzen 9 17:53 <+bridge> [ddnet] Well ASan wouldn't be much use in a shader, but something like ubsan might 17:53 <+bridge> [ddnet] :poggers: 17:54 <+bridge> [ddnet] i only buy hardware all 4 years normally, when i sell my old to my one of my sister xD 17:54 <+bridge> [ddnet] xd 17:54 <+bridge> [ddnet] yeah same 17:54 <+bridge> [ddnet] i need to change gpu soon tho 17:54 <+bridge> [ddnet] my r9 390 is getting old 17:54 <+bridge> [ddnet] I wish the new generation had some backwards compatibility with DDR3 😦 17:54 <+bridge> [ddnet] u still in ddr3 17:54 <+bridge> [ddnet] :lol: 17:55 <+bridge> [ddnet] I want to upgrade but it'll cost a fortune to replace 32g of ram with ddr4 17:55 <+bridge> [ddnet] do u rly need 32 17:55 <+bridge> [ddnet] im fine with 16 17:55 <+bridge> [ddnet] I do yeah. I use chromium boy 17:55 <+bridge> [ddnet] 1 tab in chrome = 1gb 17:55 <+bridge> [ddnet] why u use chromium 17:55 <+bridge> [ddnet] so yes 32 gb 17:55 <+bridge> [ddnet] firefox uses 2gb 17:55 <+bridge> [ddnet] The remote debugging 17:55 <+bridge> [ddnet] I use firefox for my own browsing 17:55 <+bridge> [ddnet] i even use both at same time 17:55 <+bridge> [ddnet] i dont have ram problems 17:56 <+bridge> [ddnet] i know was just jk 17:56 <+bridge> [ddnet] bcs browsers 17:56 <+bridge> [ddnet] But that's not what kills my ram, it's unreal engine and maya 17:56 <+bridge> [ddnet] android studio eats lot of ram too 17:56 <+bridge> [ddnet] :nouis: 17:56 <+bridge> [ddnet] all java stuff eats ur ram 17:56 <+bridge> [ddnet] both open at the same time gets the computer swapping every 10 seconds 17:56 <+bridge> [ddnet] Java is really so irresponsible with the memory given to it 17:57 <+bridge> [ddnet] Not only that, it keeps all the pages hot, all the time with it's GC 17:57 <+bridge> [ddnet] ur hot 17:57 <+bridge> [ddnet] 😍 17:57 <+bridge> [ddnet] :lol: 17:59 <+bridge> [ddnet] Okay, I don't get it, do you see how `src/engine/client/serverbrowser.cpp:502:32` could ever leak? 18:00 <+bridge> [ddnet] is it one of those I fixed? 18:00 <+bridge> [ddnet] bors is dying 18:00 <+bridge> [ddnet] Not in #3076 atleast 18:00 <+bridge> [ddnet] https://github.com/ddnet/ddnet/pull/3076 18:00 <+bridge> [ddnet] then where did you see it leak? 18:00 <+bridge> [ddnet] master, ASan 18:01 <+bridge> [ddnet] ok, haven't looked into it then 18:02 <+bridge> [ddnet] It doesn't make sense though, there is the free right there :/ 18:02 <+bridge> [ddnet] maybe a buggy libc? 18:03 <+bridge> [ddnet] I'd have many more things broken if I had a broken libc, no? 😛 18:03 <+bridge> [ddnet] where is the free? 18:03 <+bridge> [ddnet] m_ppServerlist is freed, not ppNewlist 18:03 <+bridge> [ddnet] L505 18:03 <+bridge> [ddnet] or is the leak at destruction? 18:03 <+bridge> [ddnet] its never freed when closing 18:03 <+bridge> [ddnet] Oh, maybe it's reporting it leaking when shutting down 18:03 <+bridge> [ddnet] yeah, I guess a free(m_ppServerlist) at the end would help 18:04 <+bridge> [ddnet] seems easy enough to fix in the destructor 18:04 <+bridge> [ddnet] Heh, yep. I didn't consider it leaking at the end 18:05 <+bridge> [ddnet] there is alot leaking, we could also clean the opengl context before closing 18:06 <+bridge> [ddnet] but so much static stuff that allocates textures, would require alot of work 18:07 <+bridge> [ddnet] Well these were the only two reported by ASan, so I fixed them 18:07 <+bridge> [ddnet] oh ok 18:08 <+bridge> [ddnet] Github Actions is also throwing a hissy fit, I wonder what's going on 18:08 <+bridge> [ddnet] I have a feeling it's microsoft still not understanding how one should update their apt repositories 18:10 <+bridge> [ddnet] mhh, someone once said here the server browser feels to laggy with OGL 3.3, WHO was it 18:10 <+bridge> [ddnet] cant find him in discord search 18:11 <+bridge> [ddnet] `index 32767 out of bounds for type 'short [64]'` this looks odd 18:11 <+bridge> [ddnet] yeah 18:11 <+bridge> [ddnet] we have a huge problem with snapshots 18:11 <+bridge> [ddnet] #3049 18:11 <+bridge> [ddnet] https://github.com/ddnet/ddnet/issues/3049 18:12 <+bridge> [ddnet] but the discussion about it moved into some pr 18:12 <+bridge> [ddnet] #3051 18:12 <+bridge> [ddnet] https://github.com/ddnet/ddnet/pull/3051 18:12 <+bridge> [ddnet] ? 18:13 <+bridge> [ddnet] > I removed the shift commits. 18:13 <+bridge> [ddnet] oh 18:13 <+bridge> [ddnet] "yes, my claim is, that appearently the same snapshot has different values between linux and windows 18:13 <+bridge> [ddnet] So its probs caused by some of the other snapshot code" 18:13 <+bridge> [ddnet] 18:13 <+bridge> [ddnet] to quote myself 18:13 <+bridge> [ddnet] it wasnt about the shift 18:13 <+bridge> [ddnet] i assumed it bcs linux returned -1, but i wasnt in windows anymore at that poiunt 18:14 <+bridge> [ddnet] Only heinrich knows how this stuff works really well and when the world needed him most, he vanished 😛 18:14 <+bridge> [ddnet] 100 years past and Learath and me found a new heinrich 18:15 <+bridge> [ddnet] 100 years passed and Learath and me found a new heinrich 18:17 <+bridge> [ddnet] Okay, from my crude understanding of the snapshot extended objects, I think that type has to be translated first 18:18 <+bridge> [ddnet] maybe heinrich already thought about it, he also removed crc code 18:23 <+bridge> [ddnet] @deen have u seen #3077 18:23 <+bridge> [ddnet] 18:23 <+bridge> [ddnet] it litterally doubkes my fps with ogl.. just bcs of the text 18:23 <+bridge> [ddnet] https://github.com/ddnet/ddnet/pull/3077 18:23 <+bridge> [ddnet] nice 18:23 <+bridge> [ddnet] I noticed that in menus everything is super slow 18:23 <+bridge> [ddnet] I have another question, why is the client even creating a snapshot?? 18:24 <+bridge> [ddnet] Ah maybe demo recording 18:24 <+bridge> [ddnet] I'M generally in favor of it @Jupstar ✪ 18:25 <+bridge> [ddnet] good bcs u can still use the old implementation 18:25 <+bridge> [ddnet] i'll just implement the stuff i need whenever i feel there is something too slow 18:25 <+bridge> [ddnet] the rest can stay streamed 18:27 <+bridge> [ddnet] Ah, I get what's wrong, the extended types have dynamic size, the itemsizes table shouldn't even be checked 18:32 <+bridge> [ddnet] i mean create a pr, and ask heinrich for a review 18:32 <+bridge> [ddnet] I will in a minute 18:32 <+bridge> [ddnet] a fix until the next version would be nice 18:33 <+bridge> [ddnet] @deen where do you think would be a good place to add a COUNT_OF macro? we use it in a couple places and we just have ad-hoc implementations 18:33 <+bridge> [ddnet] I was thinking system.h but there I can't use the more thorough C++ version of the macro 18:34 <+bridge> [ddnet] what's a count_of? 18:34 <+bridge> [ddnet] It's the macro that everyone uses to get the number of "things" in an array 18:34 <+bridge> [ddnet] sizeof(arr)/sizeof(arr[0]) 18:34 <+bridge> [ddnet] ah, right 18:35 <+bridge> [ddnet] for all I care make system.c -> system.cpp, I had a PR for that 😉 18:35 <+bridge> [ddnet] then put it in system.h 18:35 <+bridge> [ddnet] otherwise src/base/count.h? I don't really see a fiting place 18:36 <+bridge> [ddnet] I'll put the unsafe C version in system.h and we'll all be careful not to pass it anything except arrays 😛 18:36 <+bridge> [ddnet] yes lets pls make it cpp 18:36 <+bridge> [ddnet] @deen why did you close that PR anyway? 18:37 <+bridge> [ddnet] then we can use std::chrono and remove some strange code from windows 😄 18:37 <+bridge> [ddnet] If only C++17 wasn't too new, we could replace a lot of the fs_ functions too 18:37 <+bridge> [ddnet] i also made a local pr where is changed everything 18:37 <+bridge> [ddnet] Maybe I misremember and didn't have it. Foudn only https://github.com/ddnet/ddnet/issues/1444 18:37 <+bridge> [ddnet] https://github.com/Jupeyy/ddnet/tree/pr_cpp_not_c 18:37 <+bridge> [ddnet] i made it a few weeks ago 18:38 <+bridge> [ddnet] you can remove all the (void) in function signatures in cpp 18:38 <+bridge> [ddnet] yeah but too lazy xd 18:38 <+bridge> [ddnet] let's ask @heinrich5991 what he thinks, I'd be fine 18:39 <+bridge> [ddnet] `sed -i 's/(void)$// src/base/**/*.{cpp,h}` 18:39 <+bridge> [ddnet] `sed -i 's/(void)$//' src/base/**/*.{cpp,h}` 18:39 <+bridge> [ddnet] will do if we ok with removing c 😄 18:41 <+bridge> [ddnet] btw @deen 18:41 <+bridge> [ddnet] #2157 18:41 <+bridge> [ddnet] https://github.com/ddnet/ddnet/pull/2157 18:42 <+bridge> [ddnet] Probably because of Vanilla compat 18:42 <+bridge> [ddnet] who cares xD 18:42 <+bridge> [ddnet] but now with our reformatting etc, I guess matters less and less 18:42 <+bridge> [ddnet] so let's just do it 18:42 <+bridge> [ddnet] we can still copy their functions 18:44 <+bridge> [ddnet] i only know that deen tried to fix it and couldnt join the server anymore xD 18:44 <+bridge> [ddnet] but if u can its fine xD 18:45 <+bridge> [ddnet] Hm, I wonder if we are talking about the same bug 18:45 <+bridge> [ddnet] yes 18:45 <+bridge> [ddnet] ```../src/engine/shared/snapshot.cpp:264:9: runtime error: index 32765 out of bounds for type 'short [64]' 18:45 <+bridge> [ddnet] SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior ../src/engine/shared/snapshot.cpp:264:9 in``` 18:45 <+bridge> [ddnet] its the code in createdelata and unpackdelta 18:46 <+bridge> [ddnet] This one turned out to be in the demo recorder, fixing it like this didn't break anything(tm) 18:46 <+bridge> [ddnet] #3050 18:46 <+bridge> [ddnet] 18:46 <+bridge> [ddnet] here are the reports 18:46 <+bridge> [ddnet] https://github.com/ddnet/ddnet/issues/3050 18:46 <+bridge> [ddnet] UnpackDelta looks fine to me, at the very least doesn't suffer from the same bug 18:47 <+bridge> [ddnet] yeah cant find unpack delta, so just create 😄 18:47 <+bridge> [ddnet] but 2 times 18:47 <+bridge> [ddnet] `src/engine/shared/snapshot.cpp:139:21: runtime error: signed integer overflow: 0 - -2147483648 cannot be represented in type 'int' 18:47 <+bridge> [ddnet] #0 0xede8fb in CSnapshotDelta::DiffItem(int*, int*, int*, int) src/engine/shared/snapshot.cpp:139 18:47 <+bridge> [ddnet] ` 18:48 <+bridge> [ddnet] I couldn't get that, how did you trigger it? 18:49 <+bridge> [ddnet] it was deen 18:49 <+bridge> [ddnet] or was it me 18:49 <+bridge> [ddnet] oh yeah 18:49 <+bridge> [ddnet] it was me xD 18:50 <+bridge> [ddnet] @Learath2 i dunno, i just played some ddrace and fng 18:52 <+bridge> [ddnet] what's the benefit of allowing C++ in system.c? @deen 18:52 <+bridge> [ddnet] @Learath2 you can use the fancy macro in `#ifdef __cplusplus__` 18:52 <+bridge> [ddnet] whats the benefit of using c code xdd 18:52 <+bridge> [ddnet] less difference to tw 18:52 <+bridge> [ddnet] cpp allows std::chrono std::thread 18:52 <+bridge> [ddnet] Stability or system.c 18:52 <+bridge> [ddnet] s\/or/of/ 18:53 <+bridge> [ddnet] the problem with the overflow for `m_aItemSizes` is due to the protocol extension 18:53 <+bridge> [ddnet] oh, that sounds like my fault 18:53 <+bridge> [ddnet] what is it? 18:53 <+bridge> [ddnet] it's fixed in 0.7 18:54 <+bridge> [ddnet] the whole thing relies on some random memory being 0 😄 18:54 <+bridge> [ddnet] have a link to the PR? 18:54 <+bridge> [ddnet] very nice. sorry for that code 😄 18:54 <+bridge> [ddnet] nobody noticed for years ^^ 18:54 <+bridge> [ddnet] damn my vim is stubborn and doesnt want to insert tabs instead of spaces in the python files we have in datasrc 18:54 <+bridge> [ddnet] @Ryozuki use vim-sleuth addon 18:55 <+bridge> [ddnet] https://github.com/tpope/vim-sleuth/ 18:55 <+bridge> [ddnet] ohh 18:55 <+bridge> [ddnet] thanks 18:56 <+bridge> [ddnet] works perfect 18:56 <+bridge> [ddnet] I actually never had to care about indentation again with this vim addon 😄 18:57 <+bridge> [ddnet] the only problem is that you have to install it 18:59 <+bridge> [ddnet] @redix seems to be the exact same thing I did 😛 18:59 <+bridge> [ddnet] oops 😄 didn't notice 18:59 <+bridge> [ddnet] redix with another fix to 0.7 without even telling us, traitor :angerycat: 18:59 <+bridge> [ddnet] i'm so sorry 😄 18:59 <+bridge> [ddnet] xDDDDDDDDDD 19:00 <+bridge> [ddnet] :nouis: 19:00 <+bridge> [ddnet] anything else we want to know? XD 19:00 <+bridge> [ddnet] vulkan support for vanilla? 19:01 <+bridge> [ddnet] there are so many things that are fixed in either 0.7 or ddnet ^^ 19:01 <+bridge> [ddnet] yeah its funny xD 19:02 <+bridge> [ddnet] Vulkan would probably get us even less compatible with older machines 19:03 <+bridge> [ddnet] I was supposed to have tea like 3 hours ago, then I forgot, now it's too late for tea 😦 19:03 <+bridge> [ddnet] never too late for tea 19:03 <+bridge> [ddnet] well lets say it like this opengl 2.0 is from 2004 19:03 <+bridge> [ddnet] and still like 1% cannot use it xD 19:03 <+bridge> [ddnet] I drink tea for breakfast, lunch and dinner 19:04 <+bridge> [ddnet] in germany we drink Tees 19:04 <+bridge> [ddnet] @heinrich5991 I could drink tea with my dinner but I was more looking forward to having a cookie, cookie for dinner is no no 19:05 <+bridge> [ddnet] webgpu would be cool as a backend once it's final :D 19:05 <+bridge> [ddnet] metal for macos + vulkan for the rest 19:05 <+bridge> [ddnet] yeah 19:05 <+bridge> [ddnet] its a rly nice project 19:05 <+bridge> [ddnet] but calling it webgpu imho is rly bad 19:05 <+bridge> [ddnet] I wonder why they didn't do Vulkan on macOS too 19:06 <+bridge> [ddnet] xDDD 19:06 <+bridge> [ddnet] u really wonder about it 19:06 <+bridge> [ddnet] I read vulkan came too late 19:06 <+bridge> [ddnet] https://gpuweb.github.io/gpuweb/ 19:06 <+bridge> [ddnet] webgpu api is rly like vulkan btw 19:06 <+bridge> [ddnet] or atleast from my little experience using it 19:06 <+bridge> [ddnet] i made a triangle 19:07 <+bridge> [ddnet] Metal is low level enough that translation from vulkan to metal is pretty cheap 19:07 <+bridge> [ddnet] u get a instance, a adapter a device a queue 19:07 <+bridge> [ddnet] etc 19:07 <+bridge> [ddnet] MoltenVK is already pretty mature 19:07 <+bridge> [ddnet] wgsl is the future too 19:07 <+bridge> [ddnet] https://gpuweb.github.io/gpuweb/wgsl.html 19:08 <+bridge> [ddnet] spir-v ftw 19:08 <+bridge> [ddnet] I guess if they don't mind spending the development effort on maintaining a separate metal backend, who am I to judge 19:08 <+bridge> [ddnet] i dont like the syntax 19:08 <+bridge> [ddnet] c syntax nice 19:08 <+bridge> [ddnet] When are we getting a standard shading language? 19:08 <+bridge> [ddnet] @Jupstar ✪ u can use glsl 19:08 <+bridge> [ddnet] and compile it to spir-v 19:08 <+bridge> [ddnet] then its fine 😄 19:10 <+bridge> [ddnet] @Learath2 I'd include the vanilla fix instead of yours, is that ok? 19:11 <+bridge> [ddnet] :justatest: 19:11 <+bridge> [ddnet] @Jupstar ✪ I see more out of date intel gpu drivers causing troubles, maybe adopt the blacklist? ^^ 19:11 <+bridge> [ddnet] @heinrich5991 It's the same fix, but sure, go ahead 19:11 <+bridge> [ddnet] @heinrich5991 well idc, but what would that help, telling them to upgrade? moving them down to gl 1.x? 19:12 <+bridge> [ddnet] telling them to upgrade 19:12 <+bridge> [ddnet] what you'd manually say to them 19:12 <+bridge> [ddnet] well the guy in #general didnt, bcs too much work for him xD 19:12 <+bridge> [ddnet] I guess it defines an extra enum to avoid arr/arr[0] 19:12 <+bridge> [ddnet] but as said, i'd be ok with it @heinrich5991 19:12 <+bridge> [ddnet] still better than nothing 19:13 <+bridge> [ddnet] @Jupstar ✪ could give them a small warning and fall back to gl1 19:13 <+bridge> [ddnet] the problem is, they will never go back to higher gl versions then 19:13 <+bridge> [ddnet] Who cares? Not like their toaster will ever get a driver update 19:13 <+bridge> [ddnet] nono 19:13 <+bridge> [ddnet] its new intel gpus 19:13 <+bridge> [ddnet] funny enough my 10years old laptop works fine 19:14 <+bridge> [ddnet] while louis with a 2017 gpu has problems 19:14 <+bridge> [ddnet] I wonder how Unreal and Unity solve the issues 19:14 <+bridge> [ddnet] directx 19:14 <+bridge> [ddnet] very simple 19:14 <+bridge> [ddnet] these problems are mostly on windows 19:15 <+bridge> [ddnet] mac always the problem 19:15 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/765623705656229918/unknown.png 19:15 <+bridge> [ddnet] 👺 19:15 <+bridge> [ddnet] compile in clang @Ryozuki 19:15 <+bridge> [ddnet] UE4 is coming out with Vulkan as the backend, I wonder how they'll handle it there 😛 19:15 <+bridge> [ddnet] well maybe just drop support for older gpus? 19:15 <+bridge> [ddnet] compile what in clang 19:16 <+bridge> [ddnet] `hdiutil: create failed - Resource busy` 19:16 <+bridge> [ddnet] most tripple A titles have pretty high miniums 19:16 <+bridge> [ddnet] hmmm 19:16 <+bridge> [ddnet] @Ryozuki ok nvm if its just a bug 😄 19:16 <+bridge> [ddnet] thought some clang warning xD 19:16 <+bridge> [ddnet] hdiutil thing happens every once in a while 19:16 <+bridge> [ddnet] just re-run the job 19:16 <+bridge> [ddnet] is that a known bug of hdiutil so we should just retry in the script? 19:16 <+bridge> [ddnet] or are we holding hdiutil wrong? 19:17 <+bridge> [ddnet] I have no idea whether it's a known bug 19:19 <+bridge> [ddnet] https://stackoverflow.com/a/18738960 19:19 <+bridge> [ddnet] wtf 19:20 <+bridge> [ddnet] HAHAHAHA classic apple 19:20 <+bridge> [ddnet] Of course creating an archive on the commandline would require a trash folder 19:21 <+bridge> [ddnet] hm. can you check whether such a trash folder is actually created? 19:21 <+bridge> [ddnet] if you have a mac handy 19:21 <+bridge> [ddnet] (just to check the plausibility and whether I should really implement that solution…) 19:22 <+bridge> [ddnet] It would be the first time you open the folder in finder, let me check 19:23 <+bridge> [ddnet] eh, I mean by the hdiutil 19:23 <+bridge> [ddnet] i.e. can you run a build (like on CI) and check whether the generated archive contains a trash folder 19:24 <+bridge> [ddnet] Sure 19:28 <+bridge> [ddnet] @heinrich5991 u mean server sending msg ids and the client displaying them? 19:28 <+bridge> [ddnet] how would u work around dynamic conent 19:28 <+bridge> [ddnet] content 19:28 <+bridge> [ddnet] it'd need our own printf parser 19:29 <+bridge> [ddnet] Or we could do it in a very insecure way 😛 19:29 <+bridge> [ddnet] no 19:29 <+bridge> [ddnet] Oh cmon, it'd be fun 19:29 <+bridge> [ddnet] rce is a feature, not a bug 19:29 <+bridge> [ddnet] user freedom! 19:29 <+bridge> [ddnet] Server sending a %n to do arbitrary writes 19:30 <+bridge> [ddnet] `Error copying file "/Users/learath2/Desktop/C/ddnet/ddnet-libs/ffmpeg/mac/lib64/libavcodec.58.dylib" to "pack_DDNet-15.1.2-osx_dmg/DDNet.app/Contents/Frameworks/".` 19:31 <+bridge> [ddnet] uhm, idk how this is supposed to work 19:32 <+bridge> [ddnet] Why is it even looking there? we don't ship that 19:32 <+bridge> [ddnet] I guess you have an up-to-date submodule? 19:33 <+bridge> [ddnet] Even if I disable -DVIDEORECORDER it's looking for it 19:33 <+bridge> [ddnet] Yeah, up-to-date 19:35 <+bridge> [ddnet] idk tbh @Learath2 19:35 <+bridge> [ddnet] Oh, btw how are we supposed to deal with unsupported clients? The version number is an ugly fix 19:35 <+bridge> [ddnet] can oyu comment that out? 19:35 <+bridge> [ddnet] I'd send the untranslated string as well 19:35 <+bridge> [ddnet] that'd be some network traffic though 19:35 <+bridge> [ddnet] @deen I think you forgot to commit the mac build for ffmpeg to ddnet-libs 19:36 <+bridge> [ddnet] @heinrich5991 and it would require very ugly string matching to remove the untranslated string 19:36 <+bridge> [ddnet] hm? no 19:36 <+bridge> [ddnet] I was thinking: 19:36 <+bridge> [ddnet] especially since there is nowhere to hide a mark in a chat message 19:37 <+bridge> [ddnet] maybe add a hidden unicode characte 19:37 <+bridge> [ddnet] at the start 19:37 <+bridge> [ddnet] and use it to hide on modern clients 19:37 <+bridge> [ddnet] superh acky hack 19:37 <+bridge> [ddnet] :nouis: 19:37 <+bridge> [ddnet] a new message type `TRANSLATED_SERVER_MESSAGE`, with an ID (UUID), untranslated message (string), format parameters (various, string, int) 19:37 <+bridge> [ddnet] but the problem here is old clients 19:37 <+bridge> [ddnet] they dont know about this packet 19:37 <+bridge> [ddnet] they only want chat messages 19:38 <+bridge> [ddnet] yea, distinguish them by version 19:38 <+bridge> [ddnet] then why we need to send the untrasnlated messages o nnew clients? 19:38 <+bridge> [ddnet] The new message type is simple 19:38 <+bridge> [ddnet] i dont find the reason 19:38 <+bridge> [ddnet] Ah by version 19:38 <+bridge> [ddnet] because they might not support all the strings we need 19:38 <+bridge> [ddnet] damn i type like a retard 19:38 <+bridge> [ddnet] missing keys 19:38 <+bridge> [ddnet] xd 19:39 <+bridge> [ddnet] ah thats true 19:39 <+bridge> [ddnet] but 19:39 <+bridge> [ddnet] it can fallback to the english 19:39 <+bridge> [ddnet] ah 19:39 <+bridge> [ddnet] we dont have a english 19:39 <+bridge> [ddnet] its directly in the src 19:39 <+bridge> [ddnet] yes, that's the untranslated string 😉 19:39 <+bridge> [ddnet] well then im fine with that 19:39 <+bridge> [ddnet] btw add any final decicion to the issue 19:39 <+bridge> [ddnet] this will be lost 19:39 <+bridge> [ddnet] here 19:39 <+bridge> [ddnet] yes, true 19:39 <+bridge> [ddnet] thanks for the reminder 19:39 <+bridge> [ddnet] So we check the version, if it's too old we send preformatted english string. If new enough to know this string, send unformatted message with parameters 19:40 <+bridge> [ddnet] and english 19:40 <+bridge> [ddnet] no, if new enough to know the `TRANSLATED_SERVER_MESSAGE` message 19:40 <+bridge> [ddnet] then we send it 19:40 <+bridge> [ddnet] Ah, you want to send the entire string 19:40 <+bridge> [ddnet] then the client can decide whetheri t knows *this particular* message 19:40 <+bridge> [ddnet] in case its not translated 19:40 <+bridge> [ddnet] we need a fallback 19:41 <+bridge> [ddnet] meh, atleast it's not more traffic 19:41 <+bridge> [ddnet] well, my solution *is* more traffic?! 19:41 <+bridge> [ddnet] yes its more 19:41 <+bridge> [ddnet] but i dont think it matters 19:41 <+bridge> [ddnet] the UUID + the formatting parameters 19:42 <+bridge> [ddnet] why a UUID? 19:42 <+bridge> [ddnet] and not a simple id 19:42 <+bridge> [ddnet] It's sliightly more traffic 19:42 <+bridge> [ddnet] @Ryozuki because people are going to add their own messages and we don't want to conflict 19:42 <+bridge> [ddnet] ah 19:42 <+bridge> [ddnet] e.g. noby adds a message for fng 19:42 <+bridge> [ddnet] Why bother with an id at all actually? 19:42 <+bridge> [ddnet] you are thinking outside ddnet too 19:43 <+bridge> [ddnet] good i forgot 19:43 <+bridge> [ddnet] @Learath2 because the untranslated string might change without the translations needing change 19:43 <+bridge> [ddnet] We can send the untranslated string unformatted 19:43 <+bridge> [ddnet] (was my thought) 19:44 <+bridge> [ddnet] i prefer a uuid 19:44 <+bridge> [ddnet] this get stuff translation is rly funny 19:44 <+bridge> [ddnet] cuz there are repeated translations 19:44 <+bridge> [ddnet] atleast i found that when translating 19:44 <+bridge> [ddnet] <Дядя Женя> How can I know what causes permanent freeze on my build? 19:45 <+bridge> [ddnet] I sort of dislike having redundant information, but I guess I can't come up with a better solution 19:45 <+bridge> [ddnet] if u cant then its not that redudant i guess 19:46 <+bridge> [ddnet] well it is redundant in the sense that we control client and server 19:46 <+bridge> [ddnet] @Дядя Женя run it in a debugger, when it freezes, send SIGTERM, the debugger will tell you where it stopped. Repeat a couple times to see whereabouts the client is looping 19:46 <+bridge> [ddnet] but not redundant if we don't assume that 19:46 <+bridge> [ddnet] It's redundant because we actually know on the server whether a client knows a string or not via the version number 19:47 <+bridge> [ddnet] @heinrich5991 why did u decide not to add "Map: " on the steam status? 19:47 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/765631709600415804/unknown.png 19:47 <+bridge> [ddnet] but I thinkn that's kind a ugly 19:47 <+bridge> [ddnet] i find it really funny tho 19:47 <+bridge> [ddnet] @Ryozuki redundant, people will learn I display the map 19:47 <+bridge> [ddnet] wasted screen space otherwise 19:47 <+bridge> [ddnet] (my thinking) 19:47 <+bridge> [ddnet] btw there may be ppl who dont play the game 19:47 <+bridge> [ddnet] and can see ur status 19:47 <+bridge> [ddnet] nice 😉 19:47 <+bridge> [ddnet] I'm In Da House 19:47 <+bridge> [ddnet] xd 19:48 <+bridge> [ddnet] btw remember to add info to the issue in github 19:48 <+bridge> [ddnet] xd 19:48 <+bridge> [ddnet] we will rly forget 19:49 <+bridge> [ddnet] @heinrich5991 hm, well I'm sure we could come up with some scripts to make it pretty, generate a `ClientKnowsString(const CUuid &Uuid, const int Version)` 19:49 <+bridge> [ddnet] but your solution is trivial really 19:51 <+bridge> [ddnet] what about allowing auto too when u have a cast 19:52 <+bridge> [ddnet] auto x = (sometype)a; 19:52 <+bridge> [ddnet] <Дядя Женя> Can I take someones time to answer my question about rendering optimization 19:52 <+bridge> [ddnet] well i should probs write it in the issue 19:53 <+bridge> [ddnet] <Дядя Женя> So, there are "text containers" where text is being drawn and then, if nothing new is happening, game just draws entire container at once 19:53 <+bridge> [ddnet] <Дядя Женя> Skipping drawing characters for text 19:53 <+bridge> [ddnet] <Дядя Женя> Skipping drawing characters for text individually 19:54 <+bridge> [ddnet] <Дядя Женя> I want to draw not only text, but also background for it, RenderTee, maybe some quads and text as well 19:54 <+bridge> [ddnet] <Дядя Женя> In a container ofc, so it doesn't need to be redrawn every time 19:54 <+bridge> [ddnet] <Дядя Женя> Do you have that kind of buffering already implemented 19:54 <+bridge> [ddnet] `CQuadContainer` is the generic version, the text container is also implemented on top of it 19:55 <+bridge> [ddnet] <Дядя Женя> Or should I make my own containers for that 19:55 <+bridge> [ddnet] <Дядя Женя> I'll explain. I want to draw xhat messages with some extra graphics, margin, background and so on 19:55 <+bridge> [ddnet] <Дядя Женя> I'll explain. I want to draw chat messages with some extra graphics, margin, background and so on 19:56 <+bridge> [ddnet] <Дядя Женя> So the best way to do it is just render the message when it was received from server and store it somewhere 19:57 <+bridge> [ddnet] <Дядя Женя> I'm just not sure how to do it and if you have any logic for that already 19:57 <+bridge> [ddnet] @Jupstar ✪ would know best, but the best way would probably be to render it on the first `OnRender` rendering when you receive it is a meh idea 19:57 <+bridge> [ddnet] <Дядя Женя> Doesn't matter. The idea is to render only once and then buffer 19:58 <+bridge> [ddnet] Currently chat messages are rendered onto text containers if they haven't been rendered yet. You can probably replace the text container with a quad container 19:58 <+bridge> [ddnet] <Дядя Женя> I need some help with "buffer" part 19:58 <+bridge> [ddnet] it builds VRAM on the GPU 19:58 <+bridge> [ddnet] <Дядя Женя> What is quad container 19:58 <+bridge> [ddnet] just like u build HEAP on RAM 19:58 <+bridge> [ddnet] dont think of GPUs to different from CPUs 19:58 <+bridge> [ddnet] isnt text already optimized? 19:59 <+bridge> [ddnet] GPUs are CPUs with more cores xD 19:59 <+bridge> [ddnet] <Дядя Женя> I'm remaking and redesigning it @Ryozuki 19:59 <+bridge> [ddnet] he wants to add a ui rect behind it 19:59 <+bridge> [ddnet] `CreateRoundRectQuadContainer` 19:59 <+bridge> [ddnet] and probably a tee image to the left of it from what I gather 19:59 <+bridge> [ddnet] i already added a function for that 20:00 <+bridge> [ddnet] ah u want to display a tee 20:00 <+bridge> [ddnet] <Дядя Женя> I've already done all that 20:00 <+bridge> [ddnet] will u add the tee on the chat? 20:00 <+bridge> [ddnet] its already bloated 20:00 <+bridge> [ddnet] <Дядя Женя> Just need to know the best way to buffer it once and not redraw every frame 20:00 <+bridge> [ddnet] heart + id + repeated counter 20:00 <+bridge> [ddnet] and now a tee 20:00 <+bridge> [ddnet] :monkalaugh: 20:01 <+bridge> [ddnet] you want to have framebuffers? 20:01 <+bridge> [ddnet] sounds like u want to render to a texture 20:01 <+bridge> [ddnet] we dont have this and if we would have it, only for gl 3.3+ 20:02 <+bridge> [ddnet] if u add that, use it on video recording too 20:02 <+bridge> [ddnet] yes 20:02 <+bridge> [ddnet] u said smth like that time ago 20:02 <+bridge> [ddnet] <Дядя Женя> https://media.discordapp.net/attachments/342454474117218334/765546153898803250/unknown.png 20:02 <+bridge> [ddnet] i know, but no motivation for that feature xD 20:02 <+bridge> [ddnet] OBS is too good xD 20:02 <+bridge> [ddnet] @Jupstar ✪ couldn't you render a tee into a quad container? Not that it'd help much 20:02 <+bridge> [ddnet] <Дядя Женя> https://media.discordapp.net/attachments/342454474117218334/765546930645893170/unknown.png 20:02 <+bridge> [ddnet] yeah 20:02 <+bridge> [ddnet] obs best 20:02 <+bridge> [ddnet] <Дядя Женя> that's an example of what I have right now 20:02 <+bridge> [ddnet] @Learath2 well u can draw a tee with quad containers, i already do it, but not all tee parts at once 20:02 <+bridge> [ddnet] did u test with chinese 20:02 <+bridge> [ddnet] and stuff 20:03 <+bridge> [ddnet] it be still good enough tho 20:03 <+bridge> [ddnet] <Дядя Женя> Imagine second screen as one message container. I want to draw it, store and then redraw whole container for optimization purposes 20:03 <+bridge> [ddnet] aslong as the VRAM is built, its pretty fast 20:03 <+bridge> [ddnet] the tee there looks so out of place 20:03 <+bridge> [ddnet] xD 20:03 <+bridge> [ddnet] <Дядя Женя> yes, because margin in source code sucks 20:03 <+bridge> [ddnet] @Jupstar ✪ why can't you do the entire tee? 20:04 <+bridge> [ddnet] <Дядя Женя> that was already hard enough to margin text like that 20:04 <+bridge> [ddnet] @Learath2 bcs multi texture support is cancer, when the drivers are buggy xd 20:04 <+bridge> [ddnet] @Дядя Женя don't bother, all of those functions you use buffer wherever they can anyway 20:04 <+bridge> [ddnet] Ah, I keep forgetting the shitty drivers 20:05 <+bridge> [ddnet] <Дядя Женя> https://cdn.discordapp.com/attachments/293493549758939136/765636278363881472/unknown.png 20:05 <+bridge> [ddnet] <Дядя Женя> this happens every `OnRender` 20:05 <+bridge> [ddnet] <Дядя Женя> I can leave it like that if you'll say that's ok 20:05 <+bridge> [ddnet] Completely fine, we render rectangles everywhere 20:06 <+bridge> [ddnet] <Дядя Женя> what if I'll move `DrawRoundRect` in a loop? 20:06 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/765636531724877854/unknown.png 20:06 <+bridge> [ddnet] now github is dead xD 20:06 <+bridge> [ddnet] $build_status 20:06 <+bridge> [ddnet] 🟢 20:06 <+bridge> [ddnet] omg 20:06 <+bridge> [ddnet] whtie theme 20:06 <+bridge> [ddnet] :frozen: 20:07 <+bridge> [ddnet] https://github.com/StylishThemes/GitHub-Dark 20:07 <+bridge> [ddnet] yeah is there black theme? 20:07 <+bridge> [ddnet] use the stylus plugin 20:07 <+bridge> [ddnet] with this 20:07 <+bridge> [ddnet] is that a browser plugin?= 20:07 <+bridge> [ddnet] ye 20:07 <+bridge> [ddnet] @Дядя Женя fine, doesn't really matter how much you render 20:07 <+bridge> [ddnet] <.< i hate browser plugins for single websites 20:07 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/765636900488085514/unknown.png 20:07 <+bridge> [ddnet] its not for 20:07 <+bridge> [ddnet] single websites 20:07 <+bridge> [ddnet] look nice 😄 20:07 <+bridge> [ddnet] its a plugin for styles 20:07 <+bridge> [ddnet] and u install a style for github 20:07 <+bridge> [ddnet] xd 20:08 <+bridge> [ddnet] it even styles code 20:08 <+bridge> [ddnet] well im using monokai 20:08 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/765637034227531786/unknown.png 20:14 <+bridge> [ddnet] After recompiling 10 times, there is no .Trash folder @heinrich5991 20:14 <+bridge> [ddnet] @Learath2 thanks for trying. should I try anyway? ^^ 20:36 <+bridge> [ddnet] ah maybe mac can't see the trash folder 20:36 <+bridge> [ddnet] mind sending the dmg? 20:37 <+bridge> [ddnet] <Дядя Женя> my client crashes when I'm trying to send really long message (just spamming letters, preferably without spaces) 20:37 <+bridge> [ddnet] <Дядя Женя> I mean it freezes permanently 20:37 <+bridge> [ddnet] <Дядя Женя> But that **does not happen** on release 20:37 <+bridge> [ddnet] <Дядя Женя> debug only 20:38 <+bridge> [ddnet] mhh sounds bad, does that also happen with current ddnet source? 20:41 <+bridge> [ddnet] <Дядя Женя> idk, Im here 20:41 <+bridge> [ddnet] <Дядя Женя> https://cdn.discordapp.com/attachments/293493549758939136/765645449671082084/unknown.png 20:42 <+bridge> [ddnet] ok, if you want, create an issue with the text u typed 20:43 <+bridge> [ddnet] <Дядя Женя> Ok, now 20:43 <+bridge> [ddnet] <Дядя Женя> 1. How do I build game executable 20:43 <+bridge> [ddnet] <Дядя Женя> 2. How do I create a pull request for you to review and test 20:44 <+bridge> [ddnet] <Дядя Женя> 2. How do I create a pull request for you to review and test (I mean it's clearly not ready to be added in public version) 20:44 <+bridge> [ddnet] puhh, just google git tutorial 😄 20:46 <+bridge> [ddnet] <Дядя Женя> Do you have some privacy setting in your repository so I can't break it if I try to push or smth? 20:46 <+bridge> [ddnet] u cannot push to ddnet github directly 20:46 <+bridge> [ddnet] <Дядя Женя> I can't break it ofc, but would not be cool if I make something u dont want to 20:46 <+bridge> [ddnet] <Дядя Женя> ok nice 20:46 <+bridge> [ddnet] you can fork it and push to your forked repository 20:46 <+bridge> [ddnet] <Дядя Женя> then I'll click on push button 20:47 <+bridge> [ddnet] <Дядя Женя> xD 20:50 <+bridge> [ddnet] <Дядя Женя> @Jupstar ✪ what about building? 20:50 <+bridge> [ddnet] what os are u on? 20:50 <+bridge> [ddnet] <Дядя Женя> win 20:50 <+bridge> [ddnet] visual studio? 20:50 <+bridge> [ddnet] <Дядя Женя> yes 2019 20:50 <+bridge> [ddnet] just change to release mode 20:50 <+bridge> [ddnet] and build it 20:50 <+bridge> [ddnet] then the executable is accessable in the directory somewhere 20:51 <+bridge> [ddnet] <Дядя Женя> I did 20:51 <+bridge> [ddnet] /build/Release or smth 20:51 <+bridge> [ddnet] <Дядя Женя> Yes, the question is mainly about that "somewhere" word 20:51 <+bridge> [ddnet] <Дядя Женя> Yes, the question is mainly about that "somewhere" thing 20:51 <+bridge> [ddnet] where is your ddnet.sln? 20:51 <+bridge> [ddnet] there should be the Release directory 20:52 <+bridge> [ddnet] <Дядя Женя> there is only DDNet.exe 20:52 <+bridge> [ddnet] whats what u want isnt it? 20:52 <+bridge> [ddnet] <Дядя Женя> I mean the whole game folder. Do I need just replace DDNet.exe in the game directory so it applies all the changes? 20:52 <+bridge> [ddnet] yes, that should do the job 20:53 <+bridge> [ddnet] <Дядя Женя> ok then, cool 20:53 <+bridge> [ddnet] <Дядя Женя> will try 20:53 <+bridge> [ddnet] <Дядя Женя> Yeah, 4real 20:59 <+bridge> [ddnet] <Дядя Женя> Any advanced git user here?) 21:01 <+bridge> [ddnet] thats a bad question 21:01 <+bridge> [ddnet] https://dontasktoask.com/ 21:01 <+bridge> [ddnet] read this website thanks 21:01 <+bridge> [ddnet] <Дядя Женя> I've cloned ddnet git repository, build it with CMAKE (I have no idea what it did, really) as written on repository page, made somw changes and committed it 21:01 <+bridge> [ddnet] <Дядя Женя> I've cloned ddnet git repository, build it with CMAKE (I have no idea what it did, really) as written on repository page, made some changes and committed it 21:02 <+bridge> [ddnet] <Дядя Женя> And now I want to make a pull request on that, which I can't, because I didn't fork the repository before 21:02 <+bridge> [ddnet] <Дядя Женя> So what can I do now 21:02 <+bridge> [ddnet] <Дядя Женя> > thats a bad question 21:02 <+bridge> [ddnet] <Дядя Женя> @Ryozuki yes, I know, I was typing in the good one at the time 21:02 <+bridge> [ddnet] <Дядя Женя> > thats a bad question 21:02 <+bridge> [ddnet] <Дядя Женя> @Ryozuki yes, I know, I was typing in the good one at the time, sorry 21:04 <+bridge> [ddnet] <Дядя Женя> > thats a bad question 21:04 <+bridge> [ddnet] <Дядя Женя> @Ryozuki yes, I know, I was typing in the good one at the time, sorry. I'm just chatting that way, that I split one topic on several messages, so the first question mentions on who can help and then goes the problem explaination 21:29 <+bridge> [ddnet] @Дядя Женя ok, let's walk through this 21:29 <+bridge> [ddnet] you cloned the repo and made some changes 21:32 <+bridge> [ddnet] <Дядя Женя> Yes. Then locally commit it 21:32 <+bridge> [ddnet] hm, now I don't know msvc's git interface 21:32 <+bridge> [ddnet] let me google a bit 21:32 <+bridge> [ddnet] <Дядя Женя> After that I realized that I need to fork ddnet repo and clone it instead 21:32 <+bridge> [ddnet] no, should still be fine 21:32 <+bridge> [ddnet] but do fork the repo on github please 21:32 <+bridge> [ddnet] <Дядя Женя> I did now 21:32 <+bridge> [ddnet] nice 21:33 <+bridge> [ddnet] let's google changing the upstream, sec 21:33 <+bridge> [ddnet] <Дядя Женя> I use "Fork" program on windows, if it helps you somehow 21:33 <+bridge> [ddnet] in msvc? 21:34 <+bridge> [ddnet] <Дядя Женя> https://git-fork.com/ 21:35 <+bridge> [ddnet] @Дядя Женя what does the "repository" menu say? 21:35 <+bridge> [ddnet] can you do something like "add remote" there? 21:35 <+bridge> [ddnet] <Дядя Женя> https://cdn.discordapp.com/attachments/293493549758939136/765659112309784606/unknown.png 21:36 <+bridge> [ddnet] hm, show me the push dialog please 21:36 <+bridge> [ddnet] <Дядя Женя> https://cdn.discordapp.com/attachments/293493549758939136/765659247991062588/unknown.png 21:39 <+bridge> [ddnet] hmhm 21:39 <+bridge> [ddnet] @Дядя Женя sorry, distracted. what does the To menu show? 21:39 <+bridge> [ddnet] <Дядя Женя> its faster to clone my fork repo and replace all changed files I guess 21:39 <+bridge> [ddnet] 😦 okay if you want to do that ^^ 21:39 <+bridge> [ddnet] (btw, there are also free git clients for windows, I think github has one, for example) 21:42 <+bridge> [ddnet] (or use the command line client and you can refer to the hundreds of online tutorials and documentation) 21:42 <+bridge> [ddnet] <Дядя Женя> Or may be it's not 21:42 <+bridge> [ddnet] <Дядя Женя> I can use command line, if you have any solution 21:46 <+bridge> [ddnet] On the git commandline, it would be just `git remote add ` 21:50 <+bridge> [ddnet] so 21:50 <+bridge> [ddnet] git remote add mine https://github.com/yournamehere/ddnet 21:57 <+bridge> [ddnet] @Learath2 why do you think so? 22:01 <+bridge> [ddnet] Oh, it is there and my ddnet-libs is up to date 22:01 <+bridge> [ddnet] I wonder why it won't download for me 22:06 <+bridge> [ddnet] <Дядя Женя> I'm getting stuck somewhere here 22:06 <+bridge> [ddnet] <Дядя Женя> https://cdn.discordapp.com/attachments/293493549758939136/765666824582856774/unknown.png 22:07 <+bridge> [ddnet] <Дядя Женя> Happens randomly, but with high chance when pressing tab (so chat should change width/height) 22:16 <+bridge> [ddnet] For visual changes you should try to include a screenshot 22:17 <+bridge> [ddnet] <Дядя Женя> yeah, sry, forgot about that 22:17 <+bridge> [ddnet] <Дядя Женя> can I edit? 22:17 <+bridge> [ddnet] yep 22:22 <+bridge> [ddnet] <Дядя Женя> done 22:25 <+bridge> [ddnet] <Дядя Женя> As I mentioned before there is a critical bug that freezes your client completely. *seems like infinite loop?* 22:25 <+bridge> [ddnet] <Дядя Женя> See screenshot above 22:26 <+bridge> [ddnet] since ur changes or on ddnet master? xd 22:26 <+bridge> [ddnet] <Дядя Женя> I have no idea what causes it and need some help 22:26 <+bridge> [ddnet] but you've only had the infinite loop happen with your changes? 22:26 <+bridge> [ddnet] so far 22:28 <+bridge> [ddnet] <Дядя Женя> Some simple visual bugs occure with my chat's background sometimes (when message got cut instantly without being blended) and there are two problems with text margin if message is 4 lines long or if pressing tab, but it's not a big deal 22:29 <+bridge> [ddnet] <Дядя Женя> Some simple visual bugs occure with my chat's background sometimes (when message got cut instantly without being blended) and there are two problems with text margin if message is 4 lines long or when holding tab, but it's not a big deal 22:29 <+bridge> [ddnet] <Дядя Женя> Some simple visual bugs occure with my chat's background sometimes (when message got cut instantly without being blended) and there are two problems with text margin if message is 4 lines long or when holding tab, but it's not a big deal, I'll fix it 22:30 <+bridge> [ddnet] <Дядя Женя> @Jupstar ✪ I guess I should choose "staging" branch next time? 22:30 <+bridge> [ddnet] <Дядя Женя> Told ya I suck hard in git 22:31 <+bridge> [ddnet] well for the first pr, its acceptable 😄 22:32 <+bridge> [ddnet] i cant rerun the jobs in 22:32 <+bridge> [ddnet] #3092 22:32 <+bridge> [ddnet] 22:32 <+bridge> [ddnet] i dunno why its so broken, the other pr is much newer and had no problems 22:32 <+bridge> [ddnet] https://github.com/ddnet/ddnet/pull/3092 22:49 <+bridge> [ddnet] @Jupstar ✪ I reran the jobs 22:49 <+bridge> [ddnet] ok lets hope they dont cancel again 😄 22:50 <+bridge> [ddnet] tried already 5 times or smth 22:50 <+bridge> [ddnet] just click on merge manually 22:50 <+bridge> [ddnet] github is just having some network problems I guess 22:50 <+bridge> [ddnet] it's just for the green checkmark 22:50 <+bridge> [ddnet] bors wouldn't stop the merge for codeql yet I think 22:51 <+bridge> [ddnet] @Pipou looks like they already planned an egyptian tileset in vanilla btw 22:51 <+bridge> [ddnet] Ah well.. xd 22:51 <+bridge> [ddnet] https://github.com/teeworlds/teeworlds/issues/2778 22:54 <+bridge> [ddnet] @Jupstar ✪ @Ravie @mind I have a question about image rendering and the ddnet's new version 22:54 <+bridge> [ddnet] go ahead 22:55 <+bridge> [ddnet] If my client is 15.1 and I play old maps with dilated and borderfixed images, will it look funky to me ? 22:55 <+bridge> [ddnet] @Jupstar ✪ @Ravie @mind I have a question about image rendering and ddnet's new version 22:55 <+bridge> [ddnet] borderfix might make the map very bit less good looking, dilate is still required anyway 22:55 <+bridge> [ddnet] @deen so dilate is still needed 😛 22:55 <+bridge> [ddnet] sadly teeworlds built upon the borderfix for too long time 😄 22:56 <+bridge> [ddnet] well it auto dilates in the editor now @Pipou 22:56 <+bridge> [ddnet] oh 22:56 <+bridge> [ddnet] so I don't need to drag images in the .exe now? 22:57 <+bridge> [ddnet] @Jupstar ✪ when did that happen? ^^ 22:57 <+bridge> [ddnet] how can one check that images are dilated @Jupstar ✪ 22:57 <+bridge> [ddnet] to counter borderfix, wasn't there borderadd? 22:57 <+bridge> [ddnet] @heinrich5991 you clearly see it ingame 22:58 <+bridge> [ddnet] @Pipou what do I need to look out for? 22:58 <+bridge> [ddnet] borders? 22:58 <+bridge> [ddnet] without dilate there is an odd outline around the mapres 22:58 <+bridge> [ddnet] @heinrich5991 open in gimp and disable alpha layer 22:58 <+bridge> [ddnet] k 22:58 <+bridge> [ddnet] teeworlds doesn't require dilate anymore? 22:58 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/765679991161094144/unknown.png 22:58 <+bridge> [ddnet] yes 22:59 <+bridge> [ddnet] thye use pre calculated alphas 22:59 <+bridge> [ddnet] so I need to re-render all of my images 😭 22:59 <+bridge> [ddnet] @Pipou wdym? due to tileset_borderfix no longer being needed? 23:00 <+bridge> [ddnet] well all of them are already dilated and borderfixed 23:00 <+bridge> [ddnet] so I need to render them without anything 23:00 <+bridge> [ddnet] fun 😄 23:01 <+bridge> [ddnet] yeah especially the border fix 23:01 <+bridge> [ddnet] the dilate doesnt matter really 23:01 <+bridge> [ddnet] is dilate idempotent? 23:01 <+bridge> [ddnet] i.e. does it not do anything on the second application? 23:01 <+bridge> [ddnet] i dont understand xd 23:02 <+bridge> [ddnet] if I apply it to an image A and get another image B 23:02 <+bridge> [ddnet] and then apply it to the image B, do I get the same image B? 23:02 <+bridge> [ddnet] if AB were the same before yes 23:02 <+bridge> [ddnet] e.g. if pipou puts it into dilate.xe and then it imports it in the editor 23:02 <+bridge> [ddnet] which also dilates 23:02 <+bridge> [ddnet] yes 23:02 <+bridge> [ddnet] if he uses our dilate tool 23:02 <+bridge> [ddnet] does the second dilating change the image? 23:02 <+bridge> [ddnet] it will be the same 23:03 <+bridge> [ddnet] kk 23:03 <+bridge> [ddnet] and we have a config to disable it 23:03 <+bridge> [ddnet] nice 23:03 <+bridge> [ddnet] but why do we need the config then? 23:03 <+bridge> [ddnet] if it's the same anyway 23:05 <+bridge> [ddnet] if someone doesnt want to dilate for some reason 23:05 <+bridge> [ddnet] ah, at all you mean 23:08 <+bridge> [ddnet] dilated images will work fine in 0.7 too, its really just transparent pixels that are getting colored 23:08 <+bridge> [ddnet] I see 23:08 <+bridge> [ddnet] yea, thanks for the explanation the other day 23:09 <+bridge> [ddnet] I never knew what dilate does 23:13 <+bridge> [ddnet] @Jupstar ✪ So if I dilate it myself it's fine ? 23:13 <+bridge> [ddnet] yeah, doesn't hurt 23:13 <+bridge> [ddnet] oh good great 😄 23:15 <+bridge> [ddnet] @Jupstar ✪ maybe we should remove the dilate tool if it's not needed anymore? 23:15 <+bridge> [ddnet] so that people don't need to worry about applying it 23:16 <+bridge> [ddnet] It's needed for other graphics, like skins 23:16 <+bridge> [ddnet] just not for mapres 23:16 <+bridge> [ddnet] okay 23:16 <+bridge> [ddnet] is there anything that doesn't need it? 23:17 <+bridge> [ddnet] so I can add a CI check for dilation? 23:17 <+bridge> [ddnet] graphics without transparency 23:17 <+bridge> [ddnet] @heinrich5991 I added one once, my PR must still be around somewhere 23:17 <+bridge> [ddnet] but they don't get affected, no? 23:17 <+bridge> [ddnet] https://github.com/ddnet/ddnet/pull/2798 23:17 <+bridge> [ddnet] I just dilated and differed the resulting pictures 23:18 <+bridge> [ddnet] (using identify from imagemagick) 23:18 <+bridge> [ddnet] to sum it up, we could go with pre calculated alphas, that would require runtime calculations, for 1024*1024 around 3million float operations per texture, thats not alot, but for 4k images its a bit already 23:18 <+bridge> [ddnet] 23:18 <+bridge> [ddnet] on the other side i'd not require dilate at all anymore 23:18 <+bridge> [ddnet] idc what we do 23:18 <+bridge> [ddnet] 23:18 <+bridge> [ddnet] GTA 5 for example does something similar to dilate 23:18 <+bridge> [ddnet] other games prefer precalculated alphas 23:19 <+bridge> [ddnet] > 3million float operations per texture, thats not alot 23:19 <+bridge> [ddnet] computers :poggers: 23:19 <+bridge> [ddnet] `basename "$file" .png` 23:19 <+bridge> [ddnet] uh nice trick, didn't know it 23:20 <+bridge> [ddnet] with zsh it's just `${i:r}`, but apparently no one likes zsh except me 23:20 <+bridge> [ddnet] whats the trick 23:20 <+bridge> [ddnet] I didn't know you could pass a second parameter to `basename` 23:21 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/765685610400055306/unknown.png 23:21 <+bridge> [ddnet] you should read the manual :monkalaugh: 23:21 <+bridge> [ddnet] can't read the manual of each command to discover new options, way too many commands 23:22 <+bridge> [ddnet] I can read a manual if I know which tool I need 23:22 <+bridge> [ddnet] I'd probably have googled how to strip the .png in bash 23:22 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/765685874679480380/unknown.png 23:22 <+bridge> [ddnet] well 23:22 <+bridge> [ddnet] but yeah