00:58 < bridge> Enjoy profitable forex/cryptocurrency income and earn up to $30,000.00 within 5 days, not only interested people should ask me how 00:58 < bridge> https://t.me/+BQlhudqWXGk1MWY0 01:02 < bridge> Enjoy profitable forex/cryptocurrency income and earn up to $30,000.00 within 5 days, not only interested people should ask me how 01:02 < bridge> https://t.me/+BQlhudqWXGk1MWY0 02:19 < bridge> Me: trying to learn opengl 02:19 < bridge> My brain: But it's 3:20 AM 02:19 < bridge> Also my brain: write this in #developer 07:46 < bridge> What's your project 08:38 < bridge> https://cdn.discordapp.com/emojis/1056179838391701564.png?v=1&size=48&quality=lossless 08:41 < bridge> That's quite the bootylicious thumbnail. My eyes refuse to render the legs of that bug in your link preview 08:41 < bridge> i gotta look bootylicious up lol 08:41 < bridge> am I a pervert? 08:41 < bridge> oh i see 08:41 < bridge> lel 08:41 < bridge> i guess its hard to see the legs at first? id kxd 08:43 < bridge> Yep, after taking a few steps away from the monitor I can't unsee it 08:43 < bridge> im a certified pervert 09:47 <+ChillerDragon> xd 10:12 < bridge> can I create a sql query to select data to have only 1 row which will contain ones if there're those 10:12 < bridge> 10:12 < bridge> can_delete_happenings - 1 10:13 < bridge> can_edit_posts - 1 10:13 < bridge> can_ban - 0 10:13 < bridge> can_create_roles - 1 10:13 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1073169627070337114/image.png 10:31 < bridge> Is dragger_beam the class that contains the logic for the shotgun? https://github.com/ddnet/ddnet/blob/master/src/game/server/entities/dragger_beam.cpp 10:32 < bridge> Is dragger_beam the class that contains the logic for the shotgun? https://github.com/ddnet/ddnet/blob/master/src/game/server/entities/dragger_beam.cpp 10:32 < bridge> Edit: Ah no. Those are the turrets. 10:37 < bridge> Is dragger_beam the class that contains the logic for the shotgun? https://github.com/ddnet/ddnet/blob/master/src/game/server/entities/dragger_beam.cpp 10:37 < bridge> Edit: Ah no. Those are the turrets. The reasoning behind me wanting to look at the code is to explain Shotgunfly for the wiki. I assume it accelerates the tees' velocity. And if it doesn't have any, it pulls it to the direction the beam came from. 10:39 < bridge> Is dragger_beam the class that contains the logic for the shotgun? https://github.com/ddnet/ddnet/blob/master/src/game/server/entities/dragger_beam.cpp 10:39 < bridge> Edit: Ah no. Those are the turrets. The reasoning behind me wanting to look at the code is to explain Shotgunfly for the wiki. I assume it accelerates the tees' velocity. And if it doesn't have any, it pulls it to the direction the beam came from. Meaning the dummy bumping into the dragger and a well-timed shotgun shot from the dragger to the roof allows you to stay in the air. 10:39 < bridge> Is dragger_beam the class that contains the logic for the shotgun? https://github.com/ddnet/ddnet/blob/master/src/game/server/entities/dragger_beam.cpp 10:39 < bridge> Edit: Ah no. Those are the turrets. The reasoning behind me wanting to look at the code is to explain Shotgunfly for the wiki. I assume it accelerates the tees' velocity. And if it doesn't have any, it pulls it to the direction the beam came from. Meaning the dummy bumping into the dragger and a well-timed shotgun shot from the dragger to the roof (so it hits the dragger) allows you to stay in the air. 10:39 < bridge> Is dragger_beam the class that contains the logic for the shotgun? https://github.com/ddnet/ddnet/blob/master/src/game/server/entities/dragger_beam.cpp 10:39 < bridge> Edit: Ah no. Those are the turrets. The reasoning behind me wanting to look at the code is to explain Shotgunfly for the wiki. I assume it accelerates the tees' velocity. And if it doesn't have any, it pulls it to the direction the beam came from. Meaning the dummy bumping into the dragger and a well-timed shotgun shot from the dragger to the roof (so it hits the dragger) allows the dragger to stay in the air. 10:40 < bridge> Is dragger_beam the class that contains the logic for the shotgun? https://github.com/ddnet/ddnet/blob/master/src/game/server/entities/dragger_beam.cpp 10:40 < bridge> Edit: Ah no. Those are the turrets. The reasoning behind me wanting to look at the code is to explain Shotgunfly for the wiki. I assume the shotgun accelerates the tees' velocity. And if it doesn't have any, it pulls it to the direction the beam came from. Meaning the dummy bumping into the dragger and a well-timed shotgun shot from the dragger to the roof (so it hits the dragger) allows the dragger to stay in the air. 10:41 < bridge> Is dragger_beam the class that contains the logic for the shotgun? https://github.com/ddnet/ddnet/blob/master/src/game/server/entities/dragger_beam.cpp 10:41 < bridge> Edit: Ah no. Those are the turrets. The reasoning behind me wanting to look at the code is to explain Shotgunfly for the wiki. I assume the shotgun accelerates the tees' velocity. And if it doesn't have any, it pulls it to the direction the beam came from. Meaning the dummy bumping into the dragger and a well-timed shotgun shot from the dragger to the roof (so it hits the dragger right after the bump from the dummy) allows the dragger to stay in t 10:42 < bridge> the edits make it hard to read, maybe just send more messages :) 10:42 < bridge> maybe don't use better discord :) 10:42 < bridge> jk 10:42 < bridge> I use the normal discord client 10:42 < bridge> yea but how would the edits make it unreadable 10:42 < bridge> i thought you used the bd plugin that shows you all edits made 10:42 < bridge> the way that the sg interacts with the tee is explained on the shotgun page, maybe you can have a look 10:43 < bridge> which indeed decreases readability 10:43 < bridge> i thought you used the bd plugin that shows you all edits made (history) 10:43 < bridge> nah its just that it gets reformatted and I have to seach for any changes in the text I already read 10:43 < bridge> yea I just appended to the end 10:44 < bridge> so if you continue to read where you stopped, it continues normally 10:44 < bridge> guess that is hard if the horizontal word position changes as well (which it shouldn't do?) 10:45 < bridge> but that is a good suggestion 10:46 < bridge> ah it isn't described in as much detail as I thought, the last paragraph here is important https://wiki.ddnet.org/wiki/Shotgun#Advanced_Behaviour 10:46 < bridge> yea but isn't it the same 10:47 < bridge> pulling you to the direction it came from -> getting you to its origin/reflection points 10:47 < bridge> pulling you to the direction it came from -> getting you to its origin/reflection point 10:48 < bridge> there is a slight difference, which gets more important the close you are to the origin 10:49 < bridge> strength? 10:49 < bridge> just a factor 10:49 < bridge> doesn't change the definition 10:49 < bridge> that is the reason why you can gain speed while walking by shooting the sg to the bottom-right 10:49 < bridge> ah that 10:50 < bridge> the amount of speed that the sg gives you is constant, buf it the pull-direction points into a wall some of that momentum is lost of course 10:51 < bridge> would be easier to just read the code 10:51 < bridge> but that stuff is coded nested af 10:52 < bridge> not sure how much it effects sg fly, it might make you slow done less depending on how you aim 10:52 < bridge> https://youtu.be/oLr6rbyNC2A?t=168 10:52 < bridge> i mean you can watch it in slowmotion 10:52 < bridge> timestamp is set 10:52 < bridge> what do you want to figure out in the code? 10:52 < bridge> calculation of the pull 10:53 < bridge> then I could put that into the sg page as well technically 10:53 < bridge> Enjoy profitable forex/cryptocurrency income and earn up to $30,000.00 within 5 days, not only interested people should ask me how 10:53 < bridge> https://t.me/+BQlhudqWXGk1MWY0 10:53 < bridge> but it is more important for the understanding 10:53 < bridge> but it is more important for the understanding (for myself) 10:54 < bridge> ah, I thought that the direction would be enough 10:54 < bridge> the strength would also fit into the sg article, that would be nice :) 10:54 < bridge> nah key factor here is that the dummy bumps you 10:54 < bridge> otherwise you can't stay with the shotgun in the air by yourself 10:55 < bridge> nah key factor here is that the dummy bumps you (and the shotgun accelerates your velocity created by that bump) 10:55 < bridge> nah key factor here is that the dummy bumps you (and the shotgun accelerates your velocity created by that bump, i want to know the formula for that acceleration) 10:55 < bridge> calculating how much speed the bump gives you will be hard to calculate 10:55 < bridge> that's not the goal 10:56 < bridge> you couldn't calculate it because it won't be constant 10:56 < bridge> you couldn't calculate it because it won't be constant 10:56 < bridge> but I could at least then explain why it works 10:56 < bridge> you couldn't calculate it because it won't be constant 10:56 < bridge> but I could at least then explain why it works based on facts 10:57 < bridge> sounds nice, good luck :) 10:58 < bridge> "good luck". I expected the dev here to help! xd 10:58 < bridge> i don't know where to find the code for that 10:58 < bridge> well hard to help if you don't give questions, you seemed satisfied ^^ 10:58 < bridge> based on the code I found it creates a negative explosion, questionmark 10:58 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1073181171963396096/image.png 11:00 < bridge> what's the formula the game or server uses to change the position of the tee shot by a shotgun beam 11:02 < bridge> based on the code I found it creates a negative explosion, questionmark. ah nevermind that is an OR: 11:02 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1073181171963396096/image.png 11:02 < bridge> based on the code I found it creates a negative explosion, questionmark. ah nevermind that is an OR. still grenade. still don't know where shotgun logic happens. 11:02 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1073181171963396096/image.png 11:03 < bridge> got it. prediction. entities. laser.cpp. 11:04 < bridge> ah, then you were faster than me, I also haven't seen or touched that part of the code yet 11:07 < bridge> yea see. it is pure acceleration. 11:07 < bridge> ```cpp 11:08 < bridge> if(!g_Config.m_SvOldLaser) 11:08 < bridge> { 11:08 < bridge> if(m_PrevPos != HitPos) 11:08 < bridge> { 11:08 < bridge> Temp = pHit->Core()->m_Vel + normalize(m_PrevPos - HitPos) * Strength; 11:08 < bridge> pHit->Core()->m_Vel = ClampVel(pHit->m_MoveRestrictions, Temp); 11:08 < bridge> } 11:08 < bridge> else 11:08 < bridge> { 11:08 < bridge> pHit->Core()->m_Vel = StackedLaserShotgunBugSpeed; 11:08 < bridge> } 11:08 < bridge> } 11:08 < bridge> ``` 11:08 < bridge> yea see. it is pure acceleration. 11:08 < bridge> ```cpp 11:08 < bridge> if(!g_Config.m_SvOldLaser) 11:08 < bridge> { 11:08 < bridge> if(m_PrevPos != HitPos) 11:08 < bridge> { 11:08 < bridge> Temp = pHit->Core()->m_Vel + normalize(m_PrevPos - HitPos) * Strength; 11:08 < bridge> pHit->Core()->m_Vel = ClampVel(pHit->m_MoveRestrictions, Temp); 11:08 < bridge> } 11:08 < bridge> else 11:08 < bridge> { 11:08 < bridge> pHit->Core()->m_Vel = StackedLaserShotgunBugSpeed; 11:08 < bridge> } 11:08 < bridge> } 11:08 < bridge> ``` 11:08 < bridge> nice, as expected 11:10 < bridge> sorry for hijacking your question that could be solved using google. bump. 11:14 <+ChillerDragon> default be like https://zillyhuhn.com/cs/.1675937661.png 11:15 < bridge> :PepeLaugh: 11:16 < bridge> you'd think I would get banned for spamming 11:16 < bridge> if you didnt know you can solve everything with internet 11:16 < bridge> yea but if you are too tired to ask the proper questions, try out ChatGPT 11:17 < bridge> but oh well, you said your country isn't supported 11:17 < bridge> oh wow 11:17 < bridge> yea but if you are too tired to ask *google* the proper questions, try out ChatGPT 11:17 < bridge> imagine crying about this and not helping 11:17 < bridge> just ignore it then 11:17 < bridge> you picked it up as toxic 11:18 < bridge> i just advertise that ai because it is hilariously useful 11:18 < bridge> why would people even ask here anything if everything can be solved with google and ai 11:19 < bridge> to ask questions like I did 11:19 < bridge> because that stuff isn't documented anywhere but hidden in the code 11:19 < bridge> oh well, fuck me then 11:19 < bridge> wait I help you out 11:19 < bridge> next time i will ask before asking 11:20 < bridge> but I don't understand your question 11:20 < bridge> don't ask to ask 11:20 < bridge> https://dontasktoask.com/ 11:21 < bridge> I think you didn't pick up on @MilkeeyCat's sarcasm there 11:21 < bridge> but i wont know will it be a good enough question to ask here 11:22 < bridge> if it was sarcasm he probably wouldn't have deleted the question 11:22 < bridge> if it is sarcasm, I am impressed by your acting 11:22 < bridge> @MilkeeyCat I don't think there is any problem with your questions here. figuring stuff out on your own is also important ofc, but using the shortcut of a chat is very much okay when you feel like it 11:23 < bridge> bro i just even didnt know how to google it 11:23 < bridge> well then asking here is the best thing you can do :) 11:23 < bridge> i didn't understand your question either 11:23 < bridge> you gave us an image 11:23 < bridge> and a cryptig prompt 11:23 < bridge> and a cryptic prompt 11:23 < bridge> anyways that was too bad question im so sorry, i will never happen again 11:24 < bridge> better be! 11:24 < bridge> did you show us the whole table 11:24 < bridge> @DefaultO I assumed they deleted that message because you (probably accidentally) made them feel bad with "sorry for hijacking your question that could be solved using google" 11:25 < bridge> you had 4 rows of permission flags @MilkeeyCat 11:25 < bridge> you had 4 rows of permission flags (4 columns) @MilkeeyCat 11:25 < bridge> and you said you wanted only one row 11:25 < bridge> how do we know which row you want 11:25 < bridge> just forget it dude i will google it 11:25 < bridge> that's what I didn't get 11:26 < bridge> guess we will never know which row you wanted 11:33 < bridge> Can someone explain how snap items work \:) im trying to manually create a character snap item with no data (mem zerod) and then debug dump the snap to verify id and type are set correctly but i do not get the expected type back 11:33 < bridge> ```c 11:33 < bridge> CSnapshotBuilder Builder; 11:33 < bridge> Builder.Init(); 11:33 < bridge> 11:33 < bridge> const int ObjCharSize = 88; 11:33 < bridge> const int CharID = 0; 11:33 < bridge> void *pObj = Builder.NewItem(NETOBJTYPE_CHARACTER, CharID, ObjCharSize); 11:33 < bridge> mem_zero(pObj, ObjCharSize); 11:33 < bridge> 11:33 < bridge> CSnapshot SnapDestPlaceHolder; 11:33 < bridge> Builder.Finish(&SnapDestPlaceHolder); 11:33 < bridge> 11:33 < bridge> dbg_msg("snap_trans", "<<<<< DUMP START >>>>>>>>>>>>"); 11:33 < bridge> SnapDestPlaceHolder.DebugDump(); 11:33 < bridge> dbg_msg("snap_trans", "<<<<< DUMP END >>>>>>>>>>>>"); 11:33 < bridge> ``` 11:33 < bridge> the id 0 worked and the mem zero on the data 11:33 < bridge> but the type is 0 11:34 < bridge> so i wondered where its looking up the type and printed a bunch of memory addresses and it seems to lookup the type in the data memory 11:35 < bridge> in `NewItem` i printed the items memory address when its being added `2023-02-09 11:31:00 I new_item: pObj=0x7ffcddb38410 set type and id to (9 << 16) | 0 == 589824` 11:35 < bridge> in the `CSnapshotItem::ID()` getter i printed where its looking up the id `[item] &m_TypeAndID = 0x7ffcddb38414` 11:36 < bridge> the way i understand this is that the actual item starts at 0x7ffcddb38410 and in the first 4 bytes m\_TypeAndID is located. But later when dumping the items and asking for its id it somehow seems to look at 0x7ffcddb38414 which is 4 bytes off 11:37 < bridge> what did i not understand? 11:37 < bridge> <0108ben> How do u type as a bot? 11:41 <+ChillerDragon> yea nvm i mean type and id share the 4 bytes so id doesnt work either i tested with another id than 0 11:41 <+ChillerDragon> not that it makes much more sense now 11:43 < bridge> ```C 11:43 < bridge> protocol7::CNetObj_Character Char; 11:43 < bridge> mem_zero(&Char, ObjCharSize); 11:43 < bridge> Char.m_X = 1; 11:43 < bridge> Char.m_Y = 1; 11:43 < bridge> mem_copy(pObj, &Char, ObjCharSize); 11:43 < bridge> ```setting data works wonderfully 11:44 < bridge> oh wait now it set type and id too?! xd 11:44 < bridge> wait is the mem zero bad? 11:45 < bridge> sorry for rubber ducking on a whole channel 11:45 < bridge> ok this works```C 11:46 < bridge> mem_zero(&Char, ObjCharSize); 11:46 < bridge> mem_copy(pObj, &Char, ObjCharSize); 11:46 < bridge> ```where this also zeros the type and id?```C 11:46 < bridge> mem_zero(pObj, ObjCharSize); 11:46 < bridge> ``` 11:47 < bridge> oh but this also works? xd```C 11:47 < bridge> mem_zero(&Char, ObjCharSize); 11:47 < bridge> mem_copy(pObj, &Char, ObjCharSize); 11:47 < bridge> mem_zero(pObj, ObjCharSize); 11:47 < bridge> ```ub? 11:54 < bridge> Wtf u even doin 11:55 < bridge> Use Char = {} 11:55 < bridge> 11:55 < bridge> That initializes it 11:55 < bridge> Copying structs works with normal assignment 11:56 < bridge> Just cast your type if the implementation gives u the size of the struct as memory anyway 12:00 < bridge> fixed it with asan \:)```C 12:00 < bridge> CSnapshotBuilder Builder; 12:00 < bridge> Builder.Init(); 12:00 < bridge> 12:00 < bridge> const int ObjCharSize = 88; 12:00 < bridge> const int CharID = 22; 12:01 < bridge> void *pObj = Builder.NewItem(NETOBJTYPE_CHARACTER, CharID, ObjCharSize); 12:01 < bridge> mem_zero(pObj, ObjCharSize); 12:01 < bridge> 12:01 < bridge> unsigned char aTmpBuffer3[CSnapshot::MAX_SIZE]; 12:01 < bridge> CSnapshot *pTmpBuffer3 = (CSnapshot *)aTmpBuffer3; 12:01 < bridge> Builder.Finish(pTmpBuffer3); 12:01 < bridge> 12:01 < bridge> dbg_msg("snap_trans", "<<<<< DUMP START >>>>>>>>>>>>"); 12:01 < bridge> pTmpBuffer3->DebugDump(); 12:01 < bridge> dbg_msg("snap_trans", "<<<<< DUMP END >>>>>>>>>>>>"); 12:01 < bridge> ```seems like the builder doesnt like writing into some simple `CSnapshot` on the stack 12:01 < bridge> still no idea what im doing 12:02 < bridge> I hope u don't work on 0.7 stuff 12:03 <+ChillerDragon> i do 12:03 < bridge> Shit 12:04 <+ChillerDragon> i would prefer not to but nobodi else doin it ._. 12:04 < bridge> Before u use 0.7 way of doing whatever. Make it better 12:04 <+ChillerDragon> ? 12:04 <+ChillerDragon> make what better 12:05 < bridge> What are u working on 12:05 <+ChillerDragon> translating snap items 12:05 < bridge> Make a better system 12:05 <+ChillerDragon> ?? 12:05 < bridge> There is no value in this 12:05 <+ChillerDragon> in what 12:05 < bridge> Adding more 0.7 bloat 12:06 <+ChillerDragon> the value is being able to join 0.7 servers with ddnet client 12:06 < bridge> Sounds completely useless 12:06 < bridge> And bloat 12:06 <+ChillerDragon> does not sound useless to me 12:06 < bridge> Then please don't pr it to ddnet 12:06 <+ChillerDragon> and as suggested by lerato and heinrich i try to keep the bloat minimal by keeping most 0.6 code untouched 12:07 <+ChillerDragon> thats the whole point 12:07 < bridge> It's a regression to have 0.7 dependencies 12:07 <+ChillerDragon> if you want to make it cleaner than me pls go ahead 12:07 <+ChillerDragon> because of two protocols? 12:07 < bridge> Better work on next gen networking packet stuff 12:07 <+ChillerDragon> sounds useless to me 12:08 < bridge> Firstly that and secondly because it basically has the same problems as 0.6 12:08 < bridge> It fixed 2-3 issues that's it 12:08 < bridge> No value 12:08 <+ChillerDragon> the value is compability 12:08 < bridge> Vanilla is also dead 12:08 < bridge> Compatibility to what? 12:09 <+ChillerDragon> to teeworlds 12:09 < bridge> To windows 1995? 12:09 <+ChillerDragon> windows 1995 is 0.6 12:09 <+ChillerDragon> :p 12:09 < bridge> Teeworlds is dead bro 12:09 < bridge> Oy is afk since one year 12:09 < bridge> He wasn't convinced dropping maintenance 12:09 <+ChillerDragon> makes it even more sad ddnet cant catch up with it 12:10 < bridge> He clearly is not interested in tw survival 12:10 <+ChillerDragon> he is not 12:10 <+ChillerDragon> he publicly stated that 12:10 < bridge> See. So let this die. It hurts my feelings 12:10 < bridge> That an evil person like Oy exists 12:10 <+ChillerDragon> im not doing it for oy 12:10 <+ChillerDragon> im doing it for my self 12:11 < bridge> U are a necromancer 12:12 <+ChillerDragon> > The practice of supposedly communicating with the spirits of the dead in order to predict the future. 12:14 <+ChillerDragon> i wonder how people wrote c/c++ code without ubsan/asan its literally impossible to debug and none of the things make sense 12:15 <+ChillerDragon> *insert ryo rust comment here* 12:15 < bridge> debug using brain > ubsan/asan 12:15 <+ChillerDragon> ok mr brain 12:15 < bridge> 🧠 12:16 <+ChillerDragon> :brain: 12:16 < bridge> U could say the same about logic errors. You can break down the bug until u find the reason 12:16 < bridge> Yup 12:17 < bridge> Also in cpp stop using stuff like mem zero. U really rarely need it 12:17 < bridge> Maybe if u want to fill a buffer of data or smth 12:17 * bridge insert angry noby here 12:17 < bridge> Noby is next level coder 12:18 < bridge> He is allowed 12:18 <+ChillerDragon> how do you break down things if it breaks in random places :D 12:18 < bridge> he's just allowed cuz his brain has all the synapses to comprehend what he is writing there 12:18 < bridge> wonder where they all come from 🥦 12:18 < bridge> In single threaded programs it should not be"random" 12:19 < bridge> But since u work on network related stuff. Maybe print the packets, when they arrive and what it current state was 12:19 <+ChillerDragon> oh trust me i did 12:20 < bridge> what exactly is breaking 12:20 <+ChillerDragon> show me any binary dump and i see tee positions 12:20 < bridge> Then u see which state was updated and get a feeling for the program flow 12:20 <+ChillerDragon> notin is breaking rn suprisigly cuz asan catched all random bugs 12:21 * bridge slaps chillerdragon 12:21 <+ChillerDragon> but they were in such unexpected places in code i wrote like months ago 12:21 <+ChillerDragon> u 12:21 < bridge> question 12:21 <+ChillerDragon> wot 12:21 < bridge> how can asan catch random bugs if it runs on a computer which doesnt know about randomness 12:21 < bridge> 🧌 12:22 < bridge> :troll: 12:22 <+ChillerDragon> it detects randomness using blockchain and AI 12:22 < bridge> discord troll 12:22 < bridge> blockchain? where is eirk 12:22 < bridge> erik 12:22 <+ChillerDragon> xd 12:23 < bridge> chiller btw ddnet++ gametype is DDraceNetwork not DDNet++ 12:23 <+ChillerDragon> yea 12:23 < bridge> just that one guy hosting ddpp fixed it i believe 12:23 <+ChillerDragon> yea 12:23 < bridge> xd 12:23 <+ChillerDragon> after i told him how :D 12:23 < bridge> rofl 12:23 <+ChillerDragon> i dont remeber why i didnt change it 12:23 <+ChillerDragon> i think because it doesnt cut off well 12:23 < bridge> lazyness 12:24 < bridge> better than DDraceNetwork 12:24 <+ChillerDragon> iirc it becomes ddnet+ 12:24 < bridge> yea 12:24 < bridge> and F-DDrace becomes F-DDrac 12:24 <+ChillerDragon> could name it DDraceNetwork++ 12:24 < bridge> we should really make the gametype field a little bigger 12:24 < bridge> 1 character :troll-1: 12:24 < bridge> :troll: 12:24 <+ChillerDragon> lul 12:25 < bridge> ok 2 12:25 < bridge> I hate Java 12:25 <+ChillerDragon> xXxiDDRace128++xXx 12:25 < bridge> C++ so much better 12:25 < bridge> omg 12:25 < bridge> u forgot the underscores between the x's and text 12:26 <+ChillerDragon> sori 12:26 < bridge> np 12:26 <+ChillerDragon> uwu 12:26 < bridge> wuw 12:26 <+ChillerDragon> ok i go bak to snaps 12:26 < bridge> snapchat user 12:33 <+ChillerDragon> @heinrich5991 okay given a 0.7 ``CSnapshot`` i should be able to generate a new 0.6 ``CSnapshot`` not sure tho where to store it and who allocates memory for it and who frees it the whole snapshot storage prev/current/alt is not making much sense to me 12:34 < bridge> the snapshots are not changed 12:34 < bridge> Just the data gets sorted in 0.7 12:34 <+ChillerDragon> yea that much i got 12:35 <+ChillerDragon> you mean not changed by the client after receive right? 12:35 <+ChillerDragon> but on receive they are stored in some CHolder 12:35 < bridge> No, there is no difference 12:35 <+ChillerDragon> and then freed in the Purge 12:35 < bridge> The altsnap is the one the client uses 12:37 <+ChillerDragon> i was thinking about adding a new ``CSnapshot *m_pTransSnap`` here that holds the snap that was translated from 0.7 to 0.6 https://github.com/ddnet/ddnet/blob/911bd0e69a8fee9b02f0cea26d50ecc2f000bc3c/src/engine/shared/snapshot.h#L123 12:38 < bridge> cant you put the translated data into the altsnap and use it like that 12:38 <+ChillerDragon> yea maybe but then i still do not know how to manage memory allocation 12:38 < bridge> I wouldnt put extra stuff in it, just translate everything on the layer before 12:39 <+ChillerDragon> but keeping the raw 0.7 snap is nice for diffing new deltas 12:39 < bridge> the server also doesnt keep the untranslated 0.7 packets. 12:39 <+ChillerDragon> the server also doesnt have to unpack snaps ._. 12:39 < bridge> shouldnt be a problem 12:40 < bridge> if you always translate everything u should get a diff aswell 12:41 <+ChillerDragon> yea thats what i thought too in the beginning but i like heinrichs idea better now of going over a full snap and translating it 12:42 <+ChillerDragon> seems less intrusive 12:43 < bridge> true 13:21 < bridge> Just trying to learn opengl to help develop deeworlds https://github.com/gotroyb127/deeworlds 13:25 <+ChillerDragon> okay i think i got the memory stuff worked out at least asan is not bitching 13:25 <+ChillerDragon> https://tube.zillyhuhn.com/video.php?t=translated_07_snap.mp4&u=chiller 13:25 <+ChillerDragon> first proof of concept of a full snap translation 13:26 <+ChillerDragon> this was recorded with a ddnet client on a 0.7 server 13:26 <+ChillerDragon> all translation of the character snap item happens in snapshot.cpp the gameclient.cpp is untouched and thinks its on a 0.6 server 13:26 < bridge> Epic 13:39 < bridge> it's only zogtib's work atm but he's occupied with making a text editor :kek:. Previously he was occupied with implementing a build system :kek:. In the feature he might be occupied with something else :kek: 13:42 < bridge> `It is under development so don't expect anything yet.` :kek: more like `It's not` 13:47 < bridge> Educational project 13:53 < bridge> xD 14:03 < bridge> @heinrich5991 https://github.blog/changelog/2023-02-08-pull-request-merge-queue-public-beta/ 14:04 < bridge> does this remove bors need? 15:39 < bridge> <<~{Barsik}~>> F-DDrac 15:44 < bridge> it's only zogtib's work atm but he's occupied with making a text editor :kek:. Previously he was occupied with implementing a build system :kek:. In the future he might be occupied with something else :kek: 16:58 < bridge> ddrac 17:09 < bridge> Elo 17:21 < bridge> I would say so. I never understood why bors needed to be a separate tool, that is basic functionality 17:22 < bridge> yea 17:30 < bridge> *bors secretly on the internal github repo* 17:30 < bridge> bors r- 17:49 < bridge> . 18:00 < bridge> thanks for your contribution 18:06 < bridge> 👍 19:41 < bridge> . 20:25 < bridge> <Александр Язов> hi what speed should internet be for ddnet server 20:53 < bridge> ~50kbps 20:53 < bridge> should be enough xd 20:53 < bridge> if u have problems, then its most probably your ping is unstable 20:53 < bridge> and not the internet speed 22:24 < bridge> Do you need financial support? Are you tired living from paycheck to paycheck… wanna say goodbye to 9to5? Wanna make $2000 daily $5000 weekly before your next pay check arrives?THEN ASK HOW....📥 22:24 < bridge> https://t.me/+svoBgWzahsxjZWQ8 22:24 < bridge> (@Jupeyy_Keks) 23:06 < bridge> 40kbps per player approximately 23:56 < bridge> Do you need financial support? Are you tired living from paycheck to paycheck… wanna say goodbye to 9to5? Wanna make $2000 daily $5000 weekly before your next pay check arrives? 23:56 < bridge> 23:56 < bridge> THEN ASK HOW....📥 23:56 < bridge> https://t.me/+svoBgWzahsxjZWQ8