01:32 < bridge> is there any existing drag & drop mechanism within ddnet UI 01:32 < bridge> not like from external apps or whatever but internally 02:29 < bridge> I added this into teams.cpp, is this better? Or should I do more? 02:29 < bridge> ```cpp 02:29 < bridge> bool CGameTeams::SquashTeammates(int Team) 02:29 < bridge> { 02:29 < bridge> return Team != TEAM_FLOCK && Count(Team) > 1 && GetTeamState(Team) != CGameTeams::TEAMSTATE_OPEN; 02:29 < bridge> }``` 02:35 < bridge> @Voxel if you use it in only one place then I'd say this one line doesn't need to be a function, otherwise nice 02:36 < bridge> no i mean, this used to be in characters.cpp 02:37 < bridge> I don't know if to also add in the actual sending of the packets or just that part of the code into teams.cpp 02:45 < bridge> @Voxel I'd say the message sending should be in KillTeam 02:46 < bridge> but KillTeam doesn't even get reached when you're in team 0 02:46 < bridge> and stuff 02:47 < bridge> I mean the team kill message 02:47 < bridge> ah okay 02:47 < bridge> i think i know what to do now 02:47 < bridge> so OnCharacterDeath checks if whole team should die and calls KillTeam and that sends the message automatically and then separately in CCharacter::Die you send the single tee death message if needed 02:48 < bridge> So I should only check `!Teams()->SquashTeammates(Team())` in CCharacter::Die? 02:48 < bridge> Meaning if it's false? 02:51 < bridge> ye I guess so 02:59 < bridge> also is there any existing text input mask mechanism 03:01 < bridge> i think ones in progress 03:01 < bridge> ok i split it out of the function since it's only used in one place 03:24 < bridge> cool 03:30 < bridge> maybe lacks context but lmk what you think 03:30 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1092259908453421126/image.png 03:30 < bridge> ui wise 03:33 < bridge> woah wtf is this 03:33 < bridge> oh its figma 03:33 < bridge> what's the concept for? 03:38 < bridge> status bar 03:38 < bridge> for tater 03:38 < bridge> ill link if u want 03:38 < bridge> 03:38 < bridge> when i asked here devs did not show interest so i just added to tater 03:39 < bridge> and he wants settings menu before merge 06:55 < bridge> okay so I have a component that is being changed by these settings, but the automatic update functionality is implemented with a conchain & as such editing the value directly does not cause it to update (which is what i have to do in the settings, i think) 06:55 < bridge> how can i find this component and call the same thing the conchain calls 06:56 < bridge> (which just happens to be `OnWindowResize()`) 06:56 < bridge> i've always seen stuff like `parent->findObject("name");` or something 06:56 < bridge> does teeworlds have something similar 06:57 < bridge> alternatively how can i change a console value without the user using the console 06:58 < bridge> is `ExecuteLine()` my only option? seems kinda bad to have to re-format the string over and over 07:06 < bridge> oh right i can get it through the client 07:07 < bridge> silly me 07:19 < bridge> RequestInterface<>()? 07:20 < bridge> g_Config.m_SvXXXXX 07:20 < bridge> right 07:20 < bridge> that doesn't trigger conchains from what i can tell 07:20 < bridge> which was the whole reason for me asking 07:21 < bridge> Just call it yourself 07:21 < bridge> it doesn't have to be dynamic so thankfully i don't have to 07:21 < bridge> please read 07:21 < bridge> put the stuff in a function and call it yourself 07:21 < bridge> I did it already 07:22 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1092318109802692648/image.png 07:22 < bridge> this works for me and i don't need to call it 07:22 < bridge> i just call OnWindowResize to force reflow it 07:22 < bridge> which is how i designed it from the start i just forgot how to get the component instance 08:44 < bridge> is there a way to get a max console configurable value for a particular console setting 08:47 < bridge> Check the code where it is clamped maybe you see it there 14:53 < bridge> βœ” database Pulled 1.1s 14:53 < bridge> WARN[0001] volume "mediawiki_ddnetwiki-images" already exists but was not created by Docker Compose. Use `external: true` to use an existing volume 14:53 < bridge> WARN[0001] volume "mediawiki_ddnetwiki-extensions" already exists but was not created by Docker Compose. Use `external: true` to use an existing volume 14:53 < bridge> WARN[0001] volume "mediawiki_ddnetwiki-apache2" already exists but was not created by Docker Compose. Use `external: true` to use an existing volume 14:53 < bridge> WARN[0001] volume "mediawiki_ddnetwiki-mariadb" already exists but was not created by Docker Compose. Use `external: true` to use an existing volume 14:53 < bridge> [+] Running 3/3 14:53 < bridge> βœ” Network mediawiki_default Created 0.0s 14:54 < bridge> βœ” Container mediawiki-database-1 Started 0.5s 14:54 < bridge> βœ” Container mediawiki-mediawiki-1 Started 14:54 < bridge> ``` 14:54 < bridge> hmm 14:54 < bridge> do i put external 14:54 < bridge> i guess yes 14:54 < bridge> If the network is external, yes 14:54 < bridge> this is about volumes the warning 14:54 < bridge> The network is not external accessible 14:54 < bridge> yeah 14:54 < bridge> docker bridge networks 14:54 < bridge> rip 14:54 < bridge> https://www.mediawiki.org/wiki/Docker/Hub 14:55 < bridge> thats outdated 14:55 < bridge> https://hub.docker.com/_/mediawiki 14:55 < bridge> i used this 14:55 < bridge> and cuz it said stack too 14:55 < bridge> i got confused xd 14:55 < bridge> AH I see 14:55 < bridge> They are not using stack specific stuff 14:56 < bridge> Okay, sure... then you can go with `docker compose -f stack.yml up -d` 14:59 < bridge> https://wiki.ddnet.org/wiki/Main_Page 14:59 < bridge> ok i got it working xd 15:00 < bridge> or not 15:02 < bridge> ok now 15:02 < bridge> bye bye swarm 15:09 < bridge> πŸ‘‹ swarm 15:09 < bridge> If you are not wanting so scale like hell, do not use swarm πŸ˜„ 15:16 < bridge> @Ewan Green maybe you found out already but there is an icon font in the client that you can use, it has a lot of stuff 17:33 < bridge> no, because you can do it all with slicing, add the tileset as a quad, slice each tile out of it, make each quad smaller, puzzle your way to smaller tiles 17:33 < bridge> i don't see the fps issue there (because I have none) 20:52 < bridge> @Ewan Green https://onlineunicodetools.com/convert-unicode-to-string-literal 20:56 < bridge> yeah you're right 20:56 < bridge> oh lmfao i'm drawing the button after 20:57 < bridge> lol 20:57 < bridge> lol 20:57 < bridge> anyways im gonna make an enum for fonticons 20:58 < bridge> so that it's much easier to read 21:28 < bridge> i have code to draw 4 buttons and a clearable edit box in a line 21:28 < bridge> buttons get drawn fine & i'm recycling and moving the rect left to draw 21:28 < bridge> so why is it that after i draw the buttons & go to draw the edit box at the same rect just moved left a little bit, it's somewhere else on the screen entirely 21:28 < bridge> buttons are here and that space on the right is meant to be taken by the box 21:28 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1092531106114437232/image.png 22:04 < bridge> don't say like this 22:05 < bridge> robyt3 tries his best to clean up tw/ddnet codebase and he did plenty 22:08 < bridge> his cleanup is diferent 22:09 < bridge> it makes sense xD 22:09 < bridge> but im just an observant 22:09 < bridge> ryozπŸ” zki 22:32 < bridge> it does look good 22:33 < bridge> about as clean as most code from the era gets 22:33 < bridge> it has a concrete system for almost everything 22:33 < bridge> its c its bound to look bad 22:33 < bridge> dont at me learath 22:34 < bridge> it’s cpp 22:35 < bridge> even tho it’s not devout stl everything imo it still looks more cppish than c-ish 22:35 < bridge> i know 22:35 < bridge> attractive language 22:35 < bridge> wot 22:36 < bridge> c-driven teeworlds > cpp-driven teeworlds 22:36 < bridge> cmm 22:36 < bridge> hard-coding just the icons that we use is good enough for me. adding a script to generate all icons is overkill in my opinion 22:36 < bridge> okey actually not xd 22:37 < bridge> the man has spoken 22:37 < bridge> you shall obey 22:38 < bridge> waitin for ryo-driven ddnet 23:06 < bridge> @Ryozuki 23:07 < bridge> omg