IRC logs for #openttd on OFTC at 2018-06-17
            
00:00:35 *** Wacko1976 has quit IRC
00:03:25 *** frosch123 has quit IRC
00:09:08 <glx> I used the installer, it's way easier
00:15:51 *** iSoSyS has joined #openttd
00:19:44 <ANIKHTOS> if i can get a zip file i get the zip file
00:20:00 <ANIKHTOS> this way i know that all the files the programm needs are in 1 folder
00:20:14 <ANIKHTOS> from where you start git?/
00:20:19 <ANIKHTOS> comamnd line of windows??
00:20:29 <ANIKHTOS> or the mingw64??
00:20:33 <LordAro> commandlines don't work so well if you do things that way
00:21:02 <LordAro> installers simplify things
00:21:02 <glx> you can run it in both, but you'll need to add the path
00:21:04 <LordAro> by design
00:21:39 <glx> that's why installer is easier
00:21:45 <ANIKHTOS> or i can merge the git files with mingw64 files??
00:22:04 <ANIKHTOS> have this 2 in the same folder
00:22:12 <glx> I think you can unzip it in msys2 yes
00:22:28 <glx> it seems to use the same tree
00:22:43 <ANIKHTOS> thats way i ask to merge thme together
00:23:53 <LordAro> but then you've merged 2 things and made the whole "download zips only" thing pointless
00:24:56 <glx> and it complicates upgrading too
00:26:56 *** supermop has quit IRC
00:33:20 <ANIKHTOS> okey it seems to work
00:33:32 <ANIKHTOS> i can call git from mingw64
00:35:44 <glx> looking at https://github.com/msys2/msys2/wiki/MSYS2-introduction#file-system I think configure needs to be updated
00:36:12 <glx> it clearly is not compatible with MSYS2
00:39:39 <ANIKHTOS> well i made the merge
00:39:48 <ANIKHTOS> and i keep the files i had from the msys instalaltion
00:39:54 <ANIKHTOS> and nto ovveride them form git
00:39:58 <ANIKHTOS> and it seems git to work
00:40:27 <ANIKHTOS> okey now i have git
00:40:36 <ANIKHTOS> what i do with it??
00:40:53 <glx> git is used to get the sources
00:42:24 <ANIKHTOS> well i download them with the browaser
00:42:28 <ANIKHTOS> much more user friendly
00:42:30 <ANIKHTOS> ;-)
00:46:50 <ANIKHTOS> okey i try to compile i type make
00:47:01 <ANIKHTOS> and i get bash: make: command not found
00:47:05 <ANIKHTOS> what i am misisng now??
00:47:42 <glx> make is not installed ?
00:47:55 <ANIKHTOS> i instaleld it with pacboy
00:49:28 <ANIKHTOS> great now i have liblzma and lzo2 but nto make
01:04:03 *** Wormnest has quit IRC
01:10:30 *** gelignite has quit IRC
01:11:00 <ANIKHTOS> glx seetign up mingw is always this problematic??
01:12:09 <glx> it should just work, but as I already said I never used MSYS2
01:12:56 <ANIKHTOS> the first time i isntall it make was working but had problem ith lzma and lzo2
01:13:09 <ANIKHTOS> now i solve the lzma and lzo2 but i do not have make
01:17:59 *** mindlesstux has joined #openttd
01:18:06 *** nielsm has quit IRC
01:18:42 <ANIKHTOS> 1 step forward 2 steps back
01:26:51 *** Smedles_ has quit IRC
01:27:40 *** Smedles has joined #openttd
01:28:20 *** synchris has quit IRC
01:40:20 *** KouDy has quit IRC
01:45:19 *** iSoSyS has quit IRC
02:16:19 *** greeter has joined #openttd
02:20:46 <Eddi|zuHause> how is "lzma and lzo2" "1 step" and "make" "two steps"?
02:25:10 <ANIKHTOS> okey instal make from pacman
02:25:14 <ANIKHTOS> and now i have make
02:25:30 <ANIKHTOS> i thougth installign packages from pacboy was better ??
02:27:59 <glx> for libraries it's better
02:28:55 <ANIKHTOS> okey i will delete all reisntall all
02:29:03 <ANIKHTOS> and write down the steps
02:29:12 <ANIKHTOS> and i can give the steps to someoen to post it in wiki
02:30:38 <glx> try with PR6825, should remove the need to create a mingw dir
02:31:34 <ANIKHTOS> PR6825 whats that??
02:32:03 <glx> a pull request
02:32:05 <glx> https://github.com/OpenTTD/OpenTTD/pull/6825
02:32:26 <glx> it's a submitted modification of openttd source
02:36:49 <ANIKHTOS> how i get the file??
02:37:55 <glx> you can get the source including the modification with git
02:41:57 *** Progman has quit IRC
02:42:18 <ANIKHTOS> okey i go to files changed
02:42:23 <ANIKHTOS> to get the file??
02:43:42 <glx> I know it can be done with command line, but I don't know how
02:43:58 <glx> I use github desktop for that
02:46:03 *** OsteHovel has quit IRC
02:50:04 *** tokai|noir has joined #openttd
02:50:04 *** ChanServ sets mode: +v tokai|noir
02:53:33 <ANIKHTOS> well today i manage to get msys2 work at last
02:53:36 <ANIKHTOS> :-)
02:57:06 *** tokai has quit IRC
03:03:07 *** cHawk has quit IRC
03:17:09 *** KouDy has joined #openttd
03:17:35 <ANIKHTOS> got the file
03:17:53 <ANIKHTOS> installing everythign from beginign and make documendation
03:25:44 *** cHawk has joined #openttd
03:27:31 *** KouDy has quit IRC
03:49:44 *** ANIKHTOS has quit IRC
03:50:41 *** ANIKHTOS has joined #openttd
03:52:06 *** KouDy has joined #openttd
03:59:18 *** HerzogDeXtEr has quit IRC
04:03:05 *** Flygon has joined #openttd
04:04:09 *** KouDy has quit IRC
04:05:22 *** Cthulhux has quit IRC
04:41:18 *** muffindrake1 has joined #openttd
04:43:08 *** muffindrake has quit IRC
04:47:04 *** glx has quit IRC
04:54:00 <ANIKHTOS> good night all
04:54:08 *** ANIKHTOS has quit IRC
05:08:45 *** ToffeeYogurtPots has quit IRC
07:10:15 *** snail_UES_ has quit IRC
07:14:38 *** snail_UES_ has joined #openttd
07:23:31 *** Alberth has joined #openttd
07:23:31 *** ChanServ sets mode: +o Alberth
07:23:36 <Alberth> hi hi
07:36:50 *** beno__ has quit IRC
07:42:48 *** OsteHovel has joined #openttd
07:56:11 *** techmagus has quit IRC
08:21:59 *** nielsm has joined #openttd
08:24:36 <nielsm> morning
08:27:54 <Alberth> moin
08:44:46 *** KouDy has joined #openttd
08:47:53 *** techmagus has joined #openttd
08:47:56 *** snail_UES_ has quit IRC
08:52:55 *** andythenorth has joined #openttd
08:53:01 <andythenorth> o/
09:15:22 <peter1138> Yes indeed.
09:23:10 *** sla_ro|master has joined #openttd
10:07:23 *** ANIKHTOS has joined #openttd
10:07:46 <ANIKHTOS> hello how do you do?
10:08:14 <ANIKHTOS> yes now my msys2 is install correct i ahve lzma and lzo2 :-)
10:08:30 <ANIKHTOS> and i wrote down all the steps if someoen want to update the wiki
10:10:45 <Eddi|zuHause> uhm, it's a wiki? you update it yourself?
10:11:56 <ANIKHTOS> nope i wrote down the steps
10:12:04 <ANIKHTOS> i post them in the forum in feedback
10:12:24 <ANIKHTOS> if someone that has a wiki accoutn want to update the wiki to include msys2 install
10:16:41 *** Progman has joined #openttd
10:16:56 <ANIKHTOS> 6 hours yesterday lost to reinstall the msys2
10:17:15 <ANIKHTOS> for one reason pacboy install better libraries for mingw
10:17:45 <ANIKHTOS> but make you need to instal it with pacman!?!?! pacboy version of make does nto compile!!!!!!
10:22:30 *** Wolf01 has joined #openttd
10:22:43 <Wolf01> o/
10:23:42 <ANIKHTOS> hello wolf01
10:38:07 <Alberth> o/
10:38:32 <Alberth> by the way, not is written as "not" rather than "nto" :)
10:38:47 *** HerzogDeXtEr has joined #openttd
10:42:09 *** frosch123 has joined #openttd
10:45:01 <__ln__> ciao a tutti
10:45:26 <Wolf01> Quak
10:45:59 <ANIKHTOS> well the good news alberth is that now my msys mingw installation have lzma and lzo2
10:46:35 <Alberth> good
10:46:51 <ANIKHTOS> and i do not know why the make pacboy download does not compile while the make from pacman does
10:47:37 <ANIKHTOS> it took me a few hours to figure that out i was installign extra libraries to see if i need more files isntall to make make work
10:47:39 <Alberth> does not compile what?
10:47:45 <ANIKHTOS> and in the end i just run pacman and it work
10:47:50 <ANIKHTOS> anything
10:48:10 <Alberth> ...
10:48:13 <ANIKHTOS> when i trype make i get error no command
10:48:22 <peter1138> pacboy doesn't work, pacman does work.
10:48:29 <Alberth> ...
10:48:29 <peter1138> I don't know what either of those things are.
10:48:54 <peter1138> I thought pacman was some Linux distro's packaging system.
10:49:02 <Alberth> reports like you do "it does not work" has no clues on what EXACTLY goes wrong, so we cannot help you
10:49:23 <ANIKHTOS> it does nto find the comamnd
10:49:32 <ANIKHTOS> it give back the eror no command
10:49:44 <Alberth> Who reports the error, make or the shell, what is the error exactly?
10:49:46 <peter1138> That means it's not installed :p
10:50:06 <Alberth> these details matter in finding the cause
10:50:26 <ANIKHTOS> iwell i do pacboy -S make install teh make
10:50:29 <ANIKHTOS> then trype make
10:50:34 <ANIKHTOS> and i get there is no command make
10:50:42 <ANIKHTOS> in the shelll of mingw
10:50:55 <Alberth> right, that helps
10:51:03 <ANIKHTOS> i isntall make from pacman -S make
10:51:06 <ANIKHTOS> type make
10:51:10 <ANIKHTOS> it works
10:51:18 <Alberth> so it's not a command inside the makefile that fails, it's starting make itself
10:51:36 <Alberth> so where does pacboy drop the program?
10:51:57 <Alberth> is that path in your PATH ? (no, probably)
10:52:08 <ANIKHTOS> pacboy drops the x64 in a folder called mingw64
10:52:35 <ANIKHTOS> and the i686 in a folder called mingw32
10:52:40 <Alberth> can you start it manually by typing the full path?
10:53:57 <Alberth> "make" automagically getting found by the shell runs through the PATH environment variable of the shell
10:54:22 <Alberth> so either the directory containing the program is not in PATH, or it cannot be run at all
10:54:58 <ANIKHTOS> the folder have this file mingw32-make.exe
10:55:13 <ANIKHTOS> maybe thats the problem??
10:55:19 <Alberth> by manually starting it (thus avoiding use of PATH to resolve "make") you can verify if it runs at all
10:55:38 <Alberth> no idea, does it run?
11:01:20 <ANIKHTOS> i can nto go to the folder
11:01:53 <ANIKHTOS> i need to go r:\msys64\mingw64\bin
11:02:08 <ANIKHTOS> but i go so far as r:\msys64
11:03:20 *** andythenorth has quit IRC
11:03:34 <ANIKHTOS> mingw32-make: *** No targets specified and no makefile found. Stop.
11:03:45 <ANIKHTOS> i manage to go the the folder and run the programm
11:05:00 <Alberth> you stay in the directory with the Makefile, and then type the full path to make at the prompt
11:05:51 <Alberth> eg $ r:/msys64/mingw64/bin/mingw32-make
11:06:41 <ANIKHTOS> i$ r:\msys64\ming64\bin\mingw32-make.exe i get bash: r:msys64ming64binmingw32-make.exe: command not found
11:07:18 <Alberth> the full path is is not correct if bash complains about not found
11:07:43 <Wolf01> The problem is that you are using \ instead of /
11:07:44 <Alberth> maybe you have to escape the \ as they have special meaning????
11:07:51 <Alberth> use / instead
11:08:43 *** gelignite has joined #openttd
11:09:12 <Alberth> bash agrees with \ being the problem, notice how your \ have disappeared in the response from bash?
11:09:33 <ANIKHTOS> okey with / the mingw32-make
11:09:38 <ANIKHTOS> start to compile
11:09:40 <Alberth> this kind of details provide information where to look further
11:10:30 <Alberth> ok, program runs thus
11:10:31 <ANIKHTOS> cc: error: R:/ottd/objs/release/config.cache.source.o: No such file or directory
11:10:37 <ANIKHTOS> and faield
11:10:44 <ANIKHTOS> failed
11:11:03 <Alberth> given it has the name "mingw32-make", you should be able to start the program using that name
11:11:17 <Alberth> cc error is after make started
11:11:30 <ANIKHTOS> yes
11:11:41 <Alberth> do want to fix starting make or building source? one thing at a time please
11:12:27 <ANIKHTOS> so that means the pacboy did nto find a 64bit make?/ and isntall a 32 in its palce??
11:12:37 <ANIKHTOS> place??
11:13:17 <Alberth> I don't know, maybe the pacboy mingw package contains both
11:13:42 <ANIKHTOS> i think thats the reson i do nto have make when i use pacboy
11:13:47 <Alberth> you'll have to check the mingw-make project to know what they aim to achieve
11:13:50 <ANIKHTOS> it install a make but with this name
11:14:25 <Alberth> likely they don't want to disturb an existing make
11:14:54 <Alberth> so they give their make program a different name to avoid name conflicts
11:15:22 <Alberth> but that is only guessing
11:16:42 <ANIKHTOS> mingw32-make: name thought up by mingw.org to distinguish the win32 variant of GNU Make. This name will be required by several software packages: Qt, CMake...
11:16:52 <ANIKHTOS> the have 3 make
11:17:00 <ANIKHTOS> nomral make is the 64 bit
11:17:27 <Alberth> so it's intentional
11:17:46 <ANIKHTOS> gmake.exe: another common name for GNU Make, does not conflict with MSYS Make.
11:17:49 <ANIKHTOS> i need this make
11:18:10 <ANIKHTOS> make.exe: traditional name for GNU Make on popular linux distributions. This will conflict (badly) with MSYS Make
11:19:12 <Alberth> original "make" is BSD make, gnu make program is standard at Linux systems, but other unicies install it as gmake to avoide name conflicts with BSD make
11:19:28 <Alberth> *unices
11:20:41 <ANIKHTOS> i do nto have gmake
11:21:41 <Alberth> sure? mingw32-make --version does not say it's Gnu software?
11:22:01 <Alberth> or your "make" program
11:22:53 <Alberth> ie https://paste.openttdcoop.org/pp8txcnhn
11:23:42 <ANIKHTOS> wait i still compile
11:23:43 <Alberth> simplest solution is to make a link with the correct name that you want to the program that should be used
11:24:23 <ANIKHTOS> if mingw32-make is a 32 bit but i run mingw64 is not a problem???
11:24:29 <Alberth> ctrl+C aborts the compile :p
11:24:34 <nielsm> I would still recommend finding the time and space to install visual studio, instead of trying to get mingw/msys working
11:25:16 <Alberth> I don't know, I run only 64 bit software since several years, 32 bit software doesn't even start at my system
11:25:29 <ANIKHTOS> $ mingw32-make --version GNU Make 4.2.1
11:25:59 <michi_cc> nielsm: Your last merged commit causes a warning on clang: src/base_media_func.h:133:11: warning: enumeration value 'CR_UNKNOWN' not handled in switch [-Wswitch]
11:25:59 <Alberth> I'd expect so, there are not that many make programs around :)
11:26:34 <michi_cc> I forgot to check in the CI output logs as warnings alone still make it green :)
11:26:35 <ANIKHTOS> Built for x86_64-w64-mingw32
11:26:48 <ANIKHTOS> and it is 32 bit
11:26:51 <nielsm> michi_cc the CAT files one?
11:26:55 <Alberth> michi_cc: should be an error?
11:27:05 <nielsm> ah yeah has to be
11:27:16 <michi_cc> nielsm: 5ab06ef8
11:27:16 <nielsm> sorry :(
11:27:42 <nielsm> yeah that's the one
11:28:06 <nielsm> in hindsight it's obvious why
11:28:16 <michi_cc> Alberth: Well, if there's nothing to do for a switch case, there's nothing to do.
11:29:14 <ANIKHTOS> i will use the make i got from pacman it is 64 bit
11:29:21 <nielsm> missing cases can only be a warning, since it _might_ be an indication of a mistake
11:31:29 <michi_cc> -Werror :p
11:35:22 *** iSoSyS has joined #openttd
11:35:24 <nielsm> sigh, again blocked from doing any work by birds
11:35:30 <nielsm> completely occupying my hands and arms
11:36:11 <Wolf01> Like a disney princess
11:36:36 <Alberth> michi_cc: for the CI that might make sense, as it avoids missing these things
11:37:22 <Alberth> but yeah, these warnings reach the point where they are somewhat questionable
11:39:57 <michi_cc> The OSX clang gives a warning like "unused typedef" on out codebase (some assert stuff). Why is that a warning please?
11:41:17 <Alberth> quite
11:42:02 <Alberth> trying to do perfect checking, which is a non-achievable goal in the first place
11:45:43 <Alberth> or they try to avoid programmers having to think and instead totally rely on tool-output, which is also not achievable
11:46:39 <Alberth> but works for all commercial tool sellers
11:48:47 <Alberth> in the meantime, why is there no editor that recognizes patterns in my code, and automatically completes the next instances of it?
11:54:54 *** iSoSyS has quit IRC
11:57:41 *** synchris has joined #openttd
12:24:10 *** Wacko1976 has joined #openttd
12:29:20 <ANIKHTOS> when i have to write code liek that i use macro that write the boring recreating code
12:31:12 *** Wormnest has joined #openttd
12:31:57 <Alberth> problem is that it's always somewhat different, different function names, different variables
12:34:08 <Alberth> and there is other unique code that I write in-between
12:39:20 <ANIKHTOS> well i have the code that is the same
12:39:34 <ANIKHTOS> and i write the macro to create the code that changes
12:39:48 <ANIKHTOS> most of the times is var1 then var2
12:40:00 <ANIKHTOS> so it is easy to write a macro with close similar names
12:40:44 <peter1138> Macros are generally bad.
12:41:34 <ANIKHTOS> well i do not know if i save time or loose time
12:41:44 <ANIKHTOS> but it makes the codign more fun and less boring
12:43:11 <ANIKHTOS> micorsoft word is good for that because you can write the macros in visual basic so many many options
12:43:39 <Wolf01> Don't confuse macros with functions
12:44:22 <ANIKHTOS> okey i use microsoft word so i can use the functions which is better than the macros
12:44:43 <nielsm> in C and C++, "macro" means a very specific thing
12:44:53 <Wolf01> No, C++ macros are something different than functions, I'm not speaking of word
12:49:25 <Alberth> Functions don't work, and Python has no macros. What I am talking about is https://paste.openttdcoop.org/pvrtvft5j see how lines 5-11 is the same as 34-35 and
12:49:25 <Alberth> (almost) 41-47? In fact the latter is a different pattern that also happens
12:55:41 <ANIKHTOS> https://paste.openttdcoop.org/pxxnsfmhd
12:55:47 <michi_cc> peter1138: Could I bother you for a re-approve of #6826?
12:55:56 <ANIKHTOS> that i woudl do if i ahd to write many times that
12:57:30 <Alberth> makes sense
12:59:00 <ANIKHTOS> i use placeholders where the change will be and then replace them
13:00:07 <michi_cc> peter1138: Thanks.
13:04:09 <ANIKHTOS> https://wiki.openttd.org/OpenTTDDevBlackBook/Settings/AddSetting
13:04:15 <ANIKHTOS> is this quide correct??
13:09:10 <Alberth> last change in 2015? likely out of date
13:11:12 <Alberth> also, author doesn't seem to understand the matter very much, considering the fixes that planet-maker did
13:13:13 <ANIKHTOS> i follo wthe step i compile but when i am in the game and i try to go to settign to see if i add the setting
13:13:16 <ANIKHTOS> the game crashes
13:15:19 <ANIKHTOS> assertion failed at line 952 of settings_gui.cpp this-> setting != NULL
13:24:45 <ANIKHTOS> solve it
13:26:43 <Alberth> assert is a check that should never fail
13:28:19 <Alberth> ie the line before it this->setting = GetSettingFromName(this->name, &this->index); must not return NULL
13:28:41 <Alberth> so check that function to see how it fails to do that
13:29:39 <ANIKHTOS> in the setting.ini i put it as version 200
13:29:52 <ANIKHTOS> but in saveload i did nto declare the game as 200
13:32:09 <Alberth> asserts are basically sanity checks that everything is consistent, so yeah, your changes could trigger it
13:32:30 <Alberth> ie, assert is working as intended :)
13:32:49 <ANIKHTOS> well thats why i knew it was somethign i did wrong
13:34:26 <Alberth> an error is not an endpoint in general, it's a sign that something is messed up. As programmer it is your job to find out why
13:34:41 <Alberth> so assert is a starting point for further searches
13:35:24 <Alberth> removing the assert will make the program crash in totally unrelated code, making it more difficult to find the real cause
13:35:47 <Alberth> so the assert is helping in localizing problems
13:38:54 <ANIKHTOS> is there any documendation for saveload.cpp??
13:40:54 <ANIKHTOS> when i wrote my code for slow day i introduce some variables in date.cpp
13:41:08 <ANIKHTOS> how i save them?? witht he save game??
13:41:15 <ANIKHTOS> with the save game
13:42:54 <Alberth> you just list it as existing in a table, load and save then works
13:43:22 <ANIKHTOS> how i do that??
13:43:37 <Alberth> in addition, in AfterLoad, you fix the case of loading an older savegame by specifying a default value
13:43:52 <ANIKHTOS> yes after load i understand how it works
13:44:01 <Alberth> (not even sure if that is needed, maybe that is done automatically already)
13:44:59 <Alberth> what file in src/saveload looks the right for adding the variable to you?
13:45:14 <Alberth> economy?
13:45:28 <Alberth> misc?
13:45:52 <ANIKHTOS> well its about date so game??
13:46:08 <Alberth> misc seems to have _date
13:47:05 <Alberth> you see the static const SaveLoadGlobVarList _date_desc[] = { table?
13:48:12 <ANIKHTOS> yes
13:48:22 <Alberth> it lists global variable to save, with at the right the first and last version number in the savegame
13:49:02 <Alberth> so _date is saved as SLE_INT32 since version 31
13:49:56 <Alberth> and the line before says _date was saved as a UINT16 until and including version 30
13:50:39 <Alberth> near the end of the table is _pause_mode which exists since version 4, and not before
13:51:01 <Alberth> so you just add your global variable in there
13:51:41 <Alberth> ok, no default values here, I am confused with settings
13:51:56 <Alberth> so you need AfterLoad to initialize it for older savegames
13:52:05 <ANIKHTOS> okey thanks alberth when you said saveload table i though in the saveload.cpp file
13:52:40 <Alberth> and you didn't look in all the other src/saveload/* files? :)
13:53:34 <ANIKHTOS> well i look in saveload.cpp
13:53:38 <ANIKHTOS> long long file
13:53:45 <Alberth> yes, toooooo long :p
13:54:04 <Alberth> one decade of history
13:54:05 <ANIKHTOS> and i did nto get anything apart the firs tlien where you declare the version of the game
13:54:58 <Alberth> yeah, there isn't much documentation that explains everything
13:55:12 <Alberth> not sure how much of a problem that is
13:55:46 <Alberth> it'd just become obsolete if it existed
13:57:24 <Alberth> first time I read the source I didn't understand it either, but you try a few times, and eventually it's not that difficult.
13:57:50 <Alberth> reading source you didn't write is also a skill you have to practice
13:58:34 <ANIKHTOS> SLEG_CONDVAR SLEG_VAR?? what i use??
14:06:01 <ANIKHTOS> well i documented my experience isntalling msys2 and i post it to help others
14:14:35 <Alberth> SLEG_VAR is the same as SLEG_CONDVAR, except the latter has a lower and upper value for savegame versions
14:15:15 <Alberth> you didn't see that when comparing two lines?
14:16:34 <Alberth> posting in the forum is pretty much useless, in a month nobody is going to find that post
14:21:17 <ANIKHTOS> well if someoen wants to edit the wiki and put the steps they are welcome to do it
14:21:37 *** ToffeeYogurtPots has joined #openttd
14:21:38 <ANIKHTOS> i imagine my steps are not worded 100% perfect
14:30:40 <Alberth> the problem is that some one that knows it all has no use for documenting it on the wiki
14:31:22 <Alberth> so you'll never find one that is willing to do it and write it down perfectly
14:32:59 <Alberth> this is why the newer features of openttd are not even listed on the wiki, and why the blackbook is outdated
14:33:16 <Alberth> and incomplete
14:44:37 <ANIKHTOS> okey i made my add settign in the gui so users can choose the slow factor
14:44:44 <ANIKHTOS> but i can nto use it in the code
14:44:50 <ANIKHTOS> not declared in this scope
14:45:33 <Alberth> it's a global?
14:45:48 <Alberth> declare it next to _date
14:45:56 <Alberth> assuming that is done :)
14:46:34 <Alberth> yep, is
14:46:44 *** Cthulhux has joined #openttd
14:51:38 <ANIKHTOS> it is declared in setting_type.h
14:52:08 <ANIKHTOS> which date.cpp is including would not link to the variable over there??
14:55:25 <Alberth> oh, you're talking about the setting and not your own date variable
14:55:47 <Alberth> well yes you have to include any file that you need in the cpp file
14:56:37 <Alberth> any .h file, that is
15:01:23 <nielsm> modifying strings in english.txt is a slog, having to wait for first language compiler for all other languages, and then rebuilding most of the code because strings.h changed too
15:03:09 <ANIKHTOS> okey i add a seeting which is declared in the settings+type.h
15:03:46 <ANIKHTOS> now i am in the date,cpp which includes the settings_type.h file and i want to call that setting variable
15:03:55 <ANIKHTOS> but i get not declared in scope
15:04:06 <ANIKHTOS> how i call the setting??
15:06:11 <Alberth> find how an arbitrary other setting does it
15:07:00 <Alberth> don't panic on the first problem, but try to come up with other cases in the code that must solve the same problem
15:07:40 <Alberth> then find that code and see how they do it
15:18:28 <ANIKHTOS> i am nto panicking
15:21:49 <Alberth> ok, just think a little longer than :)
15:21:59 <Alberth> *then
15:29:50 *** Thedarkb1 has quit IRC
15:37:38 *** Thedarkb1 has joined #openttd
15:38:41 *** Cthulhux has quit IRC
15:47:04 *** Cthulhux has joined #openttd
15:50:08 <Wolf01> V453000: so some company made Factorio3D?
15:51:08 <nielsm> TrueBrain, how do you like this layout? http://0x0.st/sLyn.png
15:56:05 <TrueBrain> nielsm: I like the top part, although a value it is aiming for would be nice too (I have no clue if 32 is what it should be, etc)
15:56:13 <TrueBrain> a high-watermark is nice, but it is a bit meaningless
15:56:23 <TrueBrain> same for average
15:56:31 <TrueBrain> a plain history would be much more valuable
15:56:39 <TrueBrain> if we look at the situations you are interested in the value, is when it goes wrong
15:56:48 <TrueBrain> and the average is a poor value for that imo
15:57:11 <TrueBrain> (and a high watermark .. well .. all our systems sometimes choke .. is that really useful?)
15:57:38 <nielsm> how about 50th and 90th percentile then?
15:57:46 <TrueBrain> still not useful to me
15:57:53 <TrueBrain> if I run OpenTTD for a day
15:57:55 <TrueBrain> those values are meaningless
15:58:00 <TrueBrain> they only work for the last 10 minutes or so
15:58:11 <nielsm> ah you're missing one detail
15:58:24 <nielsm> it's not all time, but within the window of (currently) 128 data points
15:58:37 <TrueBrain> that is not written in your GUI anywhere ;)
15:58:43 <TrueBrain> still a graph would be more useful tbh
15:58:43 <nielsm> I intend to add it
15:58:55 <TrueBrain> (all modern games you see adopt this btw)
15:59:30 <TrueBrain> http://i.imgur.com/Kpw8VIF.jpg <- Path of Exile example
16:00:01 <TrueBrain> this allows me in PoE to mostly understand where the spike is coming from
16:00:01 <Eddi|zuHause> great fps drops in that :p
16:00:04 <TrueBrain> as I have a bit more context
16:00:16 <TrueBrain> especially I see if it was a minor drop, or a long drop
16:00:24 <TrueBrain> as you can see, Eddi|zuHause already understand the context of that simple graph :)
16:00:42 <TrueBrain> personally, I think any other value would only make it more complex without really adding value
16:00:43 <Eddi|zuHause> well, i've had my share of poe performance problems :p
16:00:47 <TrueBrain> so a plain fps would be better than
16:01:08 <TrueBrain> havent we all :P
16:05:52 <nielsm> http://0x0.st/sLtH.gif
16:05:54 <nielsm> yay it works
16:07:17 <TrueBrain> slick :)
16:07:24 <TrueBrain> maybe make the 2 section details a bit more clear or something
16:07:27 <TrueBrain> but that is working in the margins :)
16:07:48 <TrueBrain> we already have code for sparklines in the UI, so a history should be trivial I guess? :)
16:10:33 *** Cthulhux has quit IRC
16:12:47 <nielsm> http://0x0.st/sLtX.png better now? :P
16:13:29 <TrueBrain> as explained, I do not see the point of the information
16:13:35 <TrueBrain> even if you tell me how you got the information :)
16:13:41 <TrueBrain> it doesnt tell me anything honestly
16:14:08 <TrueBrain> a graph can say what 1000 statistics cant :)
16:14:35 *** Thedarkb1 has quit IRC
16:19:29 <nielsm> um I'll push this version of it and then look at the company graphs for how those are done
16:20:31 <TrueBrain> remove average/high-watermark, and it seems like a valid PR to me; graphs can be an addition. With the average/highwatermark, I think you get more questions than you want to answer :P Just my 2 cents on getting PRs in quick :D
16:21:26 <Alberth> a case of less is more :)
16:22:17 <TrueBrain> exactly :)
16:23:13 <nielsm> the "current" here is actually based on 8 points still, so it's more "short term average"
16:23:46 <TrueBrain> what is a "point"?
16:23:54 <Eddi|zuHause> TrueBrain: this is my "best" one https://i.paste.pics/bfaf777477b8e145077c1439fe8ebd3e.png
16:25:03 <nielsm> one data point is one run through the game loop/window drawing proc/video output proc/mixer loop
16:25:17 <TrueBrain> nielsm: so the second method in my reply?
16:25:17 <Eddi|zuHause> so, one tick?
16:25:39 <nielsm> for game loop yes
16:25:56 <TrueBrain> does video do something else?
16:26:23 <Eddi|zuHause> not to my knowledge
16:26:32 <nielsm> video output can run more frequently, I think it does that for the mouse cusor specifically
16:26:35 <nielsm> on windows at least
16:27:00 <TrueBrain> so okay, you measure the time of a frame, take the last N frames, and calculate the FPS from that?
16:27:54 <nielsm> I measure two things for each frame/tick, one how long it took for the function to run (time from entry to return), and store the start time of each call as well
16:28:18 <Eddi|zuHause> ok, i do remember some talk about making the gui more smooth
16:28:20 <nielsm> the history of entry times is used to calculate the frame rate (fps)
16:28:35 <nielsm> while the history of run times is used to display the ms values
16:28:59 <TrueBrain> so you measure the frame time
16:29:02 <nielsm> Eddi|zuHause yes this PR: https://github.com/OpenTTD/OpenTTD/pull/6780
16:29:05 <TrueBrain> and calculate the FPS from there
16:29:39 <TrueBrain> well, and not the last, but over a few measurements I guess
16:30:22 <nielsm> http://0x0.st/sLtZ.txt
16:30:25 <nielsm> the relevant part
16:31:33 <TrueBrain> okay, so FPS is from the start of the frames
16:32:07 <nielsm> yes
16:32:18 <Eddi|zuHause> frame time is end-start, and FPS is start[n]-start[n-1]
16:32:46 <TrueBrain> I would show that tbh ... frame time and FPS, as 2 separate values
16:32:59 <TrueBrain> (for the 2 main things)
16:33:10 <TrueBrain> I guess you kinda did
16:33:23 <TrueBrain> as you notice, the information is not fully clear to me at first glance :)
16:34:19 <nielsm> there's also the console output option: http://0x0.st/sLtq.png
16:34:32 <nielsm> which is mostly meant to for dedicated servers I suppose
16:35:50 <TrueBrain> okay, so if I would play the game, and it is going a bit wonkey, I would like to see how the game is doing
16:36:12 <TrueBrain> I would like to see how much frames/second the game is updating, and how many frames/second the game is drawing
16:36:17 <TrueBrain> if the game is a bit more okay
16:36:30 <TrueBrain> I would like to see the frame time, so I can see how close I am to hurting the framerate
16:36:31 *** sim-al2 has quit IRC
16:36:50 <TrueBrain> (in factorio this is very much a thing too .. for days your game runs fine, and than it crumbles down .. seeing that moment approach really helps)
16:37:00 <TrueBrain> as FPS is always max if the frame time is low enough
16:37:06 <TrueBrain> makes sense?
16:37:14 <nielsm> yes
16:37:25 <TrueBrain> than if the game loop is acting up, Iwould like to see inside there
16:37:28 <TrueBrain> how the entries related
16:37:32 <TrueBrain> FPS is irrelevant there
16:37:39 <Eddi|zuHause> i guess an interesting data point is how much time the gameloop is sleeping
16:37:45 <TrueBrain> I just want to see which parts takes how much ms, possibly relative to the parent
16:37:52 <nielsm> perhaps part of the reason I didn't even think of graphs initially is that my experience with OTTD is that if things are slow, they are slow all the time and not occasionally
16:38:12 <TrueBrain> I get that
16:38:21 <TrueBrain> for FPS this most likely is also true
16:38:27 <TrueBrain> for frame times this should be a slow line upwards
16:38:58 <Alberth> just stop playing soon enough :p
16:39:16 <LordAro> peter1138: https://imgur.com/gallery/IYOKT3I this guy.
16:39:40 <Eddi|zuHause> i guess the frame times might be useful in screenshots and crash reports, to know when to tell people things like "try disabling full animation"
16:40:07 <Alberth> sounds fair
16:40:08 <TrueBrain> you measure both frame time, as FPS in a decent way
16:40:16 <TrueBrain> FPS over the last N frames
16:40:24 <Alberth> I also run other stuff at the same machine, which should affect frame time
16:40:33 <TrueBrain> auto-save anyone? :D
16:40:40 <Alberth> would be nice to see that
16:41:06 <TrueBrain> guess the frame time is also over a few frames nielsm? (the "current")?
16:41:38 <Alberth> 300K save, once ever 13-ish minutes? hardly worth noticing probably :)
16:43:02 <nielsm> TrueBrain yes, average over 8 frames
16:43:18 <peter1138> LordAro, "You can't go anywhere in Scotland without passing a distillery. This is Dalwhinnie."
16:43:26 <TrueBrain> nielsm: so possibly a good start for an initial PR for this is simply that ... FPS over last 8 frames for gameloop/video, and frame time over last 8 frames in both the gameloop/video and in a little bit more detail
16:43:27 <peter1138> LordAro, that's a journey I can get behind :-)
16:43:39 <nielsm> the two main framerate values at the top are over the full 128 point history
16:43:43 <LordAro> peter1138: ikr
16:43:47 <LordAro> one day, one day...
16:43:53 <TrueBrain> nielsm: I would pick the same N ?
16:44:09 <TrueBrain> otherwise you get these situations where 1 / framerate is a number lower than FPS?
16:44:36 *** gelignite has quit IRC
16:45:06 <TrueBrain> and I wrote 8 for N, but 128 for N sounds better indeed :P
16:45:16 <TrueBrain> euh, 1 / frametime, oops
16:45:37 <Eddi|zuHause> @calc 170*1.6
16:45:37 <DorpsGek> Eddi|zuHause: 272
16:46:12 <peter1138> The issue I had with the fps patch is that on very high frame rates, the average updates quickly, and very low frame rates it updates slowly.
16:46:29 <peter1138> Cos the display always used the full data points.
16:46:39 <TrueBrain> nielsm: so what you have now, minus the 'current' and 'high-watermark' (as I assume 'average' was over the 128 points), to keep it simple and keep people away from questions :D
16:46:58 <Eddi|zuHause> so it rather should update every 1s, 10s, 60s?
16:47:13 <TrueBrain> if I get nielsm correctly, every frame the value changes?
16:47:16 <Eddi|zuHause> and then see how many frames fit in that?
16:47:17 <peter1138> Hence if you just work out how many data points are needed for a full second (or something) the update should be better.
16:47:21 <TrueBrain> but it is the average over 128 points?
16:48:06 <TrueBrain> I do not really understand what peter1138 is trying to say, sorry :D
16:48:08 <Eddi|zuHause> TrueBrain: yes, but 128 datapoints is a much longer period in slow framerates
16:48:14 <TrueBrain> yes; so?
16:48:17 <TrueBrain> the framerate is also lower
16:48:26 <TrueBrain> it takes a bit of time for the average to pick up on that
16:48:29 <TrueBrain> but .. that is an average
16:49:41 <TrueBrain> btw, in general, FPS is hard to work out to mean something proper, in any game
16:49:44 <Alberth> I think the point is you can also update eg once a second, independent of the number of frames you have
16:49:45 <TrueBrain> frame times is a lot easier :P
16:49:53 <TrueBrain> but you update every frame?
16:49:56 <Eddi|zuHause> i guess it's more relevant for the shorter intervals
16:50:02 <TrueBrain> I guess we mean different things with the 'update' part?
16:51:00 <Eddi|zuHause> yes
16:51:38 <TrueBrain> trying to puzzle it together .. I guess they mean that the sliding window is not based on frames, but based on time?
16:52:50 <Eddi|zuHause> yes, that was the suggestion
16:52:53 <TrueBrain> okay :)
16:53:05 <TrueBrain> algining lingo is a big part of the work :P
16:53:26 <nielsm> well yes you could also make something that searches the timestamps array, finds the first timestamp more than 1 second away from "now", and calculates a framerate based on that
16:53:29 <Alberth> it is
16:53:45 <nielsm> something with number of frames actually rendered, and then the difference between now and that timestamp found
16:54:01 <TrueBrain> nielsm: and to speed that up, you can make a bucket system of a resolution of 1 second :)
16:54:19 <TrueBrain> euh, 100ms or so
16:54:26 <TrueBrain> not 1s, silly TrueBrain
16:54:42 <TrueBrain> as otherwise the calculation gets a bit expensive
16:55:14 <nielsm> really no, for buckets you'll need to make division operations for every value recorded, which is probably slower than doing a linear search through an array once every 20 screen updates
16:55:14 <Alberth> keep last time-stamp, and check while adding a new entry
16:55:27 <TrueBrain> nielsm: huh? I think we mean different things :D
16:55:28 <nielsm> but now we're into microoptimizations that probably are a waste of time
16:55:50 <TrueBrain> bucket[time % 0.1s] += 1
16:55:54 <TrueBrain> no division needed :)
16:56:00 <nielsm> % is a division
16:56:09 <TrueBrain> so use 1024
16:56:09 <LordAro> lol
16:56:23 <TrueBrain> and please call modulo modulo, makes talking easier :)
16:56:46 <TrueBrain> it read to me that you wanted to add the starttimes together and dvide that by the points or something silly :)
16:57:18 <TrueBrain> owh, 1024 is 10ms .. use 128! :P
16:57:41 <Alberth> off by 28% :p
16:58:07 <TrueBrain> either way .. for FPS using a fixed timeframe looks a bit better
16:58:17 <TrueBrain> for frametimes I think it doesnt really matter
16:58:32 <peter1138> frametimes, no.
16:58:41 <TrueBrain> but if we ever want a graph that has on the x-axis time, it does
16:59:02 <peter1138> It's just odd for FPS becuase of the different lengths of time for it to settle.
16:59:05 <TrueBrain> (as that might look better)
16:59:09 <TrueBrain> ack
16:59:53 <TrueBrain> the impact of a slower frame needs longer time to show up in an average FPS with a sliding window over frames :D
17:00:12 <TrueBrain> (just to confuse the fuck out of anyone by constantly mising time with frame as unit :D)
17:01:35 <TrueBrain> mising? Mixing
17:09:00 <peter1138> My PRs are going to sit there forever anyway :p
17:09:11 <TrueBrain> other channel I guess? :P
17:09:18 <peter1138> That one.
17:10:13 <LordAro> gonna test #6825
17:10:25 <LordAro> break my rule of not putting a development environment on my windows install
17:10:33 <peter1138> Bah, £1400 for a shed :S
17:11:47 *** Cthulhux has joined #openttd
17:12:43 *** gelignite has joined #openttd
17:13:45 <peter1138> Hmm, might rebase the window tick stuff, I want the ICU-replacing code :-)
17:15:52 <nielsm> TrueBrain, for a graph display of processing times, since there are potentially lots of elements that can be measured and displayed, I wonder if the best approach would actually be to have each graph openable in its own window?
17:16:30 <nielsm> instead of all graphs overlapped, or stacked in the same window
17:16:52 <peter1138> Stacked is pretty normal for that kind of thing.
17:17:13 <peter1138> Meh, can't even run it now as ICU crashes every time.
17:17:34 <nielsm> yeah but useless if you have 10 graphs stacked and don't care about 7 of them
17:17:42 <nielsm> (waste of screen real estate)
17:17:58 <TrueBrain> nielsm: experiment with it a bit I would say :)
17:21:26 <TrueBrain> you can do like company windows, where you can enable/disable details :P
17:21:26 <LordAro> is ICU entirely irrelevant on windows now?
17:21:38 <TrueBrain> please say yes please say yes please say yes :P
17:21:54 <LordAro> oh, sorting will still be icu
17:22:10 <LordAro> sorry :p
17:22:15 <TrueBrain> ffs!
17:22:40 <TrueBrain> off to get some food o/
17:23:49 <peter1138> LordAro, fix it!
17:24:59 <LordAro> or maybe not...
17:25:13 <LordAro> icu sort is disabled if uniscribe is found
17:26:51 <LordAro> yeah, seems uniscribe can do string sorting as well
17:27:37 <LordAro> was a little confused by the "disabled" output in the configure script, rather than the expected "WIN32, skipping"
17:27:38 <nielsm> it's called /collation/ !!
17:27:41 <LordAro> shh
17:28:05 <LordAro> but "WIN32, skipping" is used for non-compatible libraries anyway
17:28:56 <LordAro> oh, fun fact, configure script does not check for `make`
17:31:42 <LordAro> and interestingly, mingw-gcc7.3 has a couple of warnings that look like they should be fixed
17:33:56 <peter1138> nielsm, another minor issue is the fps window can be partially updated
17:35:33 <nielsm> I think I actually noticed that... if it's above a part of screen where things are happening, parts of it will update with new values and parts remain
17:58:07 <LordAro> error: static assertion failed: sizeof(BitmapFileHeader) == 14
17:58:08 <LordAro> hmm.
18:00:13 <LordAro> who's most recently used mingw?
18:00:28 <Alberth> ANIKHTOS: ?
18:01:09 <ANIKHTOS> yes??
18:01:52 <LordAro> ANIKHTOS: don't suppose you ever came across the above error with your msys/mingw install?
18:03:23 <ANIKHTOS> win 32 skiping??
18:03:46 <Alberth> the static assert error
18:04:28 <Alberth> code does not use a library, it writes uncompressed BMP
18:04:41 <LordAro> it's as if GCC_PACK is not being applied
18:05:05 <LordAro> there was an odd warning earlier about OTTD_PRINTF64 being defined as %d as well
18:06:08 <ANIKHTOS> wait i compile knwo i will run config in a min and tell you about the assert
18:07:01 <LordAro> the assert is at compile time
18:07:11 <LordAro> given you can currently successfully compile OTTD, i imagine you haven't seen it
18:07:20 <LordAro> https://github.com/OpenTTD/OpenTTD/blob/master/src/stdafx.h#L307 this doesn't seem right
18:08:26 <Alberth> or ANIKHTOS uses 32 bit compile
18:08:50 <LordAro> possible
18:08:58 <Alberth> haha :)
18:09:00 <ANIKHTOS> i use mingw64
18:09:01 <LordAro> although i don't see why that would make a difference
18:09:09 <ANIKHTOS> and installed only 64 bit libraries
18:11:15 <LordAro> nope, GCC_PACK is definitely defined to be __attribute__((packed))
18:11:19 <LordAro> so why isn't it working...
18:11:31 <ANIKHTOS> checking assert... enabled
18:11:49 <ANIKHTOS> thats what you ask for alberth??
18:12:02 <Eddi|zuHause> ANIKHTOS: no
18:12:26 <Alberth> no, "error: static assertion failed: sizeof(BitmapFileHeader) == 14" is the failure that LordAro has
18:12:28 <Eddi|zuHause> LordAro: maybe a datatype has different length?
18:12:38 <LordAro> nope, just checked those
18:12:39 <Alberth> and he asked for someone recently using mingw
18:12:55 <LordAro> and i'd very much hope that uint16 & uint32 are the correct size :p
18:13:03 <Alberth> add that packed stuff hardcoded around the definition to be sure?
18:13:22 <ANIKHTOS> imy only problems wiwere with lzma lzo2 and make
18:13:52 <LordAro> Alberth: yh, no change
18:13:59 <Eddi|zuHause> LordAro: so we know that sizeof is not 14, what is the actual result?
18:13:59 <LordAro> to google!
18:14:11 <LordAro> Eddi|zuHause: the assert does not tell me that :>
18:14:17 <Alberth> try 16
18:14:32 <LordAro> Alberth: yup
18:14:41 <ANIKHTOS> lordara have you install all toolchain??/
18:15:00 <LordAro> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=52991 interesting
18:15:04 <LordAro> ANIKHTOS: yes
18:15:21 <ANIKHTOS> with pacman or pacboy??
18:15:32 <LordAro> irrelevant, it is installed
18:16:03 <ANIKHTOS> they do not isntall the same files
18:16:17 <LordAro> i am not having an issue with the libraries
18:16:44 <Eddi|zuHause> LordAro: "In contrast, compiling with -mno-ms-bitfields makes the example programs work as expected under gcc 4.7.0." <-- have you tried that?
18:17:08 <LordAro> trying..
18:19:57 <Alberth> ANIKHTOS: he's debugging bugs in the gcc compiler :)
18:20:33 <ANIKHTOS> nice
18:21:02 <Alberth> well, if you read the link, it's fixed, took only about 6 years
18:21:25 <ANIKHTOS> who is in hurry??
18:23:10 <LordAro> Eddi|zuHause: seems to have fixed it
18:23:21 <LordAro> now i have some excellent llooking harfbuzz linker errors
18:23:38 <Eddi|zuHause> that sounds fun :p
18:23:42 <Alberth> progress :p
18:24:44 <michi_cc> TrueBrain: ICU is entirely optional on Windows now (as is the DirectMusic part that we package in openttd-useful).
18:24:49 <Eddi|zuHause> now, $someone should probably tell configure that certain versions of GCC need that flag
18:25:16 <LordAro> Eddi|zuHause: yeah, i've got a couple of changes so far
18:27:06 <nielsm> well that's... kinda something? http://0x0.st/sLvH.png
18:27:07 <Eddi|zuHause> people making loud noises in the neighbourhood. game must be on?
18:30:54 *** sla_ro|master has quit IRC
18:31:01 <Alberth> nielsm: bit magic what the spikes mean, doesn't it?
18:31:17 <nielsm> absolutely :)
18:31:31 <nielsm> it's one pixel per millisecond
18:32:13 <LordAro> wait, what is linking in harfbuzz anyway?
18:32:13 <Alberth> horizontally or vertically?
18:32:36 <LordAro> ah, static freetype
18:32:37 <nielsm> Alberth it makes sense in motion :P
18:32:50 <Alberth> quite likely it does :)
18:33:52 <ANIKHTOS> ISO C++ forbids comparison between pointer and integer progress alberth diferent eror message
18:33:53 <Alberth> adding a hoover with explanation helps a lot, I think
18:35:11 <Alberth> yeah, they finally made that official. I always wondered why they added it to C in 1978
18:35:29 <LordAro> Alberth: lol, still only a warning by default, iirc
18:36:07 <Alberth> likely, don't want to scare all the oldtimers away :p
18:37:38 <LANJesus> sometimes i want to know the distance between two pointers in an array
18:37:43 <LANJesus> it makes sense there
18:38:05 <Alberth> no, then you subtract two pointer from each other
18:38:44 <nielsm> woo http://0x0.st/sLvK.png
18:38:57 <Alberth> int i; i < &i is comparison between pointer and integer
18:39:59 <LordAro> Eddi|zuHause: ... config.lib:1617
18:40:07 <LordAro> guess i should work out why that's not applying
18:40:18 <Eddi|zuHause> LordAro: i don't think i ever looked at that file
18:40:29 <Alberth> that's a good thing :p
18:40:35 <LordAro> ^
18:40:38 <LordAro> it's not a nice file
18:42:14 <LordAro> oh wait, that's for icc only
18:44:03 <LordAro> TrueBrain: hurry up and finish the new build system pls :>
18:46:23 <peter1138> :D
18:46:23 <nielsm> MUCH better when using QueryPerformanceCounter: http://0x0.st/sLvc.png
18:46:53 <peter1138> Simulation rate should be 33.33 frames/s though.
18:47:00 <peter1138> 1000/30
18:47:11 <nielsm> yeah I don't know why it gets it wrong
18:47:28 <nielsm> I'm dividing by a wrong number somewhere
18:47:49 <peter1138> Although its possible it's slower, as it doesn't play catch-up if it's behind.
18:48:56 <nielsm> http://0x0.st/sLvT.jpg
18:50:50 <peter1138> When do we get enough detail to show how slow NewGRF is? :D
18:51:21 <peter1138> Modern languages without specs are much faster.
18:51:46 <LordAro> haha
18:54:45 <Eddi|zuHause> yeah, just compare the speed of loading games betewen civ{4,5,6} and civ2
18:56:06 <LordAro> ...the harfbuzz issue was because i hadn't done a "system upgrade"
18:56:13 <LordAro> so it was pulling in old versions
19:00:37 <ANIKHTOS> civ2 load really fast??
19:04:27 <LordAro> once you click past the "yes i've got more than 32MB RAM" box
19:05:44 <LordAro> goddamn it, i copied the icc directive for mingw & bitfields
19:06:20 <LordAro> wait, no
19:06:23 <LordAro> what's going on
19:08:47 <LordAro> oh fuck you freetype
19:08:58 <LordAro> it's *adding* -mms-bitfields
19:12:43 <LordAro> and yes, harfbuzz is still broken
19:12:50 * LordAro --without-freetype
19:13:43 <LordAro> where's a glx when you want him
19:17:24 <Eddi|zuHause> <LordAro> once you click past the "yes i've got more than 32MB RAM" box <-- i'm pretty sure i always answered "no" on that
19:18:13 <LordAro> i think it was actually asking if you had the CD?
19:20:07 *** Flygon has quit IRC
19:20:11 <Eddi|zuHause> well, without the CD you'd be missing the video files anyway
19:21:19 <LordAro> indeed, which is what the 32MB was required for
19:22:20 *** snail_UES_ has joined #openttd
19:25:22 <LordAro> how does one get ottd to bootstrap to download graphics?
19:27:31 <Eddi|zuHause> start it with no graphics in the paths that it looks for?
19:32:18 <LordAro> ...it uses freetype
19:32:24 <LordAro> typical
19:34:00 *** andythenorth has joined #openttd
19:36:24 <LordAro> in the meantime, i made a thing: http://wiki.openttd.org/Compiling_on_Windows_using_MSYS2
19:38:57 <ANIKHTOS> nice lord ara in the packboy you can say if you remove the ::x it will download both 32 and 64
19:40:26 <LordAro> done :)
19:40:49 <ANIKHTOS> did you read my step by step?? or not??
19:40:55 <LordAro> i've not looked
19:41:02 <LordAro> don't go on the forum much
19:42:11 <ANIKHTOS> i documented all my steps that i doen to set up mingw64 in the msys2 package
19:42:39 <LordAro> as did i :)
19:43:26 <ANIKHTOS> you did nto wwirte you need lzma??
19:43:55 <LordAro> yeah i did - xz
19:44:04 <LordAro> it's got 2 different names, for some reason
19:44:42 <ANIKHTOS> glx told me that is better to use pacboy to install libraries for mingw
19:44:47 <ANIKHTOS> and nto use pacman
19:45:54 <LordAro> yes, that is what i did
19:46:13 <ANIKHTOS> did you have problem with lzo2??? the config.lib of ottd look for lzo2 in wrong place
19:46:15 <LordAro> git & make have no (meaningful) mingw equivalent
19:46:32 <LordAro> ANIKHTOS: ah yes, i forgot i was using the branch for PR #6825
19:46:39 <ANIKHTOS> glx made a new config.lib to be update with msys2
19:46:53 <LordAro> yeah, that's the one i used
19:47:29 <ANIKHTOS> before glx made the file update i make a symlink and create the folder ottd was lookign for lzo2
20:01:49 *** planetmaker_ has joined #openttd
20:07:37 *** supermop has joined #openttd
20:07:50 <supermop> yo
20:11:49 <andythenorth> lo supermop
20:12:46 <supermop> hows it going over there
20:15:25 <andythenorth> much chores
20:16:00 <supermop> similar here
20:16:09 <supermop> also its like 90 today
20:20:19 <Eddi|zuHause> how much is that in real units?
20:28:11 <Arveen> or in soccer fields
21:01:28 <supermop> Eddi|zuHause: about 90
21:01:56 <LordAro> https://github.com/Alexpux/MINGW-packages/issues/3966 hrm.
21:10:04 *** sla_ro|master has joined #openttd
21:17:56 *** sla_ro|master has quit IRC
21:26:06 <Eddi|zuHause> supermop: back in elementary school, whenever anyone said a number like "90" without units, my teacher asked "90 what? sausages?"
21:26:31 <supermop> it feels outside about as if i had eated 90 sausages
21:26:40 <supermop> eaten
21:26:42 <supermop> damnit
21:30:24 *** glx has joined #openttd
21:30:24 *** ChanServ sets mode: +v glx
21:31:14 <LordAro> o/ glx
21:31:30 <LordAro> there's some interesting stuff in the logs
21:35:28 *** snail_UES_ has quit IRC
21:36:26 <Eddi|zuHause> yeah, like discussions about 90 sausages
21:36:37 <LordAro> exactly.
21:41:58 *** synchris has quit IRC
21:43:39 <glx> @logs
21:43:39 <DorpsGek> glx: https://webster.openttdcoop.org/index.php?channel=openttd
22:00:26 *** Thedarkb-X40 has joined #openttd
22:04:09 *** Alberth has left #openttd
22:20:35 <ANIKHTOS> created a new setting in the gui but i can not use it? all the time i get error either not declare in scope. type mismatch. mo class type, and a few others i am doing progress i find out many errors but not the answer
22:24:11 *** sla_ro|master has joined #openttd
22:24:50 <glx> LordAro: nice work on the wiki :)
22:31:53 <LordAro> michi_cc: dmusic.cpp - ChunkHeader & WAVE_DOWNLOAD structs - is the pack(2) strictly necessary, or can it just be a more usual pack(1)? (i'm making a define)
22:34:42 *** sim-al2 has joined #openttd
22:36:35 <Eddi|zuHause> i'd take things like that pretty literally
22:39:18 <LordAro> i imagine so, but there's no comment, so...
22:40:08 <michi_cc> LordAro: It's that way in a Microsoft sample code, but as all includes structs have even length as far as I can see, it should make no difference.
22:40:45 <LordAro> mm, there's another instance of it in win32.cpp
22:40:55 <LordAro> which definitely doesn't matter for other OSes, but eh
22:41:23 <michi_cc> dmusic definitily doesn't matter for other OSes either.
22:41:44 <LordAro> can't hurt to be a little more consistent :)
22:42:01 <LordAro> regardless, i've just made a PACK_N macro
22:42:08 <michi_cc> And I don't think any compiler targeting Windows fails on pragma pack, or the system headers break horribly :)
22:42:11 <glx> LordAro: are you enabling dmusic for msys2 ?
22:42:37 <glx> I think the headers are available in msys2 w32api
22:43:46 <LordAro> glx: i wasn't trying to
22:44:02 <LordAro> just searching for other uses of struct packing
22:44:17 <LordAro> other than the one in screenshot.cpp, the only other instances are in windows code
22:44:21 <Wolf01> 'night
22:44:24 *** Wolf01 has quit IRC
22:44:36 <glx> at least I can see them in https://github.com/Alexpux/mingw-w64/tree/master/mingw-w64-headers/direct-x/include
22:45:16 <LordAro> is there a define to distinguish between MSYS & MSYS2? or do we think it's not worth the bother supporting the old version>
22:45:20 <LordAro> ?*
22:45:47 <glx> I don't think it's possible to detect than
22:45:53 <glx> both says MINGW
22:46:07 <LordAro> src/3rdparty/squirrel/squirrel/sqfuncstate.cpp:88:60: warning: format '%d' expects argument of type 'int', but argument 2 has type 'SQInteger {aka long long int}'
22:46:11 <LordAro> is annoying
22:46:18 <LordAro> apparently it doesn't like %I64d
22:46:44 <glx> hmm it should use the same format as MSVC
22:47:09 <LordAro> yeah, it doesn't like %lld even more
22:47:09 <glx> because printf format depends on msvcrt even for minwg
22:47:38 <glx> yeah I get a lot of warnings when building with mingw
22:55:49 <glx> warning: use of 'I' length modifier with 'u' type character has either no effect or undefined behavior [-Wformat=]
22:55:57 <glx> these are annoying too
22:56:12 *** andythenorth has left #openttd
22:56:13 <glx> I think the compiler is the one to blame
22:59:39 <LordAro> i don't get those
22:59:50 <glx> d:/developpement/GitHub/OpenTTD/src/base_media_func.h:133:3: warning: enumeration value 'CR_UNKNOWN' not handled in switch [-Wswitch]
22:59:50 <glx> switch (file->check_result) {
22:59:50 <glx> ^~~~~~
22:59:56 <LordAro> i get those
23:00:00 <LordAro> should be easy fix
23:00:07 <glx> that one is real :)
23:00:16 <LordAro> odd how nothing else picks it up
23:05:42 <LordAro> #define PACK_N(type_dec, n) __pragma(pack(push, n)) type_dec __pragma(pack(pop))
23:05:46 <LordAro> this should work, right?
23:05:56 <LordAro> error: expected constructor, destructor, or type conversion before '(' token
23:06:10 <LordAro> (the opening ( of the first __pragma )
23:07:03 *** frosch123 has quit IRC
23:08:58 <glx> my mingw is 32bit btw that could explain some differences with yours
23:09:18 <LordAro> ah yes
23:10:22 <glx> and probably a different gcc version too (6.3.0 for me)
23:12:31 <LordAro> mine is 7.3
23:20:12 *** gelignite has quit IRC
23:32:14 *** nielsm has quit IRC
23:44:11 *** planetmaker_ has quit IRC
23:54:16 *** supermop has quit IRC