13:38 < bridge> [teeworlds] What's the issue with VS? 13:53 < bridge> [teeworlds] VS is the issue 13:55 < bridge> [teeworlds] if i try to compile with 'cl', standard c headers aren't found 13:55 < bridge> [teeworlds] like "stdlib.h" 14:01 < bridge> [teeworlds] i tried clang now, but it doesn't seem supported by tw 14:01 < bridge> [teeworlds] What vs do you use! 14:01 < bridge> [teeworlds] ?* 14:01 < bridge> [teeworlds] 2019 14:02 < bridge> [teeworlds] yes, in the guide it says 2017, the gh-actions workflow run on 2019 14:02 < bridge> [teeworlds] Yea for me it mostly works with 2019 community 14:04 < bridge> [teeworlds] https://cdn.discordapp.com/attachments/490150878934990850/664816701283500042/image0.png 14:06 < bridge> [teeworlds] yes i installed it 14:13 < bridge> [teeworlds] When you use the developer command prompt it should find the headers. Just make sure that you use the same version, which you used for compiling bam (x86 vs x64). 14:13 < bridge> [teeworlds] You could also try cmake. For me it even works with clang + msvc headers. 14:13 < bridge> [teeworlds] clang tells me this: 14:13 < bridge> [teeworlds] bam.exe: error: 'other/icons/teeworlds_srv_clang.rc' does not exist and no way to generate it 14:14 < bridge> [teeworlds] I think bam + windows + clang does not work 14:15 < bridge> [teeworlds] i wonder why, clang is explicitly noticed in the bam.lua 14:16 < bridge> [teeworlds] cmake can use clang-cl. It has the same interface like the cl from visual studio 14:16 < bridge> [teeworlds] I think the clang in bam is for Linux and mac 14:17 < bridge> [teeworlds] take a look at this line, shouldn't clang be supported with bam and windows? 14:17 < bridge> [teeworlds] https://github.com/teeworlds/teeworlds/blob/aa0bf33ad9149b7d86f9aa634c592c1a5712f3dc/bam.lua#L233 14:18 < bridge> [teeworlds] wait lol 14:18 < bridge> [teeworlds] In theory. I doubt this was ever tested 😅 14:19 < bridge> [teeworlds] I am known to break everything <.< 14:20 < bridge> [teeworlds] @Assa please report a bug for `-Winconsistent-missing-override` 14:20 < bridge> [teeworlds] warnings are rarely a good sign 14:20 < bridge> [teeworlds] @heinrich5991 this warning was due to the introduction of "-std=c++11" in my mod and because i used the override annotation 14:21 < bridge> [teeworlds] I didn't want to use the annotation everywhere where you didn't 14:22 < bridge> [teeworlds] ah, I see 14:23 < bridge> [teeworlds] @heinrich5991 you know why cmake uses all the cpack variables but generated the script with custom commands instead of using the cpack generator? 14:24 < bridge> [teeworlds] it can also use the cpack generator 14:24 < bridge> [teeworlds] try `make package` 14:24 < bridge> [teeworlds] Yeah but at least for mac it won't generate a dmg 14:25 < bridge> [teeworlds] hm 14:26 < bridge> [teeworlds] I'm usually on linux, maybe I didn't get it to work on mac 14:26 < bridge> [teeworlds] cross-compilation from linux to mac and windows works though 😛 14:26 < bridge> [teeworlds] Cpack has a generator for creating bundles, but this requires some more setup 14:26 < bridge> [teeworlds] we should fix it though 14:26 < bridge> [teeworlds] I see 14:26 < bridge> [teeworlds] does the non-cpack version work for you? 14:27 < bridge> [teeworlds] Well I don't have a mac 😅 14:27 < bridge> [teeworlds] Just noticed that while setting up the gh actions stuff 14:29 < bridge> [teeworlds] what is 'windres'? 14:30 < bridge> [teeworlds] sounds like a way to provide icon data for executables on windows 14:31 < bridge> [teeworlds] but I don't know the name, that's just a guess rn 14:31 < bridge> [teeworlds] oh yea, it is 14:31 < bridge> [teeworlds] ``` 14:31 < bridge> [teeworlds] $ cat other/icons/teeworlds_srv_cl.rc 14:31 < bridge> [teeworlds] 50h ICON "teeworlds_srv.ico" 14:31 < bridge> [teeworlds] ``` 14:32 < bridge> [teeworlds] `build\icons\teeworlds_srv_clang.coff : fatal error LNK1112: Modul-Computertyp "x86" steht in Konflikt mit dem Zielcomputertyp "x64".` 14:33 < bridge> [teeworlds] shit 14:33 < bridge> [teeworlds] mixing targets? ^^ 14:35 < bridge> [teeworlds] i don't understand why this is happening on every compiler 14:35 < bridge> [teeworlds] have you cleaned everything (deleted the build directory) between every attempt? 14:36 < bridge> [teeworlds] yes 14:36 < bridge> [teeworlds] i learned that the hard way 14:36 < bridge> [teeworlds] deleting build directory and config.lua every time 14:37 < bridge> [teeworlds] afk 14:41 < bridge> [teeworlds] it's always the link step <.< 14:48 < bridge> [teeworlds] is there a flag to tell bam to use x64? 14:50 < bridge> [teeworlds] arch=x86_64 14:51 < bridge> [teeworlds] thank you, but didn't help 14:57 < bridge> [teeworlds] use 64 bit everything, build bam with 64 bit, start the msvc 64 bit command prompt and it should use the right headers 14:59 < bridge> [teeworlds] i already checked everything 14:59 < bridge> [teeworlds] except of visual studio itself, everything should be 64 bit 15:25 < bridge> [teeworlds] it get's more and more interesting: 15:25 < bridge> [teeworlds] - mingw64 compiles and links, but crashes immideatly when starting 15:25 < bridge> [teeworlds] - cl doesn't find the standard c++ headers 15:25 < bridge> [teeworlds] - clang gives me an LNK2019 15:38 < bridge> [teeworlds] that's so 2019 15:39 < bridge> [teeworlds] which symbol is missing? 15:39 < bridge> [teeworlds] for clang? 15:39 < bridge> [teeworlds] _chdir 15:41 < bridge> [teeworlds] i managed to get the opposite error now 15:41 < bridge> [teeworlds] `build\icons\teeworlds_srv_clang.coff : fatal error LNK1112: Modul-Computertyp "x64" steht in Konflikt mit dem Zielcomputertyp "x86". 15:41 < bridge> [teeworlds] ` 15:42 < fstd> i18n'ed error messages are literally hitler 15:43 < bridge> [teeworlds] good think they include a error ID, fstd 15:43 < bridge> [teeworlds] so it's not so bad 15:43 < fstd> true 15:43 < bridge> [teeworlds] Are you using bam master or 0.5.1? 15:43 < bridge> [teeworlds] There was some issue with win64 in 0.5.1 15:44 < bridge> [teeworlds] cmake doesn't work for you, either, Assa? 15:48 < bridge> [teeworlds] bam master 15:48 < bridge> [teeworlds] i will try cmake now 15:57 < bridge> [teeworlds] cmake worked instantly 15:57 < bridge> [teeworlds] i don't even know which compiler it used 15:59 < bridge> [teeworlds] it tells you at the top 16:00 < bridge> [teeworlds] cl 16:00 < bridge> [teeworlds] that's msvc++ 16:00 < bridge> [teeworlds] can you tell me what the cmake-target is for the client? 16:00 < bridge> [teeworlds] i don't want to build everything 16:01 < bridge> [teeworlds] I don't understand why bam+cl doesn't work, maybe you could `bam -v` to see where he's looking for headers? 16:01 < bridge> [teeworlds] `teeworlds` 16:03 < bridge> [teeworlds] `bam -v` gives me a crazy big log 16:03 < bridge> [teeworlds] that's the point, it's verbose 16:04 < bridge> [teeworlds] it will tell you the commands it executes 16:05 < bridge> [teeworlds] I don't get smart from the log, should i send it here? 16:05 < bridge> [teeworlds] just look at one cl line 16:08 < bridge> [teeworlds] `cl /nologo /D_CRT_SECURE_NO_DEPRECATE /c /wd4244 /wd4577 /D "WIN64" /Od /MTd /Z7 /D "_DEBUG" -I"src" -I"src/engine/external/pnglite" -I"src/engine/external/wavpack" -I"build/src" -I"src/engine/external/zlib" -DCONF_DEBUG /Fobuild/x86_64/debug/objs/engine/shared/console.obj src/engine/shared/console.cpp` 16:08 < bridge> [teeworlds] ??? 16:08 < bridge> [teeworlds] ah right, this only shows custom headers, I'm being silly 16:09 < bridge> [teeworlds] needed a grep to find this one 16:11 < Oy> does the 32bit version build? 16:11 < bridge> [teeworlds] bam didn't find the headers so no 16:12 < Oy> odd 16:12 < bridge> [teeworlds] i manged to compile everything 32 bit in MinGW except the client btw 16:12 < bridge> [teeworlds] *with 16:12 < Oy> what was the problem? 16:12 < bridge> [teeworlds] weird linker problems with sdl2 and freetype 16:13 < Oy> u have an error message? 16:13 < bridge> [teeworlds] give me a sec. I will lookup bash_history 16:14 < bridge> [teeworlds] No I don't, since it's still imited on 500 lines ... 16:16 < bridge> [teeworlds] build/x86_64/release/objs/engine/client/backend_sdl.o:backend_sdl.cpp:(.text+0xea): undefined reference to SDL_MinimizeWindow' 16:16 < bridge> [teeworlds] this is just the first, practically all calls to sdl2 failed 16:17 < Oy> it's 64bit u can't build it with normal mingw 16:18 < Oy> make sure to build bam with make_win32_mingw 16:19 < Oy> then do bam config forteeworlds 16:19 < bridge> [teeworlds] makes sense 16:19 < Oy> and then try to force a recompile 16:19 < bridge> [teeworlds] the bam i used was 64bit windows cl 16:19 < Oy> yeah 16:19 < bridge> [teeworlds] Or use mingw-w64 16:20 < Oy> yeah 16:20 < bridge> [teeworlds] i tried mingw-w64 16:20 < bridge> [teeworlds] the list above shows: compiling: yes; linking: yes; crashing: yes 16:21 < bridge> [teeworlds] what about mingw32? 16:21 < bridge> [teeworlds] see above 16:21 < bridge> [teeworlds] did you build bam with make_win32? 16:21 < bridge> [teeworlds] no 16:25 < bridge> [teeworlds] but cmake is now working and I can compile the client 17:04 < bridge> [teeworlds] can you tell me where the text width is calculated? 17:07 < bridge> [teeworlds] nevermind iam blind 17:35 < bridge> [teeworlds] so should https://github.com/teeworlds/teeworlds/pull/2176/files be reverted? 17:39 < Oy> dunno, low values feel much smoother with the log scrollbar now, so it would be ok to keep them 18:02 < Oy> oh the pr broke the build 18:06 < bridge> [teeworlds] oh, there are no more CI checks? that's not great 18:06 < bridge> [teeworlds] I foresee a lot of cmake breaking :p 18:07 < bridge> [teeworlds] or disabled by default warnings 18:08 < bridge> [teeworlds] The workflow only triggers on push. It can also be enabled for pull requests 18:28 < Oy> yeah, should do that 18:48 < bridge> [teeworlds] it's a oneliner in build.yaml: `on: [push, pull_request]` 18:49 < bridge> [teeworlds] ironicly the build is failing because the current master is failing in cmake 18:50 < bridge> [teeworlds] oy was faster 😮 18:55 < bridge> [teeworlds] I am in my own fork on github on master - i upload to my own branch changes - "Do you want to do a PR?" - I click yes - I PR to teeworlds/teeworlds - thx github 19:55 < bridge> [teeworlds] Makes sense, you forked teeworlds/teeworlds 20:50 < bridge> [teeworlds] man, those friendlist features are hidden as hell, I wouldn't find them for another 5 years if I didn't read about them in pull requests... 21:02 < bridge> [teeworlds] 😄 22:12 < bridge> [teeworlds] https://pastebin.com/G8XMt5bm 22:12 < bridge> [teeworlds] huh 22:13 < bridge> [teeworlds] gotta do some explicit conversion