00:04 < bridge> linux al gaib! 00:25 < bridge> 😃 01:51 < bridge> Ah :) 01:52 < bridge> Yes, that's what I wanted to ask. The TS server is offline (for quite awhile too I believe) 03:54 < bridge> Which one? I made like x versions of that game. None of them are interesting btw. You control an ascii hashtag left and right… 07:01 < bridge> chillerdragon: one made with rust doesn't work for me 07:01 < bridge> When i connect to server and press a it just moves to left all the time 07:02 < bridge> And one in c++ i had to include different header file and add other lib to linker to make it work xd 08:55 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1222453848627613807/GJoS1IfWwAEwIa2.png?ex=661645dd&is=6603d0dd&hm=bfb9b2e8ea04a2a3992ea078e18370286da49265f6c76b6ea1d30f18eedf41c8& 08:55 < bridge> @tsfreddie r u gen z 08:56 < bridge> i'm millennials i think 08:56 < bridge> chinese counts generation a bit differently but I think i'm on the edge of millennials 08:56 < bridge> `public bool -> lowkey fax` 😆 08:57 < bridge> veri good 08:57 < bridge> https://en.wikipedia.org/wiki/Lehmer_random_number_generator 09:01 < bridge> bruh I thought I was still in #off-topic 09:27 < bridge> LCG generators are usually badly behaved. Is this one any different? 09:29 < bridge> LCGs are usually badly behaved. Is this one any different? 09:30 < bridge> @learath2 idk but found it interesting how simple it is 09:31 < bridge> All LCGs are rather simple. The only difference this has seems to be that c = 0 09:32 < bridge> It is quite bizarre how seemingly unpredictable and random it becomes though yeah 09:34 < bridge> Given the dynamic nature of the area, it is difficult for nonspecialists to make decisions about what generator to use. "Give me something I can understand, implement and port... it needn't be state-of-the-art, just make sure it's reasonably good and efficient." Our article and the associated minimal standard generator was an attempt to respond to this request. Five years later, we see no need to alter our response other than to suggest the use of 09:34 < bridge> nice quote 09:36 < bridge> ```c 09:36 < bridge> uint32_t lcg_parkmiller(uint32_t *state) 09:36 < bridge> { 09:36 < bridge> return *state = (uint64_t)*state * 48271 % 0x7fffffff; 09:36 < bridge> } 09:36 < bridge> ``` 09:37 < bridge> Xorshift is almost as simple, much better behaved and better performant 09:38 < bridge> u can avoid the div 09:38 < bridge> ```c 09:38 < bridge> uint32_t lcg_parkmiller(uint32_t *state) 09:38 < bridge> { 09:38 < bridge> uint64_t product = (uint64_t)*state * 48271; 09:38 < bridge> uint32_t x = (product & 0x7fffffff) + (product >> 31); 09:38 < bridge> 09:38 < bridge> x = (x & 0x7fffffff) + (x >> 31); 09:38 < bridge> return *state = x; 09:38 < bridge> } 09:38 < bridge> 09:38 < bridge> ``` 09:44 < bridge> Yeah without the div it probably performs about the same 09:46 < bridge> https://tenor.com/view/peter-griffin-but-i-want-it-now-gif-26307521 09:48 < bridge> Anything better than an LCG or xorshift is usually far too complex (PCG) or far too heavy (Arc4Random, Mersenne Twister, Fortuna) 10:29 < bridge> ```bash 10:29 < bridge> C:/msys64/home/Melanin_m/SkyBlock/ddnet_SkyBlock/src/engine/server/server.cpp: In member function 'void CServer::UpdateDebugDummies(bool)': 10:29 < bridge> C:/msys64/home/Melanin_m/SkyBlock/ddnet_SkyBlock/src/engine/server/server.cpp:2690:39: error: 'class IGameServer' has no member named 'm_apPlayers' 10:29 < bridge> 2690 | GameServer()->m_apPlayers[ClientID]->m_IsDebugDummy = true; 10:29 < bridge> ``` 10:30 < bridge> why i can't access to the array of players in server.cpp ? 10:31 < bridge> i want to add some bots to my server and update they inputs accordingly, but first i want to detect with one is debug dummy 10:32 < bridge> i want to add some bots to my server and update they inputs accordingly, but first i want to detect which one is debug dummy 10:35 < bridge> why i can't access to GameServer()->m_apPlayers[ClientID] in server.cpp ? 10:36 < bridge> if it’s a private or protected member you cannot access it 10:36 < bridge> mark it as public or use setters/getters 10:37 < bridge> it's public 10:38 < bridge> i wonder if it's abstract thing ? 10:39 < bridge> the server.cpp in total is weird for me 10:41 < bridge> Nonono 10:42 < bridge> The engine server doesn't have access to the internals of the gameserver 10:42 < bridge> It accesses it through an interface, an abstract base class 10:43 < bridge> Notice how it says `IGameServer` not `CGameContext` 10:45 < bridge> If you need to access stuff from `CGameContext` in the engine there are two options. Either your code doesn't belong in the engine or you need to add a getter method in `IGameServer` and implement it in `CGameContext` 10:47 < bridge> can you give me an example of a getter in the code so i can mimic it ? 10:50 < bridge> https://github.com/ddnet/ddnet/blob/master/src%2Fengine%2Fserver.h#L338 e.g. 10:50 < bridge> thank you 10:50 < bridge> The interface should be as minimal as possible. So if your code truly doesnt belong in the engine, just move it out 10:51 < bridge> But I guess you just need a `IsPlayerDebugDummy` there. That should be fine 10:51 < bridge> i just want to detect which player is a debug dummy then i can control them 11:32 < bridge> quick c++ question. 11:32 < bridge> in what order will these variables be initialized? 11:32 < bridge> ```c++ 11:32 < bridge> class Foo 11:32 < bridge> { 11:32 < bridge> int a = 0, b = 0, c = 0; 11:32 < bridge> Foo() : a(c + 8), b(a + 3), c(b - 2) {} 11:32 < bridge> } 11:32 < bridge> ``` 11:32 < bridge> from outer to inner or the other way around 11:32 < bridge> from outer to inner or the other way around? 11:33 < bridge> in the order they appear in the class iirc 11:33 < bridge> so: 11:33 < bridge> ` int b = 0, a = 0, c = 0;` 11:33 < bridge> this would change the order, for example 11:34 < bridge> I think it's ridiculous 11:35 < bridge> ah lol thx 11:36 < bridge> https://stackoverflow.com/questions/2669888/in-what-order-are-non-static-data-members-initialized 11:36 < bridge> clangd was throwing warnings in my face 11:36 < bridge> I think this is what you're asking? 11:36 < bridge> I think it's ridiculous it works that way tbh 11:36 < bridge> yea thx 11:37 < bridge> np 12:27 < bridge> https://twitter.com/MaxPrilutskiy/status/1772871058783154245 12:45 < bridge> yo wtf 12:45 < bridge> cool 12:46 < bridge> haha germany is kickin 12:51 < bridge> What way do you think it should work? 12:52 < bridge> I'm not sure but this is a pretty common "wtf" moment when most people learn 12:52 < bridge> At least it was for me 13:02 < bridge> It is not very obvious, but I fail to see any other option 14:19 < bridge> usually compilers warn if your member initialization order doesn't match the order in the class 14:38 < bridge> where does the menu code freeze the input upon opening a menu? ive been searching for half an hour 14:39 < bridge> it seems to only set the input playerflags to PLAYERFLAG_IN_MENU but doing so manually doesnt seem to work 14:50 < bridge> unrelated: 14:50 < bridge> ```cpp 14:50 < bridge> 2024-03-27 14:49:50 I chat: *** 'Teero' entered and joined the game 14:50 < bridge> 2024-03-27 14:49:50 I ddnet: cid=0 version=18010 14:50 < bridge> 2024-03-27 14:49:50 I sql: [3] load player data done on read database 0 14:50 < bridge> 2024-03-27 14:49:50 I hack: bot detected, cid=0 14:50 < bridge> ``` 14:51 < bridge> Chillerdragon: why is that still in there hahahaha xDDD 14:51 < bridge> xd sure chillerbot.png is lyfe 15:13 < bridge> Hello, can i suggest something? 15:18 < bridge> Can we make a skin whitelist (only a specified player/players can equip a skin)? 15:28 < bridge> no 15:31 < bridge> Hello, I also a suggestion as well 15:31 < bridge> Add accounts 15:31 < bridge> i was about to 15:31 < bridge> man 15:31 < bridge> you troll 15:31 < bridge> too bad 😏 15:43 < bridge> i figured it out 16:16 < bridge> holly hell, i never knew this ✗ character shows whether the repo has uncommited changes, I always thought it's just for the look :kek: 16:16 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1222564839671599134/image.png?ex=6616ad3b&is=6604383b&hm=b82ca5d356e9058302ce1e39425109cb67bf84a893c4862add24ec431bec49dd& 16:16 < bridge> holly hell, i never knew this ✗ sign shows whether the repo has uncommited changes, I always thought it's just for the look :kek: 16:16 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1222564839671599134/image.png?ex=6616ad3b&is=6604383b&hm=b82ca5d356e9058302ce1e39425109cb67bf84a893c4862add24ec431bec49dd& 17:37 < bridge> the people expecting timeouts when connecting dummy, ger10 just seems to unwhitelist people for some reason - can some admin check? 18:48 < bridge> return nuts 18:49 < bridge> print("gottem") 18:52 < bridge> @heinrich5991 i was trying to download this map from the collection but i get a 403 error, maybe you could help me? please xD: https://www.heinrich5991.de/teeworlds/maps/maps/Hot%20Beach_f09f84ce00ce67b216b6e122a75fdbbf59803f4266f18477be693907b8a100d0.map 18:52 < bridge> @davide55 18:55 < bridge> @reitw when paying my money I borrowed you? 19:06 < bridge> Did you use the link or joined just via the game? 19:07 < bridge> Did you use the link or joined just via the game? (by waiting the 10 seconds on the connecting tab the first time) 19:07 < bridge> Did you use the link or joined just via the game? (by waiting 10 seconds on the connecting tab the first time) 19:07 < bridge> connecting the dummy gave me connection issues as if i had 800 ping (without actually displaying connection issues), but will display connection issues after approx 60sec this happened to a few people already - visiting ger10.ddnet.org fixed it for everyone for now 19:08 < bridge> connecting the dummy gave me connection issues as if i had 800 ping (without actually displaying connection issues), but will display connection issues after approx 60sec. this happened to a few people already - visiting ger10.ddnet.org fixed it for everyone for now 19:08 < bridge> connecting the dummy gave me connection issues as if i had 800 ping (without actually displaying connection issues), but will display connection issues after approx 60sec. this happened to a few people already - visiting ger10.ddnet.org while staying on the server fixed it for everyone for now 19:08 < bridge> Okay, understood 19:08 < bridge> Should be fixed now 19:08 < bridge> love ya 19:08 < bridge> 😄 19:08 < bridge> Seems like the request is being blocked by some sort of firewall, maybe modsecurity or anything similar 19:15 < bridge> Why do the country selectors for servers always "reset" when launching the game? 19:17 < bridge> Yeah its kinda weird 20:34 < bridge> I was not reachable at the time, are you talking about Rust or Python twmap? :) 20:35 < bridge> When twmap in new language? :justatest: 20:36 < bridge> :p 20:37 < bridge> In gleam for example 22:00 < bridge> the link to the datafile doc refers to an incorrect URL at https://ddnet.org/libtw2-doc/map/ 22:00 < bridge> shouldn't be map/datafile 22:41 < bridge> Rust. But it's already solved <3