12:48 < bridge> [teeworlds] Forum punBB Copyright says 2003-2009 is that Software maybe outdated? 12:50 < bridge> [teeworlds] https://www.cvedetails.com/vulnerability-list/vendor_id-2775/product_id-4868/year-2009/opcsrf-1/Punbb-Punbb.html 13:37 < bridge> [teeworlds] It is 14:15 < day> ChillerDragon: pls del the bot D: 14:24 < bridge> [teeworlds] z7? 14:24 < bridge> [teeworlds] u can write !disconnect in chat day 14:54 < bridge> [teeworlds] Is it possible to define something like #define `MACRO_CONFIG_INT(Name,ScriptName,def,min,max,flags,desc)`, but adding a parameter which is optional? so for example `MACRO(p1, p2, p3, pOptional)`? so i could pass 3 or 4 parameters there? 14:56 < bridge> [teeworlds] not afaik 14:56 < bridge> [teeworlds] ok thanks 14:57 < bridge> [teeworlds] Use inline functions instead? 14:57 < bridge> [teeworlds] nah 14:58 < bridge> [teeworlds] macros in C++ should really be edge cases 14:58 < bridge> [teeworlds] But: I could redefine a macro? 14:58 < bridge> [teeworlds] there aren't many reasons to use them 14:58 < bridge> [teeworlds] you can do that yes 14:58 < bridge> [teeworlds] mh 15:51 < bridge> [teeworlds] variadic arguments are possible in macros, but to me it seems like a Pain in the butt :D 15:55 < bridge> [teeworlds] sometimes the question is not whether you can do it but whether you should 16:11 < day> chillerdragon: super annoying when everyone instantly spams it anyways 16:25 < bridge> [teeworlds] :/ 16:25 < bridge> [teeworlds] you could also finally become mod and ban him hehe 16:27 < bridge> [teeworlds] can you ip ban localhost? 16:27 < bridge> [teeworlds] its not localhost 16:27 < bridge> [teeworlds] i was told thats illegal 16:27 < bridge> [teeworlds] yes but rhetorical question 16:27 < bridge> [teeworlds] u cant 16:27 < bridge> [teeworlds] i think 16:27 < bridge> [teeworlds] well its my local ip so you ban me as well xD 16:28 < bridge> [teeworlds] yes but can server work with its own ip banned 16:28 < bridge> [teeworlds] i dont think u can ban localhost at all 16:29 < bridge> [teeworlds] see wrong rcon attempts on local server 16:29 < bridge> [teeworlds] if you edit the code so that its possible it should still work 16:30 < bridge> [teeworlds] but local econ connections might fail 16:31 < bridge> [teeworlds] do you guys think i get set on some watchlist if i hit github bandwith limits this month in about 3 organisations and 4 repositorys already? 😄 21:17 < bridge> [teeworlds] what about a base64 + json container format for skins? 21:23 < bridge> [teeworlds] hm? 21:23 < bridge> [teeworlds] whats that and how does it look like @jxsl13 ? 21:24 < bridge> [teeworlds] image encoded as base64 string 21:25 < bridge> [teeworlds] text file with with some json key value pairs 21:25 < bridge> [teeworlds] ah 21:25 < bridge> [teeworlds] where the values are such a string 21:26 < bridge> [teeworlds] that would be nice so everything can be in one file. But then the image preview is lost. 21:26 < bridge> [teeworlds] yeah 21:27 < bridge> [teeworlds] kinda only for portability, for visibility one might need to import it into tw 22:30 < bridge> [teeworlds] @jxsl13 wouild prefer a common archive format for this, like zip 22:35 < bridge> [teeworlds] most people do not have a zip preview either i guess 22:35 < bridge> [teeworlds] well opening 22:35 < bridge> [teeworlds] but ye.. 22:35 < bridge> [teeworlds] most people can double-click a zip and open pictures 22:35 < bridge> [teeworlds] not so much for some weird base64-encoded pngs in a json 22:35 < bridge> [teeworlds] yea 22:36 < bridge> [teeworlds] if its a zip we could also use a simple folder xd 22:37 < bridge> [teeworlds] that cannot be shared so easily 22:37 < bridge> [teeworlds] minecraft texture packs also exist as zips (for that reason, I'd wager) 23:03 < bridge> [teeworlds] text file vs zip 23:03 < bridge> [teeworlds] anyone c++ expert? 🙂 23:03 < bridge> [teeworlds] how do I stop a destructor of a member variable from being run? 23:03 < bridge> [teeworlds] in the least awful way 23:04 < bridge> [teeworlds] I guess the least awful way would be to put it behind a pointer and manually manage its memory 23:14 < bridge> [teeworlds] why would want to stop a destructor in the first place? 23:15 < bridge> [teeworlds] because you have a class that closes its file in the destructor 23:15 < bridge> [teeworlds] you want to invoke that early, to check the file's contents afterwards 23:16 < bridge> [teeworlds] but after you close the file, the class would probably still try to close the file again in its automatically called destructor 23:18 < bridge> [teeworlds] what I meant to say, the problem can probably solved before having to cancel a destructor 23:18 < bridge> [teeworlds] sure, I'm open to that 23:18 < bridge> [teeworlds] my best guess was the solution above 23:19 < bridge> [teeworlds] it's okayish, but requires an unnecessary allocation, but it's fine in this case 23:27 < bridge> [teeworlds] make member a pointer 23:28 < bridge> [teeworlds] yea, what I thought https://discordapp.com/channels/407308363031117832/490150878934990850/671475655149617173 23:28 < bridge> [teeworlds] > it's okayish, but requires an unnecessary allocation, but it's fine in this case