00:00 < bridge> [teeworlds] I dont want to use them so if thats fine, I'll do my own way 00:01 < Assa> I tested it: The server runs on 128 Hz and the client on 50 00:01 < Assa> it is working, but very very badly 00:01 <@heinrich5991> it probably 'works' because tw has some error recovery 00:02 < Assa> The client on 128 isn't working at all 00:03 < Assa> even on the 128 Hz server 00:03 < Assa> no, the other way round it works flawlessly, 128 herz client is doing its job 00:05 <@heinrich5991> grep for 50 in the source code 00:05 <@heinrich5991> you find too many instances: 00:06 < Assa> emotes are in slomo xD 00:07 < Assa> src/game/gamecore.h TicksPerSecond=50.0f wtf 00:08 < Assa> src/engine/client/client.cpp "Timeleft = -50" 00:09 <@heinrich5991> src/engine/client/client.cpp: int64 TickStart = (pCur->m_Tick)*time_freq()/50; 00:09 <@heinrich5991> src/engine/client/client.cpp: int64 CurtickStart = (m_aSnapshots[SNAP_CURRENT]->m_Tick)*time_freq()/50; 00:09 <@heinrich5991> src/engine/client/client.cpp: int64 PrevtickStart = (m_aSnapshots[SNAP_PREV]->m_Tick)*time_freq()/50; 00:09 <@heinrich5991> src/engine/client/client.cpp: int PrevPredTick = (int)(PredNow*50/time_freq()); 00:09 < Assa> Da bin ich auch gerade 00:11 <@heinrich5991> suddenly german 00:11 < Assa> oh no, iam sorry 00:11 < Assa> That sometimes happens when I switch between talking, programming and reading too much 00:14 <@heinrich5991> ты гавариш по русски? 00:14 <@heinrich5991> or something like that 00:18 < Assa> wouldn't i have an advantage if I build my own client with 512 Hz? 00:18 < Assa> since my updates would reacht the server quicker 00:20 < Assa> i predict the real bottleneck is the netspeed 00:20 <@heinrich5991> the server only applies your input once a tick 00:26 < bridge> [teeworlds] you cant defeat ping anyway 00:33 < Assa> i never seen anyone with a better ping then mine 00:33 < Assa> *when i lived at my parents 00:33 < Assa> German Internet is just bullshit 00:34 <@Dune> : Tue Ap 00:34 < bridge> [teeworlds] where did you live? 00:34 <@Dune> maybe your parents secretely hosted a lot of teeworlds servers 00:34 < Assa> Border to Netherlands, near Colone, we had 100K glasfaser up and down from holland, so we literally had a straight line to Frankfurth, so ping of 6 00:48 < bridge> [teeworlds] :< 00:48 < bridge> [teeworlds] I have 3 ping with OVH Canada servers ^^ 00:49 < bridge> [teeworlds] i have a ping of 8 on local server xd 00:50 < bridge> [teeworlds] on 0.7? 00:52 < bridge> [teeworlds] 0.6 i dont play 0.7 yet o.O missing to much stuff i need 01:31 < bridge> [teeworlds] then add what you need 01:32 < bridge> [teeworlds] main reason I contribute to 0.7 is to fix stuff I dont like and add stuff I want 11:01 < bridge> [teeworlds] i would remove the whole browser lol 11:01 < bridge> [teeworlds] am i the only one thinking that the new server browser is confusing af? I never find server. 11:28 < Teeworlds> [teeworlds] oy pushed 3 commits to branch master: https://github.com/teeworlds/teeworlds/compare/912442347daa...5c9a7a631153 11:28 < Teeworlds> • Fudgyking (4a2ea09): Make demo details a dropdown menu 11:29 < Teeworlds> • Fudgyking (d6bed05): Adjust Demos menu name to Demos 11:29 < Teeworlds> • oy (29b51f5): Merge pull request #2119 from Fudgyking/demosMenuRework… 11:29 < Teeworlds> [teeworlds] oy pushed 2 commits to branch master: https://github.com/teeworlds/teeworlds/compare/5c9a7a631153...36ae2752891b 11:29 < Teeworlds> • Sonix- (b2e8aaa): Update deadtee and fix its alignment 11:29 < Teeworlds> • oy (9a260f9): Merge pull request #2120 from Sonix-/deadtee_upd… 11:30 < Teeworlds> [teeworlds] oy closed issue #1936: deathtiles still skipable? https://github.com/teeworlds/teeworlds/issues/1936 11:30 < Teeworlds> [teeworlds] oy pushed 3 commits to branch master: https://github.com/teeworlds/teeworlds/compare/36ae2752891b...98ddf3d80c48 11:30 < Teeworlds> • AssassinTee (7b7f256): fixed 1936 11:30 < Teeworlds> • AssassinTee (565568f): fixed remarks by oy 11:30 < Teeworlds> • oy (7b16983): Merge pull request #2118 from AssassinTee/deathtileskip2… 11:31 < minus> so much spam 11:50 < Assa> nice 12:26 <@Dune> poor @Sonix having to fix our dirty code :P 12:40 <@Dune> gotta reduce spam a bit, Oy is too active 12:46 <@Dune> @Fudgy: I hope people will find out they can find demo details there 12:48 <@Dune> I'm not sure if there is a good solution anyway ^^ maybe the ideal would be to display important things such as the length elsewhere, stuff like the crc, the version and what not needn't be displayed by default 12:49 < Assa> Dune, what do you think about auto hiding scrollbars? 12:50 < Assa> It was actually really easy to check this. The only problem is, that the background is still there and iam looking into it 12:50 <@Dune> i think we already improved scrollbars a lot and that's a very minor thing that shouldn't be prioritized :P 12:51 <@Dune> @LordSk made a scrollbar API, I think it has yet to be used in the demos menu 12:52 < Assa> what should I prioritize? Which issue do you think is suited for me 12:52 < Assa> Master, Dobby wants instructions 12:53 <@Dune> Oy is the true master :P 12:55 <@Dune> there are a lot of things to do :) we're not lacking in that department 12:56 <@Dune> oh, there is https://github.com/teeworlds/teeworlds/issues/1834 12:56 <@Dune> if you like UI stuff 12:58 <@Dune> if you want something server sided, what about a way to save bans? 12:59 < Assa> we should use the jsons on the serverside too 12:59 <@Dune> what jsons? 12:59 < Assa> any :D Bots will need to read the skins, if we will implement ones 13:00 < Assa> currently there is no native way to read jsons on serverside 13:01 <@Dune> bots will need to read the skins, really? 13:01 < Assa> how are you willing to fill the skininfos? 13:01 <@Dune> it's just a string right? 13:01 <@Dune> just send "default" 13:02 <@Dune> (or whatever) 13:02 < Assa> what if you want another skin? And you shouldn't hardcode this stuff 13:03 <@Dune> well you write "cammo"? 13:03 <@Dune> I mean you don't have to hardcode that stuff but I don't see how reading the jsons help 13:03 < Assa> side note: Zatlines botskins could be implemented on clientside or just be handled as any other skin 13:03 <@Dune> They are not really skins, they are decorations on top of skins 13:03 <@Dune> and they're already implemented? 13:03 < Assa> hmm, true :o 13:04 < Assa> so when doing a permanent banlist, we need file IO 13:04 <@Dune> yeah 13:04 <@Dune> this can be saved in a bans.cfg 13:04 <@Dune> isn't there already something like that? 13:04 <@Dune> also I have a bunch of tasks/ideas I'm not doing, if you're interested 13:04 < Assa> tell me :D 13:05 <@Dune> for example, we could have a way to save chat text by clicking out of the area or something instead of deleting it 13:05 <@Dune> it would let you resume a long interrupted sentence because you had to do something ingame 13:05 <@Dune> some games do that 13:05 <@Dune> we also need to prevent clients from self wispering 13:05 <@Dune> we could have some visual effects to help playing with no-sound (like the sound notification you get with Ctrl+S, but with a flag when there is a capture for example) 13:06 <@Dune> we could also implement copy, right now there is only paste 13:06 <@heinrich5991> copy might simply copy the whole line 13:06 <@Dune> we can have something basic that just selects everything from the textarea (chat or text box) 13:06 <@heinrich5991> for starters 13:06 <@Dune> exactly :) 13:06 <@Dune> don't wanna implement a selection system 13:07 < Assa> i will take a look on the save chat one. It happened to me a lot, that my text is lost because the map changed 13:08 <@Dune> oh yeah there's that too, annoying right :p 13:09 < Assa> should that be saved in a variable or a seperate buffer? 13:09 < Assa> meh, a buffer would make more sense 13:10 <@Dune> not sure if I see the difference 13:10 < Assa> It may appear in the settings file, which doesn't make sense 13:10 < Assa> But i think you had a flag to prevent that 13:11 <@Dune> ah, yeah there is a flag for that 13:11 <@Dune> but I didn't think you meant a client variable 13:11 <@Dune> yeah, that doesn't need to be one 13:12 <@Dune> it just needs to survive the disconnect/connect that occurs on map load 13:12 < Assa> shouldn't it be client sided? 13:12 <@Dune> yes of course 13:12 <@Dune> but it doesn't have to be accessible from the console 13:13 < Assa> yes 13:28 < Assa> which key is KEY_KP_ENTER ??? 13:29 <@Dune> I think KP is keypad 13:31 <@Dune> so i think it's the numerical keypad enter? 13:31 < Assa> ahhh :O now it makes sense 14:13 <@heinrich5991> Assa: Dune: already fixed: https://github.com/teeworlds/teeworlds/issues/1902 https://github.com/teeworlds/teeworlds/pull/2102 14:14 <@Dune> ah, right, that part is fixed. the task I had in mind was more about saving the chat buffer when you click out of it because you have to do some play for a second 14:29 < Assa> apprently i have fixed both with a few lines of code 14:30 < Assa> side effect: chat all: "test" Escape -> Team Chat : "test" already written 14:33 <@Dune> I guess it should be reset if you change chat mode ^^ 14:34 < Assa> then i have to track the chat mode, too 14:34 <@Dune> yes 14:39 < rand> single thread is still fine for bots 14:48 < Assa> highly depends on the bot 15:09 < Assa> Dune, i finished the chat buffer. I used config_variables. Is there a flag, that these variables aren't shown in console? 15:09 <@heinrich5991> no, there isn't 15:09 <@Dune> I thought you were going to use a buffer instead of a variable? 15:10 < Assa> quote: "not sure if I see a difference" 15:11 <@Dune> quote: "I didn't think you meant a client variable" 15:11 <@Dune> I thought you meant a program variable :) 15:11 < Assa> ah ^.^ 15:12 <@Dune> so yeah it shouldn't be a client variable because it doesn't have to be accessible by the client 15:12 < Assa> hmm, i have an idea 15:18 < Assa> now its in a Buffer in chat.h 15:18 < Assa> it even survives leaving the server and rejoining :o 15:18 <@Dune> #2118 breaks the nethash 15:19 <@heinrich5991> (just remove the nethash ._.) 15:20 < Assa> I broke the nethash ._. 15:20 <@heinrich5991> nah, the nethash is broken 15:21 < Assa> #2118 just changed 5 files: collision.h, gamecore.h, gamecore.cpp, collision.cpp, and character.cpp 15:21 < Assa> one of this must have changed the nethash 15:21 <@Dune> gamecore change sthe nethash right 15:21 <@Dune> can't connect anywhere with the master client 15:23 < Assa> how do you handle nethash breaking updates? 15:23 <@heinrich5991> by hardcoding the new nethash. see scripts/cmd5.py 15:24 <@Dune> yeah that's annoying 15:27 <@Dune> ugh there is a crash that only happens when I don't start teeworlds in a debugger :( 15:35 < Assa> The NetHash usally makes no sense for custom servers. If you want true 64 player support, you will have to overwrite it, due to a change in protocol.h 15:35 <@Dune> huh? I think you can just change variables.h, right? 15:36 <@Dune> or is there some other enum you need to change? 15:37 < Assa> MAX_PLAYERS=64 15:37 <@Dune> ok :) 15:37 <@Dune> so yeah it's a bit bothersome to have it 15:38 < Assa> SvPlayerSlots, ..., 8, 0, MAX_PLAYERS in variables.h 15:38 < Assa> if you want more then 16 players you have to change MAX_PLAYERS 16:14 < Assa> I noticed how usefull it is to shoot yourself out of chat 16:14 < Assa> i will add mouse1, mouse2 and space 16:14 <@Dune> space?? 16:14 < Assa> *not space 16:14 <@Dune> haha 16:14 < Assa> I see my mistake xD 16:23 < rand> you can also replace MAX_PLAYERS by MAX_CLIENTS in variables.h 16:23 < Assa> unspeakable side effect, i am not sure if everything would work well then 16:24 < bridge> [teeworlds] Btw Dune, the demo details always start maximized when you open the client so no one will not see them 16:24 <@Dune> oh I reviewed the code and thought it defaulted to 0 16:24 <@Dune> should have tested :) 16:24 <@Dune> my bad 16:24 < bridge> [teeworlds] static bool s_DemoDetailsActive = true; 16:24 < bridge> [teeworlds] No prob :p 16:25 < bridge> [teeworlds] I have more changes to the demo list coming in the next few days 16:25 <@Dune> cool :) 16:25 < rand> Assa: well, atm, it is enough since MAX_PLAYERS is only use for clamping or to check vanilla servers 16:32 < Assa> oh you are right :o 16:56 < Assa> how do i call methods in gameclient from the menu? 16:57 < Learath2> Assa: the menu is a component 16:58 < Assa> yes, and i want to call a function in another component 16:59 < Learath2> You said you need to call the gameclient, every CComponent has a pointer to the game client (m_pClient) 16:59 <@Dune> you can probably access the client from that component 16:59 <@Dune> Teeworlds' encapsulation is... a bit weak :D 16:59 < Learath2> (Every registered component that is) 16:59 <@heinrich5991> `Client()` is the way to go 16:59 < Assa> m_pClient->m_pChat->DoStuff() is not working 17:00 < Assa> 'incomplete pointer m_pChat' 17:00 <@heinrich5991> sounds like you need to #include the declaration of `CChat` in the cpp file you're currently editing 17:02 < Learath2> the across component access sounds like you are doing sth wrong(tm) though :) 17:03 < Assa> what @heinrich said was right 17:03 < Learath2> sure 17:03 < Assa> yes, its not nice how I do that, but I want to call a function in chat on disconnect 17:03 < Assa> And I didn't find a better place, then the ingame menu 17:04 <@heinrich5991> `OnStateChange` sounds like the way to go 17:04 < Assa> which cpp? 17:04 < Learath2> CChat 17:05 < Assa> ah obviously 17:05 < Assa> yeah, this would make totally sense xD 17:12 < Assa> thank you, everything works fine <3 17:46 <@Dune> Assa, bnet games even have visual effects for it :) https://puu.sh/DmrOF/6d2e419be3.jpg 18:05 <@heinrich5991> Assa: are they not? 18:06 < Assa> @Dune do you want me to do the full program? Resuming with chat button, doing a label for that 18:07 <@Dune> probably best to wait for Oy's input :) 18:09 < Assa> @heinsirch: should i reproduce and post a picture? 18:10 <@Dune> that's a neat nickname 18:12 < Assa> gameclient.cpp #L151ff probably all are missing Localizations 18:15 <@Dune> yeah should be added as far as I can tell 18:15 <@Dune> there is also https://github.com/teeworlds/teeworlds-translation/issues/71 18:16 <@heinrich5991> Assa: nah, if you experienced it, it's fine 18:50 < Learath2> Assa: what are you making btw? 19:03 < Assa> do you mean my feature for teeworlds or my last server mod? 19:09 < Assa> teeworlds feature: You can go out of chat with mouse1/mouse2, things you wrote won't be deleted 19:10 < Assa> I am just waiting for a response for @Oy, since you could do some visual stuff, too 19:12 < Assa> @Dune: would a flag for home hosted vs real hosted servers be usefull? 19:12 <@heinrich5991> I think most of the servers are hosted anyway 19:13 <@Dune> yeah, almost all of them I think 19:13 <@Dune> I don't think that would be too useful (and you would need admins to set that) 19:17 < Oy> Assa: what's the question? 19:20 <@heinrich5991> how to do the "don't drop the chat line" feature 19:20 <@heinrich5991> should it be bare-bones, or should it leave the chat message grayed out like on bnet: https://puu.sh/DmrOF/6d2e419be3.jpg 19:21 <@Dune> https://github.com/teeworlds/teeworlds/pull/2123 19:34 < Assa> @Dune @Oy I think a visual touch would be very nice for the chat feature 20:07 < Learath2> Assa: ooh, cool idea :) 20:09 < Teeworlds> [teeworlds] oy pushed 3 commits to branch master: 20:09 < Teeworlds> • clavinet (eda6114): Delete sfx_msg-client.wv 20:09 < Teeworlds> • clavinet (70f4d48): Add files via upload… 20:09 < Teeworlds> • oy (b2355d1): Merge pull request #2125 from clavinet/master… 20:10 < Oy> Assa: what kinda visual touch? 20:10 <@Dune> what heinrich mentioned 20:11 < Oy> always show that? 20:17 <@Dune> yeah, when there is a message that was "soft cancelled" 20:18 <@Dune> can put a 30s timer or something on it 20:18 < Teeworlds> [teeworlds] oy pushed 6 commits to branch master: 20:18 < Teeworlds> • AssassinTee (9df4f03): Added chat buffer, now memorizes chat 20:18 < Teeworlds> • AssassinTee (02f9d10): you can now fire/hook out of chat, the text will be saved 20:18 < Teeworlds> • AssassinTee (35f7cf1): Added ClearChatBuffer-method; it is called when the client disconnects in OnStateChange 20:18 <@Dune> basically lower alpha 20:18 <@Dune> gj, Assa, that was fast :) 20:19 < Assa> I think we really should do a "soft chat render" when a message is "soft cancelled" 20:20 < Assa> with lower alpha, no history and stuff 20:20 < Assa> A Timer sounds good, too ^^ 20:21 < Oy> probably not the whole text 20:21 <@Dune> you want to truncate the text that was being typed? 20:23 < Assa> I think Oy just want the truncated stuff to be displayed, like "This is a very very long sentence" to "This is a ..." 20:23 <@Dune> by the way there is a crash when you cancel a map download and rejoin the server, but very strangely the steps to reproduce it only work when I'm not using my debugger, so I can't trace anything :( 20:23 < Oy> well you can write more than one line, lots of blocking 20:23 < Oy> it's just a remonder that there'S´s still a message to finish 20:23 < Assa> ^.^ 20:23 < Assa> I will play with it 20:24 <@Dune> http://puu.sh/Dmvpf/8eb9a40071.png 20:24 < Oy> yeah 20:24 < Oy> blocks a lot 20:24 < Oy> or maybe just show the chat image? 20:24 < Assa> this is true ^^ 20:25 <@Dune> Can add ... and truncate. I think it's fine either way (it should be a temporary interruption, you don't play a match liek that) 20:25 < bridge> [teeworlds] with the last pr is it still possible to cancel chat with escape? 20:25 <@Dune> should be 20:25 <@Dune> right Assa? 20:25 < Oy> yeah 20:25 < Oy> just doesn't cancel on mouse1/2 20:25 < Oy> and map change 20:25 <@Dune> (mouse1/2 didn't do anything before) 20:25 < Assa> i am not sure about mapchange 20:25 < Assa> did you test that? 20:26 < Oy> code looks that way 20:26 <@Dune> lemme pull again 20:26 < bridge> [teeworlds] okay 20:26 < Assa> if OnStateChange is called, it will be lost on map change 20:26 < Oy> just changes to state_loading 20:27 < Oy> and then ingame again 20:27 < Oy> Dune: so it happens just in release? 20:27 < Assa> if state_loading <= STATE::CONNECTING, then it will be cleared 20:28 < Oy> yeah 20:28 <@Dune> mapchange keeps chat for m 20:28 <@Dune> mapchange keeps chat for me 20:28 < Assa> nice 20:32 < Oy> Dune: was that a map using the new sha256 hash? 20:32 < Assa> wtf is that render function in chat 20:34 <@Dune> not sure 20:35 <@Dune> I think not, the server said 0.7.2 20:35 <@Dune> TeeSlayer, your 0.7.2 ddrace servers didn't cherry pick anything after 0.7.3 right 20:35 < Assa> i have a bug, i find servers under Local servers, that aren't in my lan 20:37 <@Dune> your neighbors host teeworlds :D 20:38 <@Dune> you can see their IP and check that it isn't yours? 20:38 < Assa> when I find 10+ servers, yes 20:38 <@Dune> that sounds hard to reproduce 20:38 < Assa> i spawned my own local server, and everything seems normal now 20:39 <@Dune> clicking on those servers sent you to your local serverN 20:39 <@Dune> ? 20:39 < Assa> I managed to reproduce it 20:39 < Assa> br_max_request 1 20:39 < Assa> Refresh gloab 20:40 < Assa> switch to Local 20:40 < Assa> spam refresh 20:40 < Assa> it says -7300% loaded 20:42 < Assa> reproduced on windows, too 20:42 < Assa> with my steam client 20:42 < Assa> it only seems to happen with br_max_request 1, not with 25 21:32 < Oy> Dune: can you reproduce it all the time? 21:36 <@Dune> yes but not never with the debugger Oy 21:37 <@Dune> and never on linux 21:37 < Oy> Dune: so not on the debug version? 21:38 < Oy> 32bit and win? 21:43 <@Dune> same binaries 21:43 <@Dune> 64 bit debug windows, Oy 21:43 < bridge> [teeworlds] About Assa bug. I saw that several times, but it's gone after refresh for me 21:43 <@Dune> should open an issue even if we can't reproduce, so we remember 21:44 < Oy> Dune: add the debugger to it after the crash 21:44 < Oy> open visual studion. attach to process -> pick teeworld.exe 21:44 <@Dune> I don't know how to do that, I don't have visual studio :/ 21:44 <@Dune> need to install it I guess 21:44 < Oy> ah ok 21:53 < Assa> should we add an own ChatMode for "saving written text"? 21:53 <@Dune> that makes sense to me 21:53 <@Dune> but I'd be careful about that 21:54 <@Dune> there's gotta be a lot of places that check chatmode != CHAT_NONE 21:54 < Assa> it would make sense, on the other hand the saved text has a status, too 21:54 < Assa> when iam rendering it now, iam checking for chatmode == CHAT_NONE 21:54 < Assa> and m_BufferChatMode != CHAT_NONE 21:57 <@Dune> why not 22:06 < Oy> hm, why is the nethash not the one in src/game/generated/nethash.cpp? 22:08 < Mark__> hello 22:15 < Assa> how do I end a programm of unix, when Strg C is not working 22:15 <@heinrich5991> try ctrl-z and then enter "kill %1" 22:15 < Assa> kill didn't work either 22:15 <@heinrich5991> kill -KILL will probably work 22:16 < Assa> i can only do it in the background 22:16 < Assa> but then i can't find the process 22:16 <@heinrich5991> know the process name? 22:16 < Assa> teeworlds 22:16 <@heinrich5991> is it in a debugger? 22:16 < Assa> no 22:17 <@heinrich5991> killall -KILL teeworlds 22:17 < Assa> thank you ^.^^ 22:17 < Assa> how do I str_copy a bigger string in a smaller one (truncate the rest? 22:18 <@heinrich5991> just use `str_copy` 22:18 <@heinrich5991> it truncates 22:23 < Assa> I wonder why my code crashes then 22:27 <@Dune> you gave the wrong size to str_copy? 22:27 <@Dune> if you ever wonder why the code crashes, look at the trace? 22:27 < Assa> char text[29]; str_copy(text, input, sizeof(text)); 22:28 < Assa> the thing is, it is not crashing, it is running into an endless loop 22:28 <@Dune> that's weird 22:28 <@Dune> doesn't sound like an issue with str_copy 22:30 < Assa> it crashes exactly, when input is bigger then text 22:30 <@Dune> so it crashes, not loop? 22:30 < Assa> it loops 22:31 <@Dune> so you don't see a crash (on linux?) 22:31 <@Dune> it just stalls 22:32 < Assa> yes 22:32 < Assa> client freezes 22:33 <@Dune> well gotta figure what loop loops indefinitely cause that's probably not in str_copy 22:33 <@Dune> or is it? 22:34 < Assa> I am just failing to truncate a string ... feels bad 22:40 <@matricks> break/dump the client when it freezes? 22:41 < Assa> I found it: it failed later in TextEx 22:41 < Assa> and was running and endless loop there oO 22:44 <@Dune> break and open a debugger to look at what's going on 22:45 <@matricks> yeah, just attach gdb or start via gdb 22:47 < Assa> the string I entered was shorter then the length I was giving in the function 22:48 < Assa> so try TextEx(&Cursor, "test", 42) 22:50 <@Dune> well it was reading some random memory stuff, that can't go too well :) 23:09 < Assa> https://i.imgur.com/Jm2HnBN.png 23:09 < Assa> take a look at the chat ;) 23:13 <@heinrich5991> +1 :) 23:19 < Teeworlds> [teeworlds] oy pushed 1 commit to branch master: 23:19 < Teeworlds> • oy (37a5dfc): made the nethash check less restrictive. closes #2121 23:19 <@Dune> I think it's too dark 23:20 <@Dune> what does it give for other chat modes? 23:20 <@Dune> changing the alpha only might be better 23:22 <@Dune> I would replace the CHAT/TEAMCHAT/WHISPER thing with the keybind, following the pattern of the callvote 23:22 <@Dune> the original screenshot from the idea suggestion says "Press Enter to resume chatting" 23:32 < Assa> it is not finished yet 23:33 < Assa> i wanted to replace the CHAT/TEAMCHT/WHISPER with the corresponding button, but i don't know how to get button names yet 23:33 <@Dune> check out how it's done with votes 23:57 < Assa> https://imgur.com/a/VcMYW2d 23:57 < Assa> 3 images ^.^