00:00 <+bridge_> even though we have NUM_DUMMIES we assume 2 in all places 00:00 <+bridge_> maybe AI could fix that 00:01 <+bridge_> Yeah. That was just a quick idea. More cleanly you'd have to change all getters for snapshots, times etc. to return different values while a demo is playing. 00:02 <+bridge_> we take a while to generate the graphics textures and stuff from the map itself tho 00:02 <+bridge_> you'd need to store both 00:03 <+bridge_> Hmm, true, you'd have to duplicate large parts of the gameclient after all. Or it would only work if the demo is using the same map. 01:42 <+bridge_> holy recommendation 01:42 <+bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1480727523078705302/image.png?ex=69b0ba78&is=69af68f8&hm=a072ef26e991967b2b2edd4bad8595fbfd63481be6fb1c91ca32d139c8be8e04& 03:48 <+bridge_> <12944qwerty> @essigautomat amended my last commit with my current changes 06:33 <+bridge_> @learath2 what is this rather random `SetStaticsize` in server.cpp? https://github.com/ddnet/ddnet/commit/807c92f1a4b23784bff74583b1cb208d0c53b052 06:34 <+bridge_> @learath2 what is this rather random `SetStaticsize` in server.cpp? https://github.com/ddnet/ddnet/commit/807c92f1a4b23784bff74583b1cb208d0c53b052#diff-65908fcaf323f624c0a8e584e92664d0d49640bb139729c6e22a14a5b2170c3fR865-R866 06:34 <+bridge_> @learath2 what is this rather random `SetStaticsize` in server.cpp? https://github.com/ddnet/ddnet/commit/807c92f1a4b23784bff74583b1cb208d0c53b052#diff-65908fcaf323f624c0a8e584e92664d0d49640bb139729c6e22a14a5b2170c3fR865-R866 06:35 <+bridge_> it seems very wrong ^^ 06:35 <+bridge_> the second parameter of `SetStaticsize` isn't a boolean, but a size 06:35 <+bridge_> (and a multiple of 4) 08:04 <+bridge_> Xd I know 08:04 <+bridge_> I think I wrote the exact same thing here already @heinrich5991 :D 09:02 <+bridge_> I think you can add remote locally 09:14 <+bridge_> I just made a repo and added the fork to upstream, isn't a real fork so that's annoying but better than nothing 09:23 <+bridge_> chillerdragon: after having written these messages, I thought that I had written them before in this channel. but maybe that was you 09:23 <+bridge_> discord's search function didn't yield any result for `SetStaticsize` 10:26 <+bridge_> > You’ve got a 947 open issues, which is just a polite way of saying your project is held together by duct tape and hope. 10:26 <+bridge_> > 10:26 <+bridge_> > The file tree is a graveyard of abandoned tools, scripts, and half-baked integrations that nobody will ever use. 10:26 <+bridge_> right in the heart 😄 10:31 <+bridge_> open issue count is not really a measure of quality 10:31 <+bridge_> not sure what they mean with "integrations" 10:31 <+bridge_> the whole thing seems rather generic, but I guess that's to be expected 11:00 <+bridge_> I don't think you're supposed to take it seriously 11:22 <+bridge_> Uuf, idk, been so long 11:22 <+bridge_> Let me think about it a little, it is likely wrong though 11:31 <+bridge_> ^ turned on the debugger :3 11:31 <+bridge_> Yeah idk, it makes no sense at all, maybe it was a ternary at some point? 11:34 <+bridge_> I'll check timakro's original sixup code, maybe that will reveal my intentions 😛 12:05 <+bridge_> but it doesn't really hit hard for me if I can't take it seriously ^^ 12:06 <+bridge_> insults only work if they fit ^^ 12:12 <+bridge_> It told me my perfectly functional svg was broken so right off the bat, idk how it would even know if it works or not 12:12 <+bridge_> found a client crasher server 12:12 <+bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1480886166625452145/Unbenannt.png?ex=69b14e37&is=69affcb7&hm=8eba788700af24117829fa53c7f89109e9e11f793c177419b0499a70e12578dc& 12:14 <+bridge_> It told me my perfectly functional svg was broken right off the bat, idk how it would even know if it works or not 12:15 <+bridge_> intentional or not? 12:18 <+bridge_> my own, unintentional but kinda expected 12:19 <+bridge_> like I now know what the server should send in order to crash the client 12:19 <+bridge_> I think its known you can do this with malformed maps 12:20 <+bridge_> the map isn't malformed, but were running out of snap ids 12:20 <+bridge_> I mean crash the client 12:22 <+bridge_> ah. yes, unfortunately, there are plenty of ways to crash the client as the server 12:30 <+bridge_> @heinrich5991 I believe as expert in this you have a strong opinion about this 13:17 <+bridge_> where in ddnet++ find the modification of this scorbar? I want it to show lvl here but I can't find this scorbar 13:17 <+bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1480902432891342858/image.png?ex=69b15d5d&is=69b00bdd&hm=1f5b3a8e6a1fdf388b64f3a89af19f4655f6f5e50cab071a88be4922b45ea950& 13:24 <+bridge_> ddnet++, is this a client or server mod? This server is sending times and you can't customize this much for default clients. You can either show times or a score (not both, and no level column) 13:25 <+bridge_> i need score and score its level (server) 13:26 <+bridge_> server mod 13:26 <+bridge_> do you write a mod for your server? If yes you need to modify ddnet.cpp 13:27 <+bridge_> make sure [this](https://github.com/ddnet/ddnet/blob/4ae9ce874b8961ee1be4d54359997474a80db648/src/game/server/gamemodes/ddnet.cpp#L168) returns CFinishTime::UNSET 13:27 <+bridge_> 13:27 <+bridge_> AND 13:29 <+bridge_> don't send the TIMESCORE flag: https://github.com/ddnet/ddnet/blob/4ae9ce874b8961ee1be4d54359997474a80db648/src/game/server/gamecontroller.cpp#L644 13:30 <+bridge_> ideally you should write your own gamemode and add it to src/game/server/gamemodes 13:32 <+bridge_> i use DDNetPP by ChillerDragon 13:33 <+bridge_> DDNetPvP should also do this 13:33 <+bridge_> I mean should allow you to configure this 13:35 <+bridge_> summon @chillerdragon 13:41 <+bridge_> make sure [this](https://github.com/ddnet/ddnet/blob/4ae9ce874b8961ee1be4d54359997474a80db648/src/game/server/gamemodes/ddnet.cpp#L168) returns CFinishTime::Unset() 13:41 <+bridge_> 13:41 <+bridge_> AND 13:41 <+bridge_> make sure [this](https://github.com/ddnet/ddnet/blob/4ae9ce874b8961ee1be4d54359997474a80db648/src/game/server/gamemodes/ddnet.cpp#L168) returns CFinishTime::Unset() 13:41 <+bridge_> 13:41 <+bridge_> AND 13:50 <+bridge_> wery thx 14:05 <+bridge_> After looking at it more, I think it makes 0 sense, idk what I was even trying to do, perhaps forgot it there while debugging sth? Is there a special effect of it being 0? Perhaps I was trying to make sure events from sixup don't end up in six clients in a convoluted way? 14:24 <+bridge_> weirdest edge case bug 14:43 <+bridge_> That seemed to have been talked last year. :3 14:44 <+bridge_> Yeah, then I remembered that someone incorrectly clear those messages. 14:46 <+bridge_> And 14:46 <+bridge_> I remembered I said that 14:47 <+bridge_> those codes are wrong but they works 14:48 <+bridge_> can anybody explain to me how ` NetIntRange("m_Jumped", 0, 3),` m_Jumped works? 14:48 <+bridge_> it's doing some bit magic 14:49 <+bridge_> nvmd: 14:49 <+bridge_> 14:49 <+bridge_> ``` 14:49 <+bridge_> // Special jump cases: 14:49 <+bridge_> // m_Jumps == -1: A tee may only make one ground jump. Second jumped bit is always set 14:49 <+bridge_> // m_Jumps == 0: A tee may not make a jump. Second jumped bit is always set 14:49 <+bridge_> // m_Jumps == 1: A tee may do either a ground jump or an air jump. Second jumped bit is set after the first jump 14:49 <+bridge_> // The second jumped bit can be overridden by special tiles so that the tee can nevertheless jump. 14:49 <+bridge_> 14:49 <+bridge_> ``` 14:49 <+bridge_> in `CSnapshotDelta::CreateDelta` 14:49 <+bridge_> ``` 14:50 <+bridge_> bool IncludeSize = pCurItem->Type() >= MAX_NETOBJSIZES || !m_aItemSizes[pCurItem->Type()]; 14:50 <+bridge_> ``` 14:50 <+bridge_> and 14:50 <+bridge_> ``` 14:50 <+bridge_> void CSnapshotDelta::SetStaticsize(int ItemType, int Size)` 14:50 <+bridge_> { 14:50 <+bridge_> if(ItemType < 0 || ItemType >= MAX_NETOBJSIZES) 14:50 <+bridge_> return; 14:50 <+bridge_> m_aItemSizes[ItemType] = Size; 14:50 <+bridge_> } 14:50 <+bridge_> ``` 14:50 <+bridge_> But that's `m_Jumps`, not `m_Jumped` 14:51 <+bridge_> `m_Jumped & 1` could know if the player is pressing the key to jump. 14:53 <+bridge_> I think it's here 14:53 <+bridge_> ``` 14:54 <+bridge_> // handle jumping 14:54 <+bridge_> // 1 bit = to keep track if a jump has been made on this input (player is holding space bar) 14:54 <+bridge_> // 2 bit = to track if all air-jumps have been used up (tee gets dark feet) 14:54 <+bridge_> if(Grounded) 14:54 <+bridge_> { 14:54 <+bridge_> m_Jumped &= ~2; 14:54 <+bridge_> m_JumpedTotal = 0; 14:54 <+bridge_> } 14:54 <+bridge_> ``` 14:54 <+bridge_> But why we code the `(player is hoding space bar)`, is it meaningless? 14:56 <+bridge_> at least could predict those edge jumps 15:36 <+bridge_> @nonameteams this is a known issue in ddnet++ I have been stalling to work on it since a month xd https://github.com/DDNetPP/DDNetPP/issues/509 15:36 <+bridge_> i fixed it now for you :3 15:36 <+bridge_> try pulling and recompiling the new ddnet++ version that dropped 10 seconds ago and it should be fixed 15:41 <+bridge_> oh and @nonameteams in case you did not find the config yet what you want in your settings is `sv_display_score level` 15:42 <+bridge_> nice chiller :deen_star: 16:23 <+bridge_> job is stuck since 4 hours, had to cancel it: https://github.com/ddnet/ddnet/actions/runs/22900352294/job/66445042390?pr=11910 18:10 <+bridge_> anyone an idea where I find the unpredicted tuning values for this issue? 18:47 <+bridge_> should we even draw hook collision lines of players in other teams 😮 18:54 <+bridge_> Only if other teams are shown 21:12 <+bridge_> every time I open a PR with the github app it now crashes 21:26 <+bridge_> Same 21:51 <+bridge_> How do GitHub caches work? Shouldn't the key make sure that we don't duplicate caches :thonk: 21:51 <+bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1481031742897918147/image.png?ex=69b1d5cb&is=69b0844b&hm=c48d48b09d8be0b4bc58f85617c822f30910ccd8db470fa19fd183e692a1d32f& 21:51 <+bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1481031743241846835/image.png?ex=69b1d5cb&is=69b0844b&hm=6166bdedd14d1edb89786b0c6fc0d9fd71f4384e835c530705e303a627b371f5& 21:55 <+bridge_> Hey everyone! I'm really looking forward to playing DDNet on iOS. Is there currently any way to do this? Maybe an experimental IPA, a TestFlight link, or a guide on how to compile it for iPhone myself? I know there were some attempts before, so I'm curious if any of them are still functional. 21:55 <+bridge_> @deen, are there any updates on the iOS client? I'd love to help with testing if there's an ongoing project. 21:56 <+bridge_> the project is open source and we don't have a developer that is interested in ios so there's no support for it 21:56 <+bridge_> as far as i know 21:58 <+bridge_> Is there a bounty or a donation goal to attract an iOS developer? 21:58 <+bridge_> no, everything is free work 21:58 <+bridge_> and theres just bunch of us currently 21:59 <+bridge_> i would say 10 max 21:59 <+bridge_> Looks like GitHub caches make no sense all at. They are apparently scoped to the branch, so each cache can only be reused by the same branch... https://github.com/orgs/community/discussions/27059 22:01 <+bridge_> Are there really no other ways to play on iOS? Maybe via a browser or some unofficial web-port 22:01 <+bridge_> The need to own Apple devices and to pay for the development license has stopped me from trying to port it to iOS 22:03 <+bridge_> While it's technically possible to play the game in a browser, connecting to most servers doesn't work. The web version likely also doesn't work properly with touch controls. 22:03 <+bridge_> I see. That makes total sense, Apple's barriers are indeed annoying for open-source projects. Thanks for the explanation and for all the work you do on DDNet! 22:35 <+bridge_> <0xdeen> I don‘t have time, sorry 23:12 <+bridge_> can someone unassign tater for #9845 23:12 <+bridge_> https://github.com/ddnet/ddnet/issues/9845 23:59 <+bridge_> i think someone is interested, i cant remember who it was 23:59 <+bridge_> they just told me a couple days ago they might work on it