01:31 <+bridge> [ddnet] anyone fancy writing a script to check our variable name convention? 01:32 <+bridge> [ddnet] I got a script that outputs the following: https://gist.github.com/heinrich5991/4b8076514dc94004e3c1660fe8bb1286 01:32 <+bridge> [ddnet] the "only" thing that remains is checking the variable names against our scheme 05:00 <+bridge> [ddnet] @heinrich5991 I'd guess so, but is the bug fixed? 05:18 <+bridge> [ddnet] ddnet 0.7 .. need setting up server.cpp for server config ? 05:52 <+bridge> [ddnet] got no config for 0.7 autoconfig.cfg is working but whats in there .. server is crashing by sv_name "DDRace Test Server" 06:02 <+bridge> [ddnet] What autoconfig.cfg i need for DDNet 0.7 Server? 06:03 <+bridge> [ddnet] Its crashing with the normal one @ sv_name 06:23 <+bridge> [ddnet] ok think the map was the problem .. idk 06:23 <+bridge> [ddnet] maybe you need a map in your maps folder? 06:23 <+bridge> [ddnet] no but the map was incompatible πŸ˜„ 06:23 <+bridge> [ddnet] Cant 06:23 <+bridge> [ddnet] it was a 0.6 map .. with kobra is now working 06:24 <+bridge> [ddnet] 0.6 map == 0.7 map 06:24 <+bridge> [ddnet] then idk why crashing 06:24 <+bridge> [ddnet] The Kobra 4 map I put in there is also 0.6 06:24 <+bridge> [ddnet] Maybe you didnt write sv_map "you map.map"? 06:24 <+bridge> [ddnet] i did 06:24 <+bridge> [ddnet] show me the Output 06:25 <+bridge> [ddnet] ``` 06:25 <+bridge> [ddnet] [2019-09-25 06:25:24][server]: starting... 06:25 <+bridge> [ddnet] [2019-09-25 06:25:24][datafile]: loading. filename='maps/ApaexV1.map' 06:25 <+bridge> [ddnet] [2019-09-25 06:25:24][datafile]: allocsize=1388 06:25 <+bridge> [ddnet] [2019-09-25 06:25:24][datafile]: readsize=1124 06:25 <+bridge> [ddnet] [2019-09-25 06:25:24][datafile]: swaplen=1144 06:25 <+bridge> [ddnet] [2019-09-25 06:25:24][datafile]: item_size=876 06:25 <+bridge> [ddnet] [2019-09-25 06:25:24][datafile]: loading done. datafile='maps/ApaexV1.map' 06:25 <+bridge> [ddnet] [2019-09-25 06:25:24][datafile]: loading data index=8 size=2644 uncompressed=2644 06:25 <+bridge> [ddnet] [2019-09-25 06:25:24][datafile]: loading data index=9 size=10796 uncompressed=10796 06:25 <+bridge> [ddnet] [2019-09-25 06:25:24][datafile]: loading data index=10 size=9424 uncompressed=9424 06:26 <+bridge> [ddnet] [2019-09-25 06:25:24][datafile]: loading data index=11 size=5460 uncompressed=5460 06:26 <+bridge> [ddnet] [2019-09-25 06:25:24][datafile]: loading data index=12 size=8988 uncompressed=8988 06:26 <+bridge> [ddnet] [2019-09-25 06:25:24][datafile]: loading data index=13 size=2500 uncompressed=2500 06:26 <+bridge> [ddnet] [2019-09-25 06:25:24][server]: maps/ApaexV1.map sha256 is 3a56eb8dd1d0584b9f6e809eeed9df441a076e90f1d03a486fedf46bf4d3b03b 06:26 <+bridge> [ddnet] [2019-09-25 06:25:24][server]: maps/ApaexV1.map crc is b654c9a4 06:26 <+bridge> [ddnet] [2019-09-25 06:25:24][server]: server name is 'LeL' 06:26 <+bridge> [ddnet] ``` 06:26 <+bridge> [ddnet] thats it 06:29 <+bridge> [ddnet] nothing more? 06:30 <+bridge> [ddnet] Can you send me the map so I can look into it later? 06:30 <+bridge> [ddnet] What client did you edit the map with? 06:31 <+bridge> [ddnet] i edit with normal client teeworlds 0.7.3.1 06:31 <+bridge> [ddnet] yes i can .. i tried with flags and without flags idk 06:32 <+bridge> [ddnet] Can you try to save it with ddnet client? 06:32 <+bridge> [ddnet] okay 06:32 <+bridge> [ddnet] 0.6er 06:32 <+bridge> [ddnet] ? 06:32 <+bridge> [ddnet] yes 06:32 <+bridge> [ddnet] ok wait 06:33 <+bridge> [ddnet] ok map doesent show anything πŸ˜„ 06:33 <+bridge> [ddnet] lel 06:33 <+bridge> [ddnet] Lol 06:33 <+bridge> [ddnet] So thats the issue 06:34 <+bridge> [ddnet] Your map is broken 06:34 <+bridge> [ddnet] The maps should normally work for both clients, both should be able to open them. 06:35 <+bridge> [ddnet] ahh okay yes now i tried with new save and yes it works server is running πŸ˜„ 06:35 <+bridge> [ddnet] ``` 06:35 <+bridge> [ddnet] 06:35 <+bridge> [ddnet] sv_port 8303 06:35 <+bridge> [ddnet] sv_name "LeL" 06:35 <+bridge> [ddnet] password "" 06:35 <+bridge> [ddnet] sv_rcon_password "26071995" 06:35 <+bridge> [ddnet] sv_rcon_mod_password "" 06:35 <+bridge> [ddnet] sv_map "Apaex" 06:35 <+bridge> [ddnet] sv_register 1 06:35 <+bridge> [ddnet] logfile "autoexec_server.log" 06:35 <+bridge> [ddnet] sv_score_folder "records" 06:35 <+bridge> [ddnet] sv_max_clients 64 06:35 <+bridge> [ddnet] sv_max_clients_per_ip 4 06:35 <+bridge> [ddnet] sv_tournament_mode 0 06:35 <+bridge> [ddnet] sv_pauseable 0 06:35 <+bridge> [ddnet] sv_rescue 1 06:35 <+bridge> [ddnet] sv_rescue_delay 5 06:35 <+bridge> [ddnet] sv_rank_cheats 1 06:35 <+bridge> [ddnet] sv_motd "Testserver with DDraceNetwork Features!\nDon't forget to check server rules by using /rules" 06:35 <+bridge> [ddnet] sv_tune_reset 1 06:35 <+bridge> [ddnet] sv_ddrace_tune_reset 1 06:36 <+bridge> [ddnet] ``` 06:36 <+bridge> [ddnet] u think thats enough? 06:36 <+bridge> [ddnet] Why shouldnt it be? 06:36 <+bridge> [ddnet] ``` 06:36 <+bridge> [ddnet] 06:36 <+bridge> [ddnet] sv_port 8303 06:36 <+bridge> [ddnet] sv_name "LeL" 06:36 <+bridge> [ddnet] password "" 06:36 <+bridge> [ddnet] sv_rcon_password "" 06:36 <+bridge> [ddnet] sv_rcon_mod_password "" 06:36 <+bridge> [ddnet] sv_map "Apaex" 06:36 <+bridge> [ddnet] sv_register 1 06:36 <+bridge> [ddnet] logfile "autoexec_server.log" 06:36 <+bridge> [ddnet] sv_score_folder "records" 06:36 <+bridge> [ddnet] sv_max_clients 64 06:36 <+bridge> [ddnet] sv_max_clients_per_ip 4 06:36 <+bridge> [ddnet] sv_tournament_mode 0 06:36 <+bridge> [ddnet] sv_pauseable 0 06:36 <+bridge> [ddnet] sv_rescue 1 06:36 <+bridge> [ddnet] sv_rescue_delay 5 06:36 <+bridge> [ddnet] sv_rank_cheats 1 06:36 <+bridge> [ddnet] sv_motd "Testserver with DDraceNetwork Features!\nDon't forget to check server rules by using /rules" 06:36 <+bridge> [ddnet] sv_tune_reset 1 06:36 <+bridge> [ddnet] sv_ddrace_tune_reset 1 06:36 <+bridge> [ddnet] ``` 06:36 <+bridge> [ddnet] Irc saves your edited message, should change your rcon password 06:36 <+bridge> [ddnet] its not my pw πŸ˜„ 06:36 <+bridge> [ddnet] Then why did you change it? xd 06:37 <+bridge> [ddnet] looks nicer πŸ˜„ 07:09 <+bridge> [ddnet] irc spam = spam^2 09:41 <+bridge> [ddnet] @heinrich5991 gimme the script that outputs that, I'll finish it up 10:41 <+bridge> [ddnet] @LeL i did upload some broken maps initially, sorry about that 10:41 <+bridge> [ddnet] but the maps in http://maps.ddnet.tw/compilations/maps7.zip should be fine now 10:41 <+bridge> [ddnet] btw, I'll probably not find time to implement sql in ddnet7 soon :/ 10:42 <+bridge> [ddnet] that's a blocker for running a few official servers with it 10:47 <+bridge> [ddnet] didn't chiller say he'd do sql? 10:48 <+bridge> [ddnet] chiller said he stopped doing it 10:52 <+bridge> [ddnet] @Learath2 https://gist.github.com/heinrich5991/2ad5bdd9c7013b31ee1759858bec6c8a 10:53 <+bridge> [ddnet] personally would prefer if we keep the script two-part, one for extracting, one for checking 12:38 <+bridge> [ddnet] @heinrich5991 hmm, I was hoping to use libclang actually 12:39 <+bridge> [ddnet] well, I guess I could first extract the info 12:39 <+bridge> [ddnet] then check 12:41 <+bridge> [ddnet] I really don't enjoy working with csv files though 13:06 <+bridge> [ddnet] Is there any way to bypass Windows smartscreen on Win8? If you dont have admin pw? 13:07 <+bridge> [ddnet] Normal TW starts but ddnet.exe will be blocked 13:36 <+bridge> [ddnet] I wonder what we are doing that brings up the prompt 14:32 <+bridge> [ddnet] @heinrich5991 I'm having some trouble getting python to find my libclang 14:32 <+bridge> [ddnet] any tips? πŸ˜› 14:47 <+bridge> [ddnet] @Learath2 LD_LIBRARY_PATH? 14:50 <+bridge> [ddnet] Yeah had to force it with LD_LIBRARY_PATH, I guess it's some osx shenanigans with xcode providing it's own llvm 14:50 <+bridge> [ddnet] well it's DYLD_.... in osx 15:06 <+bridge> [ddnet] no idea about macos tbh 15:07 <+bridge> [ddnet] @Learath2 python has quite nice csv support 15:07 <+bridge> [ddnet] I thought I had extracted all the interesting information from the libclang stuff already 15:07 <+bridge> [ddnet] the rest that remains should be mostly string operations(?) 15:09 <+bridge> [ddnet] When will be the texture change option be added in ddnet? 15:09 <+bridge> [ddnet] Like the opensource client AllTheHaxx has? https://allthehaxx.github.io 15:09 <+bridge> [ddnet] Would be cool, because ddnet has so many options to change but texture is like the only thing you cant ingame (would be faster and easier too) 15:09 <+bridge> [ddnet] would be really nice 15:10 <+bridge> [ddnet] pls dont link to hax clients xd 15:10 <+bridge> [ddnet] oh ok 15:11 <+bridge> [ddnet] wait is ath a hack client 15:11 <+bridge> [ddnet] borderline 15:11 <+bridge> [ddnet] depends on the mode and how they use it 15:11 <+bridge> [ddnet] oh ok 15:11 <+bridge> [ddnet] just linked it because it is open source and has the texture change option 15:12 <+bridge> [ddnet] yeah it has a few nice features i wish theyd add to ddnet lol 15:12 <+bridge> [ddnet] i dont really use it but i like some things yea 15:13 <+bridge> [ddnet] i dont (+cant) use it either but ive heard it has translator built in? 15:13 <+bridge> [ddnet] ye 15:13 <+bridge> [ddnet] ye thats cool xd 15:13 <+bridge> [ddnet] using which api? 15:14 <+bridge> [ddnet] curl_easy_setopt(m_pHandle, CURLOPT_URL, "http://api.mymemory.translated.net/get"); 15:14 <+bridge> [ddnet] just looked at the code for it lol 15:14 <+bridge> [ddnet] also people tell me it has copy/paste from f2 which would be nice in ddnet too 15:15 <+bridge> [ddnet] oh did not know that lol 15:15 <+bridge> [ddnet] i might be mis remembering/confusing it with another client 15:16 <+bridge> [ddnet] xd 15:16 <+bridge> [ddnet] also the reaosn it is considered hack client is usually because it allows zoomout in modes where that isnt allowed 15:16 <+bridge> [ddnet] @heinrich5991 is there an easy way to unpack a dict? 15:24 <+bridge> [ddnet] what do you mean, unpack? 15:24 <+bridge> [ddnet] from what? to what? 15:24 <+bridge> [ddnet] @Learath2 15:24 <+bridge> [ddnet] dick* 15:24 <+bridge> [ddnet] I want to unpack everything in a dict as local variables 15:25 <+bridge> [ddnet] I'm doing `a, b, c, d = dict` right now, is there a better way? 15:25 <+bridge> [ddnet] wtf 15:26 <+bridge> [ddnet] that doesn't work(?) 15:26 <+bridge> [ddnet] that will only get you the keys 15:27 <+bridge> [ddnet] does it work at all 15:27 <+bridge> [ddnet] yes, I just tried 15:28 <+bridge> [ddnet] https://stackoverflow.com/q/17755178 15:32 <+bridge> [ddnet] yeah, doesn't really work does it, I was thinking of js 15:33 <+bridge> [ddnet] polluting the local namespace with stuff from user input sounds dangerous anyway πŸ˜› 15:34 <+bridge> [ddnet] @heinrich5991 How best to handle these? `{'file': '../src/game/server/entities/character.cpp', 'line': '782', 'kind': 'variable', 'type': 'mu', 'name': 'u'}` 15:35 <+bridge> [ddnet] I was thinking of just ignoring things inside a union but that sounds too broad 15:35 <+bridge> [ddnet] I think we allow one-character variable names in a few placess 15:35 <+bridge> [ddnet] maybe add a comment above declarations that can ignore style? `//@ignore-style`? 15:35 <+bridge> [ddnet] (and it doesn't have to accept the current source either, just most of it) 15:35 <+bridge> [ddnet] yes, we can do that if you want 15:35 <+bridge> [ddnet] *I 15:35 <+bridge> [ddnet] *I can do that if you want 15:36 <+bridge> [ddnet] Re: `[4:35 PM] heinrich5991: I think we allow one-character variable names in a few placess` we should either get a nice rule for this or do ignore-style 15:37 <+bridge> [ddnet] oh yea, inside unions is probably bad, you're right 15:38 <+bridge> [ddnet] btw I added the u to type, but I'm not sure if we should ignore style in all unions 15:38 <+bridge> [ddnet] Can you think of somewhere where we'd need to mark union members with m_? 15:39 <+bridge> [ddnet] hm no 15:39 <+bridge> [ddnet] apparently all our union members have one-character identifiers 15:39 <+bridge> [ddnet] also your script misses `{'file': '../src/game/server/entities/projectile.cpp', 'line': '171', 'kind': 'variable', 'type': 'p', 'name': 'apEnts'}`Β and multiple levels of indirection 15:39 <+bridge> [ddnet] I guess that's a rule πŸ˜› 15:39 <+bridge> [ddnet] @heinrich5991 so allow single character lowercase members inside unions? 15:39 <+bridge> [ddnet] yes 15:41 <+bridge> [ddnet] @Learath2 you mean it doesn't give me that variable declaration? 15:41 <+bridge> [ddnet] hmmmmm 15:41 <+bridge> [ddnet] It gives that declaration but the a is justified 15:41 <+bridge> [ddnet] yet it doesn't report type a 15:41 <+bridge> [ddnet] uh 15:41 <+bridge> [ddnet] let me check that 15:42 <+bridge> [ddnet] works for meβ„’ 15:42 <+bridge> [ddnet] `../ddnet/src/game/server/entities/projectile.cpp,171,16,variable,Tick,ap,apEnts` 15:43 <+bridge> [ddnet] probably version difference in libclang I guess? 15:43 <+bridge> [ddnet] I got `clang --version` as `clang version 8.0.1 (tags/RELEASE_801/final)` 15:44 <+bridge> [ddnet] `clang version 9.0.0 (tags/RELEASE_900/final)` 15:44 <+bridge> [ddnet] damn you πŸ˜› 15:44 <+bridge> [ddnet] I doubt that's it though 15:45 <+bridge> [ddnet] why do we get different results though? 15:45 <+bridge> [ddnet] well could you get clang9 to check? 15:46 <+bridge> [ddnet] I don't have the internet to grab clang 8 πŸ˜› 15:46 <+bridge> [ddnet] not right now 15:47 <+bridge> [ddnet] I'll output the typekind directly to see what's throwing it off 15:47 <+bridge> [ddnet] the debug output is useless btw 15:47 <+bridge> [ddnet] not of .kind though 15:47 <+bridge> [ddnet] but it only tells you the first indirection 15:47 <+bridge> [ddnet] aaahhh 15:47 <+bridge> [ddnet] it probably has a different type for array now 15:48 <+bridge> [ddnet] yeah that's what I'm thinking 15:48 <+bridge> [ddnet] clang 9 not yet in arch repositories :< 15:48 <+bridge> [ddnet] otherwise it would be easy to update 15:50 <+bridge> [ddnet] oh wait 15:50 <+bridge> [ddnet] ? 15:50 <+bridge> [ddnet] `../src/game/server/entities/projectile.cpp,171,16,variable,Tick,p,apEnts` I guess I'm the one messing up? 15:50 <+bridge> [ddnet] sorry 😦 15:51 <+bridge> [ddnet] what do you mean? 15:51 <+bridge> [ddnet] oh, I'm just blind 15:51 <+bridge> [ddnet] what is wrong with me today, that still looks broken πŸ˜„ 15:51 <+bridge> [ddnet] yes 15:53 <+bridge> [ddnet] @Learath2 I wonder how it gets to the pointer though, I mean that's the second indirection 15:54 <+bridge> [ddnet] oh, that means that it's the first indirection for the script 15:54 <+bridge> [ddnet] that sounds wrong 15:55 <+bridge> [ddnet] ```POINTER 15:55 <+bridge> [ddnet] ../src/game/server/entities/projectile.cpp,171,16,variable,Tick,p,apEnts``` 15:55 <+bridge> [ddnet] hmm 15:55 <+bridge> [ddnet] that broke a line 15:55 <+bridge> [ddnet] it's ``` 15:55 <+bridge> [ddnet] POINTER 15:55 <+bridge> [ddnet] ../src/game/server/entities/projectile.cpp,171,16,variable,Tick,p,apEnts``` 15:55 <+bridge> [ddnet] but why? 15:55 <+bridge> [ddnet] is that a bug? 15:56 <+bridge> [ddnet] what's the inner type? 15:56 <+bridge> [ddnet] INT 15:56 <+bridge> [ddnet] sounds like it's erroring out 15:56 <+bridge> [ddnet] some libclang bug? 15:57 <+bridge> [ddnet] it doesn't show errors for some reason 15:57 <+bridge> [ddnet] try just compiling the file with clang 15:57 <+bridge> [ddnet] ohhh 15:57 <+bridge> [ddnet] ohh 15:57 <+bridge> [ddnet] you need to be in the directory .. 15:57 <+bridge> [ddnet] I think the type pointed to is really int 15:57 <+bridge> [ddnet] @heinrich5991 really? 15:57 <+bridge> [ddnet] yes. because I pass `-Isrc` to the clang command line 15:57 <+bridge> [ddnet] for the include directories 15:58 <+bridge> [ddnet] ``` 15:58 <+bridge> [ddnet] CONSTANTARRAY 15:58 <+bridge> [ddnet] POINTER 15:58 <+bridge> [ddnet] RECORD 15:58 <+bridge> [ddnet] CONSTANTARRAY 15:58 <+bridge> [ddnet] src/game/server/entities/projectile.cpp,171,16,variable,Tick,ap,apEnts``` 15:58 <+bridge> [ddnet] That worked 15:58 <+bridge> [ddnet] nice 15:58 <+bridge> [ddnet] @heinrich5991 guess there should be a way to do this in a smarter way 15:58 <+bridge> [ddnet] maybe let the user pass the -I ? 15:59 <+bridge> [ddnet] yes, something 15:59 <+bridge> [ddnet] or figure it out yourself 15:59 <+bridge> [ddnet] by going up the tree until we reach a directory called `src`? 16:02 <+bridge> [ddnet] well it would work, but should we make this reliant on a folders name? 16:02 <+bridge> [ddnet] I think I made it teeworlds-specific somewhere else already 16:02 <+bridge> [ddnet] Also are your p's and a's in the correct order? 16:02 <+bridge> [ddnet] src/game/server/entities/projectile.cpp,171,16,variable,Tick,ap,apEnts 16:02 <+bridge> [ddnet] yes? 16:03 <+bridge> [ddnet] I'm more concerned about deeper nested ones 16:03 <+bridge> [ddnet] e.g. m_pa vs m_ap 16:03 <+bridge> [ddnet] m_paa 16:03 <+bridge> [ddnet] should be in the right order 16:03 <+bridge> [ddnet] it builds the string from the left, and has the outermost type first 16:26 <+bridge> [ddnet] https://gist.github.com/Learath2/e0ebd13d3a7aad08ca96a9e658ae28d3 @heinrich5991 16:26 <+bridge> [ddnet] here is my initial attempt πŸ™‚ 16:27 <+bridge> [ddnet] there's a DictReader that reads csvs into a dict btw πŸ˜› 16:27 <+bridge> [ddnet] looks good 16:28 <+bridge> [ddnet] looks very nice, actually πŸ™‚ 16:28 <+bridge> [ddnet] thanks! 16:37 <+bridge> [ddnet] Oh also I had to modify your script to push an u for union members 16:39 <+bridge> [ddnet] @heinrich5991 should I commit both scripts to ddnet and commit a fix for the variables? 17:19 <+bridge> [ddnet] @heinrich5991 `{'file': 'src/game/server/score/file_score.cpp', 'line': '62', 'kind': 'variable', 'type': 'm', 'name': 'MapVote'}`Β this looks wrong to me 17:19 <+bridge> [ddnet] kind is not variable 17:19 <+bridge> [ddnet] also `{'file': 'src/game/server/score/file_score.cpp', 'line': '14', 'kind': 'variable', 'type': 's', 'name': 'gs_ScoreLock'}` 17:27 <+bridge> [ddnet] also `src/game/server/entities/character.h,34,2,variable,CCharacter::operator new,,Size` 17:46 <+bridge> [ddnet] nvm the last one, is normal 17:47 <+bridge> [ddnet] updated the gist to check local variables aswell 19:44 <+bridge> [ddnet] Does teeworlds only support png files? 19:44 <+bridge> [ddnet] For Skins, mapres, emoticons etc 19:57 <+bridge> [ddnet] think so 19:57 <+bridge> [ddnet] no svg graphics engine 19:57 <+bridge> [ddnet] would be amazing tho 20:51 <@deen> you could also just use twice the resolution for pngs as an easy fix 22:03 <+bridge> [ddnet] deen: too support higher resolution or what? 22:04 <+bridge> [ddnet] svg mapres would be so nice. Because so mappers stretch their quads waaaay too big. Even in standard maps you can see that the sun has way worse resolution than the tiles for example. And doubling would help.. but its not the best solution. Especially if you want to support noob mappers on 16k screens xd. Also loading times would be way slower if every image gets scaled up.