00:00 <+bridge> [ddnet] <Дядя Женя> What should I do with my pull request when I know there is a bug in it and I've already fixed it in my repo? 00:01 <+bridge> [ddnet] you can push your new commits 00:01 <+bridge> [ddnet] <Дядя Женя> What's gonna happen? Will it be another request or it will be updated somehow magically? 00:03 <+bridge> [ddnet] <Дядя Женя> Oh, I see now 00:18 <+bridge> [ddnet] @Jupstar ✪ about the PR. in what thread is stuff like `CCommandProcessorFragment_OpenGL2::Cmd_RecreateBufferObject` executed? main or graphics 00:18 <+bridge> [ddnet] graphics probably? 00:19 <+bridge> [ddnet] https://github.com/ddnet/ddnet/pull/3092/files?w=1#diff-442d7485882d4f383630c81a7061d34995210d7f694acf5eae9366d85a9f66e9 00:19 <+bridge> [ddnet] Graphics 00:20 <+bridge> [ddnet] okay, so the change is to hand ownership of some buffers over to the graphics thread? 00:21 <+bridge> [ddnet] Yeah. In this case only one tho I just implemented it for all for consistency 00:21 <+bridge> [ddnet] okay, so as I see it, this can only make thread-safety better 00:21 <+bridge> [ddnet] do I want to ask what ensures that the other pointers are still alive once the graphic thread receives them? 00:21 <+bridge> [ddnet] ah 00:22 <+bridge> [ddnet] the sending function takes care of that? 00:22 <+bridge> [ddnet] Yes. If that would fail tw wouldn't render correctly 00:23 <+bridge> [ddnet] ye, ok, I see 00:23 <+bridge> [ddnet] So it can't fail™️ 00:23 <+bridge> [ddnet] Xd 03:17 <+bridge> [ddnet] @Jupstar ✪ How to enable or disable golden spikes in fng2? 03:17 <+bridge> [ddnet] Also: What is vanilla Antispoof? 03:20 <+bridge> [ddnet] Anybody can answer? 03:36 <+bridge> [ddnet] its exactly what it sounds like 03:36 <+bridge> [ddnet] Hola 03:36 <+bridge> [ddnet] alguien habla español 03:36 <+bridge> [ddnet] when vanilla teeworlds connection packets are sent from spoofed ips 03:36 <+bridge> [ddnet] that feature helps to mitigate it 03:36 <+bridge> [ddnet] ? 03:37 <+bridge> [ddnet] vanilla antispoof should be turned on 03:37 <+bridge> [ddnet] this is english channel go to #off-topic 03:39 <+bridge> [ddnet] and @Obiwan u cant "disable" golden spikes but u can set sv_player_score_gold and sv_team_score_gold to other values (to match the team spike points for example) 03:43 <+bridge> [ddnet] Ok, answer then how i can turn on random_map command 03:43 <+bridge> [ddnet] Server answered so: Random map not supported in file based servers 03:43 <+bridge> [ddnet] But where is supported?! 03:43 <+bridge> [ddnet] But where is supported? 03:44 <+bridge> [ddnet] are u sure fng2 has that command 03:45 <+bridge> [ddnet] haha, i talking about ddrace server huh ^^ 03:45 <+bridge> [ddnet] when a command says "not supported in file based servers" it means u need the sql support to be enabled when compiling 03:46 <+bridge> [ddnet] not sure why that would be necessary for random_map tho 03:47 <+bridge> [ddnet] oh ye, thanks, that i wanted to know 08:24 <+bridge> [ddnet] Already told ya. If you don't want golden spikes don't put them on the map 08:27 <+bridge> [ddnet] ^ just use openfng5_Beat map instead of AliveFNG map 10:08 <+ChillerDragon> so nice when the linter finds typos in variable names https://zillyhuhn.com/cs/.1602662856.png 10:08 <+ChillerDragon> #shellcheckmasterrace 14:48 <+bridge> [ddnet] <Дядя Женя> @deen I suppose `def-` is your github accout? I made a simple video demonstrating overall new chat idea, in case you're gonna make a vote 14:48 <+bridge> [ddnet] <Дядя Женя> https://cdn.discordapp.com/attachments/293493549758939136/765918922272407612/2020-10-14_15-42-58.mp4 15:23 <+bridge> [ddnet] @heinrich5991 are you available? 15:23 <+bridge> [ddnet] available 15:24 <+bridge> [ddnet] can you give me some hints on how to debug the snapshots 15:24 <+bridge> [ddnet] is a type with 32k value a extended snapshot 15:24 <+bridge> [ddnet] yes 15:24 <+bridge> [ddnet] can't be an ormal one 15:24 <+bridge> [ddnet] in NewItem: 15:24 <+bridge> [ddnet] bool Extended = false; 15:24 <+bridge> [ddnet] if(Type >= OFFSET_UUID) 15:24 <+bridge> [ddnet] { 15:24 <+bridge> [ddnet] Extended = true; 15:24 <+bridge> [ddnet] Type = GetTypeFromIndex(GetExtendedItemTypeIndex(Type)); 15:24 <+bridge> [ddnet] } 15:24 <+bridge> [ddnet] 15:24 <+bridge> [ddnet] this stays false 15:25 <+bridge> [ddnet] then there's something wrong with the code, either server or client-side 15:25 <+bridge> [ddnet] 😦 15:25 <+bridge> [ddnet] OFFSET_UUID is 64k 15:25 <+bridge> [ddnet] 65k* 15:26 <+bridge> [ddnet] wait, is this server or client code? 15:26 <+bridge> [ddnet] client 15:27 <+bridge> [ddnet] ``CSnapshotBuilder::NewItem(`` 15:27 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/765928709492310039/unknown.png 15:28 <+bridge> [ddnet] ah yea, extended not being true there is fine 15:28 <+bridge> [ddnet] alright 😄 15:30 <+bridge> [ddnet] well maybe i should check if the linux behaviour changed and not the windows one xD 15:32 <+bridge> [ddnet] just for explanation @Jupstar ✪ 15:32 <+bridge> [ddnet] UUIDS have IDs > 64k 15:32 <+bridge> [ddnet] in teeworlds code 15:32 <+bridge> [ddnet] those IDs are never sent over the network 15:33 <+bridge> [ddnet] in snapshots, they are mapped to IDs <64k 15:33 <+bridge> [ddnet] yeah, i just know as much as i said in the issue, it tries to search uuids every tick for all 64 plüayers 15:33 <+bridge> [ddnet] the line you showed does this translation 16:10 <+bridge> [ddnet] ok seems like the linux behaviour changed.. thats good xd 16:10 <+bridge> [ddnet] the bad thing is, it calls the uuid search all the time for the nameplates 16:11 <+bridge> [ddnet] caching hte lookup might be a good idea 16:12 <+bridge> [ddnet] yeah, it litterally halves my fps xd 16:37 <+bridge> [ddnet] Why is a uuid search done for the nameplates? 16:38 <+bridge> [ddnet] I thought as soon as we receive an extended object, we "translate" it's ID 16:44 <+bridge> [ddnet] no, we translate it on the fly 16:44 <+bridge> [ddnet] not sure why I didn't implement immediate translation, perhaps there was no good place to store the reuslt, perhaps I was just lazy 17:59 <+bridge> [ddnet] @Jupstar ✪ is the uuid lookup in nameplates from the SnapFindItem? 18:00 <+bridge> [ddnet] yes 18:01 <+bridge> [ddnet] That should be using `m_pClient->m_Snap.m_paPlayerInfos` instead 18:01 <+bridge> [ddnet] ok 😄 18:01 <+bridge> [ddnet] i'd prefer if someone of u patches it tho, dont know how safe these variables are 18:01 <+bridge> [ddnet] when they get destructed or anything 18:15 <+bridge> [ddnet] <Дядя Женя> Who do I safely get a tee render info and render it with wanted size? 18:20 <+bridge> [ddnet] the getting isnt the problem, the refresh button just has to refind the skins for chatlines then too 18:23 <+bridge> [ddnet] <Дядя Женя> Why RefindSkins()? 18:23 <+bridge> [ddnet] <Дядя Женя> And when 18:24 <+bridge> [ddnet] its called when the refresh button is clicked for skins 18:24 <+bridge> [ddnet] just add a call in the gameclient.cpp 18:24 <+bridge> [ddnet] <Дядя Женя> Yes, I see from codez it's just loading skins from your game folder 18:25 <+bridge> [ddnet] <Дядя Женя> So I ask why do I even need that 18:25 <+bridge> [ddnet] <Дядя Женя> Yes, I see from code it's just loading skins from your game folder 18:25 <+ChillerDragon> yo cmake haxxors I struggle to generate server_data.cpp and .h in my ddnet 9.0.2 based server project :/ it generates protocol.cpp and protocol.h just fine. Paste this sketchy rootkit into your shell to see a diff between my cmakelistst and the one from ddnet ``curl https://paste.zillyhuhn.com/c | /bin/sh`` 18:25 <+bridge> [ddnet] bcs it deallocates memory 18:25 <+bridge> [ddnet] so pointers of renderinfo would be invalid 18:25 <+bridge> [ddnet] dont do it 18:25 <+bridge> [ddnet] its a rootkit 18:25 <+ChillerDragon> no doubt 18:26 <+ChillerDragon> need curl to download virus btw 18:26 <+ChillerDragon> and git and wget xd 18:27 <+bridge> [ddnet] ChillerDragon: paste the command directly instead 18:27 <+bridge> [ddnet] or give us the url where we can get the command from 18:27 <+ChillerDragon> https://paste.zillyhuhn.com/c 18:27 <+bridge> [ddnet] I removed your `curl … | bash` message 18:27 <+ChillerDragon> wdym 18:28 <+ChillerDragon> i tried to make it short and convienient to get a diff 18:28 <+ChillerDragon> oh wait you mean because i control the paste? 18:28 <+ChillerDragon> oh its actually sketchy isnt it? 18:28 <+ChillerDragon> ``` 18:28 <+bridge> [ddnet] yea, and I made it so that the convenient solution is not the one that gives ChillerDragon root on your machine 18:28 <+bridge> [ddnet] <Дядя Женя> @Jupstar ✪ I can't understand, can we talk more about it? 18:28 <+ChillerDragon> ``` cd /tmp && wget https://raw.githubusercontent.com/DDNetPP/DDNetPP/master/CMakeLists.txt && curl https://raw.githubusercontent.com/ddnet/ddnet/master/CMakeLists.txt | git diff --no-index CMakeLists.txt - ``` 18:29 <+bridge> [ddnet] better 18:29 <+ChillerDragon> didnt think of that sowwy 18:29 <+bridge> [ddnet] well skins refresh deallocates all current skins 18:29 <+bridge> [ddnet] afk food 18:29 <+bridge> [ddnet] so all references to it are invalid 18:29 <+bridge> [ddnet] <Дядя Женя> so pointers become invalid and, as I see, there is a garbage collector to deal with it 18:30 <+bridge> [ddnet] <Дядя Женя> ? 18:30 <+bridge> [ddnet] what garbage collector? XD 18:30 <+bridge> [ddnet] <Дядя Женя> k, there is no 18:30 <+bridge> [ddnet] the refind function just updates these renference 18:30 <+bridge> [ddnet] <Дядя Женя> But the references is used for drawing tees, isn't it? 18:30 <+bridge> [ddnet] <Дядя Женя> But the references are used for drawing tees, isn't it? 18:31 <+bridge> [ddnet] <Дядя Женя> I mean in-game players 18:31 <+bridge> [ddnet] yes, and thats why they need an update 18:31 <+bridge> [ddnet] they get updated 18:31 <+bridge> [ddnet] <Дядя Женя> So when should I call for it 18:31 <+bridge> [ddnet] <Дядя Женя> Not the every frame I suppose 18:31 <+bridge> [ddnet] just add a function UpdateLineTees() and refinds all renderinfo 18:32 <+bridge> [ddnet] and add that function call to the gameclient's RefindSkins() 18:32 <+bridge> [ddnet] <Дядя Женя> Ok, I see it now. BUT 18:32 <+bridge> [ddnet] <Дядя Женя> I still have a problem and I need a hint for that 'cause I suck in cpp 18:33 <+bridge> [ddnet] <Дядя Женя> For now I use references from `m_pClient` to render info 18:33 <+bridge> [ddnet] <Дядя Женя> which becomes invalid when player leaves the server 18:33 <+bridge> [ddnet] <Дядя Женя> which causes bugs if there is still his message in our memory that wants to be drawn 18:34 <+bridge> [ddnet] yes, that doesnt sound good 18:34 <+bridge> [ddnet] the best is you copy the information you need and dont rely on it 18:35 <+bridge> [ddnet] <Дядя Женя> Yes, I thought about it, but I don't know how to make a copy of renderinfo in c++ xD 18:35 <+bridge> [ddnet] <Дядя Женя> help me pls) 18:36 <+bridge> [ddnet] <Дядя Женя> also I'm not sure if it means that I should handle memory dealloc myself when there is no more line for such renderinfo 18:39 <+bridge> [ddnet] just list what information u want exactly 18:41 <+bridge> [ddnet] <Дядя Женя> I need `CTeeRenderInfo` because `RenderTools()->RenderTee()` asks for that 18:47 <+bridge> [ddnet] btw @Дядя Женя 18:47 <+bridge> [ddnet] 18:47 <+bridge> [ddnet] ` 18:47 <+bridge> [ddnet] CTextCursor AppendCursor = Cursor; 18:47 <+bridge> [ddnet] AppendCursor.m_StartX = AppendCursor.m_X; 18:47 <+bridge> [ddnet] 18:47 <+bridge> [ddnet] if(m_aLines[r].m_TextContainerIndex == -1) 18:47 <+bridge> [ddnet] m_aLines[r].m_TextContainerIndex = TextRender()->CreateTextContainer(&Cursor, m_aLines[r].m_aText); 18:47 <+bridge> [ddnet] else 18:47 <+bridge> [ddnet] TextRender()->AppendTextContainer(&AppendCursor, m_aLines[r].m_TextContainerIndex, m_aLines[r].m_aText);` 18:47 <+bridge> [ddnet] 18:47 <+bridge> [ddnet] except the ": " 18:47 <+bridge> [ddnet] which is still added, it will align the text msg 18:47 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/765979173105041498/unknown.png 18:47 <+bridge> [ddnet] spam 18:47 <+bridge> [ddnet] but the ": " could just be removed from the text 18:48 <+bridge> [ddnet] then it would fit perfectly 18:49 <+bridge> [ddnet] but the ": " could just be removed from the text(added seperatelly) 18:51 <+bridge> [ddnet] can you view a pr squashed into one commit in github 18:52 <+bridge> [ddnet] is "files changed" always all commits? 18:52 <+bridge> [ddnet] found it 😄 18:53 <+bridge> [ddnet] ok @Дядя Женя , u only want it for the tee render info? 18:54 <+bridge> [ddnet] <Дядя Женя> https://cdn.discordapp.com/attachments/293493549758939136/765980800595263499/unknown.png 18:54 <+bridge> [ddnet] <Дядя Женя> its not 18:54 <+bridge> [ddnet] as said, remove the ": " 18:54 <+bridge> [ddnet] then it is 18:54 <+bridge> [ddnet] anyway 18:54 <+bridge> [ddnet] 18:54 <+bridge> [ddnet] ``` 18:55 <+bridge> [ddnet] 18:55 <+bridge> [ddnet] void CGameClient::RefindSkins() 18:55 <+bridge> [ddnet] { 18:55 <+bridge> [ddnet] for(int i = 0; i < MAX_CLIENTS; ++i) 18:55 <+bridge> [ddnet] { 18:55 <+bridge> [ddnet] if(m_aClients[i].m_aSkinName[0] != '\0') 18:55 <+bridge> [ddnet] { 18:55 <+bridge> [ddnet] const CSkin *pSkin = m_pSkins->Get(m_pSkins->Find(m_aClients[i].m_aSkinName)); 18:55 <+bridge> [ddnet] m_aClients[i].m_SkinInfo.m_OriginalRenderSkin = pSkin->m_OriginalSkin; 18:55 <+bridge> [ddnet] m_aClients[i].m_SkinInfo.m_ColorableRenderSkin = pSkin->m_ColorableSkin; 18:55 <+bridge> [ddnet] } 18:55 <+bridge> [ddnet] } 18:55 <+bridge> [ddnet] m_pGhost->RefindSkin(); 18:55 <+bridge> [ddnet] } 18:55 <+bridge> [ddnet] ``` 18:55 <+bridge> [ddnet] here u need to add ur commit 18:55 <+bridge> [ddnet] code* 18:55 <+bridge> [ddnet] here u need to add ur code 18:55 <+bridge> [ddnet] just do smth client m_pChat->RefindSkins(); 18:56 <+bridge> [ddnet] and then implement that function like you already did with the `m_AuthorRenderInfo` 18:57 <+bridge> [ddnet] <Дядя Женя> I did already 18:57 <+bridge> [ddnet] <Дядя Женя> But I don't understand the part `implement that function like you already did with the m_AuthorRenderInfo` 18:58 <+bridge> [ddnet] but good that i read the code 18:58 <+bridge> [ddnet] its missing a updaterenderinfo() call 😄 18:59 <+bridge> [ddnet] have to patch that, gimmi a minute 18:59 <+bridge> [ddnet] <Дядя Женя> ok, should I commit my last version? 18:59 <+bridge> [ddnet] <Дядя Женя> ok, nvm, there should be only 1 small fix 19:02 <+bridge> [ddnet] ok, well idc, if you implemented it its fine 19:05 <+bridge> [ddnet] tbh alot of stuff confuses my, you can retreive most text stuff from the cursor. the chat text height can just be stored in the chat line instead of the text container 19:05 <+bridge> [ddnet] the text container shouldnt care about such information 19:08 <+bridge> [ddnet] <Дядя Женя> feels like it was fixed somehow 19:08 <+bridge> [ddnet] <Дядя Женя> https://cdn.discordapp.com/attachments/293493549758939136/765984455746650112/unknown.png 19:08 <+bridge> [ddnet] <Дядя Женя> magic, Idk 19:10 <+bridge> [ddnet] i think we should remove the : anyway, else its colored 19:10 <+bridge> [ddnet] even tho its not part of the message 19:10 <+bridge> [ddnet] the ": "* 19:13 <+bridge> [ddnet] <Дядя Женя> will see what I can do 19:15 <+bridge> [ddnet] <Дядя Женя> there are some problems in old code with width calculations and marging 19:15 <+bridge> [ddnet] <Дядя Женя> there are some problems in old code with width calculations and margin 19:15 <+bridge> [ddnet] <Дядя Женя> that I still did not rework 19:16 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/765986502836486164/unknown.png 19:17 <+bridge> [ddnet] would that be good enough? XD 19:19 <+bridge> [ddnet] @Developers: `The repository 'https://dl.bintray.com/sbt/debian Release' no longer has a Release file.` 19:19 <+bridge> [ddnet] @Дядя Женя 19:19 <+bridge> [ddnet] https://github.com/Jupeyy/ddnet/commit/4d8acf8fb53af63865e75972cb5c44d06fd3958a 19:21 <+bridge> [ddnet] this feature bugs out really hard in the new version 19:21 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/765987592214282250/unknown.png 19:22 <+bridge> [ddnet] @Learath2 did u change this ^ ? 19:22 <+bridge> [ddnet] i just remember alot of ppl worked in the editor files xD 19:31 <+bridge> [ddnet] <Дядя Женя> `str_format(pCurrentLine->m_aText, sizeof(pCurrentLine->m_aText), "%s", pLine);` 19:31 <+bridge> [ddnet] <Дядя Женя> how do you feel? 19:36 <+bridge> [ddnet] <Дядя Женя> it looks weird 19:36 <+bridge> [ddnet] <Дядя Женя> https://cdn.discordapp.com/attachments/293493549758939136/765991318580887643/unknown.png 19:36 <+bridge> [ddnet] <Дядя Женя> I think everybody used to see white ":" as not the part of player's name 19:40 <+bridge> [ddnet] but also not part of the chat 19:40 <+bridge> [ddnet] u can also split it completly 19:43 <+bridge> [ddnet] oh this looks much better 19:44 <+bridge> [ddnet] i can only suggest to delete conrners in central messages 19:45 <+bridge> [ddnet] like this mb 19:45 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/765993736601337887/unknown.png 19:46 <+bridge> [ddnet] nice sketch 19:46 <+bridge> [ddnet] totally can see the corner 19:46 <+bridge> [ddnet] <Дядя Женя> that's not so ez 19:47 <+bridge> [ddnet] there is a DrawUIRect that can pass corners. 19:47 <+bridge> [ddnet] but i guess determine the top chat might be difficult 19:47 <+bridge> [ddnet] <Дядя Женя> it's ok, but that will look like shit 19:48 <+bridge> [ddnet] why is the perfectly good chat getting redesigned? xd 19:48 <+bridge> [ddnet] <Дядя Женя> so you should make a corners like you do on maps 19:48 <+bridge> [ddnet] only left side with up and down corners? 19:50 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/765995079810154524/unknown.png 19:51 <+bridge> [ddnet] <Дядя Женя> Don't you think it looks bad? 19:52 <+bridge> [ddnet] dk, i can decide only after finished chat 19:52 <+bridge> [ddnet] dk, i can decide it only after finished chat 19:52 <+bridge> [ddnet] dk, i can decide it only after look-up on finished chat 19:55 <+bridge> [ddnet] @Дядя Женя 19:55 <+bridge> [ddnet] 19:55 <+bridge> [ddnet] https://github.com/Jupeyy/ddnet/commit/76d870346c88da0b69cf5ac072d9a7d9446fb569 19:55 <+bridge> [ddnet] 19:55 <+bridge> [ddnet] splitted, can be used as you want, and colored as you want 20:56 <+bridge> [ddnet] <Дядя Женя> https://cdn.discordapp.com/attachments/293493549758939136/766011454843125760/unknown.png 20:59 <+bridge> [ddnet] <Дядя Женя> Just generated some more bugs, cool 21:39 <+bridge> [ddnet] bcs u have to revert the text box stuff 21:39 <+bridge> [ddnet] bcs u have to revert the text stuff 21:39 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/766022462009376779/unknown.png 23:12 <+bridge> [ddnet] @noby @Learath2 crashed again, luckily heinrich got us debug info in time: https://github.com/ddnet/ddnet/issues/3028 23:13 <+bridge> [ddnet] ohh shit 23:13 <+bridge> [ddnet] do we have backtrace / server paused in debugger to get other stack variable values 23:13 <+bridge> [ddnet] im abit preoccupied for the next hour or so but i wanna look into it as soon as i can 23:14 <+bridge> [ddnet] the thing id look at first tho 23:14 <+bridge> [ddnet] is dist < 0 by chance? 23:34 <+bridge> [ddnet] maybe we should create an issue for the config( what we want to keep etc. ) instead of spamming that pr 😄 23:47 <+bridge> [ddnet] @noby might not have debug info because I only deployed the binary earlier this day 😦 23:47 <+bridge> [ddnet] but the header lines looked plausible didn't they? 23:48 <+bridge> [ddnet] well okay, let's check the coredump 23:48 <+bridge> [ddnet] but let's take it with a grain of salt 23:51 <+bridge> [ddnet] @noby do you have any variable whose value you know? 23:51 <+bridge> [ddnet] in that function? 23:53 <+bridge> [ddnet] @noby here rn? 23:53 <+bridge> [ddnet] i will be here in like 15min sry 23:53 <+bridge> [ddnet] kk