Back to Home / #openttd / 2016 / 09 / Prev Day | Next Day
#openttd IRC Logs for 2016-09-26

---Logopened Mon Sep 26 00:00:34 2016
00:51-!-keoz [] has joined #openttd
00:51-!-keoz is "Grmph" on #openttd
01:59-!-ConductorCat [] has quit [Read error: Connection reset by peer]
02:10-!-ConductorCat [] has joined #openttd
02:10-!-ConductorCat is "realname" on #openttdcoop #openttd
02:17-!-keoz [] has quit [Ping timeout: 480 seconds]
02:42-!-sim-al2 is now known as Guest141
02:42-!-sim-al2 [] has joined #openttd
02:42-!-sim-al2 is "sim-al2" on #openttd @#/r/openttd
02:46-!-keoz [] has joined #openttd
02:46-!-keoz is "Grmph" on #openttd
02:49-!-Guest141 [] has quit [Ping timeout: 480 seconds]
03:11-!-sla_ro|master [] has joined #openttd
03:11-!-sla_ro|master is "slamaster" on @#sla #openttd #love
03:22-!-Mavy [quassel@2a00:1ca8:e:3c8:216:3cff:fe19:83e0] has joined #openttd
03:22-!-Mavy is "Mavy" on #openttd
03:39-!-Mavy_ [quassel@2a00:1ca8:e:3c8:216:3cff:fe19:83e0] has joined #openttd
03:39-!-Mavy [quassel@2a00:1ca8:e:3c8:216:3cff:fe19:83e0] has quit [Read error: Connection reset by peer]
03:39-!-Mavy_ is "Mavy" on #openttd
03:44-!-keoz [] has quit [Ping timeout: 480 seconds]
03:58-!-Stimrol [~Stimrol@] has quit [Remote host closed the connection]
03:59-!-Stimrol [~Stimrol@] has joined #openttd
03:59-!-Stimrol is "Stimrol" on #openttd
04:15-!-tycoondemon2 [] has quit [Ping timeout: 480 seconds]
04:23-!-JezK_ [~jez@2407:7800:400:107f:3db5:daca:8457:e66a] has quit [Remote host closed the connection]
04:31-!-Biolunar [] has joined #openttd
04:31-!-Biolunar is "Biolunar" on #openttd #suckless
04:37-!-JacobD88 [] has joined #openttd
04:37-!-JacobD88 is "JacobD88" on #openttd.notice #openttd
05:05-!-Supercheese [] has quit [Ping timeout: 480 seconds]
05:10-!-Smedles [] has quit [Remote host closed the connection]
05:12-!-Wolf01 [] has joined #openttd
05:12-!-Wolf01 is "Wolf01" on #openttd
05:15-!-Smedles [] has joined #openttd
05:15-!-Smedles is "Paul Smedley" on #openttd
05:42-!-tycoondemon [] has joined #openttd
05:42-!-tycoondemon is "..." on #openttdcoop.stable #openttdcoop #openttd
06:20-!-Flygon [] has quit [Quit: A toaster's basically a soldering iron designed to toast bread]
06:20-!-Flygon [] has joined #openttd
06:20-!-Flygon is "Flygon" on #openttd
06:29-!-Flygon_ [] has joined #openttd
06:29-!-Flygon_ is "Flygon" on #openttd
06:36-!-Flygon [] has quit [Ping timeout: 480 seconds]
06:49-!-Flygon_ [] has quit [Read error: Connection reset by peer]
06:50-!-Flygon [] has joined #openttd
06:50-!-Flygon is "Flygon" on #openttd
07:37-!-Fujk [] has joined #openttd
07:37-!-Fujk is "..." on #openttd
07:38<Fujk>is it possible to put newgrfs in the openttd directory somewhere instead of in My Documents?
07:40<V453000>I think you just copy your openttd.cfg into the openttd directory
07:40<V453000>and it will make it "portable"
07:40<V453000>- everything is within the folder
07:41-!-Lejving [] has joined #openttd
07:41-!-Lejving is "realname" on #openttd #/r/openttd #openttdcoop
07:43<Fujk>nice thanks
08:04-!-sla_ro|master [] has quit []
08:24<Wolf01>\o/ sorted all the uncategorized games on my steam library
08:49<V453000>\o/ wrote my first python script
08:49<V453000>world is going to burn soon
08:54-!-nilez [~nilez@] has quit [Ping timeout: 480 seconds]
08:55-!-nilez [~nilez@] has joined #openttd
08:55-!-nilez is "..." on #observium #openttd #tor-project #debian-mentors #debian-next #ceph #tor #debian
08:56<V453000>goodger: well it is called RenamingAndCropping, but it is just a camouflage name, the actual purpose is doombringing indeed
08:56<goodger>you just need a touchofhate.pyc and you're set
09:09-!-Samu [] has joined #openttd
09:09-!-Samu is "OFTC WebIRC Client" on #openttd
09:14<Eddi|zuHause>V453000: wouldn't be the first program that does something completely different than what it's called :p
09:17<Samu>i'm trying to code the auto-lock a bit differently
09:18<Samu>did anyone tried it?
09:19<Samu>I see 2 downloads :(
09:25-!-Gja [] has joined #openttd
09:25-!-Gja is "Martin" on #bcache #openttd
09:30-!-Lejving [] has quit [Ping timeout: 480 seconds]
09:50<supermop>good morning
10:16-!-Alberth [~alberth@2001:981:c6c5:1:be5f:f4ff:feac:e11] has joined #openttd
10:16-!-mode/#openttd [+o Alberth] by ChanServ
10:16-!-Alberth is "purple" on @#openttd
10:42-!-ToBeFree [] has quit [Quit: Ping timeout: 1337 seconds]
11:11-!-sla_ro|master [] has joined #openttd
11:11-!-sla_ro|master is "slamaster" on @#sla #openttd #love
11:13-!-keoz [] has joined #openttd
11:13-!-keoz is "Grmph" on #openttd
11:17-!-Flygon [] has quit [Ping timeout: 480 seconds]
11:19-!-ToBeFree [] has joined #openttd
11:19-!-ToBeFree is "Tobias "ToBeFree" Frei" on #https-everywhere #linux @#freiwuppertal #oolite #oolite-dev #oolite-ger #openttd #tor
11:38-!-Lejving [] has joined #openttd
11:38-!-Lejving is "realname" on #openttd #/r/openttd #openttdcoop
11:45-!-TheMask96 [] has quit [Ping timeout: 480 seconds]
11:51-!-TheMask96 [] has joined #openttd
11:51-!-TheMask96 is "Martijn Zweistra" on #openttd.notice #openttd
11:55<Samu>The auto-lock code done in another manner:
11:55<Samu>i am wondering if i can avoid repetition
11:55<Samu>it repeats at lines 86-89 and 95-98
11:59<@Alberth>you have the execution in the tile area loop together with the test?
12:00<@Alberth>that looks like a bad idea
12:00<@Alberth>you want a partial build lock when it fails a test somewhere in the middle of the iteraions?
12:05<@Alberth>line 68 doesn't seem needed? rem is always >= 0 ?
12:06<Samu>it can be rem = -1
12:06<Samu>rem = -1 can be defined before entering the loop
12:07<@Alberth>right, I see that now
12:08<@Alberth>doing the EXEC case after the complete test succeeded is a good idea at least
12:08<@Alberth>and then you can earlier do if (rem < 0) continue;
12:09<@Alberth>wc == WATER_CLASS_CANAL <-- you do that test quite often too, maybe test for that earlier?
12:11<Samu>it's complicated, I'm dealing with 3 water classes
12:11<@Alberth>line 66, the "else" is not needed, since the "then" before jumps back to the loop
12:12<@Alberth>I don't see any trivial ways to improve at least
12:14<@Alberth>you can move some code though, line 51 slope_next doesn't seem needed immediately, maybe you can move it closer to first use?
12:14<Samu>placing RIVER or SEA in single line mode shall not try to build lock
12:15<Samu>must needs to check if the tile is clear
12:15<@Alberth>IsInclinedSlope(slope) <- line 69, is that needed, it got shot down at line 53 already?
12:17<Samu>line 53 ensures that the slope is either flat or inclined, i thnk
12:17<Samu>or am i seeing it wrong?
12:18<Fujk>is it possible to refit one car, so a train can hold two different cargo with two cars? I can only seem to refit the entire train
12:19<Samu>line 69 wants to ensure the tile is not the flat one
12:23<Samu>[17:00] <@Alberth> you want a partial build lock when it fails a test somewhere in the middle of the iteraions
12:23<Samu>what does this mean?
12:24<Samu>ah, build up to a point where it succeeds?
12:24<Samu>and stop building the part it fails?
12:25<Samu>i'd like to have that, similar to how roads and rails are built
12:25<Samu>but i don't know how to do it
12:26<Samu>currently if it fails at some point, nothing is ever built
12:29<Samu>slope_next is first used at line 63, ok i can move that
12:34<@Alberth>Fujk: in the refit window you can select a wagon, or a part of the train
12:35<@Alberth>Samu: basically while you test, you change the command such that you'll only build the part that works
12:36<@Alberth>that also means you give a cost that fits what you build
12:36<@Alberth>if you also have EXEC, in the next loop you perform the modified command, which will completely work, since you modified it
12:37<@Alberth>you can even do it in 3 steps, first change the command to the part that works, then do the test and cost estimation, and if you have EXEC, the third step is to actually build it
12:40<@Alberth>Samu: line 69 wants to ensure the tile is not the flat one <-- ah, you're correct there, misread line 53
12:48<Wolf01>Is it possible to identify a tree type?
12:49<Wolf01>Between 0x00 and 0x0C
12:52-!-qwebirc73763 [] has quit [Remote host closed the connection]
12:53-!-glx [] has joined #openttd
12:53-!-mode/#openttd [+v glx] by ChanServ
12:53-!-glx is "Loïc GUILLOUX" on +#openttd
13:01<Samu>i see a way to put the bool water outside
13:07<Wolf01>Also, how do I add a setting?
13:07<Wolf01>Looks like automated now
13:09<Samu>speaking of setting
13:09<Samu>i wonder if permanent rivers could be a game setting
13:10<Samu>some ppl might not like the idea of permanent rivers
13:11<Samu>allow it to be disabled or enabled through a setting
13:13<@Alberth>Wolf01: setting specifications are in src/table/*.ini files
13:18<@Alberth>tree_gui.cpp suggests there are more trees in-between this->tree_to_plant = (TreeType)(this->base + widget - WID_BT_TYPE_11);
13:20<Wolf01>Yup, but I would like to know if a tree is a deciduous or an evergreen one
13:20<@Alberth>static TreeType GetRandomTreeType(TileIndex tile, uint seed) does it too tree_cmd.cpp
13:20<Wolf01>And since I think trees can have avery kind of graphic they want, they could differ from set to set
13:20<@Alberth>that seems likely indeed
13:21<Wolf01>So I'll plant artic trees as evergreen ones
13:21<Wolf01>The main problem is that I found a case where if I return TREE_INVALID it plants cactus
13:22<Wolf01>Also, do I need to do some saveload - after load preparation for new settings?
13:22<@Alberth>GRFspecs also say nothing about trees
13:23<Eddi|zuHause>no, afterload is only if you change a setting, not if you add new ones
13:23<@Alberth>you'll get the default value I would expect
13:24<Wolf01>That's because I get strange values as default, I put 0..16 with 16 and 8 as defaults for my settings, the value should be SLE_UINT8 but in the interface I get a date
13:25<Wolf01>And the game crashes
13:25<Eddi|zuHause>you also need to change settings_gui stuff
13:25<Eddi|zuHause>to add your setting to the list
13:25<Wolf01>Yeah, done that
13:25<Eddi|zuHause>and have a properly formatted string
13:26<Wolf01>genworld->Add(new SettingEntry("game_creation.evergreen_min_height"));
13:29<Wolf01>Now I get "valuables" and "mail"
13:31<Wolf01>Btw, the result is pleasing
13:31<Wolf01>Maybe too "exact" I should give a bit of randomness
13:40-!-frosch123 [] has joined #openttd
13:40-!-frosch123 is "frosch" on #openttdcoop.devzone #openttd
13:44-!-aard [] has joined #openttd
13:44-!-aard is "realname" on #openttdcoop.stable #openttdcoop #openttd #bitlbee
13:46<Wolf01>!AgUFeOGLNNfVhcgfYqGlZdsBI7EZYw what do you think?
13:47<Samu>which trees should i look at?
13:47<Wolf01>Dinner, bbl
13:47<Wolf01>The whole screen?
13:48<Samu>i see similar trees around the mountain, but not anywhere else
13:49-!-gelignite [] has joined #openttd
13:49-!-gelignite is "gelignite" on #openttd #openttdcoop.devzone
13:50<frosch123>is that terraform without clearing trees?
13:52<Samu>min height for evergreen trees, i thnk
13:55-!-Arveen [~Arveen@] has joined #openttd
13:55-!-Arveen is "Arveen" on #openttd
14:00-!-Progman [] has joined #openttd
14:00-!-Progman is "Peter Henschel" on #openttdcoop #openttd
14:02-!-HerzogDeXtEr [] has joined #openttd
14:02-!-HerzogDeXtEr is "purple" on #openttd
14:10<Samu> - slight improvements
14:12<Samu>bool water is not repeated
14:12-!-Mavy_ [quassel@2a00:1ca8:e:3c8:216:3cff:fe19:83e0] has quit [Quit: No Ping reply in 180 seconds.]
14:12<Samu>some extra comments
14:12<Samu>and a int tile_delta just before building lock
14:13-!-Mavy [Mavy@2a00:1ca8:e:3c8:216:3cff:fe19:83e0] has joined #openttd
14:13-!-Mavy is "Mavy" on #openttd
14:16<Wolf01><Samu> min height for evergreen trees, i thnk <- that, also "no trees above x height"
14:17<Wolf01>Btw is more "min trees for arctic trees"
14:18<Wolf01>*min height
14:18<Wolf01>And a bit of randomness of the height
14:18<Wolf01>So it's not a straight line
14:21<Samu>hey, while you're on the matter of trees
14:21<Samu>there's a strange tree growth behaviour on desert tileset, on coastal tiles
14:22<Samu>they spawn too often there
14:22<Wolf01>Usually trees spawn near water
14:22<Samu>oh, okay then
14:22<Wolf01>It's not that they grow too often there, is that they can't grow often enough anywhere else
14:23<Samu>sec, i make a screnshot
14:24<Wolf01>Mmmh, settings don't work, maybe I'm stupid enough
14:25<Wolf01>At least now I got "undefined string" and the right widgets to select numbers
14:26<Samu> - i generated a random scenario without trees, then fast forwarded for a bit and trees start spawning. the growth towards the north coast is different than the growth at the south coast.
14:26<Wolf01>It looks realistic to me
14:27<Wolf01>Maybe more trees along rivers would be cool
14:27<Samu>don't you find odd that the north coast gets trees and the south doesn't?
14:28<Wolf01>Different latitude?
14:28-!-andythenorth [] has joined #openttd
14:28-!-andythenorth is "Andy" on #openttd
14:29<Wolf01>Btw, I find strange that I don't see any cactus
14:29-!-keoz [] has quit [Ping timeout: 480 seconds]
14:30-!-JacobD88 [] has quit [Quit: JacobD88]
14:48<andythenorth>cat cat
14:51-!-FLHerne [] has joined #openttd
14:51-!-FLHerne is "Francis Herne" on #openttd
14:57<Wolf01>Should evergreen trees height be clamped to snow line height?
15:04<Wolf01>I really don't get the settings
15:04<V453000>andythenorth: fear my shit
15:04<V453000>coded my first python script today
15:04*andythenorth much fear
15:06<Fujk>is there a mod that reduces tree spawning? both options spawn way too many
15:07<Wolf01>No, but you can make them invisible
15:12<andythenorth>V453000: eh, BRIX
15:12<andythenorth>Czech also even
15:13<andythenorth>front looks badass
15:15<Wolf01>Grrrrr.... how does this thing works?
15:16-!-aard [] has quit [Read error: Connection reset by peer]
15:16<V453000>yarr andythenorth
15:17-!-luca768 [] has quit [Quit: ZNC -]
15:21<Samu>hmm MakeLock, will bring it back
15:24<Wolf01>Alberth, do you know how this settings stuff works?
15:25<@Alberth>somewhat, I wrote the generator :p
15:25<@Alberth>but it got modified afterwards :p
15:25<Wolf01>It still prints "(undefined string)"
15:26<@Alberth>iirc it has help strings etc
15:26<Wolf01>An if I click on it I get a "17" as value instead of 24
15:26*andythenorth puzzles over cdist
15:26<@Alberth>did you run the generator after modifying?
15:26<@Alberth>should run by itself though
15:26<andythenorth>I have transfer stations, to which I’ve added new destinations
15:27<Wolf01>It should run automatically, I can see the modified values on settings.h
15:27<andythenorth>and it would be nice if cargo was allocated to those destinations
15:27<@Alberth>ok, so that works
15:27<@Alberth>andythenorth: further away than the others?
15:27<andythenorth>but distance effect is 0% anyway
15:27<Wolf01> these are the 2 settings I added
15:28<@Alberth>hmm, maybe that's the problem andy :p
15:28<andythenorth>maybe the graph is being calculated too aggressively
15:28<@Alberth>but computation takes time, and then new cargo must arrive there, before you see the effect
15:29<@Alberth>strings are also in the language files?
15:29<@Alberth>they have been rebuilt too?
15:29<Wolf01>I see them
15:29<andythenorth>ran a vehicle over the route, that seemed to trigger a recalculation
15:29<andythenorth>unless it was a coincidence
15:29<andythenorth>afaik, with distance effect 0%, the demand is levelled over all valid destinations
15:30<andythenorth>so cargo should be split 50% to each (there are 2)
15:31<andythenorth>I have both recalculation props set to default
15:31<@Alberth>Wolf01: you can have a look at the generated code, but that likely works too, as stuff compiles
15:31<@Alberth>afaik "(undefined string)" is a runtime thingie
15:32<@Alberth>perhaps put a break point there, and see what it's doing at that time?
15:32<Wolf01>I found some particular threatment for other values, but mine is just numeric
15:32<@Alberth>ie maybe it does some weird calculation that you messed up now
15:32<Wolf01>Maybe I have the wrong string, I put {STRING2}
15:33<@Alberth>that eats 2 arguments, iirc
15:33<Samu>static inline void MakeLock(TileIndex t, Owner lock_owner, Owner canal_owner_lower, Owner canal_owner_upper, Owner canal_owner_middle, DiagDirection d, WaterClass wc_lower, WaterClass wc_upper, WaterClass wc_middle)
15:33<Samu>too big
15:33<andythenorth>game appears to recalculate link graph within 1 game month or less
15:34<Wolf01>I copied from "river_amount" which is the setting just above mine
15:34<@Alberth>Samu: make a struct
15:34-!-Chaoticly [~chaoticly@] has joined #openttd
15:34-!-Chaoticly is "The Chaoticly" on #openttd #linux
15:34<andythenorth>ha ha
15:34<andythenorth>FIRS builds petrol stations next to roads
15:35<andythenorth>but also next to tram tracks :P
15:35<sim-al2>Dem gas trams would be happy
15:35<andythenorth>$someone should fix that
15:35<Samu>currently canal_owner_middle is the same as lock_owner, since it's not possible to build "canal" on slopes
15:35<sim-al2>Seems like a fire hazard for steamers though 0.o
15:35<sim-al2>*explosion sounds*
15:36<Samu>unless someone hacks
15:36<@Alberth>Wolf01: they all do it, so that seems fine, maybe it uses the wrong sub-string or so?
15:37<Wolf01>Could be
15:37<Samu>static inline void MakeLock(TileIndex t, Owner lo, Owner co_lower, Owner co_upper, DiagDirection d, WaterClass wc_lower, WaterClass wc_upper, WaterClass wc_middle)
15:37<Wolf01>But I don't know where I should change
15:37<Wolf01>Other settings seem only have the world generation gui in common
15:37<@Alberth>set a break point on undefined string, that should give you a stack trace
15:39<@Alberth>strings.cpp lines 220 and 263 look promising
15:39<@Alberth>but I didn't check context
15:40<@Alberth>or maybe even on painting the widget, but that's a bit tricky perhaps
15:45-!-Arveen [~Arveen@] has quit [Quit: Nettalk6 -]
15:48<Samu>my lock
15:48<Samu>original lock
15:49<Samu>water_map.h also has the canal owner stuff
15:49<Samu>dunno if i post that
15:50<Samu>oops, description is missing something
15:51<Samu> better
15:52<Samu>MakeLockTile(t, lo, lo, LOCK_PART_MIDDLE, d, wc_middle);
15:52<Samu>lo lo lo
15:53<Wolf01>Ok, min=1, max=32, default=0x00000018, str_val=0
15:54<Wolf01>It looks normal
15:55<Wolf01>Default not really normal, it should be 24
15:55<Samu>MakeLock(tile, _current_company, oc_lower, oc_upper, dir, wc_lower, wc_upper, wc_middle);
15:55<Samu>not too big as I expected
15:56<Samu>this means I don't need oc_middle for anything
15:56<Samu>time to remove
16:01<Samu>question, why is there a DoBuildLock and a CmdBuildLock? why not combine both in CmdBuildLock?
16:01<@Alberth>Wolf01: 0x18 == 24
16:02<Wolf01>Oh, yes, hex
16:02<@Alberth>Samu: likely DoBuild gets used elsewhere
16:03<Samu>DoBuildLock depends on CmdBuildLock as far as I understand
16:03<@Alberth>you've looked 100% longer at that code than I have :)
16:03<Wolf01>Still wrong value, read from "int32 value = (int32)ReadValue(var, sd->save.conv);" is 17
16:04<@Alberth>hmm, incremented savegame number?
16:04<Samu>feels like DoBuildLock is the continuation of CmdBuildLock, was split into 2 functions, but why? :(
16:04<Wolf01>Nothing in openttd.cfg
16:04<Samu>brb searching
16:05<Wolf01>I'm on title menu, so it might be the title game
16:05<@Alberth>you need a successful exit for openttd.cfg update
16:06<Samu>Find all "DoBuildLock", Find Results 1, Entire Solution, "" D:\OpenTTD\trunk\src\water_cmd.cpp(361):static CommandCost DoBuildLock(TileIndex tile, DiagDirection dir, DoCommandFlag flags) D:\OpenTTD\trunk\src\water_cmd.cpp(553): return DoBuildLock(tile, dir, flags); Matching lines: 2 Matching files: 1 Total files searched: 1052
16:06<Wolf01>Also, 17 is a good value, it can go from 1 to 32
16:07<Samu>i'm gonna move DoBuildLock into CmdBuildLock, then get rid of DoBuildLock, see what happens
16:07<Wolf01>I think the "ResolveVariableAddress returns the wrong variable
16:09<@Alberth>:o newgrf stuff?
16:09<@Alberth>did some refactoring there, but can't say I understand what it does
16:10-!-Chaoticly [] has left #openttd [Textual IRC Client:]
16:10<@Alberth>although it would open the option to add nifty new features :p
16:12<@Alberth>hmm, typing "git" when you mean "hg" isn't a good thing :p
16:13<Wolf01>I really can't understand, it looks right until DrawString()
16:13<Wolf01>I'm debugging on the DrawSetting
16:14<@Alberth>so it might be STRING2 after all?
16:14<Wolf01>It's the same in "snow_line_height"
16:14<Wolf01>But there it works
16:15<@Alberth>sorry, I have no idea either
16:15<Samu>it works! can compile
16:16<Wolf01>strval = STR_JUST_INT
16:16<Wolf01>Maybe it will do the trick?
16:16<Wolf01>Yup, it does
16:17<Wolf01>I can't understand the wrong default values
16:17<Wolf01>Should be 24 and 16, I got 17 and 10
16:17<Wolf01>Are they hex?
16:19<andythenorth>my Sam plan doesn’t survive first gameplay test :P
16:21<Samu>I killed a function and the game still compiles :)
16:21<Samu>RIP DoBuildLock
16:23<Samu>i also killed MakeLock the other day, but now I brought it back, makes more sense to have it
16:24<Samu>for reading purposes
16:25<andythenorth>240t and 576t ships work fine
16:25<andythenorth>but I want more 100t types - tanker, reefer etc, not just a generic multi-purpose 100t freighter
16:26<andythenorth>especially for secondary or tertiary cargos, which are available in smaller amounts than primary
16:26<@peter1138>should i dust off my dev environment?
16:26<andythenorth>you’re going to make ship newgrf? o_O :P
16:27<@Alberth>nah, just add more patches to the collection :)
16:28*andythenorth made a patch once
16:28<andythenorth>:o I have not done a single BB goal in this game
16:29<andythenorth>the shame
16:31<@Alberth>it's a record :)
16:32<@Alberth>you can't do worse any more either :)
16:33-!-sla_ro|master [] has quit []
16:33<andythenorth>I made my own routes
16:33-!-smoke_fumus [~smoke_fum@] has joined #openttd
16:33-!-smoke_fumus is "smoke fumus" on #qemu #oolite #openttd
16:34<Wolf01>Ok, saving the setting works, so I don't really know were the wrong value came from
16:34<Wolf01>Now, I look to generate more look alike trees in patches
16:37<andythenorth>my game needs multi-docks
16:37<@Alberth>good night
16:37<andythenorth>bye Alberth :)
16:37<Wolf01>nn Alberth
16:37-!-Alberth [~alberth@2001:981:c6c5:1:be5f:f4ff:feac:e11] has left #openttd []
16:38<Wolf01>Did you see the new leaked technic sets?
16:39<Samu>changing variable names again, making their naming more consistent with the rest of the code
16:39<Samu>static inline void MakeLock(TileIndex t, Owner o, Owner oc_lower, Owner oc_upper, DiagDirection d, WaterClass wc_lower, WaterClass wc_upper, WaterClass wc_middle)
16:40<@peter1138>hmm right can't be arsed
16:42<Samu>there is no MakeShipDepotTile
16:42<Samu>only a MakeShipDepot
16:42<Samu>code isn't consistent :(
16:43<Samu>the style or whatever u call it
16:44<andythenorth>peter1138: well you could :)
16:45<andythenorth>Wolf01: yes, not much to say about them
16:45<Wolf01>The Ripsaw imitation looks cool
16:45<Wolf01>The BMW bike... another licensed set which will coost too much
16:46<andythenorth>I have a technic bike, unlikely to ever buy another
16:46*andythenorth should take more lego sets apart
16:46<andythenorth>boring leaving them built up
16:46<Samu> - check it out, there's MakeLockTile and MakeLock, but then for ship depot there's only a MakeShipDepot, the style is different
16:47<Wolf01>You should always buy 2 bikes, so you can have more tyres
16:47<andythenorth>rip saw looks interesting, playability depends on performance
16:48-!-frosch123 [] has quit [Quit: be yourself, except: if you have the opportunity to be a unicorn, then be a unicorn]
16:48<andythenorth>I built a simple track vehicle with 2 M motors, that was quite fun
16:56<Samu>interesting, aqueducts don't need canal owner
16:57<Samu>it always belong to the same company
17:03-!-andythenorth [] has quit [Quit: andythenorth]
17:03<Samu>oh, right, object tiles and industry tiles, brb
17:05<Samu>static inline void MakeIndustry(TileIndex t, Owner oc, IndustryID index, IndustryGfx gfx, uint8 random, WaterClass wc)
17:06<Samu>industries have canal owners
17:06<Eddi|zuHause><Wolf01>!AgUFeOGLNNfVhcgfYqGlZdsBI7EZYw what do you think? <-- maybe make one or two heightlevels where trees don't get into the final growth stages, so they'll be "dwarf" trees?
17:07<Wolf01>That could be nice too
17:07<Wolf01>Do you have any suggestion about finding the nearest tile with a tree?
17:08<Eddi|zuHause>other than a circular search?
17:08<Wolf01>I'm looking at CircularTileSearc
17:08<Eddi|zuHause>never really looked at that
17:09<supermop>Eddi|zuHause: the dwarf tree look would be more convincing if there wasn't bright green grass on every mountain peak then
17:09<Wolf01>It's used to launch a callback which does something on the found tile
17:09<Wolf01>My callback only does "return IsValidTile(t) && IsTileType(t, MP_TREES);"
17:10<Eddi|zuHause>that doesn't sound right
17:10<Wolf01>It's the opposite of what I want to do
17:11<Wolf01>I have a tile on which I need to plant a tree on, and I want to search if a tile in a radius of 2 has a tree, so I'll use that tree type
17:13<Samu>distancemanhattan :p
17:14<Eddi|zuHause>you can use *user_data to store the found tile
17:15<Wolf01>Oh, nice, I was using a static global variable
17:15<Eddi|zuHause>or the tree type of that tile
17:16<Samu>gonna increase the height of bridges over locks, someone requested it to be higher
17:17<Samu>ah, are you going to draw the vehicles correctly on the bridge?
17:17<Eddi|zuHause>well, in compiler construction you learn to think in passing around such references and second-order functions through algorithms
17:18<Eddi|zuHause>that's how CETS works, as well :)
17:18-!-Mavy [Mavy@2a00:1ca8:e:3c8:216:3cff:fe19:83e0] has quit [Quit: No Ping reply in 180 seconds.]
17:18<Eddi|zuHause>supermop: bright green grass needs to be solved separately
17:19<Wolf01>TreeType found_tree = *(TreeType*)user_data; <- this really is nonsense for me, without copying from another piece of code I wouldn't have done that
17:19<supermop>if we want to get pedantic, grass should be its own type of tree
17:19<Eddi|zuHause>supermop: you could technically use the arctic grass, but the problem is, there are no transition tiles
17:19<supermop>shouldbe be solid grassy meadows under a dense forest
17:19-!-Mavy [Mavy@2a00:1ca8:e:3c8:216:3cff:fe19:83e0] has joined #openttd
17:19-!-Mavy is "Mavy" on #openttd
17:19<supermop>* should not be
17:19<Eddi|zuHause>supermop: alternatively, you could turn all tiles above the tree line into rocks
17:20<Wolf01>That's another step, but for the terrain generator
17:20<Eddi|zuHause>supermop: well, forests use an incomplete grass, could use that same grass if there is more than one tree on the tile
17:20<supermop>but then its natural that towns be more upset about loss of mature trees than of young grass
17:21<supermop>Eddi|zuHause: well in alpine areas you may get open vegetated meadows above the treeline
17:22<Eddi|zuHause>supermop: those are tiny details that you can probably ignore at this stage of development
17:22<supermop>but yeah many mountains will have sparse or no herbaceous vegetation near the peaks
17:23<Wolf01>Uh, CircularTileSearch is non clamped on map O_o
17:23<Wolf01>Wait... I used IsValidTile
17:24<Wolf01>Why does it crash with tile > MapSize?
17:24<supermop>Eddi|zuHause: if there is a sparse grass tile, why not use that everywhere, and then have patches of more grassy grass grow to form prairies or meadows
17:25<Eddi|zuHause>Wolf01: because it IsValidTile does not check for map dimensions, only for VOID tiles at the map edge
17:25<supermop>bare rock may be better though - if a steep mountain supports no trees, it is unlikely to support much soil for grass
17:25<Wolf01>No, it checks for map dimmension -> return tile < MapSize() && !IsTileType(tile, MP_VOID);
17:26<Eddi|zuHause>Wolf01: hm, then i don't know
17:27<Eddi|zuHause>the circular search should also try to avoid going over the edge
17:28<Wolf01>TileHeight asserts
17:29<Wolf01>I would like to know the stack...
17:30<Eddi|zuHause>use the debugger?
17:30<Wolf01>I'm using the debugger
17:30<Eddi|zuHause>the debugger should show you the stack
17:32<Wolf01>GetRandomTreeType which calls the TileHeight
17:33<Wolf01>I think the CircularTileSearch modifies the tile
17:42<Wolf01>Shouldn't the CircularTileSearch make a copy of tile?
17:42<Eddi|zuHause>why do you pass &tile in there?
17:42<Wolf01>It reuses the same variable to store the new tile
17:43<Wolf01>It's the starting tile
17:44<Eddi|zuHause>yeah, you need to make the copy
17:44<Eddi|zuHause>Tile t = tile; and then pass &t
17:44<Wolf01>Ok, I did now, but why *I* need to make the copy, shouldn't be the function?
17:45<Eddi|zuHause>that would be inefficient
17:45<Wolf01>Also, user_data is not changed back
17:46<Wolf01>Should I change it back like the cast I did before?
17:46<Eddi|zuHause> * @param tile to start the search from. Upon completion, it will return the tile matching the search.
17:46<Wolf01>Ok, so I could just return the check
17:47<Eddi|zuHause>pro tip: read the documentation of the function you're trying to use :p
17:47<Eddi|zuHause>(also, you need to perform a "is valid tile" check on that result, in case no tree was found)
17:47<Wolf01>Eh, intellisense didn't return anything, so I assumed there was none, usually I read that
17:48<Eddi|zuHause>it's on the definition of the function in map.cpp, not on the declaration in map_func.h
17:51<Wolf01>Mmmm, I expected more patches of similar trees, but there's already an improvement
17:55<Samu>if ((GetLockPart(tile) == LOCK_PART_MIDDLE || GetLockPart(tile == LOCK_PART_UPPER) && GetTileMaxZ(tile) + 1) || GetLockPart(tile) == LOCK_PART_LOWER && GetTileMaxZ(tile) + 2 > z_start) return_cmd_error(STR_ERROR_BRIDGE_TOO_LOW_FOR_TERRAIN);
17:55<Samu>big line, hopefully it does what i want
17:57<Samu>if (IsLock(tile) && ((GetLockPart(tile) == LOCK_PART_MIDDLE || GetLockPart(tile == LOCK_PART_UPPER) && GetTileMaxZ(tile) + 1) || GetLockPart(tile) == LOCK_PART_LOWER && GetTileMaxZ(tile) + 2 > z_start)) return_cmd_error(STR_ERROR_BRIDGE_TOO_LOW_FOR_TERRAIN);
17:59<Wolf01>What do you think?
17:59-!-Supercheese [] has joined #openttd
17:59-!-Supercheese is "Supercheese" on #openttd #openttdcoop.devzone
18:01-!-gelignite [] has quit [Quit:]
18:05<Eddi|zuHause>no opinion so far
18:05<Wolf01>I have a 32MB screenshot of a whole map if you wany
18:06<Wolf01>It is really cool
18:07-!-Progman [] has quit [Remote host closed the connection]
18:08<Eddi|zuHause>a before/after comparison would be nice
18:08<Wolf01>Last image is original
18:08<Wolf01>There's a title
18:09<Eddi|zuHause>then the page layout is weird
18:09<Wolf01>Yup, I'll rearrange the images now
18:10<Eddi|zuHause>anyway, i think i like the 8 tile version best
18:11<Wolf01>Refresh the page
18:12<Wolf01>I loaded some images of a generated map
18:13-!-HerzogDeXtEr [] has quit [Read error: Connection reset by peer]
18:18<Wolf01>Added a 16 tiles radius image
18:18<Wolf01>There you can really see the patches of trees
18:19<supermop>Wolf01: cool
18:26-!-urdh [] has quit [Ping timeout: 480 seconds]
18:30<supermop>is the effect just to have trees prefer to grow with their same species?
18:31<supermop>but there isn't anything to saw make oaks not grow on high mountains
18:31<Wolf01>Manual planting is not affected
18:31<Wolf01>There is that too, but the height is low
18:32<supermop>with pines at high elevation and deciduous trees at low elevation
18:32<Wolf01>Yes, it's there
18:35<Wolf01>With a 32x radius is wonderful, but it can really slow down a bit
18:36<supermop>ok off to home
18:39<Wolf01>Made it customizable from settings
18:40<Wolf01>0 (original) up to 32
18:40<Wolf01>By steps of 4, maybe 8 fits it best?
18:41-!-urdh [] has joined #openttd
18:41-!-urdh is "Simon Sigurdhsson" on #openttd #fish #moocows
18:43<Eddi|zuHause>the distinction between tree types for heghts might get tricky with newgrf trees
18:43<Wolf01>As now I just loaded temperate tree below evergreen height and arctic trees above
18:44<Eddi|zuHause>that might work
18:44<Eddi|zuHause>but you might give newgrfs more control
18:45<Wolf01>I might... but I don't know how to do
18:46<Wolf01>I like to do patches like this one, the "one day patches"
18:55<Wolf01>There's just a little problem with temperate trees on arctic, they won't be covered in snow
18:56<Wolf01>So I think I'll clamp the values to the snowline
18:56<Eddi|zuHause>hehe :)
18:56<Eddi|zuHause>i wouldn't mess with the snow line
18:57<Wolf01>Nah, I won't touch it, just read the value
18:58<Eddi|zuHause>i mean, the snowline should have no effect in temperate whatsoever
18:58<Samu>gonana try a case/switch
18:58<Eddi|zuHause>snowline and treeline should be completely independent things
18:59<Eddi|zuHause>(especially with the snowline varying through the seasons)
18:59<Wolf01>And if you load the "snow on temperate" grf?
18:59<Wolf01>Or that's arctic only?
18:59<Eddi|zuHause>that does nothing in openttd
19:00<Eddi|zuHause>the closest you get to "snow in temperate" is loading the temperate grass in snowy climate
19:00<Wolf01>Ok, maybe I did that
19:01<Wolf01>Yup, totally dis that
19:02<Wolf01> I did this, but I get strange results for the variable snow line... like "now it's 5... now it's 251"
19:03-!-FLHerne [] has quit [Ping timeout: 480 seconds]
19:03<Wolf01>The no_trees_height could be as is and not related to the snowlone
19:03<Samu>darn, locks are already so limiting, are you sure you want bridge height raised?
19:03-!-Gja [] has quit [Quit: Going offline, see ya! (]
19:03<Eddi|zuHause>you could use the max snow line instead of the current snow line
19:04<Wolf01>Not the min snow line?
19:04<Wolf01>Wait, min is in summer?
19:04<Samu>that yup is for me?
19:04<Eddi|zuHause>min is summer, max is winter
19:04<Samu>sorry for interrupting
19:04<Wolf01>Yes Sacro
19:04<Eddi|zuHause>err no
19:04<Eddi|zuHause>other way around
19:05<Eddi|zuHause>min is winter, max is summer
19:05<Samu>alright then
19:05<Wolf01>Ok, then it's min
19:05<Eddi|zuHause>if it's still snowy in the summer, no trees will grow there
19:05<Eddi|zuHause>(btw this will conflict with the rather silly forest limitation for arctic climate)
19:06-!-FLHerne [] has joined #openttd
19:06-!-FLHerne is "Francis Herne" on #openttd
19:06-!-tycoondemon [] has quit [Ping timeout: 480 seconds]
19:06-!-FLHerne [] has quit []
19:06-!-Biolunar [] has quit [Ping timeout: 480 seconds]
19:07<Wolf01>Bah, just don't configure the "no trees" too low
19:10-!-tycoondemon [] has joined #openttd
19:10-!-tycoondemon is "..." on #openttdcoop.stable #openttdcoop #openttd
19:11<Wolf01>Oh, shit, my 2 patches conflict, raising the radius make the no trees ineffective
19:13<Wolf01>Meh... PantTreesOnTile doesn't use the GetRandomTreeType
19:13<Wolf01>I should move the checks there
19:14<Wolf01>Or in CanPlantTreesOnTile for the no trees height
19:14<Wolf01>No, that will assert
19:16<Wolf01>But I don't want to limit the manual placement
19:16<Eddi|zuHause>i'm assuming you're teddy-bear-programming and don't actually expect me to answer you
19:17<Wolf01>No, but now yes: should I limit also the manual planting?
19:18<Eddi|zuHause>yes, except in the scenario editor
19:19<Wolf01>Ok, I need to put down a lot of notes on what to do
19:19<Eddi|zuHause>also, you should probably extend the tree gui to show which trees can be planted where
19:19<Wolf01>And grf trees support
19:22<Wolf01>Ok, there's only one assert, I could split that in 2 functions, one for the assert and one for the height
19:23<Samu>Wolf01: - really limits the options on hilly terrain
19:23<Wolf01>Looks right now
19:24<Wolf01>Test if it glitches with ships
19:31-!-tokai|noir [] has joined #openttd
19:31-!-mode/#openttd [+v tokai|noir] by ChanServ
19:31-!-tokai|noir is "Christian Rosentreter" on +#openttd
19:32<Samu>it's less prevalent but still happens
19:32<Samu>those lamp posts
19:34<Samu>bridge pilars
19:34<Wolf01>Those would glitch even without the lock
19:34<Samu>even the lock structure
19:36<Samu>what can be done about it?
19:37<Samu>part of the lock structure and lamp posts resurfaces over the bridge
19:37<+glx>you can't do anything about it
19:38<Samu>but at least the ship below does not show anymore
19:38<Samu>at least in this test
19:38-!-tokai [] has quit [Ping timeout: 480 seconds]
19:39<Wolf01>That's really good
19:40<Samu>gonna try with road vehicles or trains now
19:47<Samu>only the lower tile is glitch-free apparently
19:48<Wolf01>No problem, at least the ship does not pass through bridges now
19:49<Wolf01>And I think I'll go to bed
19:49-!-Wolf01 [] has quit [Quit: Once again the world is quick to bury me.]
19:51<Samu>hmm I dunno, I wanted it to be glitch free, but not at the cost of raising the bridge height. I don't like the limitation it imposes for water construction
19:59<Samu>anyway I'm gonna post it
20:14-!-Vikhenzo [~oftc-webi@] has joined #openttd
20:14-!-Vikhenzo is "OFTC WebIRC Client" on #openttd
20:18<Vikhenzo>If I'm hosting a server in the same computer as I play
20:19<Vikhenzo>can I make it so they don't share client names?
20:19<Vikhenzo>cause I change it in openttd.cfg to "Server" and then I change it ingame and it works fine
20:19<Vikhenzo>but it's a pain
20:20<+glx>use a different cfg for client and server
20:21-!-Samu [] has quit [Remote host closed the connection]
20:23<+glx>you can start one openttd using "-c <file>" in command line
20:24-!-THERetroGamerNY [] has joined #openttd
20:24-!-THERetroGamerNY is "Mutter User" on #openttd
20:31<Vikhenzo>great thanks!
20:48<Fujk>is there a fast way to find industry routes, like draw a line between coal and steel mill on the map? before you build anything
20:50<Eddi|zuHause>you can enable and disable industries on the minimap
20:51<Eddi|zuHause>by clicking on them in the list
20:51<Eddi|zuHause>there might even be a blinking mode
20:53-!-THERetroGamerNY [] has quit [Quit: Be blessed!]
20:54-!-JezK_ [~jez@2407:7800:400:107f:3db5:daca:8457:e66a] has joined #openttd
20:54-!-JezK_ is "jez" on #openttd #love
20:55-!-smoke_fumus [~smoke_fum@] has quit [Read error: Connection reset by peer]
21:02<Fujk>will trucks driving a really long way lose profit eventually?
21:05<Eddi|zuHause>you can find profit calculation stuff in the wiki
21:22-!-tragique [] has joined #openttd
21:22-!-tragique is "realname" on #openttd #openjdk
21:27-!-Flygon [] has joined #openttd
21:27-!-Flygon is "Flygon" on #openttd
21:27-!-seatsea_ [~seatsea@2a01:e34:edea:9810:597f:a8df:a2e8:b8a] has joined #openttd
21:27-!-seatsea_ is "realname" on #openttd #osm
21:34-!-seatsea [~seatsea@2a01:e34:edea:9810:597f:a8df:a2e8:b8a] has quit [Ping timeout: 480 seconds]
21:47-!-tragique [] has quit [Quit: tragique]
22:06-!-glx [] has quit [Quit: Bye]
22:34-!-Vikhenzo [~oftc-webi@] has quit [Quit: Page closed]
22:45<Fujk>can you copy orders from one vehicle to another?
22:47<Fujk>ah you just had to click a vehicle, nice
23:00-!-Snail [] has joined #openttd
23:00-!-Snail is "Jacopo Coletto" on #openttd
23:26-!-supermop_ [] has joined #openttd
23:26-!-supermop_ is "A CIRC user" on #tycoon #openttd
23:26<supermop_>that was depressing
23:28<goodger>supermop_: terminator prototype rejected for insufficient empathy meets baby's first hitler parody?
23:28<sim-al2>I don't know about parody
23:29<supermop_>i dont have any complaints about clinton (not current complaints)
23:29<supermop_>never strongly supported her before but she is a consummate professional - i dont have a problem with that
23:30<supermop_>but i'd managed to largely avoid having to listen to trump speak for the past 2 years
23:30<sim-al2>Maybe more like eyeballing a certain Italian
23:30<supermop_>just reading about the latestwas bad enough
23:30<sim-al2>I wish I could have avoided listening him for the last two years
23:30<sim-al2>It would help the sanity greatly
23:31<supermop_>but listening to him string together nonsensical strings of words was worse than i imagined
23:31<supermop_>sim-al2: i dont own a tv
23:31<supermop_>watched debate at a bar
23:31<sim-al2>I listen to podcasts and radio
23:31<sim-al2>Still ended up hearing far too much
23:31<sim-al2>At first it was kinda funny
23:32<sim-al2>But then it wasn't
23:32<goodger>I more or less ignored it and I bet I know just as much about the candidates' suitability to rule the free world as you guys :P
23:32<sim-al2>I don't really watch much TV anymore
23:32<supermop_>also he seemed to both admit that he did refuse to rent apartments to black people, and that he had no idea what nuclear first use means
23:32<sim-al2>Among other things
23:32<goodger>mutually assured destruction is gonna be huge
23:33<sim-al2>I waiting for the morning to see what the Fox News spin will be
23:33<sim-al2>Should be hilarious
23:33<supermop_>i mean i feel like at least go into a debate without admitting to committing several federal crimes and bragging about getting away with it...
23:33<supermop_>breitbart will be worse
23:33<sim-al2>I literally don't care what Breitbart thinks
23:34<supermop_>but ill have to wait to see what someone sensible reports on what breibart spins
23:34<sim-al2>Supposedly 1/3 of their online poll thinks Trump lost though
23:34<sim-al2>Which is actually kinda mindblowing coming from that site
23:35<supermop_>also - if you are going to be coked up for a tv appearance, make sure you can handle it
23:35<supermop_>so you arent sniffing the whole time
23:35<sim-al2>The spin they put could be hilarious, but I imagine it will just be a giant whine-fest
23:36<supermop_>moderator could have done with some more detailed questions
23:36<sim-al2>Yeah, he should have been firmer too
23:37<supermop_>but not like we would have gotten any better of answers
23:38<supermop_>also his response to the question of police shootings and protests basically refused to acknowledge the question
23:39<sim-al2>Pretty relevant to how he responded
23:39<supermop_>look i get that this guy isnt going to be at black lives matter protests, but if someone asks you about them, at least mention that they exist
23:39<supermop_>instead of calling for the type of unconstitutional police action that people are protesting
23:40<sim-al2>And failing to ackowledge that it was unconstiutional!
23:40<sim-al2>Like, what
23:40<sim-al2>And he threw in a "the judge was against police" too
23:41<supermop_>even nypd has admitted, now that its been gone for years, that things are going better now without it
23:42<supermop_>actually at lunch today an older black nypd detective was sitting next to me, talking to a younger guy
23:42<supermop_>about how he now works on a community outreach team
23:43<supermop_>and about the difficulties of fighting a lot of the FOP mentality from within the NYPD, but how that now they are starting to make progress
23:44<supermop_>even though some of the unions are against it, the police leadership in ny is looking at how to avoid many of the issues that PDs are having in other cities
23:44<sim-al2>Yeah, nuance in "law and order" politics is kinda rare, but this year is really quite astonishing
23:45<supermop_>i doubt you'd find many, or any senior NYPD people today who would fight to bring stop and frisk back
23:45<sim-al2>I think it shows how disconnected Trump is from where he lives
23:46<supermop_>no one here acccepts that guy as a new yorker
23:46<sim-al2>Oh I understand that
23:47<sim-al2>It's just hilarious that he has literally no clue
23:47<Fujk>I have a train with 2 cargo types, metal and iron ore, how can I use one station to transfer the metal and load the ore, not transfer the metal and load the metal I just unloaded?
23:48<supermop_>in every city with a big trump building or hotel, its a joke - everyone think it is the tackiest building in town
23:48<supermop_>Fujk: its difficult
23:48<supermop_>you need cargodist for all cargoes
23:49<sim-al2>Wouldn't the metal stay if only ore is accepted at the station?
23:49<supermop_>and even then it usually ill not work unless you have already set up a link,
23:49<supermop_>then use refit to any available cargo order
23:50<supermop_>but first you will need some way to establish the cargo paths, either a small train or trucks that carry only metal and only ore, and make the same journey that you want your train to make
23:51<supermop_>sim-al2: sounds like nothing is accepted at station - metal is transfered
23:52<supermop_>Fujk: the first thing you need is a vehicle to carry the transfered metal away to it's destination, so cargodist can 'see' that link
23:52<sim-al2>Oh, I see
23:52<supermop_>then transfered metal will naturally get off the train and wait to get taken away
23:52<sim-al2>So if I understand, the train is loaded with both ore and metal already?
23:53<sim-al2>But only the ore needs to be transferred
23:53<Fujk>also I think I found a bug. when I build a vehicle station that is not inline with the road, but on the side. I get "cant go there" when I try to do an order for a vehicle
23:54<supermop_>then you need to establish a link for the ore, so train will refit to and load the ore (assuming the same wagons carry both ore and metal)
23:54<supermop_>Fujk: road vehicles that bend - have a trailer, cannot use the dead-end stops
23:55<supermop_>only rigid vehicles, like a regular bus, or short rigid truck
23:56<supermop_>the bendy vehicles cannot turn around in such a small space - think of driving a car with a trailor, it is too difficult to reverse into a small space
23:59<sim-al2>Yeah, those dead-end stops involve some incredible flip action
---Logclosed Tue Sep 27 00:00:29 2016