01:14 < minus> yo, who the fuck is signing up forum@teeworlds.com for blogs 01:18 <@Dune> that's what it's like to make free games targeted to children huh 15:39 < ChillerDragon> there is no way for a client component to do something when the client quits right? can we get a opposte to OnInit something like OnQuit here https://github.com/teeworlds/teeworlds/blob/f743aa1efd7f6c6b411a0639fa954d3cbd482de5/src/game/client/component.h#L36-L47 15:40 < bridge> [teeworlds] what about destructor 15:40 < bridge> [teeworlds] we should add it if there is a use for it 15:40 < ChillerDragon> oh yea 15:41 < ChillerDragon> destructor is a good idea thanks :) 15:41 < bridge> [teeworlds] :) 15:42 < ChillerDragon> ah lol i just realized i dont need it :D 15:42 < ChillerDragon> but still good to know :D 15:42 < bridge> [teeworlds] nice 17:22 <@heinrich5991> ChillerDragon: does OnStateChange work? 17:22 <@heinrich5991> I think it has a state QUITTING or so 17:23 < ChillerDragon> i also thought about that but did not test anyways destructor is fine i guess also i dont need it :D 17:23 < ChillerDragon> but heinrich5991 since your here any advice on how to do file encryption in tw code? 17:24 < ChillerDragon> totally not creating ransomware clients here 17:25 <@heinrich5991> well, what are you trying to achieve with encryption? 17:25 <@heinrich5991> who do you want to protect against? 17:25 < ChillerDragon> password manager 17:25 < ChillerDragon> for rcon pws etc 17:25 <@heinrich5991> for a master password? 17:25 < ChillerDragon> ye 17:26 < ChillerDragon> well user enters master pw and then it unlocks the file 17:26 < ChillerDragon> classic i guess 17:26 < ChillerDragon> file contains all the rcon pws 17:26 < ChillerDragon> can i use any crypto we already have in the codebase? 17:28 < bridge> [teeworlds] do we have any crypto? 17:28 < ChillerDragon> well we have the sha thingys 17:28 < ChillerDragon> idk baut crypto 17:28 < ChillerDragon> isnt openssl crypto 17:28 < ChillerDragon> https://github.com/teeworlds/teeworlds/blob/master/CMakeLists.txt#L369 19:35 <@heinrich5991> ChillerDragon: libsodium would probably work well 19:35 < ChillerDragon> its not in tw code i guess? 19:35 <@heinrich5991> not yet 19:35 < ChillerDragon> :D ? 19:36 < ChillerDragon> i would like my code to be portable as a client module that can be slapped into any codebase im sure it should work with openssl which is in tw and ddnet 19:37 <@heinrich5991> openssl is in teeworlds? 19:37 < ChillerDragon> ye 19:37 < ChillerDragon> https://github.com/teeworlds/teeworlds/blob/f743aa1efd7f6c6b411a0639fa954d3cbd482de5/CMakeLists.txt#L369 19:37 < ChillerDragon> or am i reading this wrong? 19:37 < ChillerDragon> didnt u put it there? 19:38 <@heinrich5991> this is using the crypto functions from openssl if they're available 19:38 <@heinrich5991> i.e. probably only on linux 19:38 < ChillerDragon> hm 19:38 < ChillerDragon> and what was that mysterious "not yet" 19:39 < ChillerDragon> any plans on adding libsodium? 19:40 < bridge> [teeworlds] no. but you could add it 19:40 < ChillerDragon> wat? xd 19:40 < ChillerDragon> this is a feature for my custom client because ddnet said no way this is getting in ddnet 19:40 < ChillerDragon> are you saying i should pr it for vanilla? :D 19:41 < bridge> [teeworlds] is there anything we want crypto for in teeworlds? 19:42 <@heinrich5991> no, I meant that you could add it to the project you're doing 19:44 < ChillerDragon> im not rly interested in touching other files than my component to make merges less struggle 19:45 < ChillerDragon> yea ill see i think plaintext is fine for now :D maybe some day ill give openssl another try it somewhat worked already 19:45 <@heinrich5991> writing a sensible crypto algorithm with openssl without being a seasoned cryptographer is probably tough 19:46 <@heinrich5991> might as well use plain text 19:46 < ChillerDragon> ye 19:46 <@heinrich5991> wdym by "plain text" btw. some interoperable file format or "I'll just roll my own"? :P 19:46 < ChillerDragon> i wonder why crypto is hard if already using a lib to do all the work 19:47 < ChillerDragon> i use comma seperated txt files currently 19:47 < ChillerDragon> one could call it following the CSV "standard" :D 19:47 <@heinrich5991> how do you deal with commas in fields? 19:47 <@heinrich5991> ^^ 19:47 < ChillerDragon> i don't have commas in the fields :P 19:47 < ChillerDragon> hostname,dummy,password 19:48 <@heinrich5991> password can't have commas? 19:48 < ChillerDragon> i parse 2 commas and then im done password could contain commas but i ignore them 19:48 < ChillerDragon> it can 19:48 <@heinrich5991> ok, so not csv 19:48 < ChillerDragon> yea 19:49 <@heinrich5991> you could implement csv by double-quoting the field if it contains a comma or a double-quote, and replacing double-quotes with two double-quotes 19:49 < ChillerDragon> ik 19:49 < ChillerDragon> but why would i 19:49 <@heinrich5991> to have a standard file format 19:49 < ChillerDragon> sounds like a lot of work and complexity and more ways to fuck it up 19:49 < ChillerDragon> why do i profit from a standard file format 19:50 <@heinrich5991> easier to read from other implementations 19:50 < ChillerDragon> yes 19:50 <@heinrich5991> easier to extend if you need more fields 19:50 < ChillerDragon> it still easy 19:50 < ChillerDragon> also no need for other implementations 19:51 < ChillerDragon> in all these easy script languages following standards is fun but in c++ meh 19:51 <@heinrich5991> well then c++ sucks I guess 19:51 < ChillerDragon> oof 19:52 <@heinrich5991> (note that there's a partial implementation of csv in ddnet already; writing is implemented) 19:52 < ChillerDragon> oh wow why? 19:52 <@heinrich5991> ddnet-saves.txt 19:52 < ChillerDragon> what is it 19:53 < ChillerDragon> passwords for /save? 19:53 < ChillerDragon> nah 19:53 <@heinrich5991> yes 19:53 < ChillerDragon> wat 19:53 < ChillerDragon> we have that? 19:53 <@heinrich5991> yes 19:53 < ChillerDragon> how to use it 19:53 <@heinrich5991> type /save anywhere 19:53 <@heinrich5991> the code is saved into the file 19:53 <@heinrich5991> done 19:53 < ChillerDragon> oh 19:53 < ChillerDragon> not bad 19:54 < ChillerDragon> thats half of my password manager already xd 22:13 < bridge> [teeworlds] @anyonewhoknowshowfuckingenvelopesworkpleaseineedinformation 22:13 < bridge> [teeworlds] 22:13 < bridge> [teeworlds] So, I wanted to know if it is possible to make a day/night cycle using envelopes that is synced between clients, no matter when the client was started, the server was joined or when the tee touched the start/finish line. 22:13 < bridge> [teeworlds] Is that possible? (Notice: My server is playable from 0.7 and 0.6 (DDNet only, not vanilla)) 22:21 < bridge> [teeworlds] make the envelope "synced" I think 22:21 < bridge> [teeworlds] @fokkonaut ^ 22:22 < bridge> [teeworlds] Would it work for 0.7? 22:22 < bridge> [teeworlds] is that some hack? 22:22 < bridge> [teeworlds] or ddnet-noly 22:22 < bridge> [teeworlds] only* 22:22 < bridge> [teeworlds] synced means it's based on server time 22:22 < bridge> [teeworlds] is it a feature that also exists in 0.7? 22:22 < bridge> [teeworlds] synced? yes 22:22 < bridge> [teeworlds] it's a TW feature IIRC 22:23 < bridge> [teeworlds] cant find it in 0.7 editor 22:23 < bridge> [teeworlds] only in ddnet 22:23 < bridge> [teeworlds] oh no 22:23 < bridge> [teeworlds] wait 22:23 < bridge> [teeworlds] i found it :D 22:23 < bridge> [teeworlds] i will try it out, thanks alot 22:37 < bridge> [teeworlds] @heinrich5991 mh, doesnt seem to work correctly. My server modifies the game start tick in order to show race time. 22:37 < bridge> [teeworlds] with Synchronized being enabled, the animation is always synced for 0.7 and 0.6 clients, but as soon as passing the start line the server resets the gamestart tick for that player of course, so its at 0:00, but it only affects 0.7 clients, as their animation will reset but DDNets animation will just continue to be synced 22:37 < bridge> [teeworlds] why is that? gamestarttick should not affect envelopes anymore, like in DDNet i think