Back to Home / #openttd / 2018 / 06 / Prev Day | Next Day
#openttd IRC Logs for 2018-06-17

---Logopened Sun Jun 17 00:00:57 2018
01:10-!-snail_UES_ [~snail_UES@cpe-98-14-137-148.nyc.res.rr.com] has quit [Quit: snail_UES_]
01:14-!-snail_UES_ [~snail_UES@cpe-98-14-137-148.nyc.res.rr.com] has joined #openttd
01:14-!-snail_UES_ is "Jacopo Coletto" on #openttd
01:23-!-Alberth [~alberth@00015f9e.user.oftc.net] has joined #openttd
01:23-!-mode/#openttd [+o Alberth] by ChanServ
01:23-!-Alberth is "purple" on @#openttd
01:23<@Alberth>hi hi
01:36-!-beno__ [~beno@51-171-48-82-dynamic.agg3.kny.prp-wtd.eircom.net] has quit [Ping timeout: 480 seconds]
01:42-!-OsteHovel [~OsteHovel@c14305AC1.dhcp.as2116.net] has joined #openttd
01:42-!-OsteHovel is "Hovel on the Ost" on #openttd
01:56-!-techmagus [~Laibeus_L@00022bb9.user.oftc.net] has quit [Ping timeout: 480 seconds]
02:21-!-nielsm [~nielsm@80-162-205-79-cable.dk.customer.tdc.net] has joined #openttd
02:21-!-nielsm is "Niels Martin Hansen" on #openttd #tycoon
02:24<nielsm>morning
02:27<@Alberth>moin
02:44-!-KouDy [~koudy@ip4-83-240-28-102.cust.nbox.cz] has joined #openttd
02:44-!-KouDy is "KouDy" on #openttd
02:47-!-techmagus [~Laibeus_L@00022bb9.user.oftc.net] has joined #openttd
02:47-!-techmagus is "Yahanan Xie" on #openttd #tor #/r/openttd
02:47-!-snail_UES_ [~snail_UES@cpe-98-14-137-148.nyc.res.rr.com] has quit [Quit: snail_UES_]
02:52-!-andythenorth [~andytheno@cpc87219-aztw31-2-0-cust178.18-1.cable.virginm.net] has joined #openttd
02:52-!-andythenorth is "andythenorth" on #openttd
02:53<andythenorth>o/
03:15<peter1138>Yes indeed.
03:23-!-sla_ro|master [~sla.ro@78.96.209.89] has joined #openttd
03:23-!-sla_ro|master is "slamaster" on #sla #openttd
04:07-!-ANIKHTOS [~oftc-webi@171.red-2-138-27.dynamicip.rima-tde.net] has joined #openttd
04:07-!-ANIKHTOS is "OFTC WebIRC Client" on #openttd
04:07<ANIKHTOS>hello how do you do?
04:08<ANIKHTOS>yes now my msys2 is install correct i ahve lzma and lzo2 :-)
04:08<ANIKHTOS>and i wrote down all the steps if someoen want to update the wiki
04:10<Eddi|zuHause>uhm, it's a wiki? you update it yourself?
04:11<ANIKHTOS>nope i wrote down the steps
04:12<ANIKHTOS>i post them in the forum in feedback
04:12<ANIKHTOS>if someone that has a wiki accoutn want to update the wiki to include msys2 install
04:16-!-Progman [~progman@p548D9ECF.dip0.t-ipconnect.de] has joined #openttd
04:16-!-Progman is "Peter Henschel" on #openttdcoop.dev #openttdcoop #openttd
04:16<ANIKHTOS>6 hours yesterday lost to reinstall the msys2
04:17<ANIKHTOS>for one reason pacboy install better libraries for mingw
04:17<ANIKHTOS>but make you need to instal it with pacman!?!?! pacboy version of make does nto compile!!!!!!
04:22-!-Wolf01 [~wolf01@host118-194-dynamic.61-82-r.retail.telecomitalia.it] has joined #openttd
04:22-!-Wolf01 is "Wolf01" on #openttd
04:22<Wolf01>o/
04:23<ANIKHTOS>hello wolf01
04:38<@Alberth>o/
04:38<@Alberth>by the way, not is written as "not" rather than "nto" :)
04:38-!-HerzogDeXtEr [~farci@dslb-178-012-124-184.178.012.pools.vodafone-ip.de] has joined #openttd
04:38-!-HerzogDeXtEr is "purple" on #openttd
04:42-!-frosch123 [~frosch@00013ce7.user.oftc.net] has joined #openttd
04:42-!-frosch123 is "frosch" on #openttdcoop.devzone +#openttd.dev #openttd
04:45<__ln__>ciao a tutti
04:45<Wolf01>Quak
04:45<ANIKHTOS>well the good news alberth is that now my msys mingw installation have lzma and lzo2
04:46<@Alberth>good
04:46<ANIKHTOS>and i do not know why the make pacboy download does not compile while the make from pacman does
04:47<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
04:47<@Alberth>does not compile what?
04:47<ANIKHTOS>and in the end i just run pacman and it work
04:47<ANIKHTOS>anything
04:48<@Alberth>...
04:48<ANIKHTOS>when i trype make i get error no command
04:48<peter1138>pacboy doesn't work, pacman does work.
04:48<@Alberth>...
04:48<peter1138>I don't know what either of those things are.
04:48<peter1138>I thought pacman was some Linux distro's packaging system.
04:49<@Alberth>reports like you do "it does not work" has no clues on what EXACTLY goes wrong, so we cannot help you
04:49<ANIKHTOS>it does nto find the comamnd
04:49<ANIKHTOS>it give back the eror no command
04:49<@Alberth>Who reports the error, make or the shell, what is the error exactly?
04:49<peter1138>That means it's not installed :p
04:50<@Alberth>these details matter in finding the cause
04:50<ANIKHTOS>iwell i do pacboy -S make install teh make
04:50<ANIKHTOS>then trype make
04:50<ANIKHTOS>and i get there is no command make
04:50<ANIKHTOS>in the shelll of mingw
04:50<@Alberth>right, that helps
04:51<ANIKHTOS>i isntall make from pacman -S make
04:51<ANIKHTOS>type make
04:51<ANIKHTOS>it works
04:51<@Alberth>so it's not a command inside the makefile that fails, it's starting make itself
04:51<@Alberth>so where does pacboy drop the program?
04:51<@Alberth>is that path in your PATH ? (no, probably)
04:52<ANIKHTOS>pacboy drops the x64 in a folder called mingw64
04:52<ANIKHTOS>and the i686 in a folder called mingw32
04:52<@Alberth>can you start it manually by typing the full path?
04:53<@Alberth>"make" automagically getting found by the shell runs through the PATH environment variable of the shell
04:54<@Alberth>so either the directory containing the program is not in PATH, or it cannot be run at all
04:54<ANIKHTOS>the folder have this file mingw32-make.exe
04:55<ANIKHTOS>maybe thats the problem??
04:55<@Alberth>by manually starting it (thus avoiding use of PATH to resolve "make") you can verify if it runs at all
04:55<@Alberth>no idea, does it run?
05:01<ANIKHTOS>i can nto go to the folder
05:01<ANIKHTOS>i need to go r:\msys64\mingw64\bin
05:02<ANIKHTOS>but i go so far as r:\msys64
05:03-!-andythenorth [~andytheno@cpc87219-aztw31-2-0-cust178.18-1.cable.virginm.net] has quit [Quit: andythenorth]
05:03<ANIKHTOS>mingw32-make: *** No targets specified and no makefile found. Stop.
05:03<ANIKHTOS>i manage to go the the folder and run the programm
05:05<@Alberth>you stay in the directory with the Makefile, and then type the full path to make at the prompt
05:05<@Alberth>eg $ r:/msys64/mingw64/bin/mingw32-make
05:06<ANIKHTOS>i$ r:\msys64\ming64\bin\mingw32-make.exe i get bash: r:msys64ming64binmingw32-make.exe: command not found
05:07<@Alberth>the full path is is not correct if bash complains about not found
05:07<Wolf01>The problem is that you are using \ instead of /
05:07<@Alberth>maybe you have to escape the \ as they have special meaning????
05:07<@Alberth>use / instead
05:08-!-gelignite [~gelignite@55d45b87.access.ecotel.net] has joined #openttd
05:08-!-gelignite is "gelignite" on #openttd #openttdcoop.devzone
05:09<@Alberth>bash agrees with \ being the problem, notice how your \ have disappeared in the response from bash?
05:09<ANIKHTOS>okey with / the mingw32-make
05:09<ANIKHTOS>start to compile
05:09<@Alberth>this kind of details provide information where to look further
05:10<@Alberth>ok, program runs thus
05:10<ANIKHTOS>cc: error: R:/ottd/objs/release/config.cache.source.o: No such file or directory
05:10<ANIKHTOS>and faield
05:10<ANIKHTOS>failed
05:11<@Alberth>given it has the name "mingw32-make", you should be able to start the program using that name
05:11<@Alberth>cc error is after make started
05:11<ANIKHTOS>yes
05:11<@Alberth>do want to fix starting make or building source? one thing at a time please
05:12<ANIKHTOS>so that means the pacboy did nto find a 64bit make?/ and isntall a 32 in its palce??
05:12<ANIKHTOS>place??
05:13<@Alberth>I don't know, maybe the pacboy mingw package contains both
05:13<ANIKHTOS>i think thats the reson i do nto have make when i use pacboy
05:13<@Alberth>you'll have to check the mingw-make project to know what they aim to achieve
05:13<ANIKHTOS>it install a make but with this name
05:14<@Alberth>likely they don't want to disturb an existing make
05:14<@Alberth>so they give their make program a different name to avoid name conflicts
05:15<@Alberth>but that is only guessing
05:16<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...
05:16<ANIKHTOS>the have 3 make
05:17<ANIKHTOS>nomral make is the 64 bit
05:17<@Alberth>so it's intentional
05:17<ANIKHTOS>gmake.exe: another common name for GNU Make, does not conflict with MSYS Make.
05:17<ANIKHTOS>i need this make
05:18<ANIKHTOS>make.exe: traditional name for GNU Make on popular linux distributions. This will conflict (badly) with MSYS Make
05:19<@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
05:19<@Alberth>*unices
05:20<ANIKHTOS>i do nto have gmake
05:21<@Alberth>sure? mingw32-make --version does not say it's Gnu software?
05:22<@Alberth>or your "make" program
05:22<@Alberth>ie https://paste.openttdcoop.org/pp8txcnhn
05:23<ANIKHTOS>wait i still compile
05:23<@Alberth>simplest solution is to make a link with the correct name that you want to the program that should be used
05:24<ANIKHTOS>if mingw32-make is a 32 bit but i run mingw64 is not a problem???
05:24<@Alberth>ctrl+C aborts the compile :p
05:24<nielsm>I would still recommend finding the time and space to install visual studio, instead of trying to get mingw/msys working
05:25<@Alberth>I don't know, I run only 64 bit software since several years, 32 bit software doesn't even start at my system
05:25<ANIKHTOS>$ mingw32-make --version GNU Make 4.2.1
05:25<+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]
05:25<@Alberth>I'd expect so, there are not that many make programs around :)
05:26<+michi_cc>I forgot to check in the CI output logs as warnings alone still make it green :)
05:26<ANIKHTOS>Built for x86_64-w64-mingw32
05:26<ANIKHTOS>and it is 32 bit
05:26<nielsm>michi_cc the CAT files one?
05:26<@Alberth>michi_cc: should be an error?
05:27<nielsm>ah yeah has to be
05:27<+michi_cc>nielsm: 5ab06ef8
05:27<nielsm>sorry :(
05:27<nielsm>yeah that's the one
05:28<nielsm>in hindsight it's obvious why
05:28<+michi_cc>Alberth: Well, if there's nothing to do for a switch case, there's nothing to do.
05:29<ANIKHTOS>i will use the make i got from pacman it is 64 bit
05:29<nielsm>missing cases can only be a warning, since it _might_ be an indication of a mistake
05:31<+michi_cc>-Werror :p
05:35-!-iSoSyS [~iSoSyS@bl18-25-120.dsl.telepac.pt] has joined #openttd
05:35-!-iSoSyS is "realname" on #/r/openttd #openttd
05:35<nielsm>sigh, again blocked from doing any work by birds
05:35<nielsm>completely occupying my hands and arms
05:36<Wolf01>Like a disney princess
05:36<@Alberth>michi_cc: for the CI that might make sense, as it avoids missing these things
05:37<@Alberth>but yeah, these warnings reach the point where they are somewhat questionable
05:39<+michi_cc>The OSX clang gives a warning like "unused typedef" on out codebase (some assert stuff). Why is that a warning please?
05:41<@Alberth>quite
05:42<@Alberth>trying to do perfect checking, which is a non-achievable goal in the first place
05:45<@Alberth>or they try to avoid programmers having to think and instead totally rely on tool-output, which is also not achievable
05:46<@Alberth>but works for all commercial tool sellers
05:48<@Alberth>in the meantime, why is there no editor that recognizes patterns in my code, and automatically completes the next instances of it?
05:54-!-iSoSyS [~iSoSyS@bl18-25-120.dsl.telepac.pt] has quit [Quit: Leaving]
05:57-!-synchris [~synchris@139.138.202.72] has joined #openttd
05:57-!-synchris is "Synesios Christou" on #openttd
06:24-!-Wacko1976 [~IceChat9@027-161-128-083.dynamic.caiway.nl] has joined #openttd
06:24-!-Wacko1976 is "The Chat Cool People Use" on #openttd #/r/openttd
06:29<ANIKHTOS>when i have to write code liek that i use macro that write the boring recreating code
06:31-!-Wormnest [~Wormnest@s5596abd2.adsl.online.nl] has joined #openttd
06:31-!-Wormnest is "Wormnest" on #openttd
06:31<@Alberth>problem is that it's always somewhat different, different function names, different variables
06:34<@Alberth>and there is other unique code that I write in-between
06:39<ANIKHTOS>well i have the code that is the same
06:39<ANIKHTOS>and i write the macro to create the code that changes
06:39<ANIKHTOS>most of the times is var1 then var2
06:40<ANIKHTOS>so it is easy to write a macro with close similar names
06:40<peter1138>Macros are generally bad.
06:41<ANIKHTOS>well i do not know if i save time or loose time
06:41<ANIKHTOS>but it makes the codign more fun and less boring
06:43<ANIKHTOS>micorsoft word is good for that because you can write the macros in visual basic so many many options
06:43<Wolf01>Don't confuse macros with functions
06:44<ANIKHTOS>okey i use microsoft word so i can use the functions which is better than the macros
06:44<nielsm>in C and C++, "macro" means a very specific thing
06:44<Wolf01>No, C++ macros are something different than functions, I'm not speaking of word
06:49<@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
06:49<@Alberth>(almost) 41-47? In fact the latter is a different pattern that also happens
06:55<ANIKHTOS>https://paste.openttdcoop.org/pxxnsfmhd
06:55<+michi_cc>peter1138: Could I bother you for a re-approve of #6826?
06:55<ANIKHTOS>that i woudl do if i ahd to write many times that
06:57<@Alberth>makes sense
06:59<ANIKHTOS>i use placeholders where the change will be and then replace them
07:00<+michi_cc>peter1138: Thanks.
07:04<ANIKHTOS>https://wiki.openttd.org/OpenTTDDevBlackBook/Settings/AddSetting
07:04<ANIKHTOS>is this quide correct??
07:09<@Alberth>last change in 2015? likely out of date
07:11<@Alberth>also, author doesn't seem to understand the matter very much, considering the fixes that planet-maker did
07: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
07:13<ANIKHTOS>the game crashes
07:15<ANIKHTOS>assertion failed at line 952 of settings_gui.cpp this-> setting != NULL
07:24<ANIKHTOS>solve it
07:26<@Alberth>assert is a check that should never fail
07:28<@Alberth>ie the line before it this->setting = GetSettingFromName(this->name, &this->index); must not return NULL
07:28<@Alberth>so check that function to see how it fails to do that
07:29<ANIKHTOS>in the setting.ini i put it as version 200
07:29<ANIKHTOS>but in saveload i did nto declare the game as 200
07:32<@Alberth>asserts are basically sanity checks that everything is consistent, so yeah, your changes could trigger it
07:32<@Alberth>ie, assert is working as intended :)
07:32<ANIKHTOS>well thats why i knew it was somethign i did wrong
07:34<@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
07:34<@Alberth>so assert is a starting point for further searches
07:35<@Alberth>removing the assert will make the program crash in totally unrelated code, making it more difficult to find the real cause
07:35<@Alberth>so the assert is helping in localizing problems
07:38<ANIKHTOS>is there any documendation for saveload.cpp??
07:40<ANIKHTOS>when i wrote my code for slow day i introduce some variables in date.cpp
07:41<ANIKHTOS>how i save them?? witht he save game??
07:41<ANIKHTOS>with the save game
07:42<@Alberth>you just list it as existing in a table, load and save then works
07:43<ANIKHTOS>how i do that??
07:43<@Alberth>in addition, in AfterLoad, you fix the case of loading an older savegame by specifying a default value
07:43<ANIKHTOS>yes after load i understand how it works
07:44<@Alberth>(not even sure if that is needed, maybe that is done automatically already)
07:44<@Alberth>what file in src/saveload looks the right for adding the variable to you?
07:45<@Alberth>economy?
07:45<@Alberth>misc?
07:45<ANIKHTOS>well its about date so game??
07:46<@Alberth>misc seems to have _date
07:47<@Alberth>you see the static const SaveLoadGlobVarList _date_desc[] = { table?
07:48<ANIKHTOS>yes
07:48<@Alberth>it lists global variable to save, with at the right the first and last version number in the savegame
07:49<@Alberth>so _date is saved as SLE_INT32 since version 31
07:49<@Alberth>and the line before says _date was saved as a UINT16 until and including version 30
07:50<@Alberth>near the end of the table is _pause_mode which exists since version 4, and not before
07:51<@Alberth>so you just add your global variable in there
07:51<@Alberth>ok, no default values here, I am confused with settings
07:51<@Alberth>so you need AfterLoad to initialize it for older savegames
07:52<ANIKHTOS>okey thanks alberth when you said saveload table i though in the saveload.cpp file
07:52<@Alberth>and you didn't look in all the other src/saveload/* files? :)
07:53<ANIKHTOS>well i look in saveload.cpp
07:53<ANIKHTOS>long long file
07:53<@Alberth>yes, toooooo long :p
07:54<@Alberth>one decade of history
07:54<ANIKHTOS>and i did nto get anything apart the firs tlien where you declare the version of the game
07:54<@Alberth>yeah, there isn't much documentation that explains everything
07:55<@Alberth>not sure how much of a problem that is
07:55<@Alberth>it'd just become obsolete if it existed
07:57<@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.
07:57<@Alberth>reading source you didn't write is also a skill you have to practice
07:58<ANIKHTOS> SLEG_CONDVAR SLEG_VAR?? what i use??
08:06<ANIKHTOS>well i documented my experience isntalling msys2 and i post it to help others
08:14<@Alberth>SLEG_VAR is the same as SLEG_CONDVAR, except the latter has a lower and upper value for savegame versions
08:15<@Alberth>you didn't see that when comparing two lines?
08:16<@Alberth>posting in the forum is pretty much useless, in a month nobody is going to find that post
08:21<ANIKHTOS>well if someoen wants to edit the wiki and put the steps they are welcome to do it
08:21-!-ToffeeYogurtPots [~ToffeeYog@000269bc.user.oftc.net] has joined #openttd
08:21-!-ToffeeYogurtPots is "realname" on #debian #debian-hurd #debian-offtopic #tor #tor-project #tor-onions #i2p #https-everywhere #privacybadger #openttd #/r/openttd #odamex #privacytools.io #privacytech #oftc
08:21<ANIKHTOS>i imagine my steps are not worded 100% perfect
08:30<@Alberth>the problem is that some one that knows it all has no use for documenting it on the wiki
08:31<@Alberth>so you'll never find one that is willing to do it and write it down perfectly
08:32<@Alberth>this is why the newer features of openttd are not even listed on the wiki, and why the blackbook is outdated
08:33<@Alberth>and incomplete
08:44<ANIKHTOS>okey i made my add settign in the gui so users can choose the slow factor
08:44<ANIKHTOS>but i can nto use it in the code
08:44<ANIKHTOS>not declared in this scope
08:45<@Alberth>it's a global?
08:45<@Alberth>declare it next to _date
08:45<@Alberth>assuming that is done :)
08:46<@Alberth>yep, is
08:46-!-Cthulhux [~Cthulhux@00027534.user.oftc.net] has joined #openttd
08:46-!-Cthulhux is "he who etc." on #gentoo #C #openttd #suckless
08:51<ANIKHTOS>it is declared in setting_type.h
08:52<ANIKHTOS>which date.cpp is including would not link to the variable over there??
08:55<@Alberth>oh, you're talking about the setting and not your own date variable
08:55<@Alberth>well yes you have to include any file that you need in the cpp file
08:56<@Alberth>any .h file, that is
09:01<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
09:03<ANIKHTOS>okey i add a seeting which is declared in the settings+type.h
09:03<ANIKHTOS>now i am in the date,cpp which includes the settings_type.h file and i want to call that setting variable
09:03<ANIKHTOS>but i get not declared in scope
09:04<ANIKHTOS>how i call the setting??
09:06<@Alberth>find how an arbitrary other setting does it
09:07<@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
09:07<@Alberth>then find that code and see how they do it
09:18<ANIKHTOS>i am nto panicking
09:21<@Alberth>ok, just think a little longer than :)
09:21<@Alberth>*then
09:29-!-Thedarkb1 [~beno@51-171-48-82-dynamic.agg3.kny.prp-wtd.eircom.net] has quit [Ping timeout: 480 seconds]
09:37-!-Thedarkb1 [~beno@51-171-48-82-dynamic.agg3.kny.prp-wtd.eircom.net] has joined #openttd
09:37-!-Thedarkb1 is "realname" on #oolite #openttd #/r/openttd
09:38-!-Cthulhux [~Cthulhux@00027534.user.oftc.net] has quit [Quit: Going offline, see ya! (www.adiirc.com)]
09:47-!-Cthulhux [~Cthulhux@p54962A70.dip0.t-ipconnect.de] has joined #openttd
09:47-!-Cthulhux is "he who etc." on #gentoo #C #openttd
09:50<Wolf01>V453000: so some company made Factorio3D?
09:51<nielsm>TrueBrain, how do you like this layout? http://0x0.st/sLyn.png
09:56<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)
09:56<TrueBrain>a high-watermark is nice, but it is a bit meaningless
09:56<TrueBrain>same for average
09:56<TrueBrain>a plain history would be much more valuable
09:56<TrueBrain>if we look at the situations you are interested in the value, is when it goes wrong
09:56<TrueBrain>and the average is a poor value for that imo
09:57<TrueBrain>(and a high watermark .. well .. all our systems sometimes choke .. is that really useful?)
09:57<nielsm>how about 50th and 90th percentile then?
09:57<TrueBrain>still not useful to me
09:57<TrueBrain>if I run OpenTTD for a day
09:57<TrueBrain>those values are meaningless
09:58<TrueBrain>they only work for the last 10 minutes or so
09:58<nielsm>ah you're missing one detail
09:58<nielsm>it's not all time, but within the window of (currently) 128 data points
09:58<TrueBrain>that is not written in your GUI anywhere ;)
09:58<nielsm>I intend to add it
09:58<TrueBrain>still a graph would be more useful tbh
09:58<TrueBrain>(all modern games you see adopt this btw)
09:59<TrueBrain>http://i.imgur.com/Kpw8VIF.jpg <- Path of Exile example
10:00<TrueBrain>this allows me in PoE to mostly understand where the spike is coming from
10:00<Eddi|zuHause>great fps drops in that :p
10:00<TrueBrain>as I have a bit more context
10:00<TrueBrain>especially I see if it was a minor drop, or a long drop
10:00<TrueBrain>as you can see, Eddi|zuHause already understand the context of that simple graph :)
10:00<TrueBrain>personally, I think any other value would only make it more complex without really adding value
10:00<Eddi|zuHause>well, i've had my share of poe performance problems :p
10:00<TrueBrain>so a plain fps would be better than
10:01<TrueBrain>havent we all :P
10:05<nielsm>http://0x0.st/sLtH.gif
10:05<nielsm>yay it works
10:07<TrueBrain>slick :)
10:07<TrueBrain>maybe make the 2 section details a bit more clear or something
10:07<TrueBrain>but that is working in the margins :)
10:07<TrueBrain>we already have code for sparklines in the UI, so a history should be trivial I guess? :)
10:10-!-Cthulhux [~Cthulhux@00027534.user.oftc.net] has quit [Ping timeout: 480 seconds]
10:12<nielsm>http://0x0.st/sLtX.png better now? :P
10:13<TrueBrain>as explained, I do not see the point of the information
10:13<TrueBrain>even if you tell me how you got the information :)
10:13<TrueBrain>it doesnt tell me anything honestly
10:14<TrueBrain>a graph can say what 1000 statistics cant :)
10:14-!-Thedarkb1 [~beno@51-171-48-82-dynamic.agg3.kny.prp-wtd.eircom.net] has quit [Ping timeout: 480 seconds]
10:19<nielsm>um I'll push this version of it and then look at the company graphs for how those are done
10:20<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
10:21<@Alberth>a case of less is more :)
10:22<TrueBrain>exactly :)
10:23<nielsm>the "current" here is actually based on 8 points still, so it's more "short term average"
10:23<TrueBrain>what is a "point"?
10:23<Eddi|zuHause>TrueBrain: this is my "best" one https://i.paste.pics/bfaf777477b8e145077c1439fe8ebd3e.png
10:25<nielsm>one data point is one run through the game loop/window drawing proc/video output proc/mixer loop
10:25<TrueBrain>nielsm: so the second method in my reply?
10:25<Eddi|zuHause>so, one tick?
10:25<nielsm>for game loop yes
10:25<TrueBrain>does video do something else?
10:26<Eddi|zuHause>not to my knowledge
10:26<nielsm>video output can run more frequently, I think it does that for the mouse cusor specifically
10:26<nielsm>on windows at least
10:27<TrueBrain>so okay, you measure the time of a frame, take the last N frames, and calculate the FPS from that?
10:27<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
10:28<Eddi|zuHause>ok, i do remember some talk about making the gui more smooth
10:28<nielsm>the history of entry times is used to calculate the frame rate (fps)
10:28<nielsm>while the history of run times is used to display the ms values
10:28<TrueBrain>so you measure the frame time
10:29<nielsm>Eddi|zuHause yes this PR: https://github.com/OpenTTD/OpenTTD/pull/6780
10:29<TrueBrain>and calculate the FPS from there
10:29<TrueBrain>well, and not the last, but over a few measurements I guess
10:30<nielsm>http://0x0.st/sLtZ.txt
10:30<nielsm>the relevant part
10:31<TrueBrain>okay, so FPS is from the start of the frames
10:32<nielsm>yes
10:32<Eddi|zuHause>frame time is end-start, and FPS is start[n]-start[n-1]
10:32<TrueBrain>I would show that tbh ... frame time and FPS, as 2 separate values
10:32<TrueBrain>(for the 2 main things)
10:33<TrueBrain>I guess you kinda did
10:33<TrueBrain>as you notice, the information is not fully clear to me at first glance :)
10:34<nielsm>there's also the console output option: http://0x0.st/sLtq.png
10:34<nielsm>which is mostly meant to for dedicated servers I suppose
10:35<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
10:36<TrueBrain>I would like to see how much frames/second the game is updating, and how many frames/second the game is drawing
10:36<TrueBrain>if the game is a bit more okay
10:36<TrueBrain>I would like to see the frame time, so I can see how close I am to hurting the framerate
10:36-!-sim-al2 [~sim-al2@c-75-65-196-171.hsd1.tn.comcast.net] has quit [Ping timeout: 480 seconds]
10:36<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)
10:37<TrueBrain>as FPS is always max if the frame time is low enough
10:37<TrueBrain>makes sense?
10:37<nielsm>yes
10:37<TrueBrain>than if the game loop is acting up, Iwould like to see inside there
10:37<TrueBrain>how the entries related
10:37<TrueBrain>FPS is irrelevant there
10:37<Eddi|zuHause>i guess an interesting data point is how much time the gameloop is sleeping
10:37<TrueBrain>I just want to see which parts takes how much ms, possibly relative to the parent
10:37<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
10:38<TrueBrain>I get that
10:38<TrueBrain>for FPS this most likely is also true
10:38<TrueBrain>for frame times this should be a slow line upwards
10:38<@Alberth>just stop playing soon enough :p
10:39<LordAro>peter1138: https://imgur.com/gallery/IYOKT3I this guy.
10:39<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"
10:40<@Alberth>sounds fair
10:40<TrueBrain>you measure both frame time, as FPS in a decent way
10:40<TrueBrain>FPS over the last N frames
10:40<@Alberth>I also run other stuff at the same machine, which should affect frame time
10:40<TrueBrain>auto-save anyone? :D
10:40<@Alberth>would be nice to see that
10:41<TrueBrain>guess the frame time is also over a few frames nielsm? (the "current")?
10:41<@Alberth>300K save, once ever 13-ish minutes? hardly worth noticing probably :)
10:43<nielsm>TrueBrain yes, average over 8 frames
10:43<peter1138>LordAro, "You can't go anywhere in Scotland without passing a distillery. This is Dalwhinnie."
10:43<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
10:43<peter1138>LordAro, that's a journey I can get behind :-)
10:43<nielsm>the two main framerate values at the top are over the full 128 point history
10:43<LordAro>peter1138: ikr
10:43<LordAro>one day, one day...
10:43<TrueBrain>nielsm: I would pick the same N ?
10:44<TrueBrain>otherwise you get these situations where 1 / framerate is a number lower than FPS?
10:44-!-gelignite [~gelignite@55d45b87.access.ecotel.net] has quit [Quit: Match found!]
10:45<TrueBrain>and I wrote 8 for N, but 128 for N sounds better indeed :P
10:45<TrueBrain>euh, 1 / frametime, oops
10:45<Eddi|zuHause>@calc 170*1.6
10:45<@DorpsGek>Eddi|zuHause: 272
10:46<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.
10:46<peter1138>Cos the display always used the full data points.
10:46<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
10:46<Eddi|zuHause>so it rather should update every 1s, 10s, 60s?
10:47<TrueBrain>if I get nielsm correctly, every frame the value changes?
10:47<Eddi|zuHause>and then see how many frames fit in that?
10:47<peter1138>Hence if you just work out how many data points are needed for a full second (or something) the update should be better.
10:47<TrueBrain>but it is the average over 128 points?
10:48<TrueBrain>I do not really understand what peter1138 is trying to say, sorry :D
10:48<Eddi|zuHause>TrueBrain: yes, but 128 datapoints is a much longer period in slow framerates
10:48<TrueBrain>yes; so?
10:48<TrueBrain>the framerate is also lower
10:48<TrueBrain>it takes a bit of time for the average to pick up on that
10:48<TrueBrain>but .. that is an average
10:49<TrueBrain>btw, in general, FPS is hard to work out to mean something proper, in any game
10:49<@Alberth>I think the point is you can also update eg once a second, independent of the number of frames you have
10:49<TrueBrain>frame times is a lot easier :P
10:49<TrueBrain>but you update every frame?
10:49<Eddi|zuHause>i guess it's more relevant for the shorter intervals
10:50<TrueBrain>I guess we mean different things with the 'update' part?
10:51<Eddi|zuHause>yes
10:51<TrueBrain>trying to puzzle it together .. I guess they mean that the sliding window is not based on frames, but based on time?
10:52<Eddi|zuHause>yes, that was the suggestion
10:52<TrueBrain>okay :)
10:53<TrueBrain>algining lingo is a big part of the work :P
10:53<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
10:53<@Alberth>it is
10:53<nielsm>something with number of frames actually rendered, and then the difference between now and that timestamp found
10:54<TrueBrain>nielsm: and to speed that up, you can make a bucket system of a resolution of 1 second :)
10:54<TrueBrain>euh, 100ms or so
10:54<TrueBrain>not 1s, silly TrueBrain
10:54<TrueBrain>as otherwise the calculation gets a bit expensive
10:55<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
10:55<@Alberth>keep last time-stamp, and check while adding a new entry
10:55<TrueBrain>nielsm: huh? I think we mean different things :D
10:55<nielsm>but now we're into microoptimizations that probably are a waste of time
10:55<TrueBrain>bucket[time % 0.1s] += 1
10:55<TrueBrain>no division needed :)
10:56<nielsm>% is a division
10:56<TrueBrain>so use 1024
10:56<LordAro>lol
10:56<TrueBrain>and please call modulo modulo, makes talking easier :)
10:56<TrueBrain>it read to me that you wanted to add the starttimes together and dvide that by the points or something silly :)
10:57<TrueBrain>owh, 1024 is 10ms .. use 128! :P
10:57<@Alberth>off by 28% :p
10:58<TrueBrain>either way .. for FPS using a fixed timeframe looks a bit better
10:58<TrueBrain>for frametimes I think it doesnt really matter
10:58<peter1138>frametimes, no.
10:58<TrueBrain>but if we ever want a graph that has on the x-axis time, it does
10:59<peter1138>It's just odd for FPS becuase of the different lengths of time for it to settle.
10:59<TrueBrain>(as that might look better)
10:59<TrueBrain>ack
10:59<TrueBrain>the impact of a slower frame needs longer time to show up in an average FPS with a sliding window over frames :D
11:00<TrueBrain>(just to confuse the fuck out of anyone by constantly mising time with frame as unit :D)
11:01<TrueBrain>mising? Mixing
11:09<peter1138>My PRs are going to sit there forever anyway :p
11:09<TrueBrain>other channel I guess? :P
11:09<peter1138>That one.
11:10<LordAro>gonna test #6825
11:10<LordAro>break my rule of not putting a development environment on my windows install
11:10<peter1138>Bah, £1400 for a shed :S
11:11-!-Cthulhux [~Cthulhux@00027534.user.oftc.net] has joined #openttd
11:11-!-Cthulhux is "he who etc." on #gentoo #C #openttd #suckless
11:12-!-gelignite [~gelignite@55d45b87.access.ecotel.net] has joined #openttd
11:12-!-gelignite is "gelignite" on #openttd #openttdcoop.devzone
11:13<peter1138>Hmm, might rebase the window tick stuff, I want the ICU-replacing code :-)
11:15<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?
11:16<nielsm>instead of all graphs overlapped, or stacked in the same window
11:16<peter1138>Stacked is pretty normal for that kind of thing.
11:17<peter1138>Meh, can't even run it now as ICU crashes every time.
11:17<nielsm>yeah but useless if you have 10 graphs stacked and don't care about 7 of them
11:17<nielsm>(waste of screen real estate)
11:17<TrueBrain>nielsm: experiment with it a bit I would say :)
11:21<TrueBrain>you can do like company windows, where you can enable/disable details :P
11:21<LordAro>is ICU entirely irrelevant on windows now?
11:21<TrueBrain>please say yes please say yes please say yes :P
11:21<LordAro>oh, sorting will still be icu
11:22<LordAro>sorry :p
11:22<TrueBrain>ffs!
11:22<TrueBrain>off to get some food o/
11:23<peter1138>LordAro, fix it!
11:24<LordAro>or maybe not...
11:25<LordAro>icu sort is disabled if uniscribe is found
11:26<LordAro>yeah, seems uniscribe can do string sorting as well
11:27<LordAro>was a little confused by the "disabled" output in the configure script, rather than the expected "WIN32, skipping"
11:27<nielsm>it's called /collation/ !!
11:27<LordAro>shh
11:28<LordAro>but "WIN32, skipping" is used for non-compatible libraries anyway
11:28<LordAro>oh, fun fact, configure script does not check for `make`
11:31<LordAro>and interestingly, mingw-gcc7.3 has a couple of warnings that look like they should be fixed
11:33<peter1138>nielsm, another minor issue is the fps window can be partially updated
11:35<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
11:58<LordAro>error: static assertion failed: sizeof(BitmapFileHeader) == 14
11:58<LordAro>hmm.
12:00<LordAro>who's most recently used mingw?
12:00<@Alberth>ANIKHTOS: ?
12:01<ANIKHTOS>yes??
12:01<LordAro>ANIKHTOS: don't suppose you ever came across the above error with your msys/mingw install?
12:03<ANIKHTOS>win 32 skiping??
12:03<@Alberth>the static assert error
12:04<@Alberth>code does not use a library, it writes uncompressed BMP
12:04<LordAro>it's as if GCC_PACK is not being applied
12:05<LordAro>there was an odd warning earlier about OTTD_PRINTF64 being defined as %d as well
12:06<ANIKHTOS>wait i compile knwo i will run config in a min and tell you about the assert
12:07<LordAro>the assert is at compile time
12:07<LordAro>given you can currently successfully compile OTTD, i imagine you haven't seen it
12:07<LordAro>https://github.com/OpenTTD/OpenTTD/blob/master/src/stdafx.h#L307 this doesn't seem right
12:08<@Alberth>or ANIKHTOS uses 32 bit compile
12:08<LordAro>possible
12:08<@Alberth>haha :)
12:09<ANIKHTOS>i use mingw64
12:09<LordAro>although i don't see why that would make a difference
12:09<ANIKHTOS>and installed only 64 bit libraries
12:11<LordAro>nope, GCC_PACK is definitely defined to be __attribute__((packed))
12:11<LordAro>so why isn't it working...
12:11<ANIKHTOS>checking assert... enabled
12:11<ANIKHTOS>thats what you ask for alberth??
12:12<Eddi|zuHause>ANIKHTOS: no
12:12<@Alberth>no, "error: static assertion failed: sizeof(BitmapFileHeader) == 14" is the failure that LordAro has
12:12<Eddi|zuHause>LordAro: maybe a datatype has different length?
12:12<LordAro>nope, just checked those
12:12<@Alberth>and he asked for someone recently using mingw
12:12<LordAro>and i'd very much hope that uint16 & uint32 are the correct size :p
12:13<@Alberth>add that packed stuff hardcoded around the definition to be sure?
12:13<ANIKHTOS>imy only problems wiwere with lzma lzo2 and make
12:13<LordAro>Alberth: yh, no change
12:13<Eddi|zuHause>LordAro: so we know that sizeof is not 14, what is the actual result?
12:13<LordAro>to google!
12:14<LordAro>Eddi|zuHause: the assert does not tell me that :>
12:14<@Alberth>try 16
12:14<LordAro>Alberth: yup
12:14<ANIKHTOS>lordara have you install all toolchain??/
12:15<LordAro>https://gcc.gnu.org/bugzilla/show_bug.cgi?id=52991 interesting
12:15<LordAro>ANIKHTOS: yes
12:15<ANIKHTOS>with pacman or pacboy??
12:15<LordAro>irrelevant, it is installed
12:16<ANIKHTOS>they do not isntall the same files
12:16<LordAro>i am not having an issue with the libraries
12:16<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?
12:17<LordAro>trying..
12:19<@Alberth>ANIKHTOS: he's debugging bugs in the gcc compiler :)
12:20<ANIKHTOS>nice
12:21<@Alberth>well, if you read the link, it's fixed, took only about 6 years
12:21<ANIKHTOS>who is in hurry??
12:23<LordAro>Eddi|zuHause: seems to have fixed it
12:23<LordAro>now i have some excellent llooking harfbuzz linker errors
12:23<Eddi|zuHause>that sounds fun :p
12:23<@Alberth>progress :p
12:24<+michi_cc>TrueBrain: ICU is entirely optional on Windows now (as is the DirectMusic part that we package in openttd-useful).
12:24<Eddi|zuHause>now, $someone should probably tell configure that certain versions of GCC need that flag
12:25<LordAro>Eddi|zuHause: yeah, i've got a couple of changes so far
12:27<nielsm>well that's... kinda something? http://0x0.st/sLvH.png
12:27<Eddi|zuHause>people making loud noises in the neighbourhood. game must be on?
12:30-!-sla_ro|master [~sla.ro@78.96.209.89] has quit []
12:31<@Alberth>nielsm: bit magic what the spikes mean, doesn't it?
12:31<nielsm>absolutely :)
12:31<nielsm>it's one pixel per millisecond
12:32<LordAro>wait, what is linking in harfbuzz anyway?
12:32<@Alberth>horizontally or vertically?
12:32<LordAro>ah, static freetype
12:32<nielsm>Alberth it makes sense in motion :P
12:32<@Alberth>quite likely it does :)
12:33<ANIKHTOS> ISO C++ forbids comparison between pointer and integer progress alberth diferent eror message
12:33<@Alberth>adding a hoover with explanation helps a lot, I think
12:35<@Alberth>yeah, they finally made that official. I always wondered why they added it to C in 1978
12:35<LordAro>Alberth: lol, still only a warning by default, iirc
12:36<@Alberth>likely, don't want to scare all the oldtimers away :p
12:37<LANJesus>sometimes i want to know the distance between two pointers in an array
12:37<LANJesus>it makes sense there
12:38<@Alberth>no, then you subtract two pointer from each other
12:38<nielsm>woo http://0x0.st/sLvK.png
12:38<@Alberth>int i; i < &i is comparison between pointer and integer
12:40<LordAro>Eddi|zuHause: ... config.lib:1617
12:40<LordAro>guess i should work out why that's not applying
12:40<Eddi|zuHause>LordAro: i don't think i ever looked at that file
12:40<@Alberth>that's a good thing :p
12:40<LordAro>^
12:40<LordAro>it's not a nice file
12:42<LordAro>oh wait, that's for icc only
12:44<LordAro>TrueBrain: hurry up and finish the new build system pls :>
12:46<peter1138>:D
12:46<nielsm>MUCH better when using QueryPerformanceCounter: http://0x0.st/sLvc.png
12:46<peter1138>Simulation rate should be 33.33 frames/s though.
12:47<peter1138>1000/30
12:47<nielsm>yeah I don't know why it gets it wrong
12:47<nielsm>I'm dividing by a wrong number somewhere
12:47<peter1138>Although its possible it's slower, as it doesn't play catch-up if it's behind.
12:48<nielsm>http://0x0.st/sLvT.jpg
12:50<peter1138>When do we get enough detail to show how slow NewGRF is? :D
12:51<peter1138>Modern languages without specs are much faster.
12:51<LordAro>haha
12:54<Eddi|zuHause>yeah, just compare the speed of loading games betewen civ{4,5,6} and civ2
12:56<LordAro>...the harfbuzz issue was because i hadn't done a "system upgrade"
12:56<LordAro>so it was pulling in old versions
13:00<ANIKHTOS>civ2 load really fast??
13:04<LordAro>once you click past the "yes i've got more than 32MB RAM" box
13:05<LordAro>goddamn it, i copied the icc directive for mingw & bitfields
13:06<LordAro>wait, no
13:06<LordAro>what's going on
13:08<LordAro>oh fuck you freetype
13:08<LordAro>it's *adding* -mms-bitfields
13:12<LordAro>and yes, harfbuzz is still broken
13:12*LordAro --without-freetype
13:13<LordAro>where's a glx when you want him
13:17<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
13:18<LordAro>i think it was actually asking if you had the CD?
13:20-!-Flygon [~Flygon@203-158-38-135.dyn.iinet.net.au] has quit [Read error: Connection reset by peer]
13:20<Eddi|zuHause>well, without the CD you'd be missing the video files anyway
13:21<LordAro>indeed, which is what the 32MB was required for
13:22-!-snail_UES_ [~snail_UES@cpe-98-14-137-148.nyc.res.rr.com] has joined #openttd
13:22-!-snail_UES_ is "Jacopo Coletto" on #openttd
13:25<LordAro>how does one get ottd to bootstrap to download graphics?
13:27<Eddi|zuHause>start it with no graphics in the paths that it looks for?
13:32<LordAro>...it uses freetype
13:32<LordAro>typical
13:34-!-andythenorth [~andytheno@cpc87219-aztw31-2-0-cust178.18-1.cable.virginm.net] has joined #openttd
13:34-!-andythenorth is "andythenorth" on #openttd
13:36<LordAro>in the meantime, i made a thing: http://wiki.openttd.org/Compiling_on_Windows_using_MSYS2
13:38<ANIKHTOS>nice lord ara in the packboy you can say if you remove the ::x it will download both 32 and 64
13:40<LordAro>done :)
13:40<ANIKHTOS>did you read my step by step?? or not??
13:40<LordAro>i've not looked
13:41<LordAro>don't go on the forum much
13:42<ANIKHTOS>i documented all my steps that i doen to set up mingw64 in the msys2 package
13:42<LordAro>as did i :)
13:43<ANIKHTOS>you did nto wwirte you need lzma??
13:43<LordAro>yeah i did - xz
13:44<LordAro>it's got 2 different names, for some reason
13:44<ANIKHTOS>glx told me that is better to use pacboy to install libraries for mingw
13:44<ANIKHTOS>and nto use pacman
13:45<LordAro>yes, that is what i did
13:46<ANIKHTOS>did you have problem with lzo2??? the config.lib of ottd look for lzo2 in wrong place
13:46<LordAro>git & make have no (meaningful) mingw equivalent
13:46<LordAro>ANIKHTOS: ah yes, i forgot i was using the branch for PR #6825
13:46<ANIKHTOS>glx made a new config.lib to be update with msys2
13:46<LordAro>yeah, that's the one i used
13:47<ANIKHTOS>before glx made the file update i make a symlink and create the folder ottd was lookign for lzo2
14:01-!-planetmaker_ [~planetmak@p200300D21BEBC80018651CEAADCFA6DF.dip0.t-ipconnect.de] has joined #openttd
14:01-!-planetmaker_ is "realname" on #openttd
14:07-!-supermop [~supermop@pool-71-105-33-106.nycmny.fios.verizon.net] has joined #openttd
14:07-!-supermop is "A CIRC user" on #openttd
14:07<supermop>yo
14:11<andythenorth>lo supermop
14:12<supermop>hows it going over there
14:15<andythenorth>much chores
14:16<supermop>similar here
14:16<supermop>also its like 90 today
14:20<Eddi|zuHause>how much is that in real units?
14:28<Arveen>or in soccer fields
15:01<supermop>Eddi|zuHause: about 90
15:01<LordAro>https://github.com/Alexpux/MINGW-packages/issues/3966 hrm.
15:10-!-sla_ro|master [~sla.ro@78.96.209.89] has joined #openttd
15:10-!-sla_ro|master is "slamaster" on #sla #openttd
15:17-!-sla_ro|master [~sla.ro@78.96.209.89] has quit []
15:26<Eddi|zuHause>supermop: back in elementary school, whenever anyone said a number like "90" without units, my teacher asked "90 what? sausages?"
15:26<supermop>it feels outside about as if i had eated 90 sausages
15:26<supermop>eaten
15:26<supermop>damnit
15:30-!-glx [kvirc@000128ec.user.oftc.net] has joined #openttd
15:30-!-mode/#openttd [+v glx] by ChanServ
15:30-!-glx is "Loïc GUILLOUX" on +#openttd
15:31<LordAro>o/ glx
15:31<LordAro>there's some interesting stuff in the logs
15:35-!-snail_UES_ [~snail_UES@cpe-98-14-137-148.nyc.res.rr.com] has quit [Quit: snail_UES_]
15:36<Eddi|zuHause>yeah, like discussions about 90 sausages
15:36<LordAro>exactly.
15:41-!-synchris [~synchris@139.138.202.72] has quit [Quit: yeeha!]
15:43<+glx>@logs
15:43<@DorpsGek>glx: https://webster.openttdcoop.org/index.php?channel=openttd
16:00-!-Thedarkb-X40 [~beno@51-171-48-82-dynamic.agg3.kny.prp-wtd.eircom.net] has joined #openttd
16:00-!-Thedarkb-X40 is "realname" on #oolite #/r/openttd #openttd
16:04-!-Alberth [~alberth@00015f9e.user.oftc.net] has left #openttd []
16:20<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
16:24-!-sla_ro|master [~sla.ro@78.96.209.89] has joined #openttd
16:24-!-sla_ro|master is "slamaster" on #sla #openttd
16:24<+glx>LordAro: nice work on the wiki :)
16:31<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)
16:34-!-sim-al2 [~sim-al2@c-75-65-196-171.hsd1.tn.comcast.net] has joined #openttd
16:34-!-sim-al2 is "sim-al2" on #openttd @#/r/openttd
16:36<Eddi|zuHause>i'd take things like that pretty literally
16:39<LordAro>i imagine so, but there's no comment, so...
16:40<+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.
16:40<LordAro>mm, there's another instance of it in win32.cpp
16:40<LordAro>which definitely doesn't matter for other OSes, but eh
16:41<+michi_cc>dmusic definitily doesn't matter for other OSes either.
16:41<LordAro>can't hurt to be a little more consistent :)
16:42<LordAro>regardless, i've just made a PACK_N macro
16:42<+michi_cc>And I don't think any compiler targeting Windows fails on pragma pack, or the system headers break horribly :)
16:42<+glx>LordAro: are you enabling dmusic for msys2 ?
16:42<+glx>I think the headers are available in msys2 w32api
16:43<LordAro>glx: i wasn't trying to
16:44<LordAro>just searching for other uses of struct packing
16:44<LordAro>other than the one in screenshot.cpp, the only other instances are in windows code
16:44<Wolf01>'night
16:44-!-Wolf01 [~wolf01@0001288e.user.oftc.net] has quit [Quit: Once again the world is quick to bury me.]
16:44<+glx>at least I can see them in https://github.com/Alexpux/mingw-w64/tree/master/mingw-w64-headers/direct-x/include
16:45<LordAro>is there a define to distinguish between MSYS & MSYS2? or do we think it's not worth the bother supporting the old version>
16:45<LordAro>?*
16:45<+glx>I don't think it's possible to detect than
16:45<+glx>both says MINGW
16:46<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}'
16:46<LordAro>is annoying
16:46<LordAro>apparently it doesn't like %I64d
16:46<+glx>hmm it should use the same format as MSVC
16:47<LordAro>yeah, it doesn't like %lld even more
16:47<+glx>because printf format depends on msvcrt even for minwg
16:47<+glx>yeah I get a lot of warnings when building with mingw
16:55<+glx>warning: use of 'I' length modifier with 'u' type character has either no effect or undefined behavior [-Wformat=]
16:55<+glx>these are annoying too
16:56-!-andythenorth [~andytheno@cpc87219-aztw31-2-0-cust178.18-1.cable.virginm.net] has left #openttd []
16:56<+glx>I think the compiler is the one to blame
16:59<LordAro>i don't get those
16:59<+glx>d:/developpement/GitHub/OpenTTD/src/base_media_func.h:133:3: warning: enumeration value 'CR_UNKNOWN' not handled in switch [-Wswitch]
16:59<+glx> switch (file->check_result) {
16:59<+glx> ^~~~~~
16:59<LordAro>i get those
17:00<LordAro>should be easy fix
17:00<+glx>that one is real :)
17:00<LordAro>odd how nothing else picks it up
17:05<LordAro>#define PACK_N(type_dec, n) __pragma(pack(push, n)) type_dec __pragma(pack(pop))
17:05<LordAro>this should work, right?
17:05<LordAro>error: expected constructor, destructor, or type conversion before '(' token
17:06<LordAro>(the opening ( of the first __pragma )
17:07-!-frosch123 [~frosch@00013ce7.user.oftc.net] has quit [Quit: be yourself, except: if you have the opportunity to be a unicorn, then be a unicorn]
17:08<+glx>my mingw is 32bit btw that could explain some differences with yours
17:09<LordAro>ah yes
17:10<+glx>and probably a different gcc version too (6.3.0 for me)
17:12<LordAro>mine is 7.3
17:20-!-gelignite [~gelignite@55d45b87.access.ecotel.net] has quit [Quit: Match found!]
17:32-!-nielsm [~nielsm@80-162-205-79-cable.dk.customer.tdc.net] has quit [Ping timeout: 480 seconds]
17:44-!-planetmaker_ [~planetmak@p200300D21BEBC80018651CEAADCFA6DF.dip0.t-ipconnect.de] has quit [Ping timeout: 480 seconds]
17:54-!-supermop [~supermop@pool-71-105-33-106.nycmny.fios.verizon.net] has quit [Ping timeout: 480 seconds]
18:06-!-KouDy [~koudy@ip4-83-240-28-102.cust.nbox.cz] has quit [Remote host closed the connection]
18:07-!-Progman [~progman@p548D9ECF.dip0.t-ipconnect.de] has quit [Remote host closed the connection]
18:20-!-sla_ro|master [~sla.ro@78.96.209.89] has quit []
18:32-!-milek7 [~quassel@tunnel348639-pt.tunnel.tserv10.par1.ipv6.he.net] has joined #openttd
18:32-!-milek7 is "m7" on #openttd
18:41-!-Wormnest [~Wormnest@s5596abd2.adsl.online.nl] has quit [Quit: Leaving]
18:46-!-supermop [~supermop@pool-71-105-33-106.nycmny.fios.verizon.net] has joined #openttd
18:46-!-supermop is "A CIRC user" on #openttd
19:11-!-Wacko1976 [~IceChat9@027-161-128-083.dynamic.caiway.nl] has quit [Ping timeout: 480 seconds]
19:15-!-Wacko1976 [~IceChat9@027-161-128-083.dynamic.caiway.nl] has joined #openttd
19:15-!-Wacko1976 is "The Chat Cool People Use" on #openttd #/r/openttd
19:17-!-snail_UES_ [~snail_UES@cpe-98-14-137-148.nyc.res.rr.com] has joined #openttd
19:17-!-snail_UES_ is "Jacopo Coletto" on #openttd
19:36-!-HerzogDeXtEr [~farci@dslb-178-012-124-184.178.012.pools.vodafone-ip.de] has quit [Read error: Connection reset by peer]
19:54<ANIKHTOS>hello snail how are you??
20:03-!-sim-al2 [~sim-al2@c-75-65-196-171.hsd1.tn.comcast.net] has quit [Ping timeout: 480 seconds]
20:28-!-Cthulhux [~Cthulhux@00027534.user.oftc.net] has quit [Quit: Going offline, see ya! (www.adiirc.com)]
20:39-!-Smedles [~quassel@101.172.85.179] has quit [Read error: Connection reset by peer]
20:43-!-Smedles [~quassel@101.172.85.179] has joined #openttd
20:43-!-Smedles is "Paul Smedley" on #openttd
20:49-!-tokai [~tokai@00012860.user.oftc.net] has joined #openttd
20:49-!-mode/#openttd [+v tokai] by ChanServ
20:49-!-tokai is "Christian Rosentreter" on +#openttd
20:55-!-KouDy [~koudy@ip4-83-240-28-102.cust.nbox.cz] has joined #openttd
20:55-!-KouDy is "KouDy" on #openttd
20:57-!-tokai|noir [~tokai@00012860.user.oftc.net] has quit [Ping timeout: 480 seconds]
21:19-!-supermop [~supermop@pool-71-105-33-106.nycmny.fios.verizon.net] has quit [Ping timeout: 480 seconds]
21:34-!-KouDy [~koudy@ip4-83-240-28-102.cust.nbox.cz] has quit [Ping timeout: 480 seconds]
22:00-!-supermop [~supermop@pool-71-105-33-106.nycmny.fios.verizon.net] has joined #openttd
22:00-!-supermop is "A CIRC user" on #openttd
22:09-!-supermop [~supermop@pool-71-105-33-106.nycmny.fios.verizon.net] has quit [Ping timeout: 480 seconds]
22:14-!-Flygon [~Flygon@203-158-38-135.dyn.iinet.net.au] has joined #openttd
22:14-!-Flygon is "Flygon" on #openttd
22:21-!-supermop [~supermop@pool-71-105-33-106.nycmny.fios.verizon.net] has joined #openttd
22:21-!-supermop is "A CIRC user" on #openttd
22:29-!-KouDy [~koudy@ip4-83-240-28-102.cust.nbox.cz] has joined #openttd
22:29-!-KouDy is "KouDy" on #openttd
22:40-!-muffindrake2 [~muffindra@p200300864E0230009333DE6C53837A3F.dip0.t-ipconnect.de] has joined #openttd
22:40-!-muffindrake2 is "muffindrake" on #openttd
22:42-!-muffindrake1 [~muffindra@p200300864E1615006F30EF3DEE9E77A1.dip0.t-ipconnect.de] has quit [Ping timeout: 480 seconds]
22:45-!-KouDy [~koudy@ip4-83-240-28-102.cust.nbox.cz] has quit [Remote host closed the connection]
22:53-!-glx [kvirc@000128ec.user.oftc.net] has quit [Quit: Bye]
22:55-!-cHawk [chawk@67-60-221-129.cpe.cableone.net] has quit [Quit: Leaving]
23:01-!-ToffeeYogurtPots [~ToffeeYog@000269bc.user.oftc.net] has quit [Remote host closed the connection]
23:02-!-ToffeeYogurtPots [~ToffeeYog@000269bc.user.oftc.net] has joined #openttd
23:02-!-ToffeeYogurtPots is "realname" on #debian #debian-hurd #debian-offtopic #tor #tor-project #tor-onions #i2p #https-everywhere #privacybadger #openttd #/r/openttd #odamex #privacytools.io #privacytech #oftc
23:41-!-KouDy [~koudy@ip4-83-240-28-102.cust.nbox.cz] has joined #openttd
23:41-!-KouDy is "KouDy" on #openttd
23:50-!-KouDy [~koudy@ip4-83-240-28-102.cust.nbox.cz] has quit [Remote host closed the connection]
---Logclosed Mon Jun 18 00:00:58 2018