Back to Home / #openttd / 2019 / 01 / Prev Day | Next Day
#openttd IRC Logs for 2019-01-26

---Logopened Sat Jan 26 00:00:37 2019
00:18-!-daspork [~jesus@] has quit [Remote host closed the connection]
00:20-!-daspork [~jesus@] has joined #openttd
00:20-!-daspork is "ZNC -" on #openttd
00:34-!-Alberth [] has joined #openttd
00:34-!-mode/#openttd [+o Alberth] by ChanServ
00:34-!-Alberth is "purple" on @#openttd
01:19-!-HerzogDeXtEr [] has joined #openttd
01:19-!-HerzogDeXtEr is "purple" on #openttd
01:22-!-D-HUND is now known as debdog
01:28-!-Pikka [] has joined #openttd
01:28-!-Pikka is "realname" on #openttd
01:52-!-cHawk [] has quit [Quit: Leaving]
01:53-!-cHawk [] has joined #openttd
01:53-!-cHawk is "realname" on #openttd
02:22-!-andythenorth [] has joined #openttd
02:22-!-andythenorth is "andythenorth" on #openttd
02:24<DorpsGek_II>[OpenTTD/OpenTTD] btzy updated pull request #7080: Change: Cache stations and links for whole map for linkgraph GUI to eliminate delay when scrolling or zooming
02:29<DorpsGek_II>[OpenTTD/OpenTTD] btzy updated pull request #7080: Change: Cache stations and links for whole map for linkgraph GUI to eliminate delay when scrolling or zooming
02:32<DorpsGek_II>[OpenTTD/OpenTTD] btzy commented on pull request #7080: Change: Cache stations and links for whole map for linkgraph GUI to eliminate delay when scrolling or zooming
02:35<DorpsGek_II>[OpenTTD/OpenTTD] btzy updated pull request #7080: Change: Cache stations and links for whole map for linkgraph GUI to eliminate delay when scrolling or zooming
02:39<DorpsGek_II>[OpenTTD/OpenTTD] btzy updated pull request #7080: Change: Cache stations and links for whole map for linkgraph GUI to eliminate delay when scrolling or zooming
02:41<DorpsGek_II>[OpenTTD/OpenTTD] btzy updated pull request #7080: Change: Cache stations and links for whole map for linkgraph GUI to eliminate delay when scrolling or zooming
02:53<DorpsGek_II>[OpenTTD/OpenTTD] btzy updated pull request #7080: Change: Cache stations and links for whole map for linkgraph GUI to eliminate delay when scrolling or zooming
02:53-!-Gustavo6046 [~Gustavo60@] has quit [Ping timeout: 480 seconds]
03:03<DorpsGek_II>[OpenTTD/OpenTTD] btzy updated pull request #7080: Change: Cache stations and links for whole map for linkgraph GUI to eliminate delay when scrolling or zooming
03:06-!-nielsm [] has joined #openttd
03:06-!-nielsm is "Niels Martin Hansen" on #openttd
03:19-!-Wolf01 [] has joined #openttd
03:19-!-Wolf01 is "Wolf01" on #openttd
03:22-!-nielsm [] has quit [Quit: wroom]
03:27-!-nielsm [] has joined #openttd
03:27-!-nielsm is "Niels Martin Hansen" on #openttd
03:30<nielsm>hm nope, vs2019 still failing build
03:31<nielsm>okay upgrading projects to vs142 toolset makes at least some of them build
03:32<@peter1138>Damn us being economical with savegame versions. Version 182 is covers 3 separate changes.
03:33<andythenorth>are we worried integers will run out?
03:34<Wolf01>Let's do the no-savegame-bump-on-nrt mistake again!
03:34<nielsm>it's 16 bit, should last a few months at least
03:34<nielsm>and it produces a working build
03:35<nielsm>I'll make a PR for vs2019 project files
03:39-!-supermop_work_ [~supermopw@] has quit [Read error: Connection reset by peer]
04:02-!-Gabda [] has joined #openttd
04:02-!-Gabda is "realname" on #openttd
04:06*andythenorth spends hours making group liveries
04:15<Gabda>tiles with the same y coordinate are called row, column or neither (as column is only defined in viewport for 45° rotated directions)?
04:17<Gabda>sometimes it is harder to find a good function name than to write the function...
04:21<@Alberth>don't think we have rows of tiles
04:22<@Alberth>in the viewport, we use north for center top of the screen
04:22<@Alberth>you can use x/y direction
04:22<@Alberth>or x/y row, perhaps
04:24<@Alberth>or x/y axis, which is used in the map code
04:24<Gabda>i want to find an tile while the Y coordinate is fixed (so the return value is the X coordinate)
04:25<Gabda>and I don't know if FindXInRow or FindXInColumn would be better
04:25<Gabda>or something else
04:26<@Alberth>FindYOnXAxis ?
04:27<@Alberth>too many uppercase letters :p
04:27<@Alberth>maybe you want to express the property of the returned tile?
04:27<@Alberth>ie FirstFreeTile or so
04:28<@Alberth>you usually don't look for a random y position
04:30<Gabda>yes, I go through a lot of y positions
04:30<@Alberth>what do you look for?
04:30<Gabda>FindXWHileY, or FindXWithY?
04:31<@Alberth>problem with such a name that it doesn't say what it looks for
04:32<Gabda>given two town, when selecting a row with fixed Y coordinate, find the X coordinate of the last tile that is closer to the fist town than the second
04:32<@Alberth>Do_x_with_y gives you no clues what the purpose is
04:32<@Alberth>where it comes in useful
04:33<@Alberth>find edge of town ?
04:34<Gabda>yes, but with a given y
04:34<@Alberth>that's mostly an implementation detail, a way of finding the edge
04:35<@Alberth>'town' is a bit ambiguous, could also be where the houses end
04:36<@Alberth>farthest town tile ?
04:36<@Alberth>town area tile?
04:36<nielsm>FindTownExtentsY ?
04:36<@Alberth>nice word :)
04:42<Gabda>I agree
04:43<Gabda>FindTownExtentAtY or ...InY?
04:43<nielsm>just Y, no In or At
04:44<nielsm>or do you mean FindTownExtentYatX ?
04:44<Gabda>and it would still imply that Y is fixed?
04:45<nielsm>i.e. given an X coordinate find the extent of a town in Y dimension along that X ?
04:45<nielsm>XatY and YatX
04:45<nielsm>for searching along X with fixed Y, or along Y with fixed X
04:45<Gabda>yes, such a nice description :D
04:47<Gabda>I will with this one, thank you very much :)
04:47<Gabda>*will go
04:49<@planetmaker>if you want the influence area of a town, maybe sth with 'local authority'?
04:50<Gabda>I want the whole town area, not just the local authority
04:51<@planetmaker>the area of the local authority is always as big or bigger than the house-covered area
04:51<Gabda>I am making the town Voronoi diagram
05:05<@planetmaker>yes, ok... so what about town radius?
05:05<@planetmaker>or town zone radii?
05:05<@planetmaker>also there is area which does not belong to any local authority
05:08<nielsm>actual photo
05:20-!-Alberth [] has left #openttd []
05:24<andythenorth>ctrl-click arbtitrary counter? :P
05:25<DorpsGek_II>[OpenTTD/OpenTTD] nielsmh opened pull request #7107: Add: Visual Studio 2019 project files
05:29<TrueBrain>Azure Pipelines can even forgot to queue some PRs if it took too long for it to queue ..
05:29<TrueBrain>we had a 12 hour old PR that was not queued
05:29<TrueBrain>but a 2 hour that was
05:29<TrueBrain>very odd
05:29<TrueBrain>I keep trying to find the URL that triggers the building :)
05:29<andythenorth>paid azure? :P
05:30<TrueBrain>it doesnt suggest that changes anything
05:33<LordAro>have you asked MS what's going on?
05:33-!-Progman [] has joined #openttd
05:33-!-Progman is "Peter Henschel" on #openttd
05:35<TrueBrain>many people have; their answer is that you have to visit their page once a day
05:35<TrueBrain>but .. it is not 24h :P
05:35<LordAro>that is ....not a proper answer for a CI service
05:36<LordAro>i can't possibly imagine the people paying lots of money for pipelines have to do that
05:39<TrueBrain>most also use it for their git and bug tracking, I guess
05:39<TrueBrain>not sure
05:39<TrueBrain>investigation is slow, as I need to wait for it to break to look why it breaks :P
05:43<TrueBrain>so .... I tell DigitalOcean to scale up my k8s ... and nothing seems to be happening. hmmmmmm
05:48<TrueBrain>the overview page does tell me it scaled up, but nothing really happens :D
05:52-!-Borg [] has joined #openttd
05:52-!-Borg is "Unknown" on #openttd
05:54<DorpsGek_II>[OpenTTD/OpenTTD] nielsmh updated pull request #7107: Add: Visual Studio 2019 project files
05:56-!-Gja [] has joined #openttd
05:56-!-Gja is "Martin" on #ceph #bcache #openttd
05:58<DorpsGek_II>[OpenTTD/OpenTTD] nielsmh updated pull request #7107: Add: Visual Studio 2019 project files
05:59<nielsm>lots of dumb little mistakes
06:00<nielsm>so how's the cmake conversion going? :)
06:01<nielsm>because I'm tempted to make some of those msbuild projects a bit less hacky
06:01<nielsm>(at least "settings" to have proper dependencies, could possibly also make "version" depend on something)
06:07<TrueBrain>you are going to port things to cmake I hear? Awesome :D
06:07<TrueBrain>here, a head-start:
06:08-!-Gja [] has quit []
06:09<nielsm>hah no, don't feel like learning cmake at all
06:10<andythenorth>oof is Horse done yet? :P
06:10*andythenorth running out of motivation :D
06:11<TrueBrain>going to bring the new website online I guess
06:14<DorpsGek_II>[OpenTTD/OpenTTD] nielsmh updated pull request #7107: Add: Visual Studio 2019 project files
06:15<Borg>fast question.. w/ GCC is best to compile OpenTTD?
06:16<DorpsGek_II>[OpenTTD/website] TrueBrain opened pull request #40: Release: 1.0.0
06:16<nielsm>Borg, our CI uses GCC 6
06:17<TrueBrain>I am curious what is going to break .. but the only way to find out is to do it, I guess ..
06:17<TrueBrain>andythenorth: should we make a news post about it, before we release it?
06:18<andythenorth>I guess we should :)
06:18<nielsm>TrueBrain imo yes, and make sure to tell users we do want reports about brokenness
06:18<andythenorth>what shall we say?
06:19-!-Thedarkb-T60 [] has joined #openttd
06:19-!-Thedarkb-T60 is "realname" on #openttd #oolite
06:19<nielsm>"Modernisation of the hosting infrastructure is proceeding, and we have just brought a new version of this main website online. If you find any problems with the new site please let us know at <places>"
06:20<TrueBrain>andythenorth: lemme make a draft :)
06:20<TrueBrain>nice nielsm :)
06:23<nielsm>"If you find any trains stuck at signals please let us know, so we can resolve the issue safely without risk of crashes."
06:26<TrueBrain>that is a nice closing statement :D
06:26<TrueBrain>okay, lets see how my news looks ..
06:28<DorpsGek_II>[OpenTTD/website] TrueBrain opened pull request #41: Add: [posts] new website and nightlies are back
06:28<TrueBrain>all from the github interface :)
06:28<TrueBrain>that is pretty nice tbh
06:29<andythenorth>electro-diesel pax units? :P
06:29<DorpsGek_II>[OpenTTD/website] TrueBrain updated pull request #41: Add: [posts] new website and nightlies are back
06:30<TrueBrain>andythenorth: anything to add to the post?
06:31<andythenorth>nope :)
06:32<nielsm>angry whistling over from the bird cage... should maybe let them out
06:32<TrueBrain>just one big FYI: adding news and merging it, only makes it show up on staging. A release + tag is needed before it hits production
06:32<TrueBrain>andythenorth: I was hinting that you maybe approve it then :P
06:33<DorpsGek_II>[OpenTTD/website] andythenorth approved pull request #41: Add: [posts] new website and nightlies are back
06:33<TrueBrain>tnx :)
06:34<andythenorth>I approve the 1.0.0 tag?
06:34<DorpsGek_II>[OpenTTD/website] TrueBrain merged pull request #41: Add: [posts] new website and nightlies are back
06:34<TrueBrain>please do
06:34<DorpsGek_II>[OpenTTD/website] andythenorth approved pull request #40: Release: 1.0.0
06:34<TrueBrain>I will wait for this news to land on staging, so we can check if it is really correct :D
06:38<nielsm>actually it just hits me, there is no archive of nightly builds on the website?
06:38<TrueBrain> LGTM :)
06:39<TrueBrain>nielsm: only if you know the URL, basically
06:39<TrueBrain>but that is a bit hidden, yes
06:39<TrueBrain>sounds like a nice PR, to show a listing of releases :)
06:39<TrueBrain>for example
06:39<TrueBrain>we just rather publish links like
06:40<TrueBrain>as in general, people don't want a specific version
06:40<TrueBrain>just the latest
06:42<DorpsGek_II>[OpenTTD/website] TrueBrain merged pull request #40: Release: 1.0.0
06:42<nielsm>hmm "supported compilers" in is woefully out of date
06:43<TrueBrain>honestly, many things somewhat are :P
06:46<TrueBrain>can a CNAME point to a NS record?
06:46<TrueBrain>seems so
06:49<TrueBrain>okay, TTL of 1 hour .. right
06:50<TrueBrain>okay, it seems to be live
06:50<DorpsGek_II>[OpenTTD/OpenTTD] nielsmh updated pull request #7107: Add: Visual Studio 2019 project files
06:50<TrueBrain>I cannot really test, as I have to wait for the TTL :D
06:54<Xaroth>on the new site the serverlist points to, right?
06:54<Xaroth>if so, it works for me.
06:56<TrueBrain>and if not? :P Isn't it more important that the content is correct?
06:56<Xaroth>bit silly to test on the wrong environment.
06:56<Xaroth>but it looks correct
06:57<TrueBrain>a few 404s are hitting ..
06:57<TrueBrain>favicon.ico ..
06:57<nielsm>forgot that one? :D
06:57<TrueBrain>no, it is in the /static/ folder
06:57<TrueBrain>but some people always want it from the root folder
06:58<TrueBrain>ah, and the download URL is not correct if you come in from google
06:58<TrueBrain>did not expect things to link to that URL
07:02<andythenorth>live for me :D
07:03<DorpsGek_II>[OpenTTD/website] TrueBrain opened pull request #42: Fix: also redirect some older URLs to the correct locations
07:03<andythenorth>I got 9 links 404ing
07:04<DorpsGek_II>[OpenTTD/website] TrueBrain updated pull request #42: Fix: also redirect some older URLs to the correct locations
07:04<TrueBrain>which are?
07:04<TrueBrain>(fucking cliffhangers)
07:04<andythenorth>making an issue
07:04<DorpsGek_II>[OpenTTD/website] andythenorth opened issue #43: 404s
07:04<andythenorth>I can improve the issue
07:05<TrueBrain>download-all will no longer be supported; I am fine with that
07:05<TrueBrain>guess I should make the \w\w optional in the redirects
07:05<TrueBrain>my regex foo is not that good
07:05<andythenorth>some of these are links in news post etc
07:05<andythenorth>I can fix the content, or you can fix the paths?
07:06<TrueBrain>lets fix the content of the news articles to point to the new URLs
07:06<andythenorth>I'll start on that
07:06<TrueBrain>ideally, I would like to remove these redirects some day
07:07<TrueBrain>^/\w\w/download-stable/(.*)$ <- how to make the \w\w/ optional .. hmm
07:07<TrueBrain>^/(\w\w/)?download-stable/(.*)$ I guess ..
07:07<LordAro>omg, website happened
07:08<andythenorth> ->
07:09<TrueBrain>can someone please review this: :)
07:09<andythenorth> goes where now?
07:10<TrueBrain>testing is also releases
07:11<TrueBrain> "GET /download-trunk HTTP/1.1" 404 3695 "" <- lol :D
07:11<TrueBrain>referer is funny
07:13<TrueBrain>owh, no robots.txt
07:16<andythenorth> -> ?
07:17<LordAro>releases/latest, probably
07:17<DorpsGek_II>[OpenTTD/website] TrueBrain updated pull request #42: Fix: also redirect some older URLs to the correct locations
07:17<LordAro>or that
07:17<TrueBrain>(add /en/ between the URL to find out, btw)
07:18<TrueBrain>okay, made the language tag optional for downloads; that should fix all 404s from the outside for now
07:18<TrueBrain>euh .. this is wrong .. lol
07:19<DorpsGek_II>[OpenTTD/website] TrueBrain updated pull request #42: Fix: also redirect some older URLs to the correct locations
07:19<TrueBrain>now it needs a review :)
07:21<TrueBrain>hmm .. this language tag is really annoying :D
07:21<TrueBrain>why did we ever do that? :P
07:22<LordAro>was there anything other than /en ? could just globally remove that then redirect from the "base"
07:22<LordAro>might make things simpler
07:22<DorpsGek_II>[OpenTTD/OpenTTD] nielsmh commented on issue #6682: menu bars disappear if enable windows screen scaling on high dpi monitors
07:22<DorpsGek_II>[OpenTTD/website] TrueBrain updated pull request #42: Fix: also redirect some older URLs to the correct locations
07:22<TrueBrain>LordAro: yes; others exist
07:22<TrueBrain>just not as public
07:22<TrueBrain>but I wanted to avoid redirects from the base, as that might make future things annoying as fuck
07:23<LordAro>mm, true
07:23<TrueBrain>for example, old URL is /en/news, new is /en/news/
07:23<TrueBrain>for example, old URL is /en/news, new is /news/
07:23<TrueBrain>so I am very picky on which to support without /en/ :P
07:23<TrueBrain>and I am not aiming for 100%
07:23<TrueBrain>but supporting google results sounds useful :D
07:23<andythenorth>some kittens may die
07:32<andythenorth>replacing a url in the wrong dir
07:33<TrueBrain>LordAro: mind approviing/rejecting my PR? I really could use some second pair of eyes on it :)
07:33<TrueBrain>I tested it, ofc, but .. meh :P Regex!
07:35-!-Thedarkb1-T60 [] has joined #openttd
07:35-!-Thedarkb1-T60 is "realname" on #openttd #oolite
07:36<DorpsGek_II>[OpenTTD/website] andythenorth opened pull request #44: Fix: replace outdated urls, preventing linkrot and 404s
07:36<andythenorth>most just find-replace
07:36<andythenorth>one url took 10 mins due to user error :P
07:37-!-chomwitt [] has joined #openttd
07:37-!-chomwitt is "chomwitt" on #oolite #openttd #qemu #debian #debian-games
07:37<TrueBrain>hmm .. if we didn't have them prefixed with, we would have spotted this on staging :D
07:38<TrueBrain>andythenorth: _posts/2009-12-11-graphics-and-sound-replacement-complete.html <- should be nightlies, but meh
07:38<TrueBrain>who cares :P
07:39<TrueBrain>but yeah, some day we should just remove the from all the URLs
07:39<TrueBrain>but no prio there
07:40<DorpsGek_II>[OpenTTD/website] TrueBrain merged pull request #44: Fix: replace outdated urls, preventing linkrot and 404s
07:40<DorpsGek_II>[OpenTTD/website] TrueBrain closed issue #43: Some news items hit 404s now the website is live
07:40<DorpsGek_II>[OpenTTD/website] TrueBrain merged pull request #42: Fix: also redirect some older URLs to the correct locations
07:40<TrueBrain>right, lets yolo this
07:40<andythenorth>I rebased and everything :P
07:40<andythenorth>squashed and reworded
07:41*andythenorth no longer a git clown
07:41<andythenorth>still all just branch merges at work though
07:41-!-Thedarkb-T60 [] has quit [Ping timeout: 480 seconds]
07:41<andythenorth>master, milestone, feature <- merges
07:42<DorpsGek_II>[OpenTTD/website] TrueBrain opened pull request #45: Release: 1.0.1
07:43<TrueBrain>so .. who is going to tweet this ?
07:43<TrueBrain>planetmaker ? :)
07:44<TrueBrain>lol .. I merged too quickly
07:44<TrueBrain>it will first deploy a new version now, than an older :D
07:45<andythenorth>Pikka poke
07:45<Pikka>pokka huh?
07:46<DorpsGek_II>[OpenTTD/website] TrueBrain merged pull request #45: Release: 1.0.1
07:46<DorpsGek_II>[OpenTTD/website] TrueBrain closed issue #36: Screenshot on frontpage is not latest
07:47<TrueBrain>okay, this should be online in a few minutes ...
07:51<TrueBrain>there we go
07:51<TrueBrain>andythenorth: run your checker again! :D
07:53-!-Maarten [~maarten@2600:1700:7fd0:6e98:20c:29ff:fea0:abb6] has quit [Quit: Erection reset by beer]
07:53-!-Maarten [~maarten@2600:1700:7fd0:6e98:20c:29ff:fea0:abb6] has joined #openttd
07:53-!-Maarten is "maarten" on #openttd #oftc #moocows @#maarten
07:55<andythenorth>so...does anyone know how railtypes work? :P
07:55<andythenorth>Pikka: o_O
07:55<andythenorth>TrueBrain: "853 of 853 links checked, 0 bad"
07:55<Eddi|zuHause>so... does anyone know how metaquestions work?
07:55<Pikka>they work... okay?
07:56<TrueBrain>andythenorth: cool, tnx
07:56<andythenorth>I am considering a FEATURE
07:56<andythenorth>industrial rail tracks
07:56<andythenorth>RAIL can go on INRL
07:56<andythenorth>but INRL can't go on RAIL
07:56<DorpsGek_II>[OpenTTD/OpenTTD] PeterN approved pull request #7107: Add: Visual Studio 2019 project files
07:57<andythenorth>Eddi|zuHause: right question but wrong question :)
07:57<TrueBrain>okay, only missing robots.txt now :D
07:57<andythenorth>favicons work
07:57<Eddi|zuHause>that would only make sense if you could give it some benefits, like behaving like road vehicles (no collision, signals)
07:57<andythenorth>Eddi|zuHause: yes wouldn't it
07:58<andythenorth>so is it an NRT thing?
07:58<Eddi|zuHause>well, we already have HEQS?
07:59<andythenorth>my goal is specific to FIRS Steeltown currently, i.e. steel mill trains
07:59<andythenorth>but I don't want to have to provide specific engines for the wagons
07:59<DorpsGek_II>[OpenTTD/OpenTTD] PeterN opened pull request #7108: Feature: Group liveries, and livery window usability enhancements.
07:59<andythenorth>if I could have cross-compatible engines, I just need INRL wagons
07:59<TrueBrain>lol ... hits on dowloads.php ... that is 15+ years old ..
08:00<TrueBrain>guess we can just say: fuck this :)
08:00<andythenorth>we get Apache hits all the time for .php paths
08:00<andythenorth>none of them exist, nor ever have
08:00<TrueBrain>mixedfeed.php :P
08:00<TrueBrain>those have existed
08:00<andythenorth>login.php :P
08:00<TrueBrain>YEARS ago :)
08:00<andythenorth>we = work, not ottd :P
08:00<Eddi|zuHause>TrueBrain: just drop .php ending with a redirect?
08:00<TrueBrain>I understood :)
08:01<TrueBrain>Eddi|zuHause: I think I am fine with returning 404s
08:01<TrueBrain>if after 15 years you are still using an old URL .. it is time to make you a bit more aware :P
08:01<Eddi|zuHause>probably some automated script that even the author isn't aware of anymore
08:02<TrueBrain>Tiny Tiny RSS is one
08:02<Eddi|zuHause>so even if the redirect succeeds, the script will probably fail on the different structure of the page
08:02<TrueBrain>and more of those bot-like
08:03<andythenorth>can't have this in your passenger station :P
08:03<Pikka>andythenorth: the biggest problem with coding railtypes is the number of people who will whinge at you that you're not using the "standard" labels
08:03<TrueBrain>Load Balancer tells me the average request duration is 50k ms :D (no typo)
08:04<andythenorth>isn't one-way cross-compatibility still impossible?
08:04<TrueBrain>(we use keep alive between Load Balancer and httpd :P)
08:04<@peter1138>Pikka, 64 rail types!
08:04<andythenorth>peter1138 was fixing that for railtypes :D ^^^
08:04<Eddi|zuHause>huh? why would one-way compatibility be impossible?
08:04<Pikka>does adding inrl to the rail compatible rail type list not work?
08:05<Pikka>elrl and rail are one-way compatible :)
08:05<andythenorth>doesn't it make INRL -> RAIL?
08:05<andythenorth>we went round this with NRT
08:05<andythenorth>making ROAD vehicles HAUL compatible makes all HAUL vehicles ROAD compatible
08:06<Eddi|zuHause>andythenorth: your main problem will be loading your railtype alongside a different trackset
08:06<andythenorth>won't be my problem :)
08:06<andythenorth>I don't use tracksets
08:06<andythenorth>mumble mumble
08:07<Eddi|zuHause>then it maybe is better that you don't make one :p
08:09<Pikka>personally, I'd just add a steel mill shunter and keep the track types completely separate, if I did it at all
08:09<TrueBrain>okay .. website seems to be doing fine. Traffic is up, no more 404s .. sweet :D
08:09<TrueBrain>tnx a lot andythenorth for all the help with porting it etc :D
08:10<Pikka>I mean, if your goal is to stop people running steel through passenger stations - with rail -> inrl, what's stopping them running their passenger trains through the steel mill?
08:12<@peter1138>andythenorth, yeah could do it now
08:12<Eddi|zuHause>i'd just add the steel wagons to HEQS in both tram and rail style, and leave the player with all the options
08:13<LordAro>TrueBrain: huzzah
08:13<@peter1138>I'm off to visit the MiL in hospital again, will be able to fiddle in the evening on the laptop.
08:14<Eddi|zuHause>and if you want to make industrial rail, make it visual only, fully compatible with RAIL (and fully optional)
08:14<DorpsGek_II>[OpenTTD/OpenTTD] PeterN commented on issue #5006: Railtypes: 'hide railtype' flag
08:22-!-Ani [~oftc-webi@2405:204:429e:dbe2::b9a:50a1] has joined #openttd
08:22-!-Ani is "OFTC WebIRC Client" on #openttd
08:25<andythenorth>so the main thing I want to solve
08:25-!-Ani [~oftc-webi@2405:204:429e:dbe2::b9a:50a1] has quit []
08:26<andythenorth>is 100mph torpedo wagons
08:26-!-SomeIndianGuy [~oftc-webi@2405:204:429e:dbe2::b9a:50a1] has joined #openttd
08:26-!-SomeIndianGuy is "OFTC WebIRC Client" on #openttd
08:26<andythenorth>lots of Horse is fake, but it seems 1 fake too far
08:27-!-SomeIndianGuy_ [~oftc-webi@2405:204:429e:dbe2::b9a:50a1] has joined #openttd
08:27-!-SomeIndianGuy_ is "OFTC WebIRC Client" on #openttd
08:27-!-SomeIndianGuy [~oftc-webi@2405:204:429e:dbe2::b9a:50a1] has quit [Remote host closed the connection]
08:28<Wolf01>andythenorth, why you don't make 2 different grfs?
08:29<Pikka>"solve" in what way, andy? wagon speed limits aren't enough?
08:30-!-SomeIndianGuy_ [~oftc-webi@2405:204:429e:dbe2::b9a:50a1] has quit [Remote host closed the connection]
08:30-!-SomeIndianGuy [~oftc-webi@2405:204:429e:dbe2::b9a:50a1] has joined #openttd
08:30-!-SomeIndianGuy is "OFTC WebIRC Client" on #openttd
08:31-!-SomeIndianGuy [~oftc-webi@2405:204:429e:dbe2::b9a:50a1] has quit [Remote host closed the connection]
08:33<andythenorth>they are, but then my network is messed up by slow trains :P
08:33<andythenorth>in my happy fantasy world, these wagons are like Horse metro trains
08:33<andythenorth>slower than normal, but insane capacity per tile
08:34<andythenorth>but eh, I can't be arsed to draw a full set of wagons and stuff just for that
08:41<Eddi|zuHause>i don't understand the problem
08:42<Eddi|zuHause>you can build separate lines for slow trains even without there being a separate track type
08:42<Eddi|zuHause>also, like i said, put the wagon into HEQS instead of horse, it fits much better there
08:43<TrueBrain>11 people already downloaded the latest nightly! :P
08:44<Wolf01>Oh, nightlies!
08:44<Eddi|zuHause>TrueBrain: might be time for an announcement?
08:44<andythenorth>oof I think my requests for steel mill trains in UKRS are why pikka made Pineapple and deleted all the trains :P
08:45<TrueBrain>Eddi|zuHause: yeah ... you properly want to go to .... :P
08:45*andythenorth might be mis-remembering
08:45<Pikka>doesn't ring a bell
08:45<Wolf01>It seem I should compose a new riddle for the announcement
08:45<Pikka>steel mill trains are odd though
08:45<Eddi|zuHause>Wolf01: it's not april 1st yet
08:46<Pikka>they're really part of the industry rather than "transport"
08:46<andythenorth>I broke that with FIRS Steeltown :)
08:46<andythenorth>you get to move stuff around between parts of the process
08:47<Eddi|zuHause>i'll maintain that HEQS is the place for specialized transport methods like this
08:47<TrueBrain>hmm .. I have no clue how to run something like webalizer over the new logs ..
08:47<TrueBrain>and google is not helping :(
08:47<andythenorth>are they not just apache logs?
08:47<TrueBrain>somewhat, but yeah
08:48<TrueBrain>just you would think others have foundout how to do that best on k8s
08:48<andythenorth>Eddi|zuHause: I re-phrase my problem....
08:48<DorpsGek_II>[OpenTTD/OpenTTD] nielsmh commented on pull request #7108: Feature: Group liveries, and livery window usability enhancements.
08:48<andythenorth>- given a train grf that has a vehicle-and-railtype schema that appears to work....
08:49<andythenorth>- where else can I insert more fun stuff without degrading the overall playability? :P
08:49-!-Wormnest [~Wormnest@] has joined #openttd
08:49-!-Wormnest is "Wormnest" on #openttd
08:49<andythenorth>that is really the question
08:49<Eddi|zuHause>how would that change my answer?
08:49<andythenorth>might not
08:49<andythenorth>I can't see how to make industrial stuff work except via NRT
08:50<andythenorth>I manged to jam high speed trains into Horse though, with care
08:50<andythenorth>conventional rail, no new types
08:50<andythenorth>but I reset the speeds lower down the roster
08:50<Eddi|zuHause>high-speed as in TGV/Eurostar?
08:51<andythenorth>required rebalancing lots of other stuff, but works
08:51<Eddi|zuHause>a 1990 version and a 2020 version?
08:51<Eddi|zuHause>sounds fine to me so far
08:51<andythenorth>yeah, but industrial rail is unconvcing
08:51<andythenorth>so I think I put it out
08:52<Eddi|zuHause>i'd say scrap all your ideas for industrial rail
08:52<andythenorth>so is NRT done yet? o_O
08:52<Eddi|zuHause>make your wagons generic enough to carry all cargos in each generation
08:53<andythenorth>NRT PR is stale, and should really be closed
08:53-!-Samu [] has joined #openttd
08:53-!-Samu is "..." on #openttd
08:54<Eddi|zuHause>andythenorth: i'd say keep off on that until after release dust settled and people got time to consider bigger PRs
08:55<andythenorth>so do we have a changelog for nightly vs. 1.8.0?
08:55<nielsm> <- are the mirrors still relevant?
08:55<nielsm>with the new infra
08:56<Eddi|zuHause>i don't think the mirrors have changed
08:56<DorpsGek_II>[OpenTTD/OpenTTD] nielsmh merged pull request #7107: Add: Visual Studio 2019 project files
08:57<andythenorth>LordAro: you started a changelog for 1.9.0?
08:58<LordAro>still needs signficantly cutting down, imo
08:59*andythenorth considering a forum post about what's in the nightly
09:00<LordAro>and some changes, probably
09:01<nielsm>and a crash bug in mapgen?
09:01<andythenorth>I'm going to pick out a TL;DR headlines
09:02<Eddi|zuHause>"Remove: PSP, WinCE support"
09:03<Eddi|zuHause>dangit, i wanted to try putting it on a WinCE device :p
09:03<nielsm>hm do I still have a phone running windows mobile 7?
09:09<LordAro>andythenorth: updated gist slightly to update it up to today
09:11<nielsm>maybe put the added currencies together
09:12-!-snail_UES_ [] has joined #openttd
09:12-!-snail_UES_ is "Jacopo Coletto" on #openttd
09:12<LordAro>oh, forgot about the other one
09:13<Eddi|zuHause>not having looked over the list, remember to cut out "fix"es for things that weren't broken in 1.8.0 yet
09:13<LordAro>it's not verbatim :p
09:13<LordAro>i think i caught most of those already
09:15<TrueBrain>14:55 <nielsm> <- are the mirrors still relevant? <- for now, yes. I have yet to move everything from the mirrors to the CDN
09:15<TrueBrain>will take a few weeks before I get to that
09:17-!-snail_UES_ [] has quit [Quit: snail_UES_]
09:19<andythenorth>oof, isn't there an axle load feature in railtypes? o_O
09:22<nielsm>oooh, idea for how to waste a lot of the free landscape array space for rail tiles: count how much load has travelled over the piece of rail, and on tile ticks that calculate maintenance costs include that load amount in the calculation
09:22-!-sim-al2 [] has quit [Ping timeout: 480 seconds]
09:22<Pikka>only in the "standardized railtype scheme" D:
09:22-!-Wormnest [~Wormnest@] has quit [Ping timeout: 480 seconds]
09:23<Pikka>"Still not convinced? Feel free to use railtype labels of your own, but know that you will likely come to regret that at some point in the future."
09:26<Eddi|zuHause> <andythenorth> oof, isn't there an axle load feature in railtypes? o_O <-- not as a property, it's all "fake"
09:27<andythenorth>ha ha
09:27*andythenorth briefly considered a really over-powered version of narrow gauge
09:31<Pikka>the narrowest of gauges
09:32-!-Alberth [] has joined #openttd
09:32-!-mode/#openttd [+o Alberth] by ChanServ
09:32-!-Alberth is "purple" on @#openttd
09:33-!-Samu_ [] has joined #openttd
09:33-!-Samu_ is "OFTC WebIRC Client" on #openttd
09:33<nielsm>is monorail infinitely narrow or infinitely wide?
09:34<Eddi|zuHause>have you ever looked at a monorail? it is narrow, but far from "infinite"
09:34<andythenorth>the gauge though
09:35<nielsm>and are those suspended monorails actually monorails or more like one-and-a-half rail maybe
09:35<nielsm>and is a cable lift up a mountainside a rail?
09:38-!-Samu_ [] has quit [Quit: Page closed]
09:49-!-sla_ro|master [] has joined #openttd
09:49-!-sla_ro|master is "slamaster" on #sla #openttd
09:51-!-synchris [~synchris@] has joined #openttd
09:51-!-synchris is "Synesios Christou" on #openttd
10:16-!-glx [] has joined #openttd
10:16-!-mode/#openttd [+v glx] by ChanServ
10:16-!-glx is "Loïc GUILLOUX" on +#openttd
10:27-!-Flygon [] has quit [Remote host closed the connection]
10:35<DorpsGek_II>[OpenTTD/OpenTTD] alexanderweiss commented on issue #6800: [OSX] NSScrollWheel event handling for 2D scrolling should use scrollingDeltaX/Y
10:44<DorpsGek_II>[OpenTTD/OpenTTD] alexanderweiss opened pull request #7109: [OSX] Use high-precision scrolling properties for 2D scrolling
10:47-!-supermop_Home [] has joined #openttd
10:47-!-supermop_Home is "Guest" on #openttd
10:50-!-gelignite [] has joined #openttd
10:50-!-gelignite is "gelignite" on #openttd
10:55<Borg>techno electro.... yo yo yo.. ;)
10:57<TrueBrain>so I see a 404 ... "GET /xmlrpc.php HTTP/1.1"
10:57<TrueBrain>so I look at the UA
10:57<TrueBrain>"Gecko/20100101 Firefox/4.0.1"
10:57<TrueBrain>yeah .... we are not the only one who can be slow in updates :P
10:58-!-HerzogDeXtEr [] has quit [Read error: Connection reset by peer]
10:58<nielsm>TrueBrain, I think that's someone trying to exploit wordpress :)
10:59<TrueBrain>we used to have that xmlrpc.php
10:59<TrueBrain>it was used to communicate with the IRC bot
10:59<TrueBrain>just no clue why any Firefox would ever reach out for it :P
10:59<TrueBrain>especially one from 2010 :P
11:00<nielsm> <- left channel ttd dos in dosbox, right channel my reimplementation of the adlib music driver
11:00<nielsm>timing is _almost_ correct
11:00<TrueBrain>okay .. now I want IRC notification when a new nightly is produced ...
11:01<nielsm>and it also seems to sound right
11:01<DorpsGek_II>[OpenTTD/OpenTTD] glx22 opened pull request #7110: Add: more options for translators
11:01<TrueBrain>nice :D
11:01<+glx>that's something I noticed yesterday while working on newgrf window
11:02<TrueBrain>nielsm: timing gets more and more off the longer it goes on :P
11:02<TrueBrain>which gives a nice tune to it, tbh :P
11:02<nielsm>TrueBrain yes my tempo is slightly wrong
11:03<TrueBrain>nobody would ever notice it, if they dont put it side to side
11:03<TrueBrain>but yeah :P
11:04<+glx>sounds nice too me
11:05<nielsm>@calc 77.748 / 77.916
11:05<@DorpsGek>nielsm: 0.997843831819
11:05<andythenorth>Pikka: got any super zoom train progress then? o_O
11:05<nielsm>mine is too slow by
11:05<+glx>by almost nothing
11:06<nielsm>uh too fast by
11:06<+glx>less than 1%
11:06<+glx>good enough I'd say
11:07<DorpsGek_II>[OpenTTD/OpenTTD] andythenorth commented on pull request #7108: Feature: Group liveries, and livery window usability enhancements.
11:08<Pikka>only bits and pieces, andythenorth
11:08<Pikka>only one more freight wagon to go and they're all at least partially done :D
11:08<andythenorth>I am trying to get inspired to finish the Horses
11:11<DorpsGek_II>[OpenTTD/OpenTTD] LordAro commented on pull request #7110: Add: more options for translators
11:14<nielsm>but yeah I'm considering to attempt to make/find a full general midi patchset for opl3 synth and letting my adlib music patch also play back regular midi files
11:14<nielsm>for the heck of it
11:14<DorpsGek_II>[OpenTTD/OpenTTD] glx22 commented on pull request #7110: Add: more options for translators
11:17<supermop_Home>group livery huh
11:19-!-Gustavo6046 [~Gustavo60@] has joined #openttd
11:19-!-Gustavo6046 is "Non dico nomen." on #openttd #oftc #moocows
11:21<andythenorth>why doesn't the clone button show on vehicles if game is paused? o_O
11:23<Samu>I don't feel confident of my code :|
11:25<Samu>i guess i'm multi purposing the function too much
11:27<Samu>if helicopter doesn't need automatic servicing but has a pending replace and service at helipad is enabled...
11:28<andythenorth>where is V453000? :P
11:29<Samu>... then search for a hangar
11:30<Samu>if helicopter needs automatic servicing but doesn't have a pending replace and service at helipad is enabled...
11:30<LordAro>@seen V453000
11:30<@DorpsGek>LordAro: V453000 was last seen in #openttd 3 weeks, 4 days, 1 hour, 19 minutes, and 22 seconds ago: <V453000> :0
11:31<Samu>... and if there are helipads at the station, then don't search for a hangar, service at helipad
11:31-!-gelignite [] has quit [Quit: Good fight, good night!]
11:32<Samu>if I'm not a helicopter, I am assuming that airports have hangars
11:33<Samu>... go to the hangar of the airport i'm heading to in the current destination
11:34<supermop_Home>should I get an external dvd drive for my surface so I can install 10 year old version of photoshop?
11:35<nielsm>hmm :P
11:35<nielsm>I'd first look into capturing an image of the disc somewhere else and transferring it over network
11:37<Eddi|zuHause>supermop_Home: external DVD drives is for noobs, i once installed win95 from a CD onto a computer with no CD drive, by copying the install files onto diskettes swapping back and forth with a computer that had one
11:37<+glx>yeah make an iso of the disc and get it via network, windows natively support iso
11:37-!-Progman [] has quit [Remote host closed the connection]
11:38-!-Progman [] has joined #openttd
11:38-!-Progman is "Peter Henschel" on #openttd
11:42<Samu>what should be the behaviour of helicopters that needs to service but have no pending replace and their closest hangar is in the other side of the world?
11:43<Samu>assume service at helipads is disabled
11:43<+glx>destination too far, abort
11:43<+glx>and blame the player ;)
11:43<Samu>ok, then I'm in the right direction after all
11:44<Samu>current behaviour makes them go to the other side of the world to service
11:45<Samu>now a similar question
11:45<Samu>what should be the behaviour of helicopters that have a pending replace and their closest hangar is in the other side of the world?
11:46<andythenorth>too far
11:46<+glx>same, if the hangar is out of range, it's too far
11:46<Samu>oh, but it's a one-time service
11:46<+glx>the player should place the hangars correctly
11:47<nielsm>if the aircraft has a route between stations with no hangars, it can receive no service
11:47<nielsm>very simple
11:47<Samu>you're aware that autoreplace/autorenew would never happen then
11:47<nielsm>yes that sure sucks for the player
11:47<nielsm>they should have been less dumb
11:48<+glx>helistations exist for a reason ;)
11:50<Samu>hmmm but one could argue that aircraft can go anywhere
11:50<Samu>and this a one-time service, it not going into a service interval
11:51<Samu>of 100 days
11:51<Samu>but of 20 years or whatever their lifetime is
11:52<nielsm>don't make vehicles go somewhere the player didn't want them to
11:53<Samu>considering the current behaviour, it's gonna be a shift
11:53<Samu>on master, they will go to the other side of the world for service/autorenew
12:04<nielsm>if it was still possible to build a dos version of ottd (I'm not sure djgpp is updated with c++11?) I wonder if it would be possible to have it load and call the original music drivers...
12:04<nielsm>(for the heck of it)
12:04<Samu>hum... the helicopter situation is very delicate
12:05<LordAro>i have no issues with weird situations (i.e. the only depot is on the other side of the map), if just should be consistent
12:06<LordAro>if there was only one train depot on the whole map, you wouldn't be surprised when the train made a massive detour to go to it
12:07<LordAro>repeat for all transport types
12:07<Eddi|zuHause>IIRC servicing is skipped if the depot is too far away for trains
12:07<Samu>but trains automatic servicing has a max cost
12:07<Samu>yes what Eddi|zuHause said
12:08<LordAro>well ok, aircraft should do the same
12:08<LordAro>depending on what determines "too far"
12:08<+glx>I think too far should be the same as the distance check between airports
12:09<Samu>it involves a lot of variables... the aircraft's own max range, the service interval being too short or too lengthy, the service at helipad setting, breakdowns enabled
12:10<Samu>it's a mix of variables that would have to present an elegant behaviour
12:10<LordAro>i don't think any of that is really relevant
12:10<LordAro>just look at what trains do, and replicate it
12:11<nielsm>step 1: ignore the "service at helipad" setting, pretend it's always disabled
12:11<Samu>the own station having hangar or not
12:11<nielsm>it's a bad hack introduced by ttdpatch which nobody should be using for new games
12:11<LordAro>could remove the setting :>
12:11<LordAro>everyone's always saying how there are too many settings
12:12-!-Gustavo6046 [~Gustavo60@] has quit [Quit: Non video lux in futurum.]
12:12<nielsm>you can still have landing at helipads reset the service counter if the setting is enablæed, just don't take the setting into account for service planning
12:12<nielsm>i.e. don't send a heli to a helipad (with no hangar) for service
12:13<+glx>yeah makes sense
12:13<+glx>service order should need a real service
12:19-!-Gustavo6046 [~Gustavo60@] has joined #openttd
12:19-!-Gustavo6046 is "Non dico nomen." on #openttd #oftc #moocows
12:19<andythenorth>could add high-speed railtype
12:19<andythenorth>curve speed bonus
12:19<andythenorth>fancy appearance
12:19<andythenorth>TMWFTLB? o_O
12:23<Eddi|zuHause>andythenorth: just use nutracks?
12:25<andythenorth>that too
12:26<andythenorth>unrelated: why does the aircraft stuff need changing?
12:28<Samu>to fix #6493
12:30<Samu>more specifically, what peter1138 wrote there
12:30<Samu>the service interval is the cause
12:31<Samu>but more problems arise when the service interval is no longer the issue, like going out of the way to depots on the other side of the world
12:35<Samu>i'm more inclined into allowing them go around the world if it's a pending replace, but if it's only a service, keep them in-place unserviced
12:36<Samu>or service based on DistanceSquare
12:37<Samu>line 51 and 53
12:38<Gabda>I've managed to do the town voronoi "map" :)
12:39<Eddi|zuHause>via flood fill or via triangulation?
12:39<Gabda>all that is left is make the code presentable, which is about twice the effort of the coding...
12:39<Gabda>a type of floodfill
12:39*andythenorth has had a horrible idea
12:40<Eddi|zuHause>just one?
12:40<Gabda>I cannot find the method of triangulation on Manhattan distances
12:40<Eddi|zuHause>Gabda: voronoi really only works with euclidean
12:41<andythenorth>so one idea was that we just be done with ship pathfinding nonsense on open water
12:42<andythenorth>and add tile-based sea routes
12:42<andythenorth>we can already build canal on water, so eh :P
12:42<andythenorth>but do them like roads, so companies can share
12:42-!-Thedarkb1-T60 [] has quit [Ping timeout: 480 seconds]
12:42<Gabda>you have pay to pacify the ocean?
12:42<Gabda>(on specific tiles)
12:43<andythenorth>that wasn't the horrible idea though
12:43<Eddi|zuHause>andythenorth: that would work, but you would give up the really nice property of "just slap down docks and go" of ships
12:44<Eddi|zuHause>which i would give -1
12:44<andythenorth>it would only work if there was some kind of polyline tool, which I tried the patch for on rails, and dislike
12:46<Gabda>Eddi|zuHause: I used something like the Fortune's sweep line algorithm
12:46<Eddi|zuHause>andythenorth: it could work implicitly, upon changing ship orders, it calculates a path and then "builds" the ship path, then pathfinding only works on ship path tiles instead of open sea tiles
12:48<Gabda>but I only kept the sweep line part
12:48<Samu>pretending serviceathelipad doesn't exist is difficult... it is the main cause of this fix
12:48<Gabda>fill everything where the line swept, and if a new town gets in, floodfill the already swept area
12:49<Gabda>what functions should I use to measure the time of the filling?
12:49<Samu>of this bug, i meant
12:50<nielsm>you can add a temporary performance element there for your own testing
12:50-!-Vasatko [~Vasatko@] has quit [Ping timeout: 480 seconds]
12:50-!-gelignite [] has joined #openttd
12:50-!-gelignite is "gelignite" on #openttd
12:51<Samu>canal water is too alike sea water
12:51<Samu>would be hard to distinguish
12:52<Gabda>nielsm: it works with one time events as well?
12:53<Gabda>I only want to print a runtime into the console
12:53<andythenorth>so the actual horrible idea
12:54<andythenorth>give train + road + sea tiles a 'wear factor' byte
12:54<andythenorth>degrade it statistically as vehicles pass over it
12:54<andythenorth>and in the spec, allow for vehicles with a negative wear factor
12:54<andythenorth>allow maintenance cost to read the wear factor
12:55<andythenorth>and provide optional tables for things like speed limit vs. wear factor
12:55<andythenorth>also allow modifying a consist breakdown chance on wear factor :P
12:55<andythenorth>so 'normal' vehicles increase wear, but maintenance trains, snow ploughs, dredgers ettc reduce it
12:56<Gabda>and wear factor for rail signals, and after some time, they give a wrong signal?
12:56<andythenorth>I prefer nielsm's idea of requiring signal boxes :)
12:59<Gabda>Samu: how did you measure the time when you sent the ~5000 ships to the depot?
12:59<nielsm>Gabda ah if it's not a repeating thing just do whatever I guess
12:59<Gabda>with the built in framerate?
12:59<nielsm>the <chrono> std header is decent
12:59<Gabda>ok, thanks, I'll look into it
13:05-!-HerzogDeXtEr [] has joined #openttd
13:05-!-HerzogDeXtEr is "purple" on #openttd
13:10<DorpsGek_II>[OpenTTD/OpenTTD] btzy commented on issue #7042: Use intrinsics for bit twiddling?
13:10<supermop_Home>why do lime kilns keep building on top of hills
13:14<supermop_Home>andythenorth: give lime kilns an owner byte - every tick that the lime kiln is on top of the mountain increases a counter, when it reaches some value the manager has a nervous breakdown because he built his kiln in an inaccessible wilderness
13:14-!-frosch123 [] has joined #openttd
13:14-!-frosch123 is "frosch" on #openttd
13:15<andythenorth>supermop_Home: build canal locks up to them :P
13:15<andythenorth>ships don't feel the gradient
13:19<DorpsGek_II>[OpenTTD/OpenTTD] SamuXarick opened pull request #7111: Codechange: Rework automatic service for helicopters (#6493)
13:19<Samu>i tried to explain the best I could
13:19<Samu>what do you say?
13:21<Samu>my english needs fixing
13:21<Samu>i be
13:21<Samu>yeah, terrible terrible english
13:25<Eddi|zuHause>Gabda: we used to have TIC and TOC
13:27-!-Thedarkb1-T60 [] has joined #openttd
13:27-!-Thedarkb1-T60 is "realname" on #openttd #oolite
13:28<Samu>just edited with better english, hopefully it's clearer
13:28<nielsm>made some more recordings from dosbox and my code and aligned them:
13:28<nielsm>also timestretched my output a bit to match them better
13:29<nielsm>I think they're close enough to identical, so might clean up for PR soon :P
13:29<supermop_Home>I really just need PS, ID and illustrator for a couple days to put together this donut kiosk design package
13:30<supermop_Home>i guess i could just do it after hours at the office
13:31<Samu>damn it, i always forget this aircraft_cmd.cpp:448:139: warning: '&&' within '||' [-Wlogical-op-parentheses]
13:33<nielsm>it's a warning because nobody can ever remember which of those binds tighter
13:34<nielsm>so everyone puts parentheses around the subexpressions to make their own intention clear and make sure they don't get bugs for misremembering
13:35<DorpsGek_II>[OpenTTD/OpenTTD] SamuXarick updated pull request #7111: Codechange: Rework automatic service for helicopters (#6493)
13:37-!-Simons_Mith [] has joined #openttd
13:37-!-Simons_Mith is "OFTC WebIRC Client" on #openttd
13:38<Simons_Mith>Looking at interest rates/inflation...
13:38<Simons_Mith>It says:
13:38<Simons_Mith>void StartupEconomy() { _economy.interest_rate = _settings_game.difficulty.initial_interest; _economy.infl_amount = _settings_game.difficulty.initial_interest; _economy.infl_amount_pr = max(0, _settings_game.difficulty.initial_interest - 1);
13:39<Simons_Mith>In english, inflation rate in% = interest rate in %, inflation rate for payments = interest rate -1 in %
13:40<Simons_Mith>So if you've got an interest rate of 2%, doesn't that make the game harder than if you had interest rate of say 8%
13:40<Simons_Mith>That doesn't seem fair
13:40<nielsm>harder in the late game, easier in the early game
13:41<nielsm>since interest rate usually only matters in the first few years
13:41<@peter1138>It's a bug in the original game, I guess. Easy settings make inflation hard, hard settings make inflation easier...
13:42<Simons_Mith>When do you count 'late' game as starting?
13:42<DorpsGek_II>[OpenTTD/OpenTTD] PeterN commented on pull request #7108: Feature: Group liveries, and livery window usability enhancements.
13:42<Simons_Mith>I'd have said after 75 years at least
13:43<@peter1138>model name : Intel(R) Core(TM)2 Duo CPU P7450 @ 2.13GHz
13:43<@peter1138>I could do with a better laptop :/
13:44<Simons_Mith>I just tried a 1800s game with 2% interest rates and inflation on, and those settings started to hurt after just 25 years
13:44<nielsm>I should probably go import the dbopl.cpp emulator instead, it doesn't make stupid DC offsets the ken silverman one does...
13:44<Eddi|zuHause>yeah, don't play with interest rates before 1920
13:44<@peter1138>nielsm, you can filter the DC offsets quite easily, IIRC.
13:45<@peter1138>Most people play with inflation off.
13:45<Eddi|zuHause>you need technological advancement to combat the inflation
13:45<nielsm>peter1138 sure, but the dbopl emulator is probably more accurate regardless
13:45<Gabda>Eddi|zuHause: TIC TOC works fine. How can I interpret the outcome? 5,3 million is small?
13:45<@peter1138>It should probably be changed to be more useful.
13:45<Simons_Mith>Indeed. Or fix the bug.
13:45<Eddi|zuHause>Gabda: no idea
13:46<Borg>peter1138: what inflation is suppose to do? to the gameplay?
13:47<Samu>inflation is fine if every company starts at the same date
13:47<Samu>but if one picks up in the middle of a game session, it sucks
13:47<Borg>I never use it personaly...
13:47<Simons_Mith>I was pondering making interest rates variable in-game, y'see.
13:47<Simons_Mith> I also know about the 170-year cutoff, because prices get too out of whack
13:48<@peter1138>Bah, laptop powered off :/
13:48<Eddi|zuHause>@calc (1.04/1.03)**170
13:48<@DorpsGek>Eddi|zuHause: 5.16820201339
13:48<Eddi|zuHause>@calc (1.02/1.01)**170
13:48<@DorpsGek>Eddi|zuHause: 5.33821002416
13:48<@peter1138>Borg, it adjusts costs to make the game harder later.
13:48<Simons_Mith>But if youtook out the -1 in the infl_amount_pr, payments and prices would grow at the same rate and inflation would be mostly cosmetic#
13:49<@peter1138>Simons_Mith, quite.
13:49<Eddi|zuHause>the long term difference isn't really that big
13:49<DorpsGek_II>[OpenTTD/OpenTTD] frosch123 requested changes for pull request #7110: Add: more options for translators
13:49<@peter1138>I think it could be fixed by making one of the rates fixed, and the other variable.
13:49<@peter1138>So the difference is larger on hard settings.
13:49<Borg>peter1138: hmm an idea.. instead of inflation... reduce payments slowly?
13:50<@peter1138>Although, I don't think those easy/hard settings exist any more :p
13:50<Borg>so prices will stay the same... but game gets harder and harder
13:50<Eddi|zuHause>there should also be a loan interest that is higher
13:50<@peter1138>Yeah, loan interest is silly.
13:50<nielsm>nah you do want to increase costs rather than decrease payments, otherwise you get rounding errors becoming significant in payments
13:51<@peter1138>Yeah, our money values are integers.
13:51<@peter1138>You'd end up earning nothing.
13:52<Eddi|zuHause>there was once a stock market in milan which crashed, because they used round down on everything, instead of common "balanced" rounding rules
13:52<Simons_Mith>Can gamescripts change interest rates yet?
13:52<Eddi|zuHause>don't think so
13:52<nielsm>if you have inflation in costs and inflation in earnings pulse around an average at different rates maybe you'd get something slightly more interesting?
13:53<@peter1138>Yeah, variable rates would be cool.
13:54<@peter1138>The only thing is that in the real world, the transport company decides how much to charge.
13:54<frosch123>LordAro: nielsm: when you add newgrf stuff, please document it:
13:55<nielsm>did I ever manage to get a working login...
13:55<Simons_Mith>I think I'd also increase the granularity on the interest rates to 1/4%.
13:55<nielsm>not sure
13:55<@peter1138>Interest rates could probably be based on 100x values?
13:55<@peter1138>So 1 = 0.01
13:56<@peter1138>Pretty fine grained then, maybe too much.
13:56<nielsm>or just promille
13:56<Simons_Mith>We use 1/4s nowadays, that probably fine enough
13:56<@peter1138>We do for bank interest rate, but if you wanted something based on stock markets...
13:57<Simons_Mith>I was thinking, start a game in the 1800s, interest rate 1-2%, inflation 1+1/4 to 2+1/4
13:57<Simons_Mith>Interest rates change only every few decades, maybe
13:57<Simons_Mith>Then things speed up a bit after 1950 say
13:57<Simons_Mith>and theres more and finer fluctuation
13:58<nielsm>I'd say fixed values throughout the game, but a GS API to control them
13:58*peter1138 recompiles and hopes the laptop doesn't turn off this time.
13:59<@peter1138>nielsm, agreed.
13:59<Simons_Mith>But can't you only have one Gamesctript? Shame if you want Villages is Villages and 'realistic' interest
13:59<@peter1138>Yeah, that's a slight bummer.
13:59<@peter1138>GS is the right way forward though.
14:00<Simons_Mith>Oh, that reminds me, on Gamescripts
14:00<Simons_Mith>You can only have one GS, because we assumme there's a risk they'll conflict
14:00<frosch123>Simons_Mith: when gs was designed, we expected people would start to combine multiple gs into one, like a "gs pack". but noone ever did that
14:01<Simons_Mith>What if you could suspend a GS and then turn another one on?
14:01<@peter1138>if it's possible to run multiple GS, maybe we should allow it, but let users pick up the pieces? :p
14:01<Simons_Mith>Say you run Villages is villages 11 months out of the year
14:02<Simons_Mith>in the 12th month you run the mission GS or something
14:02<@peter1138>Not really the point, you'd still have one GS fiddling with things the other GS doesn't know about.
14:02<@peter1138>It's not that they can't run concurrently.
14:02<Simons_Mith>Yeah, but if you have a GS that only fiddles with one tiny thing, then it can fiddle, then go back to sleep again
14:02<Gabda>Eddi|zuHause: tried chrono as well, although it is subjective, the creation of the "closest town map array" it took: 512x512 map (400 towns) 1.8 ms; 1024x1024 (800 towns) 8 ms; 1024x1024 (1600 towns) 17 ms.
14:03<@peter1138>You can do that with them running at the same time.
14:03<Simons_Mith>Not all GSs would conflict
14:03<@peter1138>AIs are capable of running 'concurrently'
14:03<@peter1138>Woo, it built this time :D
14:03<Eddi|zuHause>Gabda: that sounds fine, if it doesn't have to be fully recalculated during the game
14:03<nielsm>there's no way to know whether two GS would conflict, apart from some terrible kind of "capabilities declaration"
14:04<nielsm>and that would probably also cause false positives and false negatives
14:04<Gabda>it only have to be corrected when a new town is founded (but not recalculated)
14:04<Eddi|zuHause>Gabda: main problem is usually adding/removing towns, mostly in the scenario editor
14:04<Simons_Mith>Give AIs greater powers? that does blur the difference between an AI and a GS though
14:04<@peter1138>AIs are players, though.
14:04<Gabda>and I don't know if it is possible, but it have to recalculated if a city gets deleted
14:04<nielsm>an AI must not be able to do anything a human player can't
14:05<Gabda>so it is possible
14:05<Simons_Mith>Why not?
14:05<Eddi|zuHause>Gabda: but a voronoi partition can be done incremental, so adding/removing only affects a small area
14:05<Simons_Mith>Actually, humans can cheat, so AIs should be permitted to as well
14:05<@peter1138>They're AIs, they play a company.
14:05<@peter1138>If you want an "AI" that modified the game behaviour, then we have that, but we call them gamescripts.
14:06<Simons_Mith>But you can only have one Gamescript at a time
14:06<@peter1138>It's better to allow multiple GS than to mess about allowing AI to do things players can't do.
14:06<Eddi|zuHause>Simons_Mith: you must modify the gamescripts into libraries to run multiple
14:06<nielsm>a gamescript controls the rules of the game, an AI plays by the rules set forth
14:06<@peter1138>Ultimately, allowing the AI to do these things will just end up with AIs conflicting as well.
14:07<Simons_Mith>We already have e.g. TownCars, a trees AI and so on,
14:07<Simons_Mith>There are a reasonable number of non-competing AIs with tighly-defined behvaours
14:07<@peter1138>Yeah but that's all stuff players CAN do.
14:07<Simons_Mith>And you have to manually cheat them cash so they can do their thing anyway
14:08<@peter1138>That makes it worse, not better.
14:08<Simons_Mith>I'm just want to automate the cheating part
14:08<@peter1138>I'd like to see a PR that allows multiple gamescripts.
14:08<@peter1138>(Not saying it'd be accepted)
14:09<@peter1138>But that's definitely preferable to mucking about with AIs.
14:09<Simons_Mith>OK, but let's pick Towncars as an example
14:09<nielsm>it plays by the rules of the game, it just doesn't play to win
14:10<Samu>PeterN commented 2 days ago
14:10<Samu>I think this is too big with too many changes. Should be split into separate PRs.
14:10<Samu>but then... andythenorth exists
14:10<Simons_Mith>Why not: Turn cheat mode on for TownCars, than let TownCars give itselfs 10,000,000s?
14:11<Simons_Mith>This is kind of a halfway house between a GS and an AI
14:11<Simons_Mith>Not suitable for competitive AIs, but quite useful for e.g. Towncars, road builder AIs etc.
14:11<@peter1138>Why not improve GS, instead of adding bodges for AIs.
14:11<Simons_Mith>There's more AIs already written
14:12<andythenorth>co-operative multi-tasking GS :P
14:12<@peter1138>Have a GS that dishes out money to a TownCars AI, for example...
14:12<andythenorth>did I miss a memo?
14:12<Gabda>Eddi|zuHause: deleting a town seems trickier. the info on closest town is important in the scenario editor as well?
14:12<@peter1138>andythenorth, just trying to work out a solution that isn't a bodge.
14:12<Simons_Mith>but you still need two GS script slots - one for the Sugar Daddy GS, one for whatever else.
14:13<@peter1138>Yes, so?
14:13<@peter1138>19:08 <@peter1138> I'd like to see a PR that allows multiple gamescripts.
14:13<andythenorth>GS is pretty crippled
14:13<andythenorth>due to only one
14:13<andythenorth>and more than one is crippled
14:13<andythenorth>due to you know
14:13<Eddi|zuHause>Gabda: a scenario is a savegame, so it should contain all the information
14:13<andythenorth>proper domain
14:13<Samu>create GS's like they're libraries
14:14<@peter1138>andythenorth, you could've made a quick screenshot of the livery window changes while you were at it, eh?
14:15<Eddi|zuHause>Simons_Mith: really, just convert the GS into a library, then you can make a "Master" GS that calls both GS, and all the conflict resolution is in the hands of the programmer
14:15<@peter1138>andythenorth, instead of forcing me to download and compile it here, in gloomy Wiltshire...
14:15-!-Thedarkb1-T60 [] has quit [Remote host closed the connection]
14:15<andythenorth>Wiltshire is lovely
14:15-!-Thedarkb1-T60 [] has joined #openttd
14:15-!-Thedarkb1-T60 is "realname" on #openttd #oolite
14:15-!-Wormnest [~Wormnest@] has joined #openttd
14:15-!-Wormnest is "Wormnest" on #openttd
14:15<andythenorth>you want me to screenshot?
14:15<andythenorth>I'm only playing tanks
14:15<Eddi|zuHause>Simons_Mith: do not burden the user with figuring out whether two GS can be run combined
14:15<@peter1138>Ok, group-livery is not actually working properly at the moment. Damn it, wtf.
14:16<andythenorth>what broke?
14:16<Simons_Mith>Eddi: Currently that burden is avoided by not letting 'em do it at all.
14:16<nielsm>the solution is to make a GS library that knows how to recognize silly AIs and to give them free money, and then petition other GS authors to call that GS lib
14:17<@peter1138>Urgh, I hadn't fetched from my origin, so it grabbed an ancient version :/
14:17<nielsm>letting AIs cheat on their own volition is not acceptable and I will fight any PR that wants to allow that
14:17-!-Thedarkb1-T60 [] has quit [Remote host closed the connection]
14:17<@peter1138>And wouldn't be allowed in multiplayer.
14:18<Simons_Mith>neilsm Quite a lot of people use AIs as helpers,
14:18-!-Thedarkb1-T60 [] has joined #openttd
14:18-!-Thedarkb1-T60 is "realname" on #openttd #oolite
14:18<nielsm>yes and so what?
14:18<Samu> gonna try work on a better fix than just disabling the reset button
14:18<nielsm>changing the rules of the game is the domain of game scripts
14:18<Simons_Mith>Unfair and inappropriate to lump 'Helper' AIs with competing AIs.
14:19<Simons_Mith>They are a halfway house between a GS and an AI
14:19<@peter1138>I don't understand why it's better to add bodges for AIs instead of improving GSs.
14:19<nielsm>AI should not have been a scripting system running inside the game engine, but a separate network client that connects to a network server
14:19<nielsm>so they can do nothing but play by the rules of the game
14:19<@peter1138>nielsm :)
14:20<@peter1138>Only issue with that is knowledge of game state.
14:20<andythenorth>well that's easy
14:20<andythenorth>just run them in an openttd client, but using a special scripting API
14:20<@peter1138>andythenorth, you could run them in an already running openttd instance, maybe.
14:20<Simons_Mith>Twenty minutes' work, right?
14:20<andythenorth>that was my thinking peter1138
14:21<andythenorth>why do we need helper AIs?
14:21<andythenorth>peter1138: also snow on tracks and crap
14:21<andythenorth>unrelated idea
14:21<@peter1138>We've wasted longer than 20 minutes arguing against meddling with AI abilities.
14:21<andythenorth>snowploughs, dredgers, etc
14:21<@peter1138>Hidden railtypes?
14:21<andythenorth>'wear and tear' counter
14:21<@peter1138>Hmm, should I go get a cider?
14:21<@peter1138>It's 750ml.
14:22<@peter1138>But it's from Aldi, so it's probably naff.
14:22<Simons_Mith>Cider doesn'ty go with popcorn
14:22<nielsm>Simons_Mith exlain why an AI assiting a player in some way should be allowed to do thing the player would not be able to (assuming the player is not touching ctrl-alt-c)
14:22<andythenorth>vehicles have a wear and tear factor, can be +ve or -ve
14:22<andythenorth>save it in the tile
14:22<@peter1138>I didn't bring any popcorn, though I almost did :/
14:22<andythenorth>use it for silly things
14:22*andythenorth very tanks
14:22<Simons_Mith>neilsm: because many people play OpenTTRD as a sandbox
14:23-!-Gabda [] has quit [Quit: Leaving]
14:23<@peter1138>So now I'm recompiling with the current version of group-livery, to make a screenshot, cos andythenorth didn't ;(
14:23-!-Alberth [] has left #openttd []
14:23<nielsm>those players can write their own gamescript then
14:23<@peter1138>Seriously we will not ever add features to allow the AI to cheat.
14:23<Eddi|zuHause>Simons_Mith: "sandbox" is easy: load a price newgrf and set all factors to 0
14:23<@peter1138>But GS improvements are welcome.
14:23<nielsm>if you're playing sandbox then use basecosts grf to set all costs to zero
14:24<Simons_Mith>How does cost=0 let you bulldoze an industry?
14:24<Simons_Mith>How does cost=0 let you make change over a large map?
14:24<@peter1138>Woah, where did bulldozing an industry come into it?
14:25<Simons_Mith>Kind of thing you might be doing in a sandbox game, and want an AI to help you with
14:25<Eddi|zuHause>Simons_Mith: there is no way, ever, that an AI will be allowed to destroy industries
14:25<Eddi|zuHause>Simons_Mith: if you want to do that, just press ctrl+alt+c
14:25<Samu>AIs can't really do everything humans do
14:26<Samu>they can't retrieve refitted capacity of engines
14:26<andythenorth>peter1138: it's a hard knock life, but you have Lidll cider, right?
14:26<andythenorth>and I did offer :P
14:26<@peter1138>andythenorth, please do it. This laptop is shit.
14:26<Samu>but they can if the vehicle actually exists (bought vehicle)
14:26<@peter1138>And it's Aldi.
14:26<andythenorth>should I cook chicken
14:27<@peter1138>Unless you prefer it raw?
14:27<@peter1138>Samu, issue/PR? :p
14:27<andythenorth>oops I need a new game
14:27<Eddi|zuHause>can Aldi and Lidl even survive brexit?
14:27<andythenorth>my groups are called 'Red', 'Orange' etc
14:27<andythenorth>which is confusing
14:27<andythenorth>peter1138: :P
14:27<@peter1138>Eddi|zuHause, of course, we'll just have to pay more.
14:28<@peter1138>andythenorth, yeah... I need the livery window itself :p
14:28<andythenorth>I know, I just wanted to show off the rainbow
14:28<Samu>AIs can't plan in advance, and most of what AI's do is plan in advance
14:28<andythenorth>'skittles patch'
14:28<andythenorth>'taste the rainbow'
14:28<@peter1138>Why can't AIs plan?
14:28<Samu>well they can, but not as well as humans
14:29<@peter1138>That's down to the ability of an AI writer to actually write an AI.
14:29<@peter1138>Of course, that's Hard problem, which is why we delegated it to user scripts :p
14:29<Samu>because they can't retrieve correct costs, correct cargo capacities,
14:29<@peter1138>I'm glad all these deficiencies are documented and reported.
14:29<Samu>i can't get the cost of an engine refited to xx cargo
14:29<Eddi|zuHause>peter1138: but not paying more is the entire point of these things?
14:29<Samu>unless i buy the vehicle and refit it
14:30<@peter1138>Eddi|zuHause, no, the point is BREXIT MEANS BREXIT AND WE'RE LEAVING
14:30<@peter1138>Or something
14:30<Samu>but if i buy the vehicle, im no longer planning, im wasting money
14:30<@peter1138>I dunno.
14:30<Eddi|zuHause>because of a <2% margin?
14:30<@peter1138>Samu, how does a player know how much it'll cost to refit without buying?
14:31<Eddi|zuHause>which is technically smaller than the measurement error?
14:31<@peter1138>Eddi|zuHause, THE WILL OF THE PEOPLE
14:31<Samu>players know in advance
14:31<Eddi|zuHause>also, the referendum wasn't binding in the first place
14:31<@peter1138>MAJORITY SPOKE!
14:31<nielsm>show me where it's displayed
14:31<@peter1138>Samu, why? How do they know?
14:32<Simons_Mith>Yes, all 70% of 52%!
14:32<Samu>by memory
14:32<Samu>not really by the game telling it to you
14:32<nielsm>you mean to say an AI cannot remember things?
14:32<@peter1138>Eddi|zuHause, I'm obviously being sarcastic, I have no answer for you.
14:32<@peter1138>Pretty sure AIs can remember way more stuff than I can.
14:33<Simons_Mith>Some poor blighter has to code it though
14:33<nielsm>the AI would just have to check if it has seen the refit costs for a vehicle before, and work with that knowledge if it has it, and otherwise take a gamble
14:33<nielsm>(and learn)
14:33<@peter1138>Hmm, what to have for dinner.
14:33<@peter1138>I'm thinking fish & chips (oven cooked from the freezer, not a takeaway)
14:33<Eddi|zuHause>i have leftover bolognese
14:33<Samu>yes, but they have to buy the vehicle in the first place
14:33<Samu>humans don't have to
14:33<nielsm>yes humans do
14:33<@peter1138>Samu, what do humans do instead?
14:34<Simons_Mith>Teahing an AI o read the OTTD wiki would be a real challenge
14:34<@peter1138>Or do you mean we're able to remember it from a previous game?
14:34<@peter1138>(Cos I bloody well don't)
14:34<Samu>well humans know in advance that for example, an aircraft reffited to goods, will have 1/4 capacity
14:34<@peter1138>Samu, is that always the case?
14:34<@peter1138>If it is, then why can't an AI know that?
14:34<Samu>if an AI wanna get the reffited capacity of an aircraft to goods, it can't know in advance
14:35<Simons_Mith>If I was coding an AI, I think I'd buy-refit-sell and get the price that way
14:35<Samu>because of NewGRFs which could alter these per vehicle set
14:35<@peter1138>Damn it, I should've brought that popcorn.
14:35<Simons_Mith>If you sell a vehicle immediately you get pretty much full money back
14:36<@peter1138>Samu, but how would the player know that in advance then?
14:36<Samu>by having played in previous games, oh come on
14:36<Samu>you know what I mean
14:37<nielsm>the AI needs to be coded to take a gamble that it will get a useful result
14:37<@peter1138>What if they've never played that set before?
14:37<nielsm>and whether it's useful or not, keep whatever it learned in memory
14:37<@peter1138>What if they've not played it for a while and simply don't remember it all?
14:37<Simons_Mith>What if it's changed since last time?
14:37<nielsm>let the AI access the readme.txt and parse it!
14:37<@peter1138>Samu, btw, I'm not saying the AI shouldn't be able to get these costs.
14:38<nielsm>oh wait, nobody ever puts useful info in readme.txt
14:38<@peter1138>nielsm, usually not :-)
14:38<Simons_Mith>TBH, if the AI could get all that stuff, I'd like to have an AI that extracted all the info and gave it to ME
14:38<@peter1138>Samu, but you know, maybe make some feature requests.
14:38<@peter1138>And yeah, if the AI can get the costs, then it'd be useful for players too.
14:39<nielsm>afaik newgrf can control the refit costs of a vehicle based on CB can't it? so they may vary from time to time
14:39<@peter1138>I'm not sure if it's possible due to how the callbacks work, mind you.
14:40<DorpsGek_II>[OpenTTD/OpenTTD] andythenorth commented on pull request #7108: Feature: Group liveries, and livery window usability enhancements.
14:41<Samu>there is an AI library that "learns" engine capacity, refit costs of vehicles, but what it actually do is waste money... it needs money in advance to learn them
14:41<andythenorth>that livery :P
14:41<Samu>it's a meh... method imo
14:41<Samu>if money is of concern for planning, this is a bad solution
14:42<Borg>Samu: wait.. does GS doesnt have Test mode? with will return how much it spent?
14:42<nielsm>so write an AI that takes a gamble the first time it sees a potentially useful vehicle!!
14:43<nielsm>because that's sure what I do
14:43<andythenorth>AI json manifest
14:43-!-CZTR [~Vasatko@] has joined #openttd
14:43-!-CZTR is "realname" on #openttd
14:43<Samu>yes, but that test mode for refit, for example, requires you to already have it bought
14:44<Eddi|zuHause>machine-readable AI-Wiki interface
14:44<Samu>and to learn the new capacity, you really have to pay the refit cost, if you sell it after, the refit cost will ... cost you
14:44<Eddi|zuHause>TODO: figure out how to add cloud and blockchain
14:45<Samu>not good for planning mode
14:45<Simons_Mith>If you buy and then sell straight back, you get pretty much a full refund, don't you?
14:45<nielsm>Samu: you're just completely ignoring what I'm suggesting aren't you?
14:45<andythenorth>Eddi|zuHause: data lake
14:45<Simons_Mith>What proportion of refits have non-zero cost>?
14:45<Eddi|zuHause>of course, wiki interface doesn't only mean reading, but also writing
14:46-!-Thedarkb1-T60 [] has quit [Remote host closed the connection]
14:46<Samu>what am I ignoring, sorry must have missed it
14:46<Eddi|zuHause>Simons_Mith: i'd say most of them, unless the set was designed for autorefit
14:47<nielsm>Samu: you're ignoring my suggestion that an AI should buy a vehicle on the chance it is useful, and then make the best possible of it even if it's not the very best choice
14:47<nielsm>human players do that all the time
14:48<nielsm>not buying it to learn the refit costs but buying it to use it to actually run the route
14:48<nielsm>and learn the refit costs/etc along the way
14:48<nielsm>(the purpose of buying that model is not to learn about it but to use it)
14:48<Samu>hmm the usual problem is starting up, but I see what you mean
14:49<nielsm>"this looks good enough"
14:49<nielsm>"perfect" is the enemy of "good enough", or however you say
14:50<Samu>was trying to make the best out of a budget of £100k
14:50-!-Thedarkb1-T60 [] has joined #openttd
14:50-!-Thedarkb1-T60 is "realname" on #openttd #oolite
14:51-!-Thedarkb1-T60 [] has quit [Remote host closed the connection]
14:51-!-Thedarkb1-T60 is "realname" on #openttd #oolite
14:51-!-Thedarkb1-T60 [] has joined #openttd
14:53<Simons_Mith>Eh, time for fud I think. Before I go, neilsm: "<nielsm> letting AIs cheat on their own volition is not acceptable and I will fight any PR that wants to allow that"
14:53<Samu>it was when I discovered the refit issues. my ai at the moment is starting suboptimal with aircraft mail cargo
14:54<Simons_Mith>But presumably if there was a checkbox /controlled by the player/ that said, 'Permit this AI to use cheats'. that'.... merely ugly?
14:54<nielsm>no, write a gamescript for it
14:55<Simons_Mith>many gamescripts, then
14:55<Eddi|zuHause>i feel like we're going in circles.
14:56<Eddi|zuHause>and you're requesting things that are already possible, just not in the exact way you want it
14:56<nielsm>I don't think it would be a difficult change to let multiple GS be loaded at once (except perhaps contention for storybook and goals?)
14:58<Simons_Mith>I'm looking at writing this stuff myself, but thre's no point if it's too far at variance with the preferences of the key devs
14:58<Simons_Mith>You've been helpful in that repsect
14:59<Simons_Mith>GS extenstion is probably beyond my current skill tho
14:59<Simons_Mith>As is correct typing
14:59<nielsm>yes you're spelling my name wrong :(
14:59<Simons_Mith>[cold hands]
15:01<Eddi|zuHause>man, my sense of time is totally broken today
15:01<frosch123>nielsm: there are many things which are currently global, but would to be per-gs
15:01<frosch123>like cargo-monitors, storybook, goals, ...
15:03-!-Simons_Mith [] has quit []
15:06<DorpsGek_II>[OpenTTD/OpenTTD] glx22 updated pull request #7110: Add: more options for translators
15:10<andythenorth>so is there a var for CC being used?
15:10*andythenorth looks
15:14<DorpsGek_II>[OpenTTD/OpenTTD] frosch123 approved pull request #7110: Add: more options for translators
15:15<nielsm>hmm this is annoying, the first time the music loop is called, the client settings config is not loaded so is false by default so music never starts on title screen
15:16<nielsm>is there a way to detect if config is actually fully loaded? >_>
15:16<andythenorth>hmm, no documented var for vehicle colour
15:17<andythenorth>80+ o_O
15:17<andythenorth>nope, no var
15:17<frosch123>nielsm: there is a bool parameter to LoadFromConfig
15:17<DorpsGek_II>[OpenTTD/OpenTTD] glx22 merged pull request #7110: Add: more options for translators
15:17<frosch123>andythenorth: var 43 iirc
15:17*andythenorth trying to make custom liveries, selected by the group livery
15:18<nielsm>frosch123 but that's not where I am, I'm inside MusicLoop()
15:18<andythenorth>oh yes var 43 :)
15:18<nielsm>between the calls to LoadFromConfig(true) and LoadFromConfig(false)
15:19<andythenorth>so maybe this is the way to do liveries :)
15:19<frosch123>nielsm: maybe _window_system_initialized ?
15:20<andythenorth>I can't find a single person who says more than 'no' to my ctrl-click counter idea :P
15:20<TrueBrain>hell no
15:20<TrueBrain>there you go
15:20<andythenorth>so choosing the livery can set the gearing on the train :D
15:20<andythenorth>makes sense, right?
15:20<andythenorth>red faster than blue
15:20<frosch123>andythenorth: try to find a solution that works for more people than just you
15:20<andythenorth>frosch123: I don't know any other people :P
15:21<andythenorth>I'm also all out of modifier keys :P
15:21<TrueBrain>if things are red, it just means they are moving away from you. Blue means they are approaching (most likely rapidly)
15:21<TrueBrain>not sure what you are on about :P
15:21<andythenorth>I just want to click on a train and have it cycle through sprite options :P
15:22<DorpsGek_II>[OpenTTD/OpenTTD] michicc commented on pull request #7109: [OSX] Use high-precision scrolling properties for 2D scrolling
15:22<DorpsGek_II>[OpenTTD/OpenTTD] andythenorth commented on pull request #7109: [OSX] Use high-precision scrolling properties for 2D scrolling
15:23<Eddi|zuHause>TrueBrain: there was once a question: "how fast do you need to go so a red traffic light appears green to you?"
15:24<TrueBrain>simple, never; as by the time you reach speeds that would cause that, you created tons of other problems that most likely would mean the end of life as we know it :P
15:24<andythenorth>so if modifier-click is not going to happen
15:24<andythenorth>how about a dropdown menu on every vehicle?
15:24<andythenorth>I'll mockup
15:25<+glx>nielsm: you can make the loop wait for a signal maybe
15:28<andythenorth>here we go, let's do this
15:29<andythenorth>dunno what's on the menu options
15:29<andythenorth>all the important things I guess
15:29<andythenorth>sprite, cb36 stuff etc
15:29<+glx>how long does it take for eints to detect an new english.txt ?
15:29<andythenorth>still needs some kind of counter byte so it knows what sprite to use :P
15:29<andythenorth>there are some user bits somewhere?
15:39<@peter1138>Well, that was silly. Turns out there was no fish after all.
15:40<+glx>only chips ?
15:40<andythenorth>oh dear
15:40*andythenorth found chicken nuggets
15:41<@peter1138>I went out and got some, heh.
15:41<@peter1138>There was some fishcakes but they're pretty horrible I find.
15:42<@peter1138>Thanks for the screenshots andythenorth.
15:43<@peter1138>And then RGB colours ;)
15:43<Pikka>mmm, fish
15:43-!-Pikka [] has quit [Quit: Leaving]
15:44<andythenorth>pikka never sleeps
15:44<@peter1138>Oh well. At least we won't be bodging AIs tonight.
15:44<andythenorth>we can bodge this instead? o_O
15:45<@peter1138>Oh gods...
15:45<@peter1138>So anyway, the chips in the freezer, a portion size is 125g. However they are chunky chips.
15:45<+glx>per vehicle livery ?
15:46<@peter1138>So I measured out a portion, and it was... about 3 chips.
15:46<@peter1138>So I said screw that and filled half the baking tray instead.
15:46-!-snail_UES_ [] has joined #openttd
15:46-!-snail_UES_ is "Jacopo Coletto" on #openttd
15:46<Eddi|zuHause>these "portions" never seem to make sense
15:46<andythenorth>per vehicle arbitrary settings
15:46<@peter1138>This is not good for calorie control, I might as well have got takeaway.
15:46<andythenorth>add lettuce
15:47<andythenorth>very filling, not much calorie
15:47<@peter1138>Eddi|zuHause, they usually very small. As if intended to make everything look healthy.
15:47<Samu>peter1138 did you find your helicopter service fix?
15:47<@peter1138>Samu, no.
15:47<Samu>ok :| take a look at mine if you have time :o
15:47<@peter1138>Eddi|zuHause, like popcorn. Who buys a small bag of popcorn, and then divvies it out into 7 tiny portions?
15:47<andythenorth>I think those new dropdowns look very nice
15:47<andythenorth>they will enhance the depot view a lot
15:47<@peter1138>We'd need a lot of popcorn this evening.
15:48<andythenorth>I have two kinds
15:48<andythenorth>salted, salt + sugar
15:48<@peter1138>I have "gourmet". It has chocolate on it.
15:48<@peter1138>Also I have cider.
15:49<Eddi|zuHause>i don't know how it came to be, but "popcorn" usually means "sweet" over here
15:49<@peter1138>Eddi|zuHause, have you ever measured out a "portion" of breakfast cereal?
15:49<Eddi|zuHause>peter1138: no
15:49<Eddi|zuHause>peter1138: it's always been "make this bowl look somewhat full"
15:49<@peter1138>Unless it's puffed wheat, you end up with a thin layer of dust on the bottom of the bowl.
15:50<@peter1138>(Except Weetabix)
15:50<+glx>it's for 20cl of milk anyway
15:50<Eddi|zuHause>i've never cared for the "1 portion" thing on anything, ever...
15:50<@peter1138>But it's okay. These portions are all green in the RDA boxes!
15:50<Samu>meanwhile, I'm gonna "fix" this
15:51<@peter1138>Hmm, NRT...
15:52<Samu>anchorable settings
15:54<Eddi|zuHause>weren't you busy with hiding railtypes?
15:54<@peter1138>Uhm, I was busy visiting the MIL in hospital.
15:54<@peter1138>And then trying to eat her food.
15:54<andythenorth>ketchip with rice?
15:55*andythenorth tries it anyway
15:55<andythenorth>sweet and sour sauce is basically ketchup
15:55<@peter1138>But okay, that's probably easier than fiddling with NRT right now.
15:55<@peter1138>Just approve group-livery already ;)
15:55<@peter1138>Erm, I mean review it and check it's all good.
15:55<andythenorth>does eddi have approve rights?
15:56<@peter1138>I suspect you are too biased on this one.
15:56<andythenorth>I am not approving it :P
15:56<andythenorth>I have play-tested it, but I can't review
15:58<Eddi|zuHause>why would i have approve rights?
16:00<andythenorth>given that I do
16:00<andythenorth>why wouldn't you?
16:03<frosch123>glx: TrueBrain: looks like the eints-pull trigger is broken. or did we forgot to install it after gh move? the working copy is still on 19:45
16:03-!-sla_ro|master [] has quit []
16:04<TrueBrain>frosch123: isnt it on a crontab?
16:04<TrueBrain>didnt we settle on: just update it once a day?
16:05<TrueBrain>ah, no, 15 * * * *
16:05<Eddi|zuHause>so once an hour?
16:06<Eddi|zuHause>but how would that result in 19:45?
16:06<TrueBrain>nah, it commits on 19:45
16:06<TrueBrain>so it does things with the git around that time too
16:06<frosch123>ok, so glx missed by 2 minutes :p
16:06<frosch123>let's see in 9
16:07<TrueBrain>'git log' confirms that hypothesis :)
16:07<TrueBrain>(a hook is currently not possible to make this instant, as there is no way to get from the outside to in that vm)
16:10<andythenorth>shall I make some more examples for group liveries? o_O
16:11<andythenorth>I should finish drawing this eh :P
16:16-!-supermop_Home_ [] has joined #openttd
16:16-!-supermop_Home_ is "Guest" on #openttd
16:20<frosch123>1 outdated, 6 missing, sounds right :)
16:21-!-supermop_Home [] has quit [Ping timeout: 480 seconds]
16:22-!-TinoDidriksen [] has quit [Quit:]
16:23<+glx>yup I can start to fix french
16:24<andythenorth>so eh, vehicle IDs aren't in short about some kind of vehicle subtype choice via the buy menu? o_O
16:24-!-HerzogDeXtEr1 [] has joined #openttd
16:24-!-HerzogDeXtEr1 is "purple" on #openttd
16:28-!-CZTR [~Vasatko@] has quit [Ping timeout: 480 seconds]
16:31<@peter1138>How about it, eh?
16:31-!-HerzogDeXtEr [] has quit [Ping timeout: 480 seconds]
16:31-!-TinoDidriksen [~TinoDidri@] has joined #openttd
16:31-!-TinoDidriksen is "Tino Didriksen" on #openttd #debian-nordic
16:32-!-TinoDidriksen is now known as Guest1633
16:32<@peter1138>I mean, I'd like to.
16:33<@peter1138>Let me work on hiding railtypes.
16:33<@peter1138>That's probably a bit more reasonably on this shitty laptop.
16:33*andythenorth tries to do a draw
16:35-!-Guest1633 is now known as TinoDidriksen
16:40<@peter1138>Alright, I think this patch is done.
16:40*peter1138 ponders finding an old i5 laptop.
16:40<@peter1138>Lenovo X230, i5, 16GB...
16:42<@peter1138>Oh, 8GB, 320GB HDD... £170, not too bad.
16:42-!-Thedarkb1-T60 [] has quit [Read error: Connection reset by peer]
16:47<@peter1138>Hmm, probably ought to disallow building of hidden railtypes too.
16:48<andythenorth>dunno about how it all works
16:48<andythenorth>I just drew something
16:49<+glx>"sprites complete: Yup"
16:50<nielsm>peter1138: remember to watch out for display resolution/quality on laptops, I rather regret getting one with 1366x768 last time
16:50-!-Borg [] has quit [Quit: leaving]
16:50<andythenorth>ha ha project management stuff glx
16:50<nielsm>(otoh anything better would have been a massive increase in price)
16:50<@peter1138>Yeah, I miss my (even older) laptop's 1400x1050 display.
16:50<@peter1138>That's a P4...
16:52<nielsm>(also where are the laptop and desktop OLED computer displays, has it become physically impossible to manufacture OLED displays in sizes greater than 10 and smaller than 55 inches?)
16:52<@peter1138>Yeah, this X230 is that shitty 1366x768 :(
16:53<@peter1138>This one is 1440x900.
16:54<+glx>a little better
16:54<Eddi|zuHause><peter1138> Hmm, probably ought to disallow building of hidden railtypes too. <-- also hide them from the AI
16:55<nielsm>does hidden railtype imply it doesn't actually exist? or just that it isn't buildable as-is for some reason, but may appear for special reasons?
16:55<@peter1138>It's something to do with compatible/powered railtypes.
16:55<Eddi|zuHause>nielsm: mostly for providing hybrid vehicles
16:56<Eddi|zuHause>like combined electric and 3rd rail
16:56<@peter1138>Okay, maybe this is not quite so easy ;(
16:56<Eddi|zuHause>(although for those it might be useful to not hide it)
16:56<@peter1138>I'm not sure where it needs to be available and not.
16:56<@peter1138>andythenorth, nice work, is there a PR? ;)
16:57<@peter1138>Sprites Complete: Yup
16:59<DorpsGek_II>[OpenTTD/OpenTTD] Tahvohck opened issue #7112: Commit fef8b83 broke GSTown.SetGrowthRate
16:59<andythenorth>they don't all say 'yup' :(
16:59<andythenorth>mumble mumble
16:59<andythenorth>trucks that can go on mine roads
17:00<andythenorth>without needing a special combined roadtype in build menu
17:05<@peter1138>Heh, GetBestRailtype falls back to RAILTYPE_RAIL, even if it's not available ;(
17:06<@peter1138>Hmm, might as well finish off this cider.
17:20<Samu>i dont know how to iterate on visual studio
17:20<Samu>i know how in squirrel
17:20<+glx>iterate what ?
17:20<+glx>ah you need an iterator and a for loop
17:21<Samu>erase(it) does the erase, but then the loop becomes broken
17:21<+glx>yes iterators don't like that
17:21<nielsm>removing items from a collection you're iterating is recipe for trouble
17:22<Samu>how would I erase the 'it', then
17:22<nielsm>depends on what you're doing
17:22<Samu>it's a list of settings
17:22<Samu>i wanna remove an item from the list
17:23<+glx>just one ?
17:23<nielsm>and how long the collection is and how much of it you expect to remove
17:23<Samu>no, not just one
17:23<Samu>could be multiple, or none, or 1
17:24<+glx>what's the container ?
17:24<nielsm>std::remove_if() in <algorithm> might be the choice to go for
17:25<nielsm>or well maybe not
17:25<+glx>need more info :)
17:26<Samu>yeah, i'm unfamiliar with that lingo :(
17:26-!-chomwitt [] has quit [Quit: WeeChat 1.6]
17:27<DorpsGek_II>[OpenTTD/OpenTTD] J0anJosep opened pull request #7113: Codechange: Use track functions.
17:28<LordAro>Samu: start by googling what look like keywords
17:28<LordAro>then read what comes up
17:29<LordAro>if we're lucky, you might learn something
17:30-!-snail_UES_ [] has quit [Quit: snail_UES_]
17:30<Samu>+ settings { size=1 } std::map<char const *,int,StringCompare,std::allocator<std::pair<char const * const,int> > >
17:30<Samu>not sure what I'm copying
17:31<Samu>it has size=1, if I wanna erase it, it becomes size=0, but the iterator is then broken :|
17:31<andythenorth>so this vehicle buy menu group
17:31<andythenorth>how does it work? :P
17:31<DorpsGek_II>[OpenTTD/OpenTTD] glx22 commented on issue #7112: Commit fef8b83 broke GSTown.SetGrowthRate
17:31<LordAro>Samu: don't blindly copy
17:31<andythenorth>it's 100% independent vehicles, except for one prop creating a group on number or keyword?
17:32<LordAro> has search functionality
17:32<Eddi|zuHause>andythenorth: each NewGRF vehicle sets a property which should be the "Master" vehicle, and group them if more than one
17:32<andythenorth>order control?
17:32<Eddi|zuHause>andythenorth: some magic default value meaning "no master"
17:32<andythenorth>group name?
17:32<Eddi|zuHause>no group name?
17:33<andythenorth>can't see why one is needed
17:33<Eddi|zuHause>just the master vehicle
17:33<andythenorth>prop for forcing simultaneous intro dates?
17:33<Eddi|zuHause>independent from group
17:33<TrueBrain>yippie, logs on k8s are now also stored for a bit longer; so I can at least trace issues if they happen :)
17:33<Eddi|zuHause>so you can make wagons appear at the same time without grouping
17:33<TrueBrain>that was totally not simple in k8s world :(
17:34<TrueBrain>people suggest using an ELK .. which costs ~1GB of RAM
17:34<TrueBrain>we only have 4 ..
17:34<+glx>TrueBrain: but it's easier to ignore issues if there's no logs
17:34<andythenorth>Eddi|zuHause: so date is unrelated?
17:34<TrueBrain>25% for logging sounds ....
17:34<Eddi|zuHause>andythenorth: yes
17:34<andythenorth>force-date is a new prop, totally independent of groups
17:34<TrueBrain>glx: true .. but if there is a security incident, I would like to crawl logs :)
17:34<Eddi|zuHause>andythenorth: e.g. making new liveries available at other dates
17:34<+glx>pff sysadmins
17:34<andythenorth>order in group is determined by order in buy menu
17:35<Eddi|zuHause>andythenorth: but hide prototype offer for grouped vehicles
17:35<andythenorth>my assumption is that groups contain highly similar vehicles
17:35<@peter1138>Ok but castello blue cheese.
17:35<andythenorth>but one *could* create a group like 'buses' or whatever :P
17:35<andythenorth>people create those weird separator newgrfs :P
17:36<@peter1138>They do, but we ignore them.
17:37<@peter1138>They're the sort of people who think that reimplementing TCP using UDP is a good idea.
17:38<Samu>I have no idea how to interpret what I'm reading
17:39<@peter1138>Which bit?
17:39<Samu>clear() is not the correct one
17:40<Samu>erase(it) would be correct, but can't use inside a for loop :|
17:40<nielsm>std::map::erase() returns a new iterator at the position you removed from
17:40<nielsm>since we're using C++11 now
17:41<nielsm>so maybe it=map.erase(it); it enough
17:41<@peter1138>Yeah, looks like you can do it = erase(it); but you probably need to make sure it is not incremented in the loop?
17:41<andythenorth>ok so that's buy menu groups all done then
17:41<andythenorth>use the yellow +/- things?
17:41<nielsm>yes there is even an example at the end of the page :)
17:41<@peter1138>Ah yes.
17:42<@peter1138>That does simplify things a lot, returning a new iterator.
17:43<andythenorth>buy menu groups for 2.0
17:43<@peter1138>Oh :(
17:43<@peter1138>I'm compiling, but I can't remember what.
17:44<@peter1138>Hmm, more cheese?
17:44<@peter1138>Gotta say, blue cheese on a fairly sweet ryvita is not quite right :/
17:44<@peter1138>Maybe I should open the MIL's crackers.
17:45<Samu>Expression: cannot increment end map/set iterator
17:45<Samu>i fail at this
17:46<LordAro>Samu: we're not going to give you answers for every single compile error you get
17:46<LordAro>work it out yourself
17:46<nielsm>it sounds like you should research how C++ has defined the concept of iterators
17:46<@peter1138>Think about what an end map/set itaerator is.
17:47<DorpsGek_II>[OpenTTD/OpenTTD] PeterN approved pull request #7113: Codechange: Use track functions.
17:47<nielsm>and how you use them in general and in specific for the various standard containers
17:47<andythenorth>we need dedicated samu channel
17:48<Samu>gonna try mimic the example
17:49<Samu>ah, i think i see, it's the for line, doesn't have it++ there
17:49<Samu>it++ is in the else
17:50<@peter1138>I mentioned that exact thing, approximately 8 minutes ago.
17:50<LordAro>Samu: like i said, don't just (mis)copy, read it
17:50<LordAro>and try to understand what you're reading
17:51<+glx>for (init; test; next)
17:52<Samu>yep, it works now, thx all
17:52<@peter1138>Balls, out of cider :(
17:53<andythenorth>how do we have 2 pages of PRs open :(
17:53<LordAro>peter1138: i suggest whisky
17:53<LordAro>andythenorth: because you've been lazy!
17:53<@peter1138>Totally out of alcohol now.
17:53<+glx>but I guess your code was "if (need_remove) remove else it++" and that's clearly wrong
17:53<@peter1138>This was a bottle I brought with me, anything else in this house is... removed due to... reasons.
17:53<andythenorth>@calc 14/39
17:53<@DorpsGek>andythenorth: 0.358974358974
17:54<andythenorth>more than 1/3 of OpenTTD contributions are from samu
17:54<+glx>usually you don't want to increment inside the loop, unless you exactly know what you do
17:54<+glx>especially with iterators
17:55<andythenorth>just increment past the close point
17:55<andythenorth>what could go wrong?
17:55<DorpsGek_II>[OpenTTD/OpenTTD] PeterN merged pull request #7113: Codechange: Use track functions.
17:56<@peter1138>Well, you'd get an error saying something about "Expression: cannot increment end map/set iterator"...
17:57<andythenorth>I once employed someone who wrote a loop that needed to be closed with a break
17:58<+glx>we call it infinite loop
17:58<andythenorth>and did something like "if i == 100; break;"
17:58<andythenorth>that hung a server up nicely
17:58<andythenorth>not as fun as the day we learnt about locking sql tables for specific writes
17:59<andythenorth>to avoid concurrent access when you really don't want it
17:59<+glx>without unlocking after ?
17:59<andythenorth> away the one prize in a prize draw
17:59<andythenorth>instead of the 7 prizes
17:59<andythenorth>that you actually have to give away
17:59<andythenorth>if you don't lock
18:00<@peter1138>nielsm, is that enough screenshots in 7108 now? ;)
18:00*andythenorth wonders if PRs need stricter criteria
18:00<@peter1138>What do you mean?
18:01<DorpsGek_II>[OpenTTD/OpenTTD] andythenorth commented on pull request #7108: Feature: Group liveries, and livery window usability enhancements.
18:01<andythenorth>like a quota or something :P
18:01<andythenorth>proof that you can program
18:02<LordAro>PRs would still end up getting opened
18:02<LordAro>unless you're planning on blocking people, which seems ultimately pointless
18:02<andythenorth>the problem I have is that I closed some, which didn't have viability
18:02<andythenorth>and now they're just back, split up
18:02<andythenorth>so now we have more PRs, not fewer
18:03<andythenorth>and they're still going nowhere
18:03<andythenorth>oof, bedtime :)
18:03<LordAro>i don't think they're back as such
18:04<LordAro>just that the large one has been split up into multiple, as was asked
18:06*andythenorth should test the mac thing
18:06<andythenorth>also bed
18:06-!-andythenorth [] has left #openttd []
18:06<supermop_Home_>buy menu groups?
18:11<@peter1138>Some feature that was pondered a few months ago, but has not seen any coding yet.
18:13<DorpsGek_II>[OpenTTD/OpenTTD] J0anJosep opened pull request #7114: NPF bails out when source tile is also a destination tile
18:18-!-frosch123 [] has quit [Quit: be yourself, except: if you have the opportunity to be a unicorn, then be a unicorn]
18:30<Samu>resets non locked settings now
18:31<Samu>instead of just plain out disabling the reset button
18:34<nielsm>nice city
18:38<@peter1138>Why does my game run at 1.02x consistently?
18:39<Samu>hmm, i guess the reset button could be disabled if all settings are locked, what do you think?
18:39<@peter1138>I thought it was just an oddity because I was running in a Hyper-V VM and displaying via VNC.
18:39<@peter1138>But this laptop also runs at 1.02x
18:39<nielsm>the timing calculation is slightly broken in possibly every video driver
18:40<nielsm>the win32 one tends to run at 0.98x
18:40<@peter1138>I remember having a patch to use the std hrtimer.
18:40<nielsm>SDL one tends to run at 1.02x
18:40<nielsm>yes :)
18:40<Samu>I have a dilema: should reset button also reset invisible settings
18:40<@peter1138>Hmm, I wonder where that went.
18:40<Samu>what to do?
18:40<nielsm>or otherwise do something to make up the difference
18:40<@peter1138>I have a patch that should allow catch-up, but when it runs at 1.02x that doesn't achieve much.
18:42-!-snail_UES_ [] has joined #openttd
18:42-!-snail_UES_ is "Jacopo Coletto" on #openttd
18:44<DorpsGek_II>[OpenTTD/OpenTTD] glx22 commented on issue #7090: Query box sets value to hidden parameters
18:44<DorpsGek_II>[OpenTTD/OpenTTD] glx22 commented on issue #7091: Dropdown menu can set value to a parameter of a different AI
18:45<+glx>yes same message but it's to double link :)
18:47<DorpsGek_II>[OpenTTD/OpenTTD] nikolas updated pull request #7086: Change #6173: Update SDL driver to use SDL 2.0
18:47<Samu>what to expect from a button that says "Reset"
18:48<DorpsGek_II>[OpenTTD/OpenTTD] glx22 commented on pull request #7092: Fix #7091: Close dropdown menu windows after rebuilding AI/GS settings
18:49<@peter1138>1.00x using the high resolution clock.
18:49<DorpsGek_II>[OpenTTD/OpenTTD] glx22 commented on pull request #7093: Fix #7090: Close Query String window after rebuilding AI/GS settings
18:49<@peter1138>Well, 1.00x - 1.01x
18:49<nielsm>peter1138 that would be better yes :)
18:49<nielsm>and then using the same algo for timing on all platforms
18:50<nielsm>(maybe splitting it out to a class of its own)
18:50<+glx>fixing #7090 and #7091 will require a global look at AI windows like I did with
18:52<DorpsGek_II>[OpenTTD/OpenTTD] nikolas commented on pull request #7086: Change #6173: Update SDL driver to use SDL 2.0
18:52<Samu>don't over-close it
18:52<@peter1138>Back to 1.02x when I use only milliseconds.
18:52<+glx>hey they are not closed Samu
18:52<@peter1138>I guess it needs sub-millisecond accuracy.
18:53<Samu>part of my ai gui rework was making it not close windows unless it's really necessary
18:53<+glx>but I think it will be better to fix all problems at the same time
18:54<Samu>it currently closes too much
18:54-!-Thedarkb-T60 [] has joined #openttd
18:54-!-Thedarkb-T60 is "realname" on #openttd #oolite
18:54<Samu>(it was also not closing in situations it would crash, of course)
18:54<+glx>well for now when I click on a different line, the settings are still showing the previous selected line
18:55-!-gelignite [] has quit [Quit: Good fight, good night!]
18:56<nnyby>anyone who is looking for something to test, try out this branch and i'd love some feedback >_<
18:56-!-Thedarkb-T60 [] has quit [Remote host closed the connection]
18:56<+glx>most of the time if you change selected line you should close the windows, because there's no way to pass it the new data
18:56-!-Thedarkb-T60 [] has joined #openttd
18:56-!-Thedarkb-T60 is "realname" on #openttd #oolite
18:57<Samu>if the script is still the same, it's still gonna change the correct parameter
18:57<+glx>well there is a way but it's not done actually
18:57<Samu>in this situation, i wouldn't close
18:58<+glx>a possible option would be to pass the new slot in InvalidData
18:58<LordAro>many of the issues arise because the windows refer to a particular slot in the list, rather than an actual newgrf/script config
18:58<LordAro>that's how i was going to go about solving the ai textfile issue, anyway
18:59<+glx>yes but at least it's a number so it's possible to give it the new slot
18:59<LordAro>closing all textfile windows because a slot gets changed seems a bit.. nuclear
18:59-!-Thedarkb-T60 [] has quit [Remote host closed the connection]
19:00<+glx>yes this text windows uses a slot too so it's doable
19:00<+glx>for newgrf I needed a more aggressive way because it's using directly a grfconfig
19:00-!-Flygon [] has joined #openttd
19:00-!-Flygon is "Flygon" on #openttd
19:01<LordAro>so why was that breaking?
19:01*nielsm ponders how to structure music code that can select between multiple drivers depending on music format
19:01<nielsm>going to sleep on that
19:01-!-Thedarkb-T60 [] has joined #openttd
19:01-!-Thedarkb-T60 is "realname" on #openttd #oolite
19:01<DorpsGek_II>[OpenTTD/OpenTTD] J0anJosep commented on pull request #7108: Feature: Group liveries, and livery window usability enhancements.
19:09-!-nielsm [] has quit [Ping timeout: 480 seconds]
19:09-!-synchris [~synchris@] has quit [Quit: yeeha!]
19:10<@peter1138>Damn, I've got some coding to do :p
19:12<Samu>wondering if this do what I want it to do
19:13<Samu>not entirely sure I need the free it first
19:13<Samu>what does it do?
19:14<+glx>on removal the grfconfig is deleted
19:14<Samu>oops, it's not a bool
19:15<Samu>it's a byte?
19:22<+glx>hmm maybe instead of passing this->active_sel or this->avail_sel, I could pass their address, so if they change the window gets the new value too
19:23<+glx>but still require closing in some cases
19:28<Samu>you could check how i handled some of it on my overhaul topic
19:29<Samu>to get some ideas, I suppose
19:29<+glx>I'm talking about newgrf window
19:29<Samu>oh, I haven't touched it, sorry
19:40-!-Thedarkb-T60 [] has quit [Ping timeout: 480 seconds]
19:45<Samu>I'm a terrible bit-wise mathmathician
19:50<DorpsGek_II>[OpenTTD/OpenTTD] glx22 commented on pull request #7106: Fix #7089: close NewGRF textfile windows when their data are invalid
19:54-!-Thedarkb-T60 [] has joined #openttd
19:54-!-Thedarkb-T60 is "realname" on #openttd #oolite
20:03-!-Wolf01 [] has quit [Quit: Once again the world is quick to bury me.]
20:04<+glx>my idea should work, just changing 7 lines made the textwindow update the caption
20:04<+glx>of course it crashes when I click when I shouldn't :)
20:14<Samu>this shall do, for now, due to me being a noob in bit-wise operations
20:15<+glx>ah you mean boolean algebra
20:16<Samu>and some flags bitmask stuff
20:17<Samu>developer settings are hidden from gui by default
20:17<Samu>the reset button shall not reset them
20:18<Samu>but if they're visible, then reset them, if they're not locked
20:18<Samu>slightly confusing explanation
20:20<+glx>I'd use 2 bools
20:20<+glx>editable and visible
20:21<+glx>editable is menu or ingame stuff
20:22<+glx>visible is dev or not a dev setting
20:22<+glx>gui_dev or not a dev setting
20:23<Samu>a dev setting is hidden on gui when ai dev tools is disabled
20:23<+glx>then you just need if (editable && !visible)
20:24<+glx>easier to follow
20:24-!-crem [] has quit [Remote host closed the connection]
20:24-!-crem [~crem@2a02:168:520c:0:201:c0ff:fe08:8328] has joined #openttd
20:24-!-crem is "crem" on #openttd
20:25<+glx>and that way the code explains by itself
20:31<Samu>if editable and not visible is slightly misleading
20:31<Samu>i only want to reset if they're editable and visible, not not visible
20:34<Samu>looks better, but the visible part is quite ugly atm
20:37<+glx>make it visible = ai_dev_tool || not a dev setting
20:38<+glx>!(a && b) = !a || !b
20:39<+glx>so visible is true if the developper settings are not hidden, or if it's not a developper setting
20:40<+glx>and you want to remove the hidden settings I think
20:40<+glx>so editable && !visible
20:41<Samu>no no, it's hidden, I dont want to reset parameters that i dont see
20:44<+glx>ah right, your previous code wasn't clear enough ;)
20:45<Samu>bool visible = _settings_client.gui.ai_developer_tools || ((*config_item).flags & SCRIPTCONFIG_DEVELOPER) == 0;
20:45<+glx>so yes editable && visible
20:47<+glx>at the end of the function the list will contain only hidden settings
20:48<+glx>and the not editable settings
20:49<Samu>it's a list of settings that are not to be reset
20:49<+glx>but you are removing them from the setting list
20:50<+glx>this->settings will only contain the not to be modified settings
20:51<+glx>I guess the other will be readded with default values later
20:51<Samu>yes, exactly that the intention, some other function will use this list to know where not to touch
20:51<+glx>the function name is misleading then
20:55<Samu>not sure how would I name it
20:56<+glx>it's more a RemoveEditableSettings
20:57<+glx>hidden are not editable ;)
20:58<Samu>sec, let me find in the code the comment
20:59<Samu>for the editable part, it's this
21:00<Samu>the list that is created by that, is the list I'm working on
21:01<Samu>hmm the hidden ones may pose a problem, indeed
21:02<Samu>how to solve :|
21:02<+glx>editable && visible takes care of that
21:02<Samu>if they are in this list, yes
21:03<Samu>if they're not... it means they're at their defaults already
21:03<Samu>no need to reset then
21:03<Samu>heh, lucky
21:03<+glx>they are editable but not visible so considered not editable
21:06<Samu>brb testing, to make sure
21:13<Samu>in main menu it's working correctly, now testing in-game
21:18<Samu>also working as I intended
21:18<Samu>one could argue about hidden parameters not being reset though
21:19<Samu>part of me says it's wrong to reset something that is not visible
21:19<Samu>my other part would like them to also be reseted without resorting to ai dev tools setting required
21:20<Samu>so hmm... what is the right thing to do?
21:25-!-Wormnest [~Wormnest@] has quit [Quit: Leaving]
21:48-!-crem [~crem@2a02:168:520c:0:201:c0ff:fe08:8328] has quit [Read error: Connection reset by peer]
21:48-!-crem1 [~crem@2a02:168:520c:0:201:c0ff:fe08:8328] has joined #openttd
21:48-!-crem1 is "crem" on #openttd
21:54-!-Progman_ [] has joined #openttd
21:54-!-Progman_ is "Peter Henschel" on #openttd
21:55-!-Eddi|zuHause2 [] has joined #openttd
21:55-!-Eddi|zuHause2 is "Johannes E. Krause" on #openttd
21:57-!-Progman [] has quit [Ping timeout: 480 seconds]
21:57-!-Progman_ is now known as Progman
22:01-!-Eddi|zuHause [] has quit [Ping timeout: 480 seconds]
22:09-!-Progman [] has quit [Remote host closed the connection]
22:10<Samu>gonna PR
22:11<Samu>i named it ResetSettingsGUI
22:14<Samu>RemoveEditableSettings hmm
22:16-!-Eddi|zuHause2 is now known as Eddi|zuHause
22:16<Samu>I click the reset button and this function is called
22:18<Samu>not sure about the 'free((*it).first);' code
22:18<Samu>will leave it in
22:18-!-techmagus [] has quit []
22:19-!-techmagus [chatrix@2604:5040:10:bb65::1] has joined #openttd
22:19-!-techmagus is "Yahanan Xie" on #openttd #/r/openttd #friendica
22:33<DorpsGek_II>[OpenTTD/OpenTTD] SamuXarick opened pull request #7115: Fix #6452: Reset only editable and visible settings from GUI
22:41-!-HerzogDeXtEr1 [] has quit [Ping timeout: 480 seconds]
22:48-!-D-HUND [~debdog@2a00:79c0:633:9500:7a24:afff:fe8a:d04d] has joined #openttd
22:48-!-D-HUND is "Wowbagger" on #openttd #bitlbee
22:51-!-debdog [~debdog@2a00:79c0:607:fc00:7a24:afff:fe8a:d04d] has quit [Ping timeout: 480 seconds]
22:53-!-Pikka [] has joined #openttd
22:53-!-Pikka is "realname" on #openttd
22:53-!-crem2 [~crem@2a02:168:520c:0:201:c0ff:fe08:8328] has joined #openttd
22:53-!-crem2 is "crem" on #openttd
22:55-!-crem1 [~crem@2a02:168:520c:0:201:c0ff:fe08:8328] has quit [Ping timeout: 480 seconds]
22:57-!-D-HUND [~debdog@2a00:79c0:633:9500:7a24:afff:fe8a:d04d] has quit [Quit: No Ping reply in 180 seconds.]
22:58-!-debdog [~debdog@] has joined #openttd
22:58-!-debdog is "Wowbagger" on #openttd #bitlbee
23:03-!-glx [] has quit []
23:05<Samu>ah snap, a small problem, will get it fixed asap
23:12<Samu>it's not a small problem, it's quite big, damn it :|
23:12<Samu>PR'ed too quickly
23:14<DorpsGek_II>[OpenTTD/OpenTTD] SamuXarick closed pull request #7115: Fix #6452: Reset only editable and visible settings from GUI
23:14<DorpsGek_II>[OpenTTD/OpenTTD] SamuXarick commented on pull request #7115: Fix #6452: Reset only editable and visible settings from GUI
23:14<Samu>off to bed
23:14-!-Samu [] has quit []
---Logclosed Sun Jan 27 00:00:38 2019