09:14 <+bridge> [ddnet] aoc day23, part 2: ger2 is slower than my local server 😦 09:15 <+bridge> [ddnet] anyone got a server with fast single-core performance? 09:56 <+ChillerDragon> what is fast 10:01 <+ChillerDragon> @QshaR you here? could https://qshar.com/maps.tar.gz change back to a directory called maps/ containings maps? :) currently it is home/teeworlds/serverMN/data/maps 10:02 <+bridge> [ddnet] @heinrich5991 servers usually don't have good single-core performance. Why not run it on a local machine? Intel desktop CPUs will do 5 GHz easily 10:03 <+bridge> [ddnet] qshar was not highlighted by you, ChillerDragon 10:03 <+ChillerDragon> meh 10:03 <+ChillerDragon> ty for info tho 10:04 <+bridge> [ddnet] @deen hm. unfortunately my desktop CPUs are old years old and very slow 10:04 <+bridge> [ddnet] I guess my home server has a desktop CPU 10:05 <+bridge> [ddnet] https://blog.johnnovak.net/2020/12/21/nim-apocrypha-vol1/ 10:05 <+bridge> [ddnet] nim becoming more famous? 10:05 <+bridge> [ddnet] :POGGIES: 10:05 <+bridge> [ddnet] please no spoilers for day23 10:05 <+bridge> [ddnet] (I realize this one is day21) 10:05 <+bridge> [ddnet] hmm? 10:06 <+bridge> [ddnet] I'm not yet done with day23 ^^ 10:06 <+bridge> [ddnet] what i sent is just a blog post 10:06 <+bridge> [ddnet] not related to aoc xd 10:06 <+bridge> [ddnet] oh 😄 10:06 <+bridge> [ddnet] sorry, still have my aoc glasses on 10:07 <+bridge> [ddnet] :monkalaugh: 10:43 <+bridge> [ddnet] @deen https://github.com/ddnet/ddnet/pull/3440#discussion_r547867225 10:53 <+bridge> [ddnet] done 11:12 <+bridge> [ddnet] 💕 11:54 <+ChillerDragon> is it possible to submit maps to ddnet without having discord? 11:55 <+bridge> [ddnet] no 12:06 <+ChillerDragon> oh thats sad :/ 13:05 <+bridge> [ddnet] @heinrich5991 my server has a desktop cpu if you want to give it a go :P 13:58 <+bridge> [ddnet] Though I guess it's supposed to run on most any machine, maybe your algorithm is not efficient? 14:15 <+bridge> [ddnet] mine only ran for 3 hours 14:35 <+bridge> [ddnet] @heinrich5991 is there no way to ask for a version of clang-format in our config? 14:37 <+bridge> [ddnet] Not sure if acceptable but we could have CI commit the final formatting 15:05 <+bridge> [ddnet] @Learath2 no shit 😛 15:05 <+bridge> [ddnet] my first 2.5h run had an off-by-one error 15:05 <+bridge> [ddnet] hopefully this run will be fine 15:22 <+bridge> [ddnet] am I missing anything? 15:22 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/791309819184807936/image2733.png 15:25 <+bridge> [ddnet] @Ravie X number of jumps? 15:26 <+bridge> [ddnet] ah yeah I've decided to wait with that one since it's a weird case 15:26 <+bridge> [ddnet] render it per text container 15:27 <+bridge> [ddnet] And I guess showing tunes is too complex/confusing 15:28 <+bridge> [ddnet] yeah but I'm not sure for example how small the rendered numbers can be before they're illegible 15:28 <+bridge> [ddnet] who implements it btw? 15:28 <+bridge> [ddnet] I liked the display idea of showing that many dj indicators 15:28 <+bridge> [ddnet] in the top left corner 15:28 <+bridge> [ddnet] like health currently 15:28 <+bridge> [ddnet] (doesn't have to be horizontal) 15:29 <+bridge> [ddnet] yeah that's the coolest option I guess 15:29 <+bridge> [ddnet] I can design a dj icon in a style like healthbar with the empty one as well 15:29 <+bridge> [ddnet] and is there a countdown timer for freeze? (blue line) 15:29 <+bridge> [ddnet] I guess the teleweapons could instead replace the normal weapons 15:30 <+bridge> [ddnet] what if you got the buff but don't have that weapon yet? 15:30 <+bridge> [ddnet] oh, that's possible? I guess show it beneath the disabled weapon 15:31 <+bridge> [ddnet] the orange portal 15:31 <+bridge> [ddnet] well it might be unlikely to be in a map but I'm just trying to think what fuckery you can do, since eventually someone will do it anyway 15:31 <+bridge> [ddnet] yea, sounds good! 15:31 <+bridge> [ddnet] I didn't realize that one 15:35 <+bridge> [ddnet] I guess there needs to be something like a "ddnet_game.png" if it's not just icons 15:45 <+bridge> [ddnet] yea 15:45 <+bridge> [ddnet] I guess we could put it into the normal game.png 15:45 <+bridge> [ddnet] and make the size larger 15:46 <+bridge> [ddnet] taking it from our default game.png if the user-provided game.png does not have these icons 15:46 <+bridge> [ddnet] are there any free platforms for hosting telegram bots 15:46 <+bridge> [ddnet] if we resize game.png or add anything to it then you can't use custom skins 15:47 <+bridge> [ddnet] unless you edit ddnet stuff into it which is a problem to some people 15:47 <+bridge> [ddnet] see above, we just use the default icons if they're not present in the custom one 15:47 <+bridge> [ddnet] I think this solution is cleaner because it allows people to share a game.png for ddnet in one file 15:48 <+bridge> [ddnet] but resolution needs to stay the same anyway and there might not be enough room for all the new stuff (and if there is, then barely enough with no room for the future) 15:51 <+bridge> [ddnet] no, we'd change the resolution, I think 15:52 <+bridge> [ddnet] so you mean, if the gameskin resolution is 1024x512 then load default ddnet stuff (which is its own file then anyway)? 15:52 <+bridge> [ddnet] or are old gameskins just incompatible 15:52 <+bridge> [ddnet] yes. 15:53 <+bridge> [ddnet] not incompatible 15:53 <+bridge> [ddnet] that would be bad 15:53 <+bridge> [ddnet] @heinrich5991 makes more sense to have a new file 15:53 <+bridge> [ddnet] for all the icons 15:53 <+bridge> [ddnet] why is that? I gave reasons for the other point of view above 15:53 <+bridge> [ddnet] oh 15:53 <+bridge> [ddnet] cant we use the ones from entities 15:54 <+bridge> [ddnet] how? 15:54 <+bridge> [ddnet] well the tiles 15:54 <+bridge> [ddnet] looks weird 15:54 <+bridge> [ddnet] they look very similar 15:54 <+bridge> [ddnet] dont they 15:55 <+bridge> [ddnet] yes but we cant just use the tile 15:55 <+bridge> [ddnet] why not 15:55 <+bridge> [ddnet] Looks weird 15:56 <+bridge> [ddnet] alter thje default entities so we can use them 15:56 <+bridge> [ddnet] Imagine this with tiles xd 15:56 <+bridge> [ddnet] would look bad 15:56 <+bridge> [ddnet] it is basically tiles 15:56 <+bridge> [ddnet] well my icons are literally tiles now xD 15:56 <+bridge> [ddnet] but not with the Background around it 15:56 <+bridge> [ddnet] they're in a 64x64 square, just not filling it fully 15:57 <+bridge> [ddnet] yea and tiles are filling a full tile 15:57 <+bridge> [ddnet] nah 15:57 <+bridge> [ddnet] of course they are 15:57 <+bridge> [ddnet] yes they have a background 15:58 <+bridge> [ddnet] however, the entities have more space left 15:58 <+bridge> [ddnet] game png is already tight 15:58 <+bridge> [ddnet] I outlined a solution above, what's the problem? 15:58 <+bridge> [ddnet] we enlarge game.png, with backward compatibility 15:58 <+bridge> [ddnet] makes game.png incompatible to vanilla tho 15:59 <+bridge> [ddnet] in the other direction 15:59 <+bridge> [ddnet] ddnet to vanilla 15:59 <+bridge> [ddnet] not opposite 15:59 <+bridge> [ddnet] @fokkonaut 15:59 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/791319001480691772/unknown.png 15:59 <+bridge> [ddnet] yes, but it can be fixed by truncating the image in a normal graphics editor 15:59 <+bridge> [ddnet] i know 15:59 <+bridge> [ddnet] @Ravie 15:59 <+bridge> [ddnet] But we still cant use entities for this because entities have a background around 16:00 <+bridge> [ddnet] thats all im saying xd 16:00 <+bridge> [ddnet] but it doesn't matter what you put in a tile xD it can be fully transparent and still a tile 16:00 <+bridge> [ddnet] yes. you two are agreeing 16:00 <+bridge> [ddnet] @Ravie its more about using the entities clear 16:00 <+bridge> [ddnet] @Ravie ^ 16:00 <+bridge> [ddnet] instead of custom icons 16:00 <+bridge> [ddnet] correct 16:01 <+bridge> [ddnet] hey guys sorry for interruption 16:01 <+bridge> [ddnet] I would need help with sending skin change to 0.7 clients on DDNet 16:01 <+bridge> [ddnet] 16:01 <+bridge> [ddnet] for 0.6 clients version it works like this 16:01 <+bridge> [ddnet] would appreciate any help :) 16:01 <+bridge> [ddnet] ``` 16:01 <+bridge> [ddnet] void CPlayer::Snap(int SnappingClient) 16:01 <+bridge> [ddnet] . 16:01 <+bridge> [ddnet] . 16:01 <+bridge> [ddnet] CNetObj_ClientInfo *pClientInfo = static_cast(Server()->SnapNewItem(NETOBJTYPE_CLIENTINFO, id, sizeof(CNetObj_ClientInfo))); 16:01 <+bridge> [ddnet] . 16:01 <+bridge> [ddnet] . 16:01 <+bridge> [ddnet] StrToInts(&pClientInfo->m_Skin0, 6, m_Zombie ? "cammo" : m_TeeInfos.m_SkinName); 16:01 <+bridge> [ddnet] ``` 16:01 <+bridge> [ddnet] why would you use entities clear for ir o.o 16:01 <+bridge> [ddnet] why would you use entities clear for it o.o 16:01 <+bridge> [ddnet] so ppl can use their own icons 16:01 <+bridge> [ddnet] easily 16:01 <+bridge> [ddnet] just like in game.png 16:01 <+bridge> [ddnet] @Axaris protocol7::NETMSGTYPE_SV_SKINCHANGE 16:01 <+bridge> [ddnet] but game.png is not tied to entities also 16:01 <+bridge> [ddnet] except it fits better in game than entities 16:02 <+bridge> [ddnet] @Axaris check gamecontext.cpp, should be used somewhere 16:02 <+bridge> [ddnet] i'd say the opposite, since these are looking like the tiles 16:02 <+bridge> [ddnet] (atleast graphically) 16:02 <+bridge> [ddnet] there will also be other stuff, jump meter which is like hp bar and freeze timer 16:02 <+bridge> [ddnet] then you need to add stuff to entities and still add an image for the other things xD 16:03 <+bridge> [ddnet] @Axaris sorry, its `protocol7::CNetMsg_Sv_SkinChange` 16:03 <+bridge> [ddnet] well the most less conflicting thing is adding a new asset for ddnet only 16:03 <+bridge> [ddnet] @fokkonaut thanks, that looks great 16:04 <+bridge> [ddnet] imo it's the only sensible thing 16:05 <+bridge> [ddnet] @Jupstar ✪ that makes it hard to make skinpacks 16:05 <+bridge> [ddnet] because now you have to distribute two files 16:05 <+bridge> [ddnet] if we have this stuff in an expanded game.png then we still need another image with ddnet stuff, and there's extra work for coders to detect if those icons are missing and blah blah 16:05 <+bridge> [ddnet] extra work for coders > extra work for users 16:05 <+bridge> [ddnet] +you never know if someone slaps random crap in his game.png and gets detected as a valid one 16:06 <+bridge> [ddnet] it's better if one developer has to do some work, rather than hundreds of users 16:06 <+bridge> [ddnet] One benefit of fitting it on game.png would be that we already have asset switching implemented 16:07 <+bridge> [ddnet] yea, that too 16:07 <+bridge> [ddnet] wouldn't that be the benefit of having it as 2 images? 16:07 <+bridge> [ddnet] @heinrich5991 do you know what vanilla does if it loads a game.png of the wrong size? 16:07 <+bridge> [ddnet] probably scale it 16:07 <+bridge> [ddnet] If we have 2 images we need to add one more tab and implement a way to switch the second texture too 16:08 <+bridge> [ddnet] I don't think this is acceptable then. We can't break other clients 16:08 <+bridge> [ddnet] If they'd truncate, then we could consider this 16:09 <+bridge> [ddnet] alternatively name it game_ddnet.png and only use that if it's available 16:09 <+bridge> [ddnet] still containing everything 16:10 <+bridge> [ddnet] And if someone switches ingame to an old type game.png we can use the missing icons from the default 16:10 <+bridge> [ddnet] yes 16:10 <+bridge> [ddnet] I think this is the winner solution 16:10 <+bridge> [ddnet] agreed 16:11 <+bridge> [ddnet] it's fine, but now if someone makes a gameskin he needs to make 2 versions, for ddnet and 0.7 which splits the community even more 16:11 <+bridge> [ddnet] The 0.7 version would be just a crop 16:11 <+bridge> [ddnet] yeah 16:11 <+bridge> [ddnet] And if they only release a 0.7 version then we use the default icons for our stuff 16:11 <+bridge> [ddnet] wait are u proposing to make game.png a different resolution 16:11 <+bridge> [ddnet] @heinrich5991 why? 16:12 <+bridge> [ddnet] just add a new asset tab 16:12 <+bridge> [ddnet] nobody needs new assets for hud icons 16:12 <+bridge> [ddnet] the other solution is complete overkill 16:12 <+bridge> [ddnet] @Jupstar ✪ can you give arguments please ^^ 16:12 <+bridge> [ddnet] "complete overkill" is very subjective 16:13 <+bridge> [ddnet] bcs u have to anylze alot of stuff, have two game pngs 16:13 <+bridge> [ddnet] you still need a new tab :x 16:13 <+bridge> [ddnet] no, we don't need a new tab 16:13 <+bridge> [ddnet] Adding an entire ui tab with functionality isn't overkill but checking the resolution of an image is? I don't see either being harder 16:13 <+bridge> [ddnet] unless you incorporate some weird gameskin merger into Gameskin tab 16:13 <+bridge> [ddnet] @Learath2 its also sharing game pngs, with the new added icosn 16:13 <+bridge> [ddnet] @Learath2 its also sharing game pngs, with the new added icons 16:13 <+bridge> [ddnet] @Ravie ^ 16:14 <+bridge> [ddnet] what makes that better than using a new image tho? 16:14 <+bridge> [ddnet] i dont get it 16:14 <+bridge> [ddnet] Only issue I see is a 0.7 player accidentally using a game_ddnet.png 16:14 <+bridge> [ddnet] it makes it just harder to keep state with vanilla 16:14 <+bridge> [ddnet] one annoying thing about checking resolution is that some people will make HD assets 16:14 <+bridge> [ddnet] @deen we check the ratio 16:14 <+bridge> [ddnet] yeah, that's better 16:14 <+bridge> [ddnet] yeah I see nothing wrong with a separate image, there's already game, entities, particles, gui_icons, emoticons 16:14 <+bridge> [ddnet] the difference is that it makes it harder to do a skin 16:14 <+bridge> [ddnet] even better, just use a new image, for a completly unrelated image xD 16:15 <+bridge> [ddnet] you now have to distribute two images, for relatively similar things 16:15 <+bridge> [ddnet] currently the ingame HUD comes from one file 16:15 <+bridge> [ddnet] why is all this stuff not slapped into a single frankengame.png 16:15 <+bridge> [ddnet] oh come on, you're not arguing in good faith 16:15 <+bridge> [ddnet] in your solution yes, but the hud can still stay independent of the other icons 16:15 <+bridge> [ddnet] well to me it doesn't matter that much one way or the other, I'm just perplexed why merging it would be a better solution 16:16 <+bridge> [ddnet] Well most people don't. Why argue in good faith and bother actually making up counter arguments when a strawman has the same effect 16:16 <+bridge> [ddnet] @Ravie we gave arguments, but you don't seem to refer to them when trying to say why the solution is bad. if you don't care, nice. then we can go ahead with the solution three people like 16:16 <+bridge> [ddnet] so what if u want default game png with new icons 16:16 <+bridge> [ddnet] it just makes it harder 16:17 <+bridge> [ddnet] For the record I wanted to avoid another separate asset tab 16:17 <+bridge> [ddnet] they are unrelated things 16:17 <+bridge> [ddnet] hm? currently HUD stuff is in game.png 16:17 <+bridge> [ddnet] yes. thats the argument 16:17 <+bridge> [ddnet] like the hearts, the crosshairs 16:17 <+bridge> [ddnet] and we want to keep it that way 16:17 <+bridge> [ddnet] but we talk about the icons from ravie 16:17 <+bridge> [ddnet] which are displayed in the game HUD, like the stuff in game.png 16:17 <+bridge> [ddnet] u want to add them into that image dont u? 16:17 <+bridge> [ddnet] (e.g. the hearts, the non-filled hearts) 16:18 <+bridge> [ddnet] i think u dont get the main point 16:18 <+bridge> [ddnet] i think merging is bad but i'll clarify in a bit 16:18 <+bridge> [ddnet] these icons from @Ravie look like entities not like Game HUD 16:18 <+bridge> [ddnet] so if u want new icons but default game 16:18 <+bridge> [ddnet] u have more work 16:18 <+bridge> [ddnet] no 16:19 <+bridge> [ddnet] if you load a vanilla-style game.png, we fill it with default new icons 16:19 <+bridge> [ddnet] yes 16:19 <+bridge> [ddnet] i mean the opposite 16:19 <+bridge> [ddnet] to me they look like neither xD they're their own thing 16:19 <+bridge> [ddnet] @Ravie isn't it like the health display? 16:20 <+bridge> [ddnet] @Ravie what i meant is, u use louis entities u probs only want to replace these icons 16:20 <+bridge> [ddnet] yeah the dj/freeze stuff is 16:20 <+bridge> [ddnet] not anything else 16:20 <+bridge> [ddnet] If you load a ddnet style game.png you get all icons. I don't see what complex analysis problem you are mentioning here 16:20 <+bridge> [ddnet] there's one thing like game.png and another thing like entities, and together they're like neither (but still belong together) 16:20 <+bridge> [ddnet] @Learath2 then u have a full new game.png 16:20 <+bridge> [ddnet] just for these icons 16:20 <+bridge> [ddnet] it removes modularity 16:21 <+bridge> [ddnet] we don't have modularity for these kinds of things right now 16:21 <+bridge> [ddnet] we didnt even implement it 16:21 <+bridge> [ddnet] you can't change weapons without hook, etc. 16:21 <+bridge> [ddnet] but these are not directly related to the game 16:21 <+bridge> [ddnet] I guess hp/shield bar becomes obsolete, so now only this new image is gui 16:21 <+bridge> [ddnet] we still have hp/shield for other gametypes 16:22 <+bridge> [ddnet] well ok 16:22 <+bridge> [ddnet] Let's just have a separate file with only ddnet icons and a new asset tab. This just isn't a hill worth dying on 16:22 <+bridge> [ddnet] no. this makes sharing it unnecessarily hard 16:22 <+bridge> [ddnet] see teeworlds 0.7 skins 16:22 <+bridge> [ddnet] no 16:23 <+bridge> [ddnet] those are also hard to share 16:23 <+bridge> [ddnet] I'm all for having dj/freeze bar in game, but icons are smth completely else 16:23 <+bridge> [ddnet] i completly disagree, its the exact opposite 16:23 <+bridge> [ddnet] okay. let's move this discussion to github 16:23 <+bridge> [ddnet] it makes it harder to share if we merge them 16:23 <+bridge> [ddnet] we're just repeating arguments at this point 16:23 <+bridge> [ddnet] its like u put particles.png into game.png bcs they are both used similary 16:23 <+bridge> [ddnet] I agree, but I don't have time to implement it and other people won't spend their time implementing things they don't agree with 16:23 <+bridge> [ddnet] I guess it's also an option to put dj/freeze in game and a new image for icons 16:24 <+bridge> [ddnet] I'll implement it, d/w 16:24 <+bridge> [ddnet] i just dont get how you can think so complicated xD 16:24 <+bridge> [ddnet] I don't think anyone would take it on himself to make custom new icons with how (in)active the artist community is right now 16:24 <+bridge> [ddnet] One issue that bugs me is @deen's comment about HD textures 16:24 <+bridge> [ddnet] that isnt the main issue 16:24 <+bridge> [ddnet] Again I don't see how either is more complicated and you refuse to elaborate 16:25 <+bridge> [ddnet] ?????????????????? 16:25 <+bridge> [ddnet] i stated arguments nobody here could give an argument agains 16:25 <+bridge> [ddnet] i stated arguments nobody here could give an argument against 16:25 <+bridge> [ddnet] link? 16:25 <+bridge> [ddnet] https://discord.com/channels/252358080522747904/293493549758939136/791324046386135061 16:25 <+bridge> [ddnet] read from here 16:26 <+bridge> [ddnet] new icons but default gamepng 16:26 <+bridge> [ddnet] creates the same png again 16:26 <+bridge> [ddnet] just with new icoons 16:26 <+bridge> [ddnet] bcs u dont want modularity 16:26 <+bridge> [ddnet] @Jupstar ✪ post the argument to the github issue and I will respond 16:26 <+bridge> [ddnet] wtf 16:26 <+bridge> [ddnet] I won't respond here, because I feel like I already have, and doing so again would just create the cycle once more 16:27 <+bridge> [ddnet] Ah I see what he means, I guess that is a concern 16:27 <+bridge> [ddnet] ok, idc at this point, its 3 vs 2 anyway 16:27 <+bridge> [ddnet] just make sure to use quad containers and text containers for performance 16:27 <+bridge> [ddnet] Mixing and matching is not space efficient if we use one game png 16:27 <+bridge> [ddnet] can you also move to github please, @Learath2? 16:27 <+bridge> [ddnet] we already found out that discussions here are unsearchale 16:27 <+bridge> [ddnet] and will just repeat, like accounts 16:28 <+bridge> [ddnet] Sure 16:28 <+bridge> [ddnet] thanks ❤️ 16:29 <+bridge> [ddnet] https://github.com/ddnet/ddnet/issues/3442#issuecomment-750349972 @Jupstar ✪ did I correctly paraphrase your concern? 16:30 <+bridge> [ddnet] i just posted it 16:32 <+bridge> [ddnet] thanks 16:32 <+bridge> [ddnet] @heinrich5991 btw you wanna ship game.png twice? or how would one know which image to edit 16:32 <+bridge> [ddnet] everything you post here will get lost and re-discussed 16:32 <+bridge> [ddnet] I'll post your question to github, okay? 16:32 <+bridge> [ddnet] no need 16:32 <+bridge> [ddnet] just ship game_ddnet.png 16:32 <+bridge> [ddnet] not game.png 16:33 <+bridge> [ddnet] hm and then you're supposed to just know what pasting an old style game.png will also work? 16:33 <+bridge> [ddnet] hm and then you're supposed to just know that pasting an old style game.png will also work? 16:33 <+bridge> [ddnet] I guess, yes 16:34 <+bridge> [ddnet] meh I hate "hidden features" 16:34 <+bridge> [ddnet] Ddnet is full of them :P 16:35 <+bridge> [ddnet] it's not the best example tho is it :justatest: 16:35 <+bridge> [ddnet] just a new file would fix all issues 16:35 <+bridge> [ddnet] @heinrich5991 we really need to find a good way to update extended objects soon 16:36 <+bridge> [ddnet] @fokkonaut → githubh 16:36 <+bridge> [ddnet] a new file would also be better for editing purposes 16:36 <+bridge> [ddnet] @fokkonaut not exactly, I'm not sure myself which way is better 16:36 <+bridge> [ddnet] If only another game.png is wanted 16:36 <+bridge> [ddnet] @Learath2 yes. it's basically only a programming problem 16:36 <+bridge> [ddnet] I want to add a couple new things into ddnetplayer for a while now and it's really a pain to introduce a new version and write compatibility code everywhere 16:36 <+bridge> [ddnet] Well, guess why there is particles.png and why its not in game.png 16:36 <+bridge> [ddnet] Not related/ other topic 16:37 <+bridge> [ddnet] So why dont we just add a new file for these icons 16:37 <+bridge> [ddnet] @fokkonaut please go to github if you want to discuss this. some people have already posted there 16:37 <+bridge> [ddnet] https://github.com/ddnet/ddnet/issues/3442 16:37 <+bridge> [ddnet] you're repeating arguments that have already been said here 16:37 <+bridge> [ddnet] ok 16:37 <+bridge> [ddnet] @Learath2 what do you want to add? 16:38 <+bridge> [ddnet] teamsstate? 16:38 <+bridge> [ddnet] I want to add the team# to ddnet player. I want to move teamstate into a new extended message so we can add things like practice flag to it e.g. 16:39 <+bridge> [ddnet] I wanted a couple things in ddnetcharacter too but they don't come to mind right now 16:39 <+bridge> [ddnet] yea, sorry, it's still not solved 16:39 <+bridge> [ddnet] and it's unfortunately not on top of my list of things to do 16:39 <+bridge> [ddnet] I would want to do the F-Client release soon, @heinrich5991 @Learath2 could you tell me if the pr is okay like this? 16:40 <+bridge> [ddnet] I think you already solved it tho, it's only a matter of implementation 16:40 <+bridge> [ddnet] yes. but it's not the next thing I'll do on ddnet 16:40 <+bridge> [ddnet] It's kinda one of the most important things as far as ddnet is concerned right now imo 16:41 <+bridge> [ddnet] https://github.com/heinrich5991/libtw2/issues/35 https://github.com/heinrich5991/libtw2/issues/30 https://github.com/heinrich5991/libtw2/issues/29 16:41 <+bridge> [ddnet] these are the next things I wanted to tackle 16:41 <+bridge> [ddnet] Well obv it's your time, you can spend it however you want. But if your list of things to do is based on priority maybe recheck this one :P 16:41 <+bridge> [ddnet] Ah libtw stuff is also quite important 0.7 messages are a nuisance 16:41 <+bridge> [ddnet] Yo time for a scrum meeting and iteration planning to prioritize the backlog everyone xD 16:43 <+bridge> [ddnet] I gtg for half an hour. Need to shop before everything closes for christmas and I'm left starving 16:44 <+ChillerDragon> lmao @YupHio 16:44 <+bridge> [ddnet] Btw, is it normal that antiping makes my game very jittery and rubberbandy on high ping servers even if I'm alone? 16:45 <+bridge> [ddnet] I'd think we have enough information to predict perfectly regardless of ping 16:45 <+bridge> [ddnet] alone it shouldn't expect if there is a lot of packet loss etc 16:45 <+bridge> [ddnet] Ah maybe I have packet loss to china, I'll check later 16:47 <+bridge> [ddnet] (insert politically incorrect joke about Wuhan not releasing packet data) 16:48 <+bridge> [ddnet] Yes, happens to me too on CHN servers 16:49 <+bridge> [ddnet] Can someone give me a brief rundown on the whole 0.7 debate? I hear a lot of talk/complaints about versions lately. Are some people preferring an older version of TW? Does DDNet only support a certain version now? Are there pros and cons? 16:51 <+bridge> [ddnet] Also, why does DDNet have their own master server? Did TW refuse to list the extra traffic from tons of DDNet servers on the regular TW master servers or something? Or is it a move for DDNet to become more independent and "its own project" without having to rely on TW? 16:52 <+bridge> [ddnet] I'm just out of the loop, sry :) 16:53 <+bridge> [ddnet] 0.7 debate sums down to ideology mostly. People are so fanatical. There are indeed people who prefer the old version but it's small things like ui look 16:53 <+bridge> [ddnet] Ddnet would ideally migrate to 0.7 too but it's a lot of work and we are busy ppl :P So ddnet supports both 0.7 and 0.6 clients thanks to a compatibility layer 16:54 <+bridge> [ddnet] Ddnet hosts a master because we didn't really think one person should host all the masters 16:54 <+bridge> [ddnet] only issue i see is that skins look weird in 0.7, rest is better xd 16:54 <+bridge> [ddnet] 🙃 16:55 <+bridge> [ddnet] The code is getting cleaned up quite a lot lately in 0.7 so it'd be a better developer experience atleast 16:55 <+bridge> [ddnet] ~~I don't like teeworlds overall. It haunts me.~~ 16:56 <+bridge> [ddnet] We've been hosting a master server for TW for years, but we recently moved it to a separate server because it attracts too many DoS attacks. Also feels reasonable since half of TW servers are DDNet 16:56 <+bridge> [ddnet] The DDNet tab doesn't count as a master right? 16:57 <+bridge> [ddnet] correct 16:57 <+bridge> [ddnet] Nah that's a json file we serve over http 16:58 <+bridge> [ddnet] I don't think an out of loop person would pick up on the master changes that easily, so I want to make it clear. 17:00 <+bridge> [ddnet] Makes sense. I was quite surprised at how few vanilla servers there are now. DDNet will assimilate all, resistance is futile. 17:01 <+bridge> [ddnet] It'd be nice if there were more hosters but people just want to play a handful of mods 17:01 <+bridge> [ddnet] :thonk: 17:01 <+bridge> [ddnet] @YupHio if u care about dev aspect, i'd say code that is added to ddnet(not ddrace) is ok, ddnet also has extensions(network wise) support and a new OpenGL support, which makes it quite powerful compared to vanilla 17:02 <+bridge> [ddnet] Indeed 17:02 <+bridge> [ddnet] Yeah the stuff we inherited from ddrace is not pleasant 17:02 <+bridge> [ddnet] ~~It's too powerful I don't know how to work on it most of the time~~ 17:03 <+bridge> [ddnet] I was working on a complete rewrite for ddnet7 but I'm stuck on a task too large for my 5 minute attention span 17:03 <+bridge> [ddnet] How complete. 17:03 <+bridge> [ddnet] Isolating gamecontroller will be the thing that makes teeworlds modding a breeze 17:04 <+bridge> [ddnet] Like entirely from scratch except for the ddnet additions, like the auth manager, uuid manager, network extensions, teehistorian 17:04 <+bridge> [ddnet] I see 17:05 <+bridge> [ddnet] I could hack it all in, but the last major release was like this too, just bolting it on using spaghetti again and again is insane 17:05 <+bridge> [ddnet] But the way tw is set up with gamecontroller leaking all over the place you can't really isolate your gamemode from the server code 17:06 <+bridge> [ddnet] They really should put warning labels on potato chips. It's too addictive 17:07 <+bridge> [ddnet] first idea 17:07 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/791336162580889620/unknown.png 17:08 <+bridge> [ddnet] Was there any plan on the vanilla side to provide a better gamecontroller 17:08 <+bridge> [ddnet] No, but I think they miight accept a cleaner one 17:08 <+bridge> [ddnet] Oy has been pretty accepting lately 17:08 <+bridge> [ddnet] He even accepted my cute custom commands patch 17:08 <+bridge> [ddnet] Surprisingly 17:09 <+bridge> [ddnet] I came in expecting to be rejected all the time 17:09 <+bridge> [ddnet] :thonk: so far so good tho. 17:09 <+bridge> [ddnet] That's how it used to be back in the day 17:09 <+bridge> [ddnet] Ye I've heard that 17:09 <+bridge> [ddnet] The only thing you'd hear from oy would be "wontfix" 17:10 <+bridge> [ddnet] But I thought either way I need chinese compatibility if it gets rejected I'll just make mods 17:10 <+bridge> [ddnet] `IGameController` is a big fat liar. It's not an interface at all. So first order of business is making that into an ABC 17:11 <+bridge> [ddnet] How do you do interface in c++ tho 17:11 <+bridge> [ddnet] Or am I thinking a different interface 17:11 <+bridge> [ddnet] An ABC is the closest you get to an interface in c++ 17:11 <+bridge> [ddnet] I see 17:11 <+bridge> [ddnet] E.g. IServer, that's an interface 17:12 <+bridge> [ddnet] After that the next part is combing through the code calling into the gamecontroller and removing all code that's not mod agnostic 17:12 <+bridge> [ddnet] So for mods you just create a implementation of IGameController something like that? 17:12 <+bridge> [ddnet] E.g. things like restart round. Not all mods have rounds 17:13 <+bridge> [ddnet] Yes ideally a mod would be just a gamecontroller + entities 17:13 <+bridge> [ddnet] That's a lot of work :cirBlech: 17:14 <+bridge> [ddnet] We must keep the diff into the original code very clean so that it's trivial to merge with vanilla updates 17:15 <+bridge> [ddnet] I didn't do a good job of that with textrender tbh. 17:15 <+bridge> [ddnet] I even wanted to not touch the original entities but that proves a little too hard 17:15 <+bridge> [ddnet] @TsFreddie but that wasn't a mod. It was a patch for vanilla 17:15 <+bridge> [ddnet] Oh right 17:16 <+bridge> [ddnet] I mean for a mod. A mod should have the absolute minimal diff for the original code 17:16 <+bridge> [ddnet] Ye 17:16 <+bridge> [ddnet] ~~Screw client mods~~ 17:17 <+bridge> [ddnet] The client is way too integrated, sadly no such thing is possible there 17:17 <+bridge> [ddnet] Though I kinda like the component system in there, maybe the server should have one too 17:18 <+bridge> [ddnet] I helped merging for f-client. Not pleasent. And seems like I broke a lot of stuff in f-client too 17:20 <+bridge> [ddnet] Well an interface change is sadly painful 17:20 <+bridge> [ddnet] No way to avoid the large diff 17:21 <+bridge> [ddnet] So is anything robyt3 does currently. 17:21 <+bridge> [ddnet] 🙃 ~~must do it while oy still in the zone~~ 17:22 <+bridge> [ddnet] I’m hoping robyt3 gets interested in server moddability. He seems to have inhuman performance and attention span. He is my only hope of ever getting a clean interface for modding 17:23 <+bridge> [ddnet] would be nice to make a mod without braking vanilla code(or only minimally) indeed 17:23 <+bridge> [ddnet] would be nice to make a mod without breaking vanilla code(or only minimally) indeed 17:24 <+bridge> [ddnet] I don't even know if there is a way to communicate with robyt3 other than in issues or pr. 17:24 <+bridge> [ddnet] xD 17:25 <+bridge> [ddnet] create issue "I want to talk to robyte" 17:25 <+bridge> [ddnet] He just shows up and delivers a thousand lines of clean code and disappears 17:25 <+bridge> [ddnet] Code Santa 17:25 <+bridge> [ddnet] Like magic 17:25 <+bridge> [ddnet] Like I don't know how to say I want to do a Ime implementation on top of his work. 17:26 <+bridge> [ddnet] So I just pr'd into his repo and he doesn't even check his own repo 17:26 <+bridge> [ddnet] 🙃 17:27 <+bridge> [ddnet] ~~We should come up a way to bait him into server codes~~ 17:28 <+bridge> [ddnet] but is he even interesting in designing a good polymorphic server impl? 17:29 <+bridge> [ddnet] rewritting isnt enough there 17:29 <+bridge> [ddnet] would the maintainers of vanilla even allow it? 17:29 <+bridge> [ddnet] they still dont use STL which makes absolute no sense to me xD 17:30 <+bridge> [ddnet] they seem to be a bit over conservative with their things 17:32 <+bridge> [ddnet] @TsFreddie u are alot around in vanilla, is there some issue discussing such things? 17:32 <+bridge> [ddnet] i'd really like to see an answer from the devs there xd 17:32 <+bridge> [ddnet] What the stl? 17:32 <+bridge> [ddnet] standard template library, but i also mean generally, what is allowed and what not 17:33 <+bridge> [ddnet] Tbh idk 17:33 <+bridge> [ddnet] i somewhere saw someone said vanilla is more open for mods now 17:33 <+bridge> [ddnet] and dune seems to be, but if oy isnt that doesnt help 17:33 <+bridge> [ddnet] Dune probably mentioned once that stl's naming scheme makes no sense. 17:34 <+bridge> [ddnet] but if u arent grown up with teeworlds code like me, it makes things just harder 17:34 <+bridge> [ddnet] Oy is open to more cleanup 17:34 <+bridge> [ddnet] If you can hide this change under the guise of cleanup it’d get in 17:34 <+bridge> [ddnet] But I feel like no stl does make everything more clear what it is doing. 17:34 <+bridge> [ddnet] i mean they just reimplement STL 17:34 <+bridge> [ddnet] so i dont see the point tbh xd 17:34 <+bridge> [ddnet] Why? I think STL makes things easier to read 17:35 <+bridge> [ddnet] but if i read list, i think of a STL list 17:35 <+bridge> [ddnet] not a vector 17:35 <+bridge> [ddnet] std::swap is clearer than an ad-hoc implementation e.g. 17:35 <+bridge> [ddnet] or array 17:35 <+bridge> [ddnet] (And more efficient) 17:35 <+bridge> [ddnet] i think array was it in vanilla 17:35 <+bridge> [ddnet] i think of a static array 17:35 <+bridge> [ddnet] not a vector 17:36 <+bridge> [ddnet] std::vector on almost any implementation of stl is better than what we have in teeworlds code 17:36 <+bridge> [ddnet] is prettier than what we have in base/tl too 17:36 <+bridge> [ddnet] :thonk: 17:36 <+bridge> [ddnet] Idk 17:37 <+bridge> [ddnet] I just work with what they've used before 17:37 <+bridge> [ddnet] well i'd also replace the thread stuff with c++11 17:37 <+bridge> [ddnet] Ad-hoc implementations of hashmaps are also very meh in teeworlds, e.g. the bans and the serverlist 17:37 <+bridge> [ddnet] Yeah C++11 threading is well supported almost everywhere 17:38 <+bridge> [ddnet] android already uses clang 11, which support alot of c++20 stuff already 17:38 <+bridge> [ddnet] and thats an embedded system 😄 17:39 <+bridge> [ddnet] Wait teeworlds has hashmap? 17:39 <+bridge> [ddnet] (googles android ndk to be precise :D) 17:39 <+bridge> [ddnet] C++20 is sooo cute 17:39 <+bridge> [ddnet] It has a couple of ad-hoc implementations 17:39 <+bridge> [ddnet] Because it’s actually fairly involved to design a good generic hashmap 17:39 <+bridge> [ddnet] :thonk: if you just search stl in teeworlds discord, you just see dune 17:41 <+bridge> [ddnet] For me personally, as long as it works I'll use whatever. Not like you need to learn stl or anything if they switched. 17:41 <+bridge> [ddnet] To be honest with you system.c could probably be replaced by boost 😛 17:41 <+bridge> [ddnet] I don't like boost for some reason 17:41 <+bridge> [ddnet] I don’t really like boost tho, very bloated 17:41 <+bridge> [ddnet] Maybe it is a ptsd thing 17:41 <+bridge> [ddnet] Heard it’s much better nowadays 17:42 <+bridge> [ddnet] boost is really awesome 17:42 <+bridge> [ddnet] Does boost do almost everything 17:42 <+bridge> [ddnet] The entirety of fs_ functions can be replaced by the C++17 filesystem support 17:42 <+bridge> [ddnet] but sadly annoying to get compile under windows 17:42 <+bridge> [ddnet] Boost can probably cook you a dinner 17:43 <+bridge> [ddnet] That's my ptsd part I guess 17:43 <+bridge> [ddnet] Boost is a heaaavy heavy abstraction 17:43 <+bridge> [ddnet] Librime uses boost and I have no idea how to compile. Also downloading the library is like wtf it is so huge. 17:43 <+bridge> [ddnet] alot of c++ standardization is inspired by boost in fact 17:44 <+bridge> [ddnet] With c++ templates having shit compilation properties it’s one of the things that makes C++ programs compile sooo slow 17:44 <+bridge> [ddnet] As long as it is fast during runtime( 17:44 <+bridge> [ddnet] Anyway, with C++20 we have a lot of standard stuff 17:44 <+bridge> [ddnet] i am missing sockets 😄 17:44 <+bridge> [ddnet] That replaces boost stuff 17:45 <+bridge> [ddnet] boost has async sockets 17:45 <+bridge> [ddnet] I don’t see sockets happening anytime soon 17:45 <+bridge> [ddnet] well all async io 17:45 <+bridge> [ddnet] i think c++23 wants it, no? 17:46 <+bridge> [ddnet] Have anyone actually tried to convince oy to use stl 17:46 <+bridge> [ddnet] :thonk: 17:46 <+bridge> [ddnet] i cant even write to him xd 17:46 <+bridge> [ddnet] Are you banned from irc or what 17:46 <+bridge> [ddnet] not on the allow list probs 17:47 <+bridge> [ddnet] iirc sockets keep getting deferred since 11 17:47 <+bridge> [ddnet] yeah its been a while true 17:47 <+bridge> [ddnet] Can't you just use irc and talk in irc directly 17:47 <+bridge> [ddnet] but tbh its mostly about making it easier to use, the c sockets are very similar under all OS 17:47 <+bridge> [ddnet] Did anyone ever use std::async? Looks interesting but I never really looked into it 17:47 <+bridge> [ddnet] @TsFreddie i dunno xd 17:48 <+bridge> [ddnet] Window’s implementation of posix is hot garbage 17:48 <+bridge> [ddnet] not really, i used boost async io in the past 17:48 <+bridge> [ddnet] still better than using windows functions xD 17:49 <+bridge> [ddnet] I’d honestly prefer winapi functions 17:49 <+bridge> [ddnet] Me too 17:49 <+bridge> [ddnet] it always feels like winapi uses too long names to say something small 17:49 <+bridge> [ddnet] They have clearly defined behaviour most of the time 17:49 <+bridge> [ddnet] Oh yep the massive names are a turn off 17:49 <+bridge> [ddnet] EnterCriticalSection_Ex 17:49 <+bridge> [ddnet] The doc is pretty clear tbh (at least for the Ime part) 17:50 <+bridge> [ddnet] yeah but they also documents their posix stuff xD 17:50 <+bridge> [ddnet] GetDataFromTheFirstSocketInList(SOCKLIST **) 17:50 <+bridge> [ddnet] xD 17:50 <+bridge> [ddnet] Yeah but it’s riddled with unexpected behaviour 17:51 <+bridge> [ddnet] Pretending things that are not files are files is very hard with the ntkernel 17:51 <+bridge> [ddnet] Winapi's Hungarian notation is a bit extreme tho 17:51 <+bridge> [ddnet] that came unexpected xD 17:51 <+bridge> [ddnet] Also the fact that they keep 16bit support around is annoying 17:52 <+bridge> [ddnet] Gotta support some third country bank that uses dos software on windows 10 17:54 <+bridge> [ddnet] yeah, you need to use \\?\C:\\PATH 17:54 <+bridge> [ddnet] to get the path without its small path limit, which is quite annoying 17:54 <+bridge> [ddnet] 17:54 <+bridge> [ddnet] or smth like that 17:54 <+bridge> [ddnet] cant remember 17:54 <+bridge> [ddnet] let me google 17:55 <+bridge> [ddnet] https://docs.microsoft.com/en-us/windows/win32/fileio/maximum-file-path-limitation 17:57 <+bridge> [ddnet] 🙃 17:57 <+bridge> [ddnet] Will wine someday be able to do everything windows related 17:57 <+bridge> [ddnet] except DRM stuff yes 17:57 <+bridge> [ddnet] i'd say wine is already really good 17:59 <+bridge> [ddnet] What's stopping drm from working in wine 17:59 <+bridge> [ddnet] its hard to break it, so you need the orignal windows libs probably 17:59 <+bridge> [ddnet] :thonk: 17:59 <+bridge> [ddnet] especially new stuff 18:00 <+bridge> [ddnet] I guess I never thought about how drm works 18:00 <+bridge> [ddnet] i also dont directly know how it works 18:00 <+bridge> [ddnet] Depends on how drm is done, some forms of it don’t really care about wine 18:00 <+bridge> [ddnet] Like if it runs, the stuff must be unencrypted at some point in some where no? 18:01 <+bridge> [ddnet] Nope, welcome to the world of modern drm 18:01 <+bridge> [ddnet] :thonk: then wizardry it is 18:01 <+bridge> [ddnet] alot of stuff is unpacked and remove on fly 18:01 <+bridge> [ddnet] so only a part is always visible 18:01 <+bridge> [ddnet] i even have a CDROM that is around 20 years old and still cant be broken 😄 18:01 <+bridge> [ddnet] Denuvo does polymorphic code, not more than a couple instructions are ever decrypted and no piece of code shares encryption keys 18:02 <+bridge> [ddnet] :tsf_huh: 18:02 <+bridge> [ddnet] So it tanks performance 18:02 <+bridge> [ddnet] yes 18:02 <+bridge> [ddnet] VMProtect “lifts” the assembly into a VERY obscure bytecode and Interprets that 18:02 <+bridge> [ddnet] Both awful for performance yes 18:03 <+bridge> [ddnet] Ubisoft used both for a couple games 18:03 <+bridge> [ddnet] Imagine how good triple A games would run without drm 18:03 <+bridge> [ddnet] games tend to go into a GPU bound anyway 18:03 <+bridge> [ddnet] Now that I think about it, if cyberpunk2077 is so awful now, how awful would it be with drm lol 18:03 <+bridge> [ddnet] TRUE 18:03 <+bridge> [ddnet] xD 18:04 <+bridge> [ddnet] It just goes to show how much proprietary work rockstar games has on open worlds that their games run so smooth 18:04 <+bridge> [ddnet] Even with maybe a hundred ai agents on the screen at the same time 18:06 <+bridge> [ddnet] Btw, if you are interested in the drm stuff, I think heinrich once posted a blog post about devirtualizing this kind of code and it was a brilliant idea 18:06 <+bridge> [ddnet] the sad part about it, is that the games are then for 5€ in sale 2 years later 18:06 <+bridge> [ddnet] but still have this annoying DRM 18:06 <+bridge> [ddnet] Writing the vm “instructions” in terms of c++ code and letting clang have at it to get the real assembly 18:07 <+bridge> [ddnet] I like that some developers just remove it when the game gets cracked 18:07 <+bridge> [ddnet] Two point hospital got a day one patch of removing denuvo 18:08 <+bridge> [ddnet] well i worked with a packer, it has broken at some point, but still unpacked some stuff, after a memory dump was taken 18:08 <+bridge> [ddnet] they often have more layers, e.g. encprytions are more aggressivly packed etc 18:08 <+bridge> [ddnet] well i worked with a packer, it was broken at some point, but still unpacked some stuff, after a memory dump was taken 18:08 <+bridge> [ddnet] I'll stick with high level development 😃 18:09 <+bridge> [ddnet] i also wouldnt say that has something todo with development directly 18:09 <+bridge> [ddnet] Reverse engineering is quite fun, I wish there was a career to be had in that field 18:09 <+bridge> [ddnet] u get good in reading assembler 18:09 <+bridge> [ddnet] well do bug finding xd 18:09 <+bridge> [ddnet] :cirBlech: 18:10 <+bridge> [ddnet] Your only options with that skillset is hunting bugs (not consistent income), do security analysis for companies (how many need this like 10 large corps?), work at an antivirus company 18:10 <+bridge> [ddnet] :cirBlech: I have the exact skillset to stay at home 18:11 <+bridge> [ddnet] :realsmiley: 18:11 <+bridge> [ddnet] We keep inviting the same security analysis people repeatedly for different projects at our company, so it's not like a large company will just hire you once 18:11 <+bridge> [ddnet] Oh and if you are one of the lucky 0.1% of security ppl you get to do very fun crowdfunded projects 18:12 <+bridge> [ddnet] @deen what is ur working field? project manager? 😄 18:13 <+bridge> [ddnet] Ooh one more just came to mind, you could work at an intelligence agency. I think that would be your best bet to get work doing reverse engineering 18:13 <+bridge> [ddnet] compiler dev xd 18:13 <+bridge> [ddnet] @Jupstar ✪ At DDNet or at work? 😄 18:14 <+bridge> [ddnet] at work ofc xD 18:14 <+bridge> [ddnet] in ddnet u are project leader, babysitter for the community, even planner, and so on xd 18:14 <+bridge> [ddnet] in ddnet u are project leader, babysitter for the community, event planner, and so on xd 18:17 <+bridge> [ddnet] I'm the Quality guy, so writing tools to help developers & management, find bugs, use and extend automated tools. And then I often have to go through the output of the tools and fix things all over. But I also recently started mentoring students and new hires. 18:17 <+bridge> [ddnet] It amazes me how many thing deen does for DDNet while still having a day job to give energy to. 18:17 <+bridge> [ddnet] Devops? 18:18 <+bridge> [ddnet] @TsFreddie yes its crazy 18:18 <+bridge> [ddnet] i like to think, in my brain, not outside of it xd 18:19 <+bridge> [ddnet] Is there a way to open 2 ddnet clients on steam? 18:19 <+bridge> [ddnet] i think steam doesnt allow that generally 18:19 <+bridge> [ddnet] Yeah I think so too 18:20 <+bridge> [ddnet] I just think about making games during the day and get distracted by teeworlds for 10 hours. 18:21 <+bridge> [ddnet] So that's where I get some good ideas like using clang-tidy or thread safety analysis 😄 18:23 <+bridge> [ddnet] that doesnt explain ur unbroken motivation 18:44 <+ChillerDragon> @NeXus help me collect votes for the double dummy in ddnet client no need for 2 clients :) 18:44 <+ChillerDragon> 2 pairs of tees that can be toggled easily and even be on different servers :) 18:46 <+ChillerDragon> @Jupstar ✪ i feel like a dayjob can boost motivation sometimes. Generally having something todo in life makes days longer even if you have less time. Its way harder to write some ddnet code in the free time if u spent the whole day watching netflix. Its easier if you survived a productive work day. 18:49 <+bridge> [ddnet] i dunno if its about that tbh, i feel like only thing that boost you is motivation, and that is created by thinking about something good, e.g. throughfully planning something 😄 18:50 <+bridge> [ddnet] atleast thats what i often do if im not really motivated, trying to completly implement it in my head so i know how to start 😄 18:50 <+bridge> [ddnet] and once u in, its easy to keep going 18:55 <+bridge> [ddnet] most people want to chill after work 18:57 <+ChillerDragon> yea true 18:58 <+ChillerDragon> but i still claim in some situations it can boost 19:25 <+bridge> [ddnet] can be text scaled in settings( looks like font codebase is hardcoded... give me a hope :) )? i want to feel 0.5 font 19:26 <+bridge> [ddnet] c++20 is cool and all but it wont be used till 2025 or later 19:26 <+bridge> [ddnet] ppl arent even using c++11 19:26 <+bridge> [ddnet] :pepe_straight: 19:27 <+bridge> [ddnet] 11 is used enough 19:27 <+bridge> [ddnet] deen teacher 😮 19:28 <+bridge> [ddnet] Teeworlds is the odd one out 19:30 <+bridge> [ddnet] https://thenextweb.com/google/2019/06/14/youtube-recommendations-toxic-algorithm-google-ai/ 19:30 <+bridge> [ddnet] > ‘YouTube recommendations are toxic,’ says dev who worked on the algorithm 19:30 <+bridge> [ddnet] :monkalaugh: 19:31 <+bridge> [ddnet] > “It isn’t inherently awful that YouTube uses AI to recommend video for you, because if the AI is well tuned it can help you get what you want. This would be amazing,” Chaslot told TNW. “But the problem is that the AI isn’t built to help you get what you want — it’s built to get you addicted to YouTube. Recommendations were designed to waste your time.” 19:31 <+bridge> [ddnet] just do it int the code 19:37 <+bridge> [ddnet] <Дядя Женя> @deen I think kicking problem applies to servers with lots of players, so maybe check for player amount on the server and ask for lower percentage for spec/kick votes? 19:37 <+bridge> [ddnet] the problem can also go in the other direction, where people get kicked too easily 19:37 <+bridge> [ddnet] we used to do exactly what you propose 19:37 <+bridge> [ddnet] <Дядя Женя> Bad 19:37 <+bridge> [ddnet] @gerdoe u can also increase the fontsize when the text cursor is created in text.cpp 19:37 <+bridge> [ddnet] <Дядя Женя> @deen solution is probably not that easy, needed to pick right players who can vote for that particular ban... 19:38 <+bridge> [ddnet] <Дядя Женя> Nearby players seems right way here... 19:38 <+bridge> [ddnet] i don't remember properly, but i had done it 19:38 <+bridge> [ddnet] <Дядя Женя> But it's not really the solution 19:38 <+bridge> [ddnet] mhh strange, i think all text uses these cursors 19:39 <+bridge> [ddnet] maybe, i don't remember properly, i had done it 19:42 <+bridge> [ddnet] good old fashioned solution is to block the blocker :p 19:54 <+bridge> [ddnet] <Дядя Женя> yes, but it was kinda hard 19:57 <+bridge> [ddnet] Have a globally distributed team of more moderators. That way there is a higher likelihood of someone being in-game to kick people when needed. 20:00 <+bridge> [ddnet] More mods, more power, everyone kicking each other. What could go wrong? 20:51 <+bridge> [ddnet] "it’s built to get you addicted to YouTube. Recommendations were designed to waste your time" I completely agree 21:02 <+ChillerDragon> Recommendations were designed to optimize watchtime. Time waste might be a correlation or a possible side effect. 21:56 <+bridge> [ddnet] Optimizing watchtime is the marketing friendly analogy for "getting people addicted"