Back to Home / #openttd / 2020 / 01 / Prev Day | Next Day
#openttd IRC Logs for 2020-01-14

---Logopened Tue Jan 14 00:00:08 2020
00:47-!-supermop_Home [] has quit [Remote host closed the connection]
00:50-!-snail_UES_ [] has joined #openttd
00:50-!-snail_UES_ is "Jacopo Coletto" on #openttd
01:46-!-snail_UES_ [] has quit [Quit: snail_UES_]
02:31-!-andythenorth [] has joined #openttd
02:31-!-andythenorth is "andythenorth" on #openttd
02:32<andythenorth>is it though?
02:34<Pikka>only sometimes
02:34<andythenorth>do you timetable often?
02:36<Pikka>only during the eclipse of the sun
02:36<Pikka>I don't think I've ever used timetables in OTTD
02:39<andythenorth>lot of chat about it in forums & reddit
02:39<andythenorth>I use 'wait at station' sometimes
02:39<andythenorth>the rest...I've concluded my brain isn't that shape
02:39<andythenorth>people have discussions about it where I understand the words, but not the discussion :)
02:59<andythenorth>Pikka: is it pixels, or AIs? :)
02:59<Pikka>trying to pixels, but AI is too easy to fiddle with
03:00<Pikka>recoded av9.8, should try drawing one of those :)
03:00<andythenorth>it's a classic
03:01<andythenorth>what will be new? 99x zoom? :)
03:01<Pikka>yes, UKRS3 style hand-drawn
03:02<Pikka>plus slightly rebalanced, rejigged for 20th C gameplay
03:02<Pikka>another early plane, no A380
03:03<andythenorth>9.8 does everything I need, but new is also good
03:05<Pikka>it's not changed much, just changed a few intro dates to fit. and changed a few names to confuse people. :)
03:05<andythenorth>so intro-date scaling parameter? o_O
03:06<andythenorth>based on 1860 start :P
03:06<Pikka>1860 planes?
03:06<Pikka>or 1860 trains? how does the scaling work?
03:07<andythenorth>if the parameter is 2x, and 1860 is the baseline, then a '1960' train appears in 2060
03:07<andythenorth>it's silly, but I might do it in Horse
03:07<Pikka>it is a bit silly, but why not?
03:08<andythenorth>snail pointed out that town buildings will be wrong
03:08<andythenorth>currently I have been playing 1968 for....some time
03:08<andythenorth>date cheat :P
03:21<Pikka>surely everything but the trains will be wrong? :)
03:23<andythenorth>well I could do all my grfs :P
03:23<andythenorth>but clicking the date cheat eh
03:26-!-andythenorth [] has quit [Quit: andythenorth]
03:36-!-WormnestAndroid [~WormnestA@] has quit [Remote host closed the connection]
03:36-!-WormnestAndroid [~WormnestA@] has joined #openttd
03:36-!-WormnestAndroid is "WormnestAndroid" on #openttd
03:53-!-Smedles [] has quit [Ping timeout: 480 seconds]
04:26-!-Smedles [] has joined #openttd
04:26-!-Smedles is "Paul Smedley" on #openttd
04:34-!-andythenorth [] has joined #openttd
04:34-!-andythenorth is "andythenorth" on #openttd
04:43-!-andythenorth [] has quit [Quit: andythenorth]
04:55-!-hythlodaeus [] has joined #openttd
04:55-!-hythlodaeus is "OFTC WebIRC Client" on #openttd
05:08<DorpsGek_III_>[OpenTTD/OpenTTD] floodious commented on pull request #7924: Feature: Water tiles have a depth
05:17<@peter1138>Is it lunch time yet?
05:23<LordAro>can't be, i've not got to work yet
05:47<DorpsGek_III_>[OpenTTD/OpenTTD] nielsmh commented on pull request #7924: Feature: Water tiles have a depth
05:50<DorpsGek_III_>[OpenTTD/OpenTTD] floodious commented on pull request #7924: Feature: Water tiles have a depth
06:14-!-andythenorth [] has joined #openttd
06:14-!-andythenorth is "andythenorth" on #openttd
06:14-!-andythenorth [] has quit []
06:24-!-nielsm [] has joined #openttd
06:24-!-nielsm is "Niels Martin Hansen" on #openttd
06:25<DorpsGek_III_>[OpenTTD/OpenTTD] floodious commented on pull request #7924: Feature: Water tiles have a depth
06:37<DorpsGek_III_>[OpenTTD/OpenTTD] nielsmh commented on pull request #7924: Feature: Water tiles have a depth
06:40<DorpsGek_III_>[OpenTTD/OpenTTD] nielsmh commented on pull request #7924: Feature: Water tiles have a depth
06:40<DorpsGek_III_>[OpenTTD/OpenTTD] floodious commented on pull request #7924: Feature: Water tiles have a depth
06:43<Pikka>not sure why I don't always play with "silly" townnames :)
06:50<@planetmaker>hehe :) What's the ground tiles, though?
06:58<Pikka>my landscape tiles... no public release yet, aiming for mid-year. :)
07:14<@planetmaker>nice :)
07:16-!-tokai [] has joined #openttd
07:16-!-tokai is "Christian Rosentreter" on #openttd
07:16-!-mode/#openttd [+v tokai] by ChanServ
07:22-!-tokai|noir [] has quit [Ping timeout: 480 seconds]
07:23<hythlodaeus>guys what's your opinion on OpenLoco?
07:24-!-tokai|noir [] has joined #openttd
07:24-!-tokai|noir is "Christian Rosentreter" on #openttd
07:24-!-mode/#openttd [+v tokai|noir] by ChanServ
07:31-!-tokai [] has quit [Ping timeout: 480 seconds]
07:36<Pikka>not much, hythlodaeus? Locomotion is a bit limited compared to TTD and I guess the same goes for the Open version.
07:36<Pikka>I don't know if anyone's actively working on it
07:42<LordAro>Pikka: offshoot from openrct2, aiui
07:43<LordAro>which by all accounts has been very successful
07:43<Pikka>Yes, I know it exists. Just don't know if anyone's doing anything with it. Doesn't seem to have had any changes in months.
08:00<@peter1138>Might have breakfast now.
08:10-!-tokai [] has joined #openttd
08:10-!-tokai is "Christian Rosentreter" on #openttd
08:10-!-mode/#openttd [+v tokai] by ChanServ
08:12-!-Samu [] has joined #openttd
08:12-!-Samu is "realname" on #openttd
08:17-!-tokai|noir [] has quit [Ping timeout: 480 seconds]
09:20<nielsm>hmm... trying to think of how to newgrf water depths
09:21<nielsm>will probably need a new canals sub-feature for base water sprites, and then add a property to specify which depth ranges there are sprites for
09:22-!-Flygon [] has quit [Quit: A toaster's basically a soldering iron designed to toast bread]
09:22<nielsm>it's probably not a good idea to use callbacks for it, for performance
09:23<nielsm>the real fun will be in supporting depth transition tiles
09:24<nielsm>unless we want to use some kind of dither stuff where two ground tiles are overlaid, with one masked off
09:28<nielsm>or... an action 5 thing?
09:32<hythlodaeus>have you had a look at other games for ref?
09:34<nielsm>how will other games help me choose a technical implementation of supplying graphics within the existing framework?
09:39<hythlodaeus>you never know. sometimes even by observing the way other games behave in action, even if you don't have the source code, you can get ideas and inspiration to come up with solutions for your own problems
09:40<nielsm>here the most relevant thing to do is look at how ottd is already solving the same problem for other cases where additional sprites need to be supplied for something that originally had only one sprite
09:41<hythlodaeus>sure, that's fair
09:42<Samu>i finally got the courage to start working on "build on competitor canal"
09:43<Samu>something I have done before
09:43<Samu>but now rebasing to current standards
09:43<Samu>conflicts everywhere
09:43-!-supermop_work [~supermopw@] has joined #openttd
09:43-!-supermop_work is "A CIRC user" on #openttd
09:44<DorpsGek_III_>[OpenTTD/OpenTTD] xdavidwu opened pull request #7936: Fix: [SDL2] sdl driver debug log
09:46<DorpsGek_III_>[OpenTTD/OpenTTD] nielsmh approved pull request #7936: Fix: [SDL2] sdl driver debug log
10:03-!-Samu [] has quit [Quit: Leaving]
10:12-!-crazystacy [] has joined #openttd
10:12-!-crazystacy is "realname" on #openttd
10:26-!-Laedek [~quassel@] has joined #openttd
10:26-!-Laedek is "Laedek" on #openttd
10:33<DorpsGek_III_>[OpenTTD/OpenTTD] RoqueDeicide commented on pull request #7924: Feature: Water tiles have a depth
10:35-!-crazystacy [] has quit [Ping timeout: 480 seconds]
10:42-!-hythlodaeus [] has quit [Quit: Page closed]
10:44-!-Samu [] has joined #openttd
10:44-!-Samu is "realname" on #openttd
10:55<nielsm>w00p it works!
10:58<Samu>different color water?
10:58<nielsm>different water sprites depending on depth
10:58<supermop_work>HELL YEAH
10:59<supermop_work>looks dope
11:00<supermop_work>new feature request: some tiny boat that sinks in deep water a la civilization
11:02<@peter1138>New way to grief ships? :D
11:02<@peter1138>Cos we need more :D
11:02<@peter1138>Triremes, my poor triremes...
11:03<supermop_work>even better i it just reuses the vanilla crash animation, explodes, spins around, then sits there burnt out on top of the water for 4 months
11:04<nielsm> even with this prototype hacked-together graphics it looks so nice :D
11:05<@peter1138>supermop_work, haha
11:05<_dp_>idk, looks weird
11:05<@peter1138>nielsm, looks fine to me.
11:05<_dp_>would be better to make deep water darker imo
11:05<@peter1138>So does it allow underwater tunnels or is that... something else?
11:05<_dp_>also having more waves on deep water makes no sense
11:05<nielsm>well yes but I'm not the artist here :P
11:05<@peter1138>_dp_, "hacked-together graphics"
11:05<@peter1138>Waves are a feature of the surface...
11:06<DorpsGek_III_>[OpenTTD/OpenTTD] nielsmh updated pull request #7924: Feature: Water tiles have a depth
11:07<@peter1138>Hmm, so water depth is actually separate from tile height. Interesting.
11:07<nielsm>but yes I agree that deep water should generally have less waves
11:08<@peter1138>Yes. I must admit I missed the "more" part :p
11:08<LordAro>colour should definitely be distinct, imo
11:08-!-Wormnest [~Wormnest@] has joined #openttd
11:08-!-Wormnest is "Wormnest" on #openttd
11:09<@peter1138>Graphics artists can do that ;p
11:09<nielsm>the problem is somewhat that there are only two water animation cycles
11:09<nielsm>so you'd have to make the not-default-blue colours non-animated
11:10<LordAro>definitely a problem for graphics artists
11:10<LordAro>where's an andy when you need one?
11:19<@planetmaker>nielsm, wouldn't it indeed be possible as initially suggested by andrew to make some kind of semi-opaque overlay?
11:19-!-sla_ro|master [] has joined #openttd
11:19-!-sla_ro|master is "slamaster" on @#sla #openttd
11:19<@planetmaker>we use 32bpp blitters anyway on all systems except those from the stone age with 8bpp graphics cards
11:19<@planetmaker>so such overlay should even work with 8bpp sprite sets
11:19<nielsm>hm yeah maybe it would be possible to do some fancy tricks on 32bpp
11:20<@planetmaker>somewhat similar maybe even to the glass effect... like recolour sprites might be another idea... dunno... I've never ventured in those too much
11:23<Samu>so much messy code in lock
11:23<Samu>im surprised test and exec mode don't assert
11:24<Samu>it adds the cost of building a canal
11:24<Samu>in test mode and exec mode
11:24-!-nielsm is now known as Guest13755
11:25-!-nielsm [] has joined #openttd
11:25-!-nielsm is "Niels Martin Hansen" on #openttd
11:25<Samu>in test mode IsWaterTile is false, in exec mode, IsWaterTile is true
11:25<Samu>at this line here
11:26<Samu>so in the end, it does not have a canal, but i still payed the price of it
11:26<Samu>test and exec still match, because the prices are the same for some magical reason
11:27-!-Guest13755 [] has quit [Ping timeout: 480 seconds]
11:44-!-supermop_work [~supermopw@] has quit [Remote host closed the connection]
11:45<DorpsGek_III_>[OpenTTD/OpenTTD] ldpl commented on pull request #7912: Feature: Disallow industry production changes from GS
11:48<DorpsGek_III_>[OpenTTD/OpenTTD] nielsmh commented on pull request #7912: Feature: Disallow industry production changes from GS
11:57-!-HerzogDeXtEr [] has joined #openttd
11:57-!-HerzogDeXtEr is "purple" on #openttd
12:02<Samu>tile type object
12:02<Samu>and water
12:02<Samu>a deadly combination
12:04-!-Progman [] has joined #openttd
12:04-!-Progman is "Peter Henschel" on #openttd
12:05<@planetmaker>for the water?
12:10<Samu>for having this work correctly
12:10<Samu>clearing an object on water, which results in water
12:11<Samu>without modifying the waterclass
12:17<Samu>while building a lock
12:19-!-andythenorth [] has joined #openttd
12:19-!-andythenorth is "andythenorth" on #openttd
12:19<andythenorth>Pikka: so
12:19<andythenorth>vehicle instance names in newgrf? o_O
12:20<andythenorth>the AI does a nice job, but I am not an AI
12:22<Pikka>you need a helper AI to rename your vehicles?
12:24<andythenorth>would I have to run that multiplayer? o_O
12:24<andythenorth>can I add an AI to my company? :P
12:27<Pikka>you can start an AI then use the cheat menu to switch into the AI company
12:27<DorpsGek_III_>[OpenTTD/OpenTTD] ldpl commented on pull request #7912: Feature: Disallow industry production changes from GS
12:40-!-Pikka [] has quit [Quit: Leaving]
12:56-!-glx [] has joined #openttd
12:56-!-mode/#openttd [+v glx] by ChanServ
12:56-!-glx is "Loïc GUILLOUX" on +#openttd
12:59-!-Wormnest [~Wormnest@] has quit [Ping timeout: 480 seconds]
13:03-!-WormnestAndroid [~WormnestA@] has quit [Ping timeout: 480 seconds]
13:03-!-WormnestAndroid [~WormnestA@] has joined #openttd
13:03-!-WormnestAndroid is "WormnestAndroid" on #openttd
13:07-!-Wolf01 [] has joined #openttd
13:07-!-Wolf01 is "Wolf01" on #openttd
13:08-!-andythenorth [] has quit [Quit: andythenorth]
13:13<Samu>extremelly difficult with objects
13:15<Samu>well apparently the game is making it easier for me. Objects placed on water by a company that bankrupts, gets its objects removed from the map
13:15<Samu>they don't stay
13:18-!-frosch123 [] has joined #openttd
13:18-!-frosch123 is "frosch" on #openttd
13:35-!-supermop_work [~supermopw@] has joined #openttd
13:35-!-supermop_work is "A CIRC user" on #openttd
13:37-!-zvxb [~adikt@] has joined #openttd
13:37-!-zvxb is "realname" on #openttd
13:42-!-rtrdd [~adikt@] has quit [Ping timeout: 480 seconds]
13:45<DorpsGek_III_>[OpenTTD/OpenTTD] DorpsGek pushed 1 commits to master
13:45<DorpsGek_III_> - Update: Translations from eints (by translators)
13:46-!-zvxb [~adikt@] has quit [Ping timeout: 480 seconds]
13:49-!-andythenorth [] has joined #openttd
13:49-!-andythenorth is "andythenorth" on #openttd
13:54<andythenorth>@seen floodius
13:54<@DorpsGek>andythenorth: I have not seen floodius.
13:57<nielsm>@seen floodious
13:57<@DorpsGek>nielsm: floodious was last seen in #openttd 1 week, 0 days, 22 hours, 1 minute, and 35 seconds ago: * floodious goes out
13:57<frosch123>nice last message :)
14:01<andythenorth>there are only so many types of programmer
14:02<andythenorth>and there is a particular type who gives a long explanation of correctness
14:02<andythenorth>combined with "I haven't looked at the code"
14:02<andythenorth>tell me you haven't worked with these people ever? o_O
14:05<frosch123>nielsm: i found what i did wrong the other day. i forgot that nuts includes railtypes and did not notice that the "weird vehicle item ids" were railtype labels
14:06<nielsm>ah yeah
14:07<frosch123>@base 10 16 1431193905
14:07<@DorpsGek>frosch123: 554E4931
14:10<andythenorth>nielsm: so if there's a lake up in a mountain range, and I lower terrain...what happens?
14:10<andythenorth>[this question is really about reservoir / dam objects] :P
14:11<nielsm>the water has depth but it does not have volume :P
14:11<andythenorth>so the water just disappears?
14:12<nielsm>well if you clear the water tiles then they disappear yes
14:12<nielsm>making stuff flow would be troublesome
14:12<frosch123> <- nielsm: do you have a cool idea for that?
14:12<andythenorth>nah not required at all, it's not minecraft :)
14:12*andythenorth wondering if we can have object / industry tiles that lie about the local tile height
14:13<nielsm>frosch123: not sure what you mean
14:13<frosch123>i want to parse all files with a specific prefix, but the time always advances
14:13<andythenorth>the hydro plant idea can wait :P
14:13<andythenorth>also watermill
14:13<nielsm>I guess maybe the timestamp should be collection start time, not file write time
14:17<supermop_work>WATERMILL TYCOON
14:18<nielsm>transport dwarf deluxe
14:18<supermop_work>reuse crash animation for flour mill explosion
14:19<supermop_work>watermill explodes, pallet shifts to black, spins around
14:20<TrueBrain>milek7_: do you have your patch for AFL? I found some old patches which we used to run AI tournaments, and I wonder if there are snippets in there that might benefit AFL (as tournament is optimized for speed) .. so any code you have makes it a bit faster to check :)
14:20<frosch123>openttdwarf is when the palette animation makes the whole screen blink red, right?
14:20*andythenorth moves the date from 1969 to 1968 for 3rd time in a row
14:20<andythenorth>'daylength, without the hassle'
14:21<andythenorth>frosch123: I linked the Doom Black Book recently, the palette tricks are really smart
14:22<frosch123>i never played doom :)
14:22<andythenorth>I never played Dwarf Fortress :D
14:23<frosch123>andythenorth: there is a type of game which i would like to play in theory, but quit after 5 minutes because the interface makes me throw up. simutrans and dwarf fortress are among them
14:23<frosch123>first time i tried df i came until i had to select a location for settlement
14:23<andythenorth>anyway chapter 5.13
14:23<frosch123>i applied some filters, and then the whole screen was blinking red
14:24<frosch123>i still do not know whether red blinking X means the filter criterion is met or not met
14:24<andythenorth>oh also 5.12.8 Diminishing Lighting
14:24*andythenorth looks at the 12 magic pinks in the DOS palette
14:25<andythenorth>feels like they're...wasted
14:25<andythenorth>so 3rd company colour? o_O
14:25<andythenorth>or I could use them for my own recolouring crap that I do, I've run out of safe ranges for it
14:26<andythenorth>I use purple and red
14:29<frosch123>2 orthogonal recolourings are already pushing it
14:29<frosch123>if you want more, use sprite layers
14:29<Samu>is there a way to know whether clearing a tile will result in a clear water tile?
14:29<frosch123>1cc needs 16 palettes, 2cc needs 256, 3cc would need 4096
14:30<Samu>like rocks on water, i clear the rocks, i get clear water
14:30<Samu>tile type is object
14:30<frosch123>recolouring palettes must be in the global sprite range < 16k
14:31<andythenorth>I'm recolouring in PIL
14:31<andythenorth>with a silly side effect due to my poor programming
14:31<frosch123>so you include 4096 sprites for a single train sprite?
14:31<andythenorth>errr...possibly yes
14:32*andythenorth counts
14:33<andythenorth>@calc (35 * 2 * 8) + 8
14:33<@DorpsGek>andythenorth: 568
14:33<andythenorth>might be talking at cross purposes :)
14:35<nielsm>is it time to have just-in-time pre-combined sprites?
14:36<andythenorth>it doesn't solve any problem I have afaik
14:36<nielsm>(a single spriteid makes a callback/series of callbacks that returns a list of sprites and relative positions and results in them being pre-combined into a single sprite cache image which can then be re-used)
14:37<andythenorth>I generate large numbers of sprites because checking vehicle cargos or recolourings in a spritesheet is ~infinitely faster than checking them in game
14:37<nielsm>hmm well yeah it would probably have to be sprite+parameters
14:37<andythenorth>the overhead of setting up new games covering every possible supported cargo, and then creating the industry chains
14:38<frosch123>nielsm: check VehicleSpriteSeq
14:38<andythenorth>I could step through with the sprite inspector I guess, but it's still slow
14:38<frosch123>it's already a sequence, feel free to make ottd combine the sprites
14:39<frosch123>haha, oh yes, jit-sprites would break the sprite inspector :p
14:39<milek7_>TrueBrain: i have no special patch except __AFL_INIT() before LoadIntroGame, _exit after it, don't retry at SL_REINIT, disable crash logging
14:40<andythenorth>not sure what problems it would solve :)
14:40<TrueBrain>can you share? :)
14:40<milek7_>with lightweight savegame it does 20runs/s per core
14:40<TrueBrain>I love the "no special except ..." list :D
14:40<TrueBrain>20 runs/s is not bad; 5 times faster than the 4 :D
14:41<andythenorth>so is there anything can be done to debug this?
14:41<andythenorth>not shown in that video, but stopping all trains also restores the fps to 34
14:42<andythenorth>and in my testing, vanilla does the same thing, so it's not my newgrf
14:42<nielsm>the thing where fps drops to half when you shade a window?
14:43<andythenorth>but yes
14:43<andythenorth>it's not the profit display text rendering either, I deleted that
14:43<frosch123>the vehicle list probably redraws every tick
14:43<nielsm>I really heavily suspect it has to do with the video driver timing/rendering somehow causing the OS to give the process less time
14:43<andythenorth>and it's not 2x UI or 2x text zoom, although they affect how easily it gets triggered
14:43<frosch123>to show loading progress and stuff
14:44<andythenorth>nielsm: do we change video driver timing when all trains are stopped?
14:44<nielsm>frosch123: the drawing times don't really increase appreciably
14:44<nielsm>andythenorth no, I think it has to do with crossing over some magic threshold for average frame time
14:44<andythenorth>oh yes, I recall your theory :)
14:45<nielsm>something similar to how vsync can cause significant framerate drops
14:45<andythenorth>peter thought it might be train pathfinding
14:45<nielsm>if you submit a frame just after sync then you get to wait a full cycle for your next frame
14:45<nielsm>and that won't show up as time spent working on anything, it's just idle time
14:46<nielsm>frame times are fine, but frame cadence is terrible
14:47<andythenorth>it's pretty easy to repro with vanilla trains on 1.10-beta2
14:47<andythenorth>it doesn't require a big game
14:47<milek7_>TrueBrain: really, nothing special in it :)
14:47<nielsm>have you tried/managed to make a build with SDL or SDL2 instead of the regular mac driver?
14:47<milek7_>CC=afl-clang-fast CXX=afl-clang-fast++ ./configure
14:48<andythenorth>can't remember if I tried
14:48<milek7_>(TBH it could be worth to test also on old TTD DOS save format)
14:48<andythenorth>I didn't comment on the SDL2 PR to say I'd tested it
14:48<TrueBrain>cheers milek7_; saves me a bit of time hunting where to hit return :)
14:49*andythenorth looks how to configure SDL build
14:50<frosch123>nielsm: andythenorth: when i shade/unshade the vehicle list while the game is paused i get a single peak for drawing of the window
14:50<frosch123>i do not see any peak in andys video
14:50<andythenorth>oh the video is a bit wrong
14:50<andythenorth>I forgot to windowshade the fps window
14:51<andythenorth>can't trust the fps window if it's not shaded, as it hammers the fps down
14:51<frosch123>also pause the game, if it is not
14:51<frosch123>andythenorth: for me the tooltip has a huge effect
14:51<andythenorth>pausing the game eliminates the fps drop
14:52<frosch123>set the tooltip delay to 1 second or something to make it show
14:52<nielsm>frosch123 still the important part imo is that the graphics rendering is not taking 50+ ms when fra framerate is bad, everything is still well within the 30 ms budget
14:52<andythenorth>I am curious about why stopping all trains solves the issue
14:53<andythenorth>should I run that macOS Instruments profiler?
14:53<andythenorth>might as well
14:53<frosch123>andythenorth: that would confirm nielsm again. there are thresholds, like for climate
14:55<frosch123>ottd also sleeps differents amount of time depending how long the gameloop/drawing takes
14:55<frosch123>maybe your task sheduler only reassigns the cpu every now and then
14:55<frosch123>so sometimes ottd sleeps longer than requested
14:56<frosch123>nielsm: anyway, when the game is paused the tooltip window doubles the drawing time for me :)
14:57<milek7_>it sounds like battery saving shenanigans, but we already tested that?
14:57<frosch123>also what is the logic of the graphs switching the time range all the time?
14:59<nielsm>andythenorth: src/video/cocoa/ line 711 should be CSleep(1); - try adding this just after the "else" line preceding that: PerformanceMeasurer perf(PFE_AI14);
14:59<nielsm>just to measure that block containing the CSleep(1) using a thing that should be free
15:00<frosch123>why does the chart switch between 2.5 seconds and 5.5 seconds every now and then?
15:00<andythenorth>nielsm: I'll try that in a minute
15:00<andythenorth>also the fps on self-compiled openttd is crap anyway
15:00<andythenorth>I'm having to use the official binaries to get a playable game
15:01<andythenorth>^^^ that chart is completely counterintuitive eh
15:01<nielsm>it just shows that the game is using less cpu when drawing less frames per second
15:01<frosch123>hmm, seems to be related to ottd skipping frames
15:02<nielsm>andythenorth: maybe also try adding a PerformanceMeasurer with PFE_AI13 or something just after the for(;;) on line 671
15:02<nielsm>to get the entire driver loop
15:02<andythenorth>ok I'll have to cook dinner and then try :)
15:02<andythenorth>interesting problem though
15:03<TrueBrain>milek7_: ah, you are only loading the savegame :) I was also wondering what happens if it runs a few ticks :)
15:03<nielsm>measuring the QZ_PollEvent() loop on 674 might also be interesting
15:04<andythenorth>I have all the stats from the run
15:06<andythenorth>I don't know what's normal, but -[OTTD_QuartzView drawRect:] is pretty busy
15:07<milek7_>TrueBrain: yes, but it is ok for now, it gathers enough crashes ;p
15:07<TrueBrain>fair enough :)
15:08<milek7_>75kB is still huge testcase for AFL, but I don't know if it can be lowered further
15:08<andythenorth>for 3s run time with train window open, OTTD_QuartzView drawRect is 90ms
15:09<TrueBrain>hmm .. with the way savegames are created, it won't be very efficient in trying special cases in any case
15:09<nielsm>andythenorth: that's about 1 ms per frame, that's perfectly acceptable
15:09<andythenorth>for 3s run time with train window shaded OTTD_QuartzView drawRect is 20ms
15:09<nielsm>3 seconds should have about 100 frames rendered
15:09<andythenorth>this is only a single sample though
15:09<nielsm>or well, 2 ms per frame if running at half speed
15:09<andythenorth>might be irrelevant noise
15:10<TrueBrain>milek7_: for now for me it doesn't even want to pick up any new path :P
15:10<milek7_>timeout too low/hits memory limit?
15:10<frosch123>andythenorth: nielsm: <- that is a unoptimised debug build with a big #coop game. the vehicle list also has significant effect there, if nothing else is on the screen
15:11<frosch123>it eats 3 fps
15:11<nielsm>looks like it gets invalidated every tick
15:12<frosch123>likely, it for sure does not track when vehicles get new sprites :)
15:12<nielsm>but in your video the rendering time also jumps massively when it opens, it doesn't do that in andy's
15:12<TrueBrain>milek7_: nah, I was being silly with an old patch of mine
15:13<TrueBrain>what I miss in your patch .. afl uses stdin with its fuzzed attempt .. how does it end up in the intro-game for you?
15:13<@peter1138>Did I break vehicle lists? :p
15:13<@peter1138>If so it's been a while o_O
15:13<milek7_>afl-fuzz -f takes output path
15:13<TrueBrain>ah, lol
15:14<Samu>need to simplify this code
15:14<andythenorth>peter1138: no progress without breakage :)
15:15<TrueBrain>meh, where savegames used to be loaded no longer does .. *sad panda*
15:15<TrueBrain>okay, this patch is 10+ years old :P
15:15<@peter1138>If it's 'invalidated' every tick, might be a dodgy gui timer...
15:16<milek7_>set -v/-m/-s/-b to null too
15:18<DorpsGek_III_>[OpenTTD/OpenTTD] michicc commented on pull request #7935: Add: Option for a new transfer feeder payment algorithm
15:19<frosch123>looks like the window is invalidated whenever a vehicle loads
15:19<frosch123>so for a savegame this size, it is every game tick
15:20<TrueBrain>okay, this needs a bit more fiddling than I was hoping for .. but that might be a nice thing to do, while I wait for freaking cloudfront to destroy itself
15:21<andythenorth>BUT THE CLOUD
15:21<andythenorth>or something
15:21<andythenorth>so TrueBrain I shouldn't move to Docker + Kubernetes at work? o_O
15:22<TrueBrain>Docker, yes
15:22<TrueBrain>Kubernetes, no
15:22<TrueBrain>well, unless you have 10 devops there
15:22<TrueBrain>in that case, go for it
15:22<TrueBrain>send them on training
15:22<TrueBrain>for 2 months
15:22<TrueBrain>this cloudfront is "in progress" for over an hour now
15:23<TrueBrain>getting a bit old
15:23<andythenorth>I've been told I can never attact any devops until we're using cool modern tech like k8s
15:23<andythenorth>attract *
15:23<andythenorth>but to use tech like k8s I need devops to look after it, as it is a shitload more work than we do now
15:23<andythenorth>so I need to do a load of work I can't do because I don't have the devs to adopt the cool tech so we can attract devs so we can use more cool tech so we can attract devs
15:24<TrueBrain>something something chicken egg
15:24<andythenorth>otoh, this was recruitment consultant advice
15:24<TrueBrain>too bad you are located in the wrong country; otherwise I would have helped out :P
15:24<frosch123>maybe make software for banks and insurances instead
15:25<andythenorth>I CAN'T AFFORD A TRUEBRAIN
15:25<TrueBrain>okay, I will halve my fee for you
15:25<TrueBrain>if you think that is my fee :P
15:26<andythenorth>zimbabwe dollars?
15:27<frosch123>lowercase m is milli already
15:28<+glx>just opening the console in main menu slows everything for me
15:28<TrueBrain>pro-tip: don't do that
15:35<andythenorth>oh there's an AI ranking thing in forums
15:35<andythenorth>how rare :)
15:35<TrueBrain>okay, this cloudfront distribution starts to annoy me ...
15:37-!-tokai|noir [] has joined #openttd
15:37-!-tokai|noir is "Christian Rosentreter" on #openttd
15:37-!-mode/#openttd [+v tokai|noir] by ChanServ
15:44-!-tokai [] has quit [Ping timeout: 480 seconds]
15:47-!-nielsm [] has quit [Ping timeout: 480 seconds]
15:53-!-WormnestAndroid [~WormnestA@] has quit [Ping timeout: 480 seconds]
15:54-!-WormnestAndroid [~WormnestA@] has joined #openttd
15:54-!-WormnestAndroid is "WormnestAndroid" on #openttd
16:02-!-Wormnest [~Wormnest@] has joined #openttd
16:02-!-Wormnest is "Wormnest" on #openttd
16:02<TrueBrain>okay, I really don't like how long this cloudfront takes ... especially as I cannot continue with the rest till it "unbreaks"
16:02<TrueBrain>anyway ... if that works, adding docs should be simple :P
16:10<TrueBrain>- if (SaveOrLoad("opntitle.dat", SLO_LOAD, DFT_GAME_FILE, BASESET_DIR) != SL_OK) {
16:10<TrueBrain>+ if (SaveOrLoad("/dev/stdin", SLO_LOAD, DFT_GAME_FILE, BASESET_DIR) != SL_OK) {
16:10<TrueBrain>allows -M / -S :)
16:10<frosch123>haha, the ai ranking site includes all those "idle" ais... funnily they perform differently, and some (non-crashing) ais perform worse
16:10<TrueBrain>frosch123: url?
16:11<frosch123> <- background
16:11-!-sla_ro|master [] has quit []
16:11<TrueBrain>realtime, funny
16:12<frosch123>also ai forks perform worse than their originals. ludiai afterfix is worse than ludiai, nonocab is worse than nocab
16:16-!-Wormnest [~Wormnest@] has quit [Quit: Leaving]
16:16-!-Wormnest [~Wormnest@] has joined #openttd
16:16-!-Wormnest is "Wormnest" on #openttd
16:16<andythenorth>so do I still need to compile the mac port with timing info?
16:16<andythenorth>or do we have a cause?
16:18<milek7_>TrueBrain: right, i didn't thought of that
16:18<milek7_>how much runs/s you get?
16:18<TrueBrain>16 runs/s per instance
16:19<TrueBrain>can run like ... 12 or so if I would like to
16:19<TrueBrain>or we can rent an AWS instance for an hour :P
16:19<milek7_>AWS is horribly expensive
16:20<TrueBrain>not too bad if you only need it for an hour :D
16:20<TrueBrain>with stdin the diskio is a lot lower btw, which is nice
16:22<Samu>there is a bug with build dock, it doesn't include the price of clearing the grass of the sloped tile
16:22<Samu>is that intended?
16:23<Samu>or the road, or the trees, or whatever it is there
16:25<Samu>fixing it is easy, but regression will fail, due to price differences
16:25<Samu>should I do a PR?
16:30-!-tokai [] has joined #openttd
16:30-!-tokai is "Christian Rosentreter" on #openttd
16:30-!-mode/#openttd [+v tokai] by ChanServ
16:30<TrueBrain>milek7_: btw, if I would guess, most crashes are caused because the map itself is never validated to be valid after loading .. it is simply assumed all bits are in order
16:30<TrueBrain>so it is not really a surprise it crashes this often
16:30<TrueBrain>should never lead to buffer-overflows etc, ofc
16:31<TrueBrain>(look at map_sl.cpp to get what I mean btw :P)
16:33<milek7_>isn't it a bit tautological? if data would be validated it wouldn't crash, obviously ;P
16:34<TrueBrain>what you say, sure, but that was not what I was saying, was I ? :)
16:35<andythenorth>so...water depth
16:35<andythenorth>will I be designing a 4th ship set? :)
16:35-!-Flygon [] has joined #openttd
16:35-!-Flygon is "Flygon" on #openttd
16:35<frosch123>what is water depth used for?
16:36<Samu>I'm using it to make ships move slow or faster depending on distance to shore (actually depth)
16:36<frosch123>disallow landscaping deep sea?
16:36-!-tokai|noir [] has quit [Ping timeout: 480 seconds]
16:37<milek7_>though except from afterload migration, it is just loaded and isn't touched much
16:37<TrueBrain>and it is afterload that causes most of the crashes for me
16:37<milek7_>i guess most crashes from invalid map array will result when it actually starts running
16:37<TrueBrain>(as it starts using the data)
16:37<andythenorth>it could be used to ban ships with low freeboard from deep sea
16:37<andythenorth>and ships with deep draught from shallow water
16:37<Samu>oh, my AI performs worse, because mousetail is testing it with easy preset, which the original didn't care about
16:37<TrueBrain>so indeed, if you run a few ticks, I guess a lot more crashes happen :)
16:38<andythenorth>not sure ship differentiation is fun or not yet
16:38<TrueBrain>it is just totally unvalidated data
16:38<TrueBrain>I wonder how difficult it is to validate the data tbh
16:38<TrueBrain>more curious I am, if there are crashes in terms of buffer-overflow etc
16:38<Eddi|zuHause>andythenorth: we need the ability to build deep canals then
16:38<TrueBrain>(as a result of a invalid map data)
16:38<andythenorth>I believe that's a possibility Eddi|zuHause
16:38<andythenorth>if I've understood correctly
16:38<TrueBrain>milek7_: possibly even more interesting is to see what happens with loading of newgrfs
16:39<milek7_>i have seen at least one buffer overflow
16:40<frosch123>andythenorth: maybe 3-tile wide canals are deeper?
16:41<andythenorth>unrelated-related: could ships respect drive side?
16:41<andythenorth>I often build 2 tile wide canals
16:41<andythenorth>I don't want colliding ships for gameplay reasons, but it would be nice if they avoided overlapping in simple cases :P
16:42<frosch123>i wonder whether you can control driving side by making path finder cost different for turning left < driving straight < turning right
16:43<frosch123>that may cause the pathfinder to turn left as early as possible, and turn right as late as possible
16:43<frosch123>so taking the inner side on a left curve, and the outer side on a right curve
16:45<frosch123>hmm, i guess the shortest path is still to cut the corner
16:45<andythenorth>OpenTTD Renaisance edition
16:45<Eddi|zuHause>for ships, driving side is on the right, wordlwide
16:45<andythenorth>OpenTTD Revival
16:45<Eddi|zuHause>so you turn right first, and left last
16:46<frosch123>he, i expected ships to be brittish-dominated
16:47<TrueBrain>milek7_: I added an _exit(0) in error(), to catch crashes that we did not pick up on via asserts and not_reached .. takes longer for it to find, but it also finds issues there
16:48<Eddi|zuHause>but i don't think pathfinder costs are the correct way to do this, you want to choose between equivalent paths
16:48<TrueBrain>those are uncaptured issues :)
16:48<frosch123>Eddi|zuHause: yes, and i assume it will pick the first one found among the equivalent ones
16:49<milek7_>here's one in linkgraph, for example
16:49<Eddi|zuHause>frosch123: i think that needs messing in the pathfinder internals
16:50<Eddi|zuHause>but i don't know enough about that
16:50<TrueBrain>milek7_: <- found one in SlList :)
16:51<TrueBrain>okay, there are some interesting crashes in there
16:52<TrueBrain>which give room ... for fun :P
16:52<TrueBrain>malloc_printerr (str=str@entry=0x7ffffef98800 "free(): invalid next size (fast)") at malloc.c:5350
16:53<TrueBrain>uint64 aimed_inflation = (_economy.old_max_loan_unround << 16 | _economy.old_max_loan_unround_fract) / _settings_game.difficulty.max_loan; <- haha, that one is easy to reproduce :D
16:53<TrueBrain>how nasty :)
16:56<TrueBrain>ReadGRFSpriteOffsets (container_version=<error reading variable: access outside bounds of object referenced via synthetic pointer>)
16:56<TrueBrain>also doesn't sound good :P
16:57<andythenorth>ha ha 1969 in game again
16:57<TrueBrain>milek7_: I just hit the same one as you did :)
16:57<andythenorth>time to turn the clock back to 1968
16:58<andythenorth>what if date cheat wasn't a cheat, and player could just click on year to change it :P
16:58<andythenorth>daylength solved
16:58<TrueBrain>milek7_: for some reason that one feels like you can write in random memory :P
16:59<TrueBrain>these are all: evil-server.ip :P
17:00<TrueBrain>"malloc(): memory corruption"
17:00<TrueBrain>fun :D
17:00<TrueBrain>okay, looking at the crashes that are not caught by our own code are fun ones :)
17:02<milek7_>though release builds have asserts disabled, so they could still end up as memory safety issues when not caught early by assert
17:02<milek7_>oh, i didn't know openttd has security page
17:03<TrueBrain>we even have CVEs :)
17:03<TrueBrain>hmm, the savegame for "timeouts" are not stored by afl? Awh
17:03<frosch123>we stopped having cves when noone fixed them anymore
17:03<milek7_>'hangs' directory
17:05<andythenorth>OpenTTD continues to deliver lolz
17:06<andythenorth>I played since 2008, but I only just tried 'town growth: slow' and 'towns can build roads: no'
17:06<andythenorth>wish I'd done that before, it's a much better game :P
17:07<TrueBrain>okay, that is fun, fuzzing OpenTTD :P
17:07<TrueBrain>solving it, is not trivial
17:07<TrueBrain>which is a bit sad :P
17:11-!-HerzogDeXtEr [] has quit [Read error: Connection reset by peer]
17:14<@peter1138>Just make individual bug reports for everything reported... and then leave it to nobody else to deal with ;)
17:17<andythenorth>oof I play OpenTTD like an idiot :)
17:18<andythenorth>I always look at industry production when assigning vehicles
17:18<andythenorth>instead of industry production * 0.69 or so
17:18<@peter1138>Oh yes, I was going to connect to my OpenTTD server and ... well, play.
17:18<andythenorth>OpenTTD is not bad
17:18<andythenorth>I mean it's not WoT Blitz
17:18<andythenorth>positives and negatives :P
17:19<andythenorth>I have played 2 long games, been playing every day since Dec 23rd or so
17:19<andythenorth>not sure how long one of them is, I keep resetting date :P
17:20<@peter1138>Oh, there's already people on it. Hmm.
17:21<@peter1138>I wonder if the map is any good :p
17:21<@peter1138>Hmm, could be worse.
17:22<andythenorth>1.10 beta 2?
17:27<@peter1138>Lots of water, heh
17:28<andythenorth>peter1138: what's it called? :P
17:33-!-Arveen [] has joined #openttd
17:33-!-Arveen is "realname" on #openttd
17:35-!-andythenorth [] has left #openttd []
17:38-!-frosch123 [] has quit [Quit: be yourself, except: if you have the opportunity to be a unicorn, then be a unicorn]
17:40-!-Arveen2 [] has quit [Ping timeout: 480 seconds]
17:46-!-supermop_work [~supermopw@] has quit [Remote host closed the connection]
17:53<TrueBrain> THE START IS THERE
17:55-!-Progman [] has quit [Remote host closed the connection]
17:55-!-Wolf01 [] has quit [Quit: Once again the world is quick to bury me.]
18:00<Eddi|zuHause>best docs EU West
18:41<DorpsGek_III_>[OpenTTD/OpenTTD] SamuXarick opened pull request #7937: Build on competitor canal
18:42<Samu>im running out of time... come on, build fast
18:45<Samu>bah, whitespaces.. well tomorrow i'll fix them
18:45-!-Wormnest [~Wormnest@] has quit [Ping timeout: 480 seconds]
18:47<Samu>faster!!! plz
18:47-!-urdh [] has quit [Ping timeout: 480 seconds]
18:49<Samu>k cyas
18:49-!-Samu [] has quit [Quit: Leaving]
18:53-!-Wormnest [~Wormnest@] has joined #openttd
18:53-!-Wormnest is "Wormnest" on #openttd
18:57-!-urdh [] has joined #openttd
18:57-!-urdh is "Simon Sigurdhsson" on #oftc #openttd #moocows
19:05-!-urdh [] has quit [Ping timeout: 480 seconds]
19:11-!-hythlodaeus [] has joined #openttd
19:11-!-hythlodaeus is "OFTC WebIRC Client" on #openttd
19:13-!-urdh [] has joined #openttd
19:13-!-urdh is "Simon Sigurdhsson" on #oftc #openttd #moocows
19:25-!-supermop_Home [] has joined #openttd
19:25-!-supermop_Home is "Guest" on #openttd
19:26<supermop_Home>peter1138 you have a server going?
19:45-!-Wormnest [~Wormnest@] has quit [Ping timeout: 480 seconds]
20:11-!-OsteHovel [] has quit [Ping timeout: 480 seconds]
20:19-!-Wormnest [~Wormnest@] has joined #openttd
20:19-!-Wormnest is "Wormnest" on #openttd
20:44-!-Laedek [~quassel@] has quit [Read error: Connection reset by peer]
20:44-!-hythlodaeus [] has quit [Quit: Page closed]
20:47-!-Laedek [~quassel@] has joined #openttd
20:47-!-Laedek is "Laedek" on #openttd
20:49-!-Pikka [] has joined #openttd
20:49-!-Pikka is "realname" on #openttd
20:53-!-tokai|noir [] has joined #openttd
20:53-!-tokai|noir is "Christian Rosentreter" on #openttd
20:53-!-mode/#openttd [+v tokai|noir] by ChanServ
21:00-!-tokai [] has quit [Ping timeout: 480 seconds]
22:03-!-Pikka [] has quit [Read error: Connection reset by peer]
22:12-!-D-HUND [~debdog@2a00:79c0:62f:4000:7a24:afff:fe8a:d04d] has joined #openttd
22:12-!-D-HUND is "Wowbagger" on #bitlbee #openttd
22:15-!-debdog [~debdog@2a00:79c0:674:a900:7a24:afff:fe8a:d04d] has quit [Ping timeout: 480 seconds]
22:25-!-glx [] has quit []
22:58-!-OsteHovel [] has joined #openttd
22:58-!-OsteHovel is "Hovel on the Ost" on #openttd
22:58-!-Wormnest [~Wormnest@] has quit [Ping timeout: 480 seconds]
23:10-!-zvxb [~adikt@] has joined #openttd
23:10-!-zvxb is "realname" on #openttd
23:32-!-Pikka [] has joined #openttd
23:32-!-Pikka is "realname" on #openttd
23:33<Pikka>such windows 10
23:33-!-Pikka [] has quit []
23:44-!-Pikka [] has joined #openttd
23:44-!-Pikka is "realname" on #openttd
---Logclosed Wed Jan 15 00:00:09 2020