Back to Home / #openttd / 2019 / 05 / Prev Day | Next Day
#openttd IRC Logs for 2019-05-03

---Logopened Fri May 03 00:00:23 2019
01:40-!-andythenorth [] has joined #openttd
01:40-!-andythenorth is "andythenorth" on #openttd
02:31-!-tycoondemon [] has joined #openttd
02:31-!-tycoondemon is "..." on #openttd
02:33<@peter1138>Ye sno
02:37<@peter1138>andythenorth, another useful SYL contribution...
02:38<@peter1138>andythenorth, telling other people not to bug JGR! lolz
02:38<andythenorth>it's not that I'm never an asshole
02:38<andythenorth>it's just that I know when I am
02:46<DorpsGek_II>[OpenTTD/OpenTTD] PeterN commented on pull request #7560: Make GSGoal.QuestionClient work correctly at least for clients with ID < 2**13
03:27-!-andythenorth [] has quit [Quit: andythenorth]
03:34-!-sla_ro|master [] has joined #openttd
03:34-!-sla_ro|master is "slamaster" on #sla #openttd
03:37-!-Supercheese [] has quit [Read error: Connection reset by peer]
03:37-!-Supercheese [] has joined #openttd
03:37-!-Supercheese is "Caseum" on #openttd
03:41-!-gelignite [] has joined #openttd
03:41-!-gelignite is "gelignite" on #openttd
03:50<DorpsGek_II>[OpenTTD/OpenTTD] nielsmh merged pull request #7544: Fix #7481: Don't modify oil rig stations during removal
03:50<DorpsGek_II>[OpenTTD/OpenTTD] nielsmh closed issue #7481: kdtree.hpp crash when Oil Rig is removed
03:52<DorpsGek_II>[OpenTTD/OpenTTD] nielsmh commented on issue #7562: Feature Request: Add drag functionality to land purchase tool
03:54<DorpsGek_II>[OpenTTD/OpenTTD] tbasten commented on issue #7562: Feature Request: Add drag functionality to land purchase tool
03:55-!-andythenorth [] has joined #openttd
03:55-!-andythenorth is "andythenorth" on #openttd
03:58-!-Supercheese [] has quit [Quit: Valete omnes]
04:22<andythenorth>3 company colours? o_O
04:28<@peter1138>But I can maybe carry on working on RGB colours if that's desired.
04:29<@peter1138>Weird how station coverage display isn't quite working how I designed it :p
04:58<DorpsGek_II>[OpenTTD/OpenTTD] ldpl commented on pull request #7560: Make GSGoal.QuestionClient work correctly at least for clients with ID < 2**13
05:00<_dp_>actually, afaict full client id has undefined size :/
05:00<_dp_>coz enum
05:03<_dp_>so for all c++ standard cares it can be 8 bits and crash everything
05:04<_dp_>also it's not just client id, a lot of openttd code assumes enums to be 4 bytes
05:07<Eddi|zuHause>isn't that what assert_compile should handle?
05:07<_dp_>typed enums ftw
05:09-!-tycoondemon [] has quit [Read error: Connection reset by peer]
05:16-!-tycoondemon [] has joined #openttd
05:16-!-tycoondemon is "..." on #openttd
05:17<@peter1138>Okay so maybe I should resurrect my client-id-wrapping patch.
05:19<@peter1138>But even so, 16 bits is better than 13 bits.
05:19-!-APTX_ [] has joined #openttd
05:19-!-APTX_ is "APTX" on #openttd #kernelnewbies
05:19<_dp_>can we just do a quick fix for 1.9.2 and proper stuff later?
05:23<_dp_>idk what your patch does but to me it seems 8 bits of id is enough as 32 are only needed while connecting which is only between server and that specific client so probably doesn't need id at all
05:25<Eddi|zuHause>a "connection ID" separate from "client ID"?
05:25<_dp_>Eddi|zuHause, yeah, or it may not need id at all
05:25<_dp_>Eddi|zuHause, it doesn't seem like anything needs to reference it by that id
05:25<_dp_>at that point
05:25<Eddi|zuHause>i don't know enough about the internals to judge that
05:26<_dp_>I didn't dig too deep either
05:26<_dp_>imo it's 1.10-type fix anyway to proper deal with it
05:27<_dp_>just because it'll change some underlying stuff and will need more testing
05:29<@peter1138>Well, I'd rather tha quick fix was with 16 bits than 13 bits.
05:30<@peter1138>Or just wait til 1.10 :p
05:30<@peter1138>Everybody plays JGRPP these days anyway, apparently.
05:30<_dp_>ok, how should I do it, just add another commit to pr or finally learn all git-amend-whatever thing? xD
05:30<@peter1138>git amend is super easy, I don't know what you'd need to learn.
05:31<_dp_>idk either, just never done it before
05:31<@peter1138>Just add "--amend" and ... it will amend the last commit.
05:31<_dp_>mostly using mercurial so this whole history rewriting is kinda new to me xD
05:31<@peter1138>If it's not the last commit, then you just make a new commit and then use fixup with rebase.
05:31<@peter1138>mercurial was shit though.
05:36*LordAro covers planetmaker's ears
05:37-!-gareppa [~gareppa@] has joined #openttd
05:37-!-gareppa is "gareppa" on #llvmlinux #ext4 #mm #moocows #oftc #openttd #scilab #C
05:37<Artea>year 3515
05:37<@peter1138>That's exciting!
05:38<Eddi|zuHause>don't bother coming in here before year 5000000
05:38<@peter1138>Anyway 8 bit client ID means you can't have 255 connections.
05:39<@peter1138>There's a few reserved values.
05:40<Artea>I need a maker to my planet
05:40<_dp_>oh, I'm sure noone will care if that becomes 253 :p
05:41<Artea>I need a standalone console :(
05:42*_dp_ has about 20 tabs of console open
05:42<Artea>webadmin for ottd please
05:46<Artea>your have timestamps
05:47<Artea>7 airplanes crashed
05:48<Artea>Yann is going win
05:48<Artea>he is making more money than me right now
05:54-!-Gustavo6046 [~Gustavo60@2804:14d:4cd8:81a4:56a:a3d9:68cf:d88d] has joined #openttd
05:54-!-Gustavo6046 is "Non dico nomen." on #openttd #oftc #moocows
05:58-!-gelignite [] has quit [Quit: Good fight, good night!]
06:03-!-gareppa [~gareppa@] has quit []
06:05-!-andythenorth [] has quit [Quit: andythenorth]
06:08-!-Gustavo6046 [~Gustavo60@2804:14d:4cd8:81a4:56a:a3d9:68cf:d88d] has quit [Ping timeout: 480 seconds]
06:22<DorpsGek_II>[OpenTTD/OpenTTD] ldpl updated pull request #7560: Make GSGoal.QuestionClient work correctly at least for clients with ID < 2**13
06:31-!-andythenorth [~andytheno@] has joined #openttd
06:31-!-andythenorth is "andythenorth" on #openttd
07:19<andythenorth>is it lunch?
07:19<andythenorth>how many carolies?
07:23<Artea>not yet
07:23<Artea>Dragon Ball Super is on
07:34*Artea on elGuitar Tom - Shawn's Got the Shotgun
07:38<Artea>this DooM Concert is so awesome
07:53<@peter1138>I've not lunched yet.
07:54<@peter1138>Mine is ~ 170 carolies though, cos I added brie.
07:55<@peter1138>Mmm, that's pretty mature brie...
07:56*Artea on EGT - Nobody Told Me About iD
07:58<@peter1138>I think it was à consummer avant mid-April.
08:01<Artea>I <3 that mix
08:04<@peter1138>MOD files, eh?
08:04<@peter1138>Well, tracker-style visualisation, anyway.
08:05<@peter1138>And now my caek has gone.
08:05-!-Samu [] has joined #openttd
08:05-!-Samu is "realname" on #openttd
08:06<@peter1138>500 carolies after lunch. I should have more.
08:16-!-HerzogDeXtEr [] has joined #openttd
08:16-!-HerzogDeXtEr is "purple" on #openttd
08:24-!-gelignite [] has joined #openttd
08:24-!-gelignite is "gelignite" on #openttd
08:24<andythenorth>I had mostly salad
08:24<andythenorth>but also halloumi
08:24<andythenorth>meat free
08:24<andythenorth>one meat a day
08:25<andythenorth>fix climate change
08:41<@peter1138>Oh not again andythenorth
08:47<Artea>UAC OS v2.0
08:48<Artea>that helmet in Brutal DooM is awesome
08:59-!-gnu_jj [] has quit []
09:00-!-gnu_jj [] has joined #openttd
09:00-!-gnu_jj is "jj" on #ceph #openttd #ceph-devel
09:25-!-nielsm [] has joined #openttd
09:25-!-nielsm is "Niels Martin Hansen" on #openttd
09:35<Samu>Rythorn Airline AI has won for the first time!
09:35<Samu>vs Rondje
09:54*Artea on OTTD - Harp harmony 'n humor
10:14-!-HerzogDeXtEr1 [] has joined #openttd
10:14-!-HerzogDeXtEr1 is "purple" on #openttd
10:17-!-spnda [] has joined #openttd
10:17-!-spnda is "OFTC WebIRC Client" on #openttd
10:18-!-Wormnest [~Wormnest@] has joined #openttd
10:18-!-Wormnest is "Wormnest" on #openttd
10:20-!-HerzogDeXtEr [] has quit [Ping timeout: 480 seconds]
10:28-!-Gumle2 [] has joined #openttd
10:28-!-Gumle2 is "Martin" on #ceph #bcache #openttd
10:44<spnda>So uh, has the docker issue on linux been fixed yet?
10:54<@LordAro>spnda: yes
10:54<@LordAro>if you rebase your PR, it should build
10:56<spnda>just rebase and then simply push?
10:57<@LordAro>force push, yeah
10:58<DorpsGek_II>[OpenTTD/OpenTTD] spnda updated pull request #7550: Add: Screenshot window (& simplify the about/help DropDown)
11:02-!-sla_ro|master [] has quit []
11:25-!-Flygon [] has quit [Quit: A toaster's basically a soldering iron designed to toast bread]
11:57-!-Gustavo6046 [~Gustavo60@] has joined #openttd
11:57-!-Gustavo6046 is "Non dico nomen." on #openttd #oftc #moocows
12:19-!-andythenorth [~andytheno@] has quit [Quit: andythenorth]
12:20-!-glx [] has joined #openttd
12:20-!-mode/#openttd [+v glx] by ChanServ
12:20-!-glx is "Loïc GUILLOUX" on #openttd.noai #openttd.notice +#openttd
12:24-!-Progman [] has joined #openttd
12:24-!-Progman is "Peter Henschel" on #openttd
12:28-!-andythenorth [~andytheno@] has joined #openttd
12:28-!-andythenorth is "andythenorth" on #openttd
12:34-!-VoId23[m] [~avoid23ma@2001:470:1af1:101::3741] has joined #openttd
12:34-!-VoId23[m] is "" on #openttd
12:37<andythenorth>pretty quiet
12:37<DorpsGek_II>[OpenTTD/OpenTTD] stale[bot] commented on issue #7296: Can't type non-latin symbols from keyboard in game on linux
12:38<V453000>YO LOL HOW U DOIN
12:39*V453000 shouts
12:39<nielsm>oh right, maybe the newgrf version ("revision number") should be bumped in master because of NRT?
12:40<andythenorth>and also we should bump bananas when we do a release
12:42<+glx>is a good idea ?
12:46<Eddi|zuHause>hm... is there an alternative console key? because the current one happens to be on a dead key, and that doesn't seem to work
12:47<+glx>press it twice ?
12:48<Eddi|zuHause>doesn't work either
12:48<+glx>on windows I think it works, but I can't really test
12:49<Eddi|zuHause>maybe i just use a different keyboard layout...
12:49<andythenorth>so is nforenum maintained?
12:49<nielsm>glx: it's probably a good idea to get rid of that grow function yes
12:49<Eddi|zuHause>andythenorth: you mean more or less than nmlc?
12:49<nielsm>(and get less raw pointers)
12:49<@LordAro>andythenorth: i'm not entirely sure anyone knows how to bump bananas
12:50<andythenorth>Eddi|zuHause: no I mean specifically, instead of nml's vague situation
12:50<andythenorth>I thought nforenum had been officially dropped
12:50<@LordAro>glx: i like it (grow removal)
12:50<Eddi|zuHause>andythenorth: i really don't think the situation is any different.
12:51<DorpsGek_II>[OpenTTD/OpenTTD] glx22 opened pull request #7563: Remove grow() helper function
12:51<nielsm>glx, typo in midifile.cpp:131, "info" should be "into"
12:51<+glx>I copy pasted the above function ;)
12:52<@LordAro>glx: block->data.end()-1 could be .back()
12:52<DorpsGek_II>[OpenTTD/OpenTTD] Nik-mmzd commented on issue #7296: Can't type non-latin symbols from keyboard in game on linux
12:52<+glx>ah yes, that seems better
12:54<andythenorth>oh I see
12:55<@peter1138>andythenorth, my issue is you going around telling everyone it's unmaintained just becuase it HASN'T NEEDED TO BE CHANGED
12:55<@peter1138>Woah caps lock :/
12:55<andythenorth>yeah I'm NOT ARGUING ABOUT THAT
12:55<andythenorth>I was about to adjust my post
12:56<andythenorth>more accurately, the former maintainers are not here, and/or have said they will not maintain it
12:56<+glx>it's in grfcodec repo anyway
12:57<+glx>it's on github now :)
12:57<andythenorth>oh lordaro has commits there :)
12:58<@LordAro>i deny everything
12:59<Eddi|zuHause>18:33 <Eddi|zuHause> you need state machines for transition tiles
12:59<Eddi|zuHause>18:33 <Eddi|zuHause> i.e. it will never(TM) happen
12:59<Eddi|zuHause>uhm... yeah.
12:59<Eddi|zuHause>apparently nothing changed in two years :p
12:59<@peter1138>It's always "you need a state machine" rather than "hey guys I've MADE this state machine that WORKS"
13:01<andythenorth>should I search for 'eddi' and 'state machine' :)
13:01<andythenorth>we all have our thing :P
13:01<Eddi|zuHause>is that better than "eddi" and "is/are overrated"?
13:03<andythenorth>top result seems to be unrelated :P Eddi|zuHause
13:03<andythenorth>it's like a bizarre car crash, watching front end web devs learn about state
13:04-!-Wolf01 [] has joined #openttd
13:04-!-Wolf01 is "Wolf01" on #openttd
13:04<Eddi|zuHause>i don't think your search method is particularly optimized :p
13:04<andythenorth>"Eddi|zuHause state machine webster"
13:04<andythenorth>could probably do better
13:04<Eddi|zuHause>more like ""
13:05<DorpsGek_II>[OpenTTD/OpenTTD] glx22 updated pull request #7563: Remove grow() helper function
13:06<andythenorth>"<frosch123> Eddi|zuHause: how about ripping out the state machine of airports instead :p"
13:06<spnda>I can't seem to find the code where a roadveh (bus) gets told to stop at a station, can anyone help me out?
13:07<andythenorth>164 results for state machine and eddi :P
13:07<+glx>should be somewhere around orders handling
13:07<spnda>uh I'll check there...
13:08<spnda>Ah yes, that seems to be what I am searching for, order_cmd.cpp
13:08<@peter1138>Eh, vehicle tick handler will do the actual stopping.
13:08<spnda>Well it's more about orders for what I am searching about
13:08<Eddi|zuHause>andythenorth: the words "eddi" and "state machine" appear 97 times in the same line in my log
13:08<spnda>Not the actual way of how it stops
13:10<Eddi|zuHause>[15. April 2010] [16:43:57] <Eddi|zuHause> ... anyway, it's basically SimCity 4-style "puzzle tiles" with newgrf-airport-style state machines for vehicle movement
13:11<Eddi|zuHause>apparently nothing changed in 9 years
13:12<andythenorth>'nothing' :D
13:12<spnda>Are there any methods to get the destination of a cargo, or all destinations of all cargos at a station?
13:18<Eddi|zuHause>what kind of "method" are you looking for?
13:19<Eddi|zuHause>in the gui, you can click on the little "+" icon
13:20<Eddi|zuHause>but those numbers are only simulated, based on probability, only the neyt hop numbers are actually known to the station/cargo at any moment
13:21<spnda>What enum value, I guess, do I pass to Vehicle->type?
13:22-!-Corns [~oftc-webi@] has joined #openttd
13:22-!-Corns is "OFTC WebIRC Client" on #openttd
13:22<spnda>Eddi|zuHause, well yeah, a method which lists all stations all of the passengers/cargo at a station want to go to
13:22<spnda>If that doesn't exist I guess I'll have to do it myself
13:23<+glx>it should exist in gui, but maybe without an explicit function
13:24<Corns>feature request: voluntary company merging in multiplayer
13:24<spnda>oh hey corns
13:24<Corns>hello :)
13:24<Corns>is it just a matter of exposing the command request?
13:25<Eddi|zuHause>Corns: might open up some abuse potential
13:25<Corns>how so?
13:26<Corns>oh like, the company deliberately inducing heavy expenses before merge
13:26<spnda>ok to make it easy, can I check if a station has a specific cargo at the station?
13:26<Eddi|zuHause>spnda: check from where?
13:26<spnda>Code, C++
13:27<Eddi|zuHause>needs more context
13:27<spnda>Like uh, I have a StationID, and I want to check if the station with that ID has cargo, passengers, waiting at exactly that station at that moment
13:28<Eddi|zuHause>spnda: maybe you want to look at the station list window for reference
13:29<+glx>StationViewWindow::BuildCargoList() may do something like that
13:30<spnda>glx, that doesn't take a StationID though
13:31<Eddi|zuHause>spnda: there might exist a "Station::FromID(id)" function
13:32-!-andythenorth [~andytheno@] has quit [Quit: andythenorth]
13:34<+glx>basically BuildCargoList() parses st->goods[i].cargo where st is a station
13:35<spnda>Oh I was looking at the wrong BuildCargoList
13:35<+glx>well one BuildCargoList calls the other one :)
13:39<spnda>so I could just do st->goods, where st is my StationID, and would it return the amount?
13:39<Corns>Eddi|zuHause oh i see, abuse via starting new companies and merging them into a main company
13:39<Corns>in order to get free infrastructure/funds
13:40<@peter1138>Time restrict it, and... do accounting properly :p
13:40<Corns>maybe they could require - yeah, an age or company value requirement
13:41<Corns>modifiable in game settings (per save so that multiplayer server owners can control it)
13:43<+glx>spnda: no, st is a Station, not a StationID, but you can get a Station from the StationID
13:44<spnda>What's that functions name called
13:44<Corns>bleh i'm gonna shelve that idea for now and go back to pathfinding
13:48<+glx>Station::Get(stationID) should give you the station from the id
13:52<+glx>then you'll have st->goods[cargo_type].cargo with the cargo packets of cargo waiting in this station
13:53<spnda>Yeah I figured
13:53<spnda>I'm doing station->goods[0].cargo.AvailableCount;
13:53<spnda>Actually I have to replace that 0 with the cargo_type...
13:54<+glx>0 is CT_PASSENGERS
13:54*peter1138 mumbles something about assuming cargo types :/
13:54<spnda>What's the difference between CT_PASSENGERS and CC_PASSENGERS?
13:55<+glx>peter1138: in the enum it is ;)
13:55<@peter1138>Cargo type vs cargo classes.
13:55<+glx>but of course can be redefined by newgrf
13:55<spnda>ah right...
13:55<+glx>a cargo type can be of some cargo class
13:56<+glx>like a tourist cargo can have passenger class
13:58-!-Corns [~oftc-webi@] has quit [Remote host closed the connection]
14:02-!-andythenorth [] has joined #openttd
14:02-!-andythenorth is "andythenorth" on #openttd
14:11-!-Gumle2 [] has quit []
14:12<spnda>Is there some kind of indicator for a Station that it has been server before so that it will load up cargo from the sorrounding areas?
14:15<nielsm>I just looked in station_base.h for things that looked relevant
14:21<spnda>didn't see that method, thanks
14:22-!-Gumle2 [] has joined #openttd
14:22-!-Gumle2 is "Martin" on #ceph #bcache #openttd
14:41<spnda>Guys, this bool always returns true, why?
14:47<spnda>ohhhhh none of those methods are actual methods of GoodsEntry...
14:48<spnda>but of StationCargoList... so it should work... huh
14:57<spnda>does it maybe not return 0 when there is no cargo?
15:07<andythenorth>so NRT newgrf docs....copy the railtype page and edit it?
15:08<nielsm>I guess?
15:08<nielsm>if it's not as much work as starting over
15:08<nielsm>it might be safer to copy the structure but rewrite all the content
15:09<nielsm>otoh it's a wiki so little mistakes can be fixed easily
15:11<andythenorth>I don't want to be faffing around over word choices :)
15:11<+glx>spnda: using CC_PASSENGERS is wrong here
15:11<spnda>Ok I'll use CT again
15:12<+glx>and total is avail + reserved
15:13<+glx>so I guess it returns true before the amount check
15:14<+glx>unless a vehicle tried loading
15:15<@peter1138>src/lang/korean.txt:3691: FATAL: Command '<empty>' can't have a gender
15:16<DorpsGek_II>[OpenTTD/OpenTTD] PeterN updated pull request #7441: Feature: Per-group wagon removal flag
15:18<+glx>validation fail in eints I guess
15:19<+glx>+STR_REPLACE_REPLACING_WHEN_OLD :낡으면 {ENGINE}{G "으" ""}로 교체
15:22<spnda>glx, the bus had tried to load a few times
15:22<spnda>but it still returned true
15:23<+glx>put a breakpoint in the function to check what happens then
15:26-!-frosch123 [] has joined #openttd
15:26-!-frosch123 is "frosch" on #openttd
15:27<@peter1138>Mmm, single malt whisky
15:32-!-APTX_ [] has quit [Quit: Farewell]
15:32-!-APTX_ [~APTX@2001:470:71:71d:defe:7ff:fee1:3d5d] has joined #openttd
15:32-!-APTX_ is "APTX" on #kernelnewbies #openttd
15:33<+glx>should we fix korean.txt or should we expect the translators will do it ?
15:33<nielsm>don't assume the translators will see build errors
15:33<+glx>it's just missing a 0
15:36<DorpsGek_II>[OpenTTD/OpenTTD] glx22 opened pull request #7564: Fix 6f33cfd05: incorrect {G} usage in korean translation
15:36<+glx>that's something eints should be able to check
15:37<nielsm>at the very least eints should probably try to run the real strgen on each file before it commits
15:38<nielsm>and hold back languages that fail
15:38<+glx>and report errors yes
15:39<frosch123>i think i fixed that same issue years ago in wt3 :p
15:39<spnda>How do I go to the next order?
15:40<nielsm>spnda: you mean make a vehicle skip current order?
15:40<nielsm>for that you should probably trigger the "skip order" command
15:41<spnda>I can only find CMD_SKIP_TO_ORDER, is that it?
15:41<frosch123>andythenorth: ripping out airport state machines:
15:43<+glx>hehe for {G} the looked arg is the following arg, but for {P} it's the previous arg
15:44<andythenorth>frosch123: madness :)
15:44-!-erratic_ [] has joined #openttd
15:44-!-erratic_ is "I need better friends :(" on #osm-ru #openttd
15:45<nielsm>frosch123: intense
15:46<frosch123>nielsm: i still like the idea that only the terminal adds to the catchment area
15:47<DorpsGek_II>[OpenTTD/OpenTTD] nielsmh approved pull request #7564: Fix 6f33cfd05: incorrect {G} usage in korean translation
15:47<frosch123>is that also included in your version?
15:47<nielsm>frosch123: no, I hadn't considered anything like that
15:47<nielsm>but it sounds reasonable
15:47<nielsm>especially now we have shaped catchments
15:48<nielsm>hmm idea for feature name: ART (Airports with Rules and Tiles)
15:48<frosch123>oh, i even wanted a bus/truck-stop like split between pax and cargo terminal
15:49<frosch123>nielsm: some other dude did some interactive minigame where you could build airports in 2d, to test vehile movement
15:49<DorpsGek_II>[OpenTTD/OpenTTD] glx22 merged pull request #7564: Fix 6f33cfd05: incorrect {G} usage in korean translation
15:50<nielsm>lol 11 years old
15:51<frosch123>yeah, i would have guessed 2010
15:51<frosch123>but apparently it was quite close to my attempt
15:51<frosch123>well, "attempt" is exaggerating :p
15:51-!-sla_ro|master [] has joined #openttd
15:51-!-sla_ro|master is "slamaster" on #sla #openttd
15:52<frosch123>essentially i made it to learn ottd gui code
15:52<@peter1138>Let me guess, it just needs a state machine...
15:53<frosch123>state machines don't solve problems
15:53<frosch123>they create problems
15:54*andythenorth is a state machine
15:57<nielsm>so how long until aircraft are moving around on it? :)
15:57<nielsm>and do you need any help?
15:57<+glx>let's do the state machine in xml then :)
15:58<andythenorth>invent our own yaml-ish
15:59<nielsm>AML, airport markup language
16:00<andythenorth>what's the problem with airports? :)
16:01<frosch123>they are flat an huge
16:01<frosch123>you need sloped taxiways on interesting maps
16:01<frosch123>also, fixed layouts are boring
16:02<nielsm>can real aircraft even traverse slopes of any significance during taxiing?
16:03<nielsm>(I don't know if the forces on the wheels would be different from those during takeoff/landing, and if they'd be able to control speed in a safe way)
16:03<frosch123>don't they use the same engines for taxiing as the yuse for flying?
16:04<nielsm>yeah the wheels don't have motors, they just push around with the air engines
16:04<nielsm>also need taxiway bridges!
16:04-!-erratic_ [] has quit [Remote host closed the connection]
16:04<andythenorth>lots of airports are on slopes, but not steep
16:05<frosch123>aircraft have way stronger acceleration than cars, so they should be fine on slopes
16:06<andythenorth>you don't want to be landing downslope, obvs
16:06<andythenorth>too easy to do a roll-off
16:07<+glx>anyway landing gears can handle the landing so a slope is nothing
16:08<andythenorth>there's a fair slope on Filton near my house (now disused),-2.5710164,3a,75y,269.26h,63.99t/data=!3m6!1e1!3m4!1sj1MOGgucZshdBxA4FlFeEg!2e0!7i16384!8i8192
16:09<andythenorth>the runway peaks in the middle, with a 27m drop to one side, and 15m to the other
16:09<+glx>and there's also push/pull tractors that can attach to front wheel
16:09<spnda>Why does this not make the vehicle go to the next order? DoCommandP(v->tile, v->index, (v->cur_implicit_order_index + 1) % v->GetNumOrders(), CMD_SKIP_TO_ORDER);
16:10<andythenorth>overshoot did happen landing downhill on that runway
16:11<andythenorth>obviously building a petrol station at the end of the runway was 'fine'
16:12*spnda likes the gif that comes up if I click next
16:12<+glx>what wrong could happen anyway ;)
16:16<V453000>I finished drawing my first ipad train today :)
16:16<V453000>pixel pushing might still find a place in my life after all
16:25<spnda>I can't get my DoCommandP to work..sad
16:28<nielsm>what is your order skip in response to
16:29<nielsm>player doing something, or automatic based on some condition?
16:29<nielsm>because DoCommandP is only for directly player-triggered actions (typically clicking the gui)
16:29<spnda>well this is a condition
16:29<spnda>what do I do then
16:29<nielsm>ther should be another DoCommand
16:30<nielsm>which does not preflight the command and such
16:32-!-chomwitt [] has joined #openttd
16:32-!-chomwitt is "chomwitt" on #debian-lxc #debian-offtopic #debian-kde #oolite #openttd #debian #debian-games
16:34<spnda>So how do I get the VehicleID from Vehicle?
16:35<nielsm>works for almost anything
16:35<spnda>Thought so
16:35<nielsm>thing->index to get its id
16:35<spnda>Why is DoCommand overloading then
16:35<spnda>DoCommand(v->tile, v->index, (v->cur_implicit_order_index + 1), CMD_SKIP_TO_ORDER);
16:35<spnda>'no overload function takes 4 arguments'
16:37<nielsm>you're missing an argument before the command itself
16:37<nielsm>DoCommandFlag flags
16:37<nielsm>CommandCost DoCommand(TileIndex tile, uint32 p1, uint32 p2, DoCommandFlag flags, uint32 cmd, const char *text = nullptr);
16:39-!-Gumle2 [] has quit []
16:43<spnda>nielsm, this doesn't do anything either: DoCommand(v->tile, v->index, (v->cur_implicit_order_index + 1), DC_EXEC, CMD_SKIP_TO_ORDER);
16:44<nielsm>you lost the modulo order count at some point
16:45<spnda>oh true...
16:50-!-spnda [] has quit [Remote host closed the connection]
16:53<V453000>andythenorth: vs
16:53<V453000>haz lights
16:53<V453000>300% realism
16:54<nielsm>the trains look very tiny in the first
16:55<V453000>yeah, one of the reasons they don't exist anymore :P
16:56<andythenorth>iz layers?
16:56<andythenorth>or pixels?
16:56-!-spnda [] has joined #openttd
16:56-!-spnda is "OFTC WebIRC Client" on #openttd
16:57<spnda>Uh I am back my IRC client just hung up or so
16:57<V453000>no layerz
16:57<spnda>So uh I've proven now it works as expected, just the skip order command still doesn't actually skip the command
16:58<nielsm>imma sleep, gn
16:58<V453000>utilizing layers is on the menu, but not for this one yet
16:58<spnda>gn nielsm
16:58<spnda>oh might be because I didn't add the %, I added & lol
17:04<andythenorth>I use layers for rear lights
17:04<andythenorth>could use recolour sprite, but eh
17:04<andythenorth>dunno how
17:04<V453000>I do use those in rainbow slugs
17:04<V453000>and I'll use them in wagons too
17:05<V453000>your tendency to add shittons of different cargoes makes me want to create a future-proof maintainable system for cargo wagons
17:05<V453000>so they will split into layers so that recolouring cargoes is feasible
17:05<V453000>while keeping CC stripes etc of course :)
17:06-!-nielsm [] has quit [Ping timeout: 480 seconds]
17:08-!-arikover [] has joined #openttd
17:08-!-arikover is "unknown" on #openttd
17:10<andythenorth>lolz :)
17:12<spnda>DoCommand(v->tile, v->index, ((v->cur_implicit_order_index + 1) % v->GetNumOrders()), DC_EXEC, CMD_SKIP_TO_ORDER);
17:13<spnda>why the hell is the vehicle not getting the orders skipped
17:18<Wolf01>V453000, I would like to gift F to a friend, if I buy it on steam, he could redeem the drm free version too or I must buy it on the site?
17:29<+glx>only steam key from steam
17:35-!-gelignite [] has quit [Quit: Good fight, good night!]
17:40<spnda>Is there another way to skip the current order other than DoCommand or DoCommandP? Both don't work for me
17:41<+glx>you can put a breakpoint in CmdSkipToOrder() to trace it
17:44<+glx>oh and the command must be executed as the owner of the vehicle, else it will fail
17:45<andythenorth>V453000: pls draw rest of horse trains, thx bai
17:47<spnda>I started OpenTTD with the VS Debugger thing.... It's just a white screen and it's been loading forever now
17:48<spnda>Ah it's loaded now
17:50-!-sla_ro|master [] has quit []
17:52<spnda>glx, I have the trace of the CmdSkipToOrder function, what do I do with that
17:53<+glx>with a breakpoint at start of the function you can go step by step and see where it returns
17:58<spnda>Just would be nice if the VS Debugger actually worked
18:07-!-andythenorth [] has quit [Quit: andythenorth]
18:09<@peter1138>It does.
18:09<spnda>Not really
18:10-!-frosch123 [] has quit [Quit: be yourself, except: if you have the opportunity to be a unicorn, then be a unicorn]
18:11<spnda>Anyway, I have this data now and from what I see is that it does return where I think it would and right above it should be executing CmdSkipToOrder(), which isn't skipping to the next order
18:14<spnda>I think it's due to this code inside the if inside the definition for CmdSkipToOrder(): v->GetNumOrders() < 2. As there are only 2 orders for this vehicle and as the list is an index, I'd assume it starts at 0, so 1 is less than 2.
18:15<@peter1138>Don't confuse indices with counts.
18:17<spnda>Do you see anything wrong here? CmdSkipToOrder(v->tile, DC_EXEC, v->index, ((v->cur_implicit_order_index + 1) % v->GetNumOrders()), "");
18:35<spnda>I'm clueless... I've no idea why this is not performing that command
18:36<+glx>2 orders so v->GetNumOrders() == 2
18:37<spnda>ah ok, and what does v->cur_implicit_order_index return?
18:38<+glx>but if you go in CmdSkipToOrder() step by step you should clearly determine what return statement is executed as the next step will be the closing }
18:38-!-chomwitt [] has quit [Ping timeout: 480 seconds]
18:39<+glx>v->cur_implicit_order_index is the current implicit order as its name indicates :)
18:41<spnda>Maybe it was working, just that that math, 1+1 / 2 is 1, so it wouldn't skip back to the 1st order, where it started.
18:42<+glx>it's a modulo
18:42<+glx>1 + 1 = 2, modulo 2 = 0
18:42<spnda>0 != 2
18:42<+glx>remainder of the division
18:42<spnda>yeah, but I want to get 2, wouldn't I? because that's the number of the order
18:43<+glx>you can't get 2 if there's only 2 orders
18:43<+glx>first order is 0, second is 1
18:43<spnda>oh as I thought...
18:44<+glx>your math is correct, check the variables in the function
18:44<spnda>0 + 1 = 2, modulo 2 = 0.5?
18:44<+glx>0 + 1 = 1
18:44<spnda>yeah *
18:44<+glx>modulo 2 = 1
18:45<+glx>and 2%2 = 0
18:46<+glx>x%y is x - (x / y) * y
18:47<+glx>or something like that
18:47<spnda>well that would give 1
18:47<spnda>for 2%2
18:47<@peter1138>You know what a remainder is?
18:47<+glx>2 - (2/2)*2 = 2 - 1*2 = 2 - 2 = 0
18:48<spnda>remainder, the amount left over. Why the hell did I say 1
18:49<+glx>anyway check the value of the variables if it's really returning on the first test line
18:50<spnda>Just for test purposes I just put in "1" instead of all the variables, and it's still not skipping the order, so it's probably not that
18:50<+glx>and if you put 0 ?
18:50<+glx>just to make sure
18:51<+glx>in the debugger you can see all variables in the function, either on mouse hover, or in the variables windows
18:52<spnda>I put 0, still doesn't skip the order
18:52<+glx>so you should be able to check all tests by hand
18:53<spnda>(Eventhough that is kinda expected behaviour there as it is on 0, and it should switch to 1, but is staying at 0)
18:53-!-Samu [] has quit [Read error: Connection reset by peer]
18:54<+glx>it doesn't switch because it returns before the switch
18:55<spnda>so uh i'd have to wait until that funciton is finished executing?
18:56<+glx>the order is switched at lines 1125/1126
18:58<+glx>and it will skip to the next real order, implicit orders will be ignored
19:00<+glx>but really, going through the function step by step will tell you exaclty what happens
19:03<+glx>possible failures for the first test: wrong index (unlikely), new order (passed to the command) == current order, invalid new order, only 1 order
19:03<+glx>then there's the owner check
19:04<+glx>can fail is _current_company is not the owner of the vehicle
19:05<spnda>then it checks if it's loading, and it should leave the station if, then tells the selected to be equal to the real_order_index and then to the implicit_order_index and invalidates the vehicle orders
19:05<spnda>then just returns a CommandCost()
19:05<+glx>no it's the opposite, it sets real_order and implicit order to the value you passed
19:07<spnda>Well from all I see inside that function, the values and coditions don't apply so the function should go through fine.
19:08<+glx>use step by step to check what happens, that's the only way
19:09<spnda>Well now I am even more confused why this is not running as expected
19:10<+glx>if the order doesn't changed then something make it return early as error, or there's less than 2 manual orders, ie orders explicitely set via the order window
19:11<spnda>I set 2 orders manually over the order window. v is not null, v is the primaryvehicle, the selection should not be the index of the implicit order (unsure about this one),
19:12<spnda>the selection is definitely not more than the amount of orders of the vehicle and is 2.
19:12<spnda>And I have ownership of the vehicle
19:13<+glx>but _current_company may be another company when you DoCommand()
19:13<+glx>maybe you should show the full code :)
19:19<+glx>hmm I see, _current_company is probably not your company when Order::ShouldStopAtStation() is called
19:21<spnda>so, can I do anything about that?
19:23<@peter1138>Yeah, don't call a command from that context.
19:24<+glx>indeed all vehicle handling is done as OWNER_NONE
19:25<+glx>and why would you want to skip order there, as anyway if the vehicle doesn't stop it will auto skip
19:26-!-Wolf01 [] has quit [Quit: Once again the world is quick to bury me.]
19:26<spnda>it autoskips? I don't think it does
19:34<spnda>I am fairly sure now it does not
19:37<DorpsGek_II>[OpenTTD/OpenTTD] stale[bot] closed issue #7059: Town name language choice affects number of towns / world population
19:41<spnda>Could I not do _current_company = v->owner, right before I call DoCommand?
19:41-!-Samu [] has joined #openttd
19:41-!-Samu is "realname" on #openttd
19:43-!-arikover [] has quit [Remote host closed the connection]
19:46<DorpsGek_II>[OpenTTD/OpenTTD] PeterN updated pull request #7547: Change: Allow building road stops over self-owned one-way/blocked road.
19:47<+glx>ok I checked, it does skip
19:50-!-spnda [] has quit [Remote host closed the connection]
20:37-!-Laedek [~quassel@] has quit [Quit: Laedek]
20:59-!-Progman [] has quit [Remote host closed the connection]
21:13-!-supermop_Home [] has joined #openttd
21:13-!-supermop_Home is "Guest" on #openttd
21:13<supermop_Home>peter1138 do I need to update my grfs?
21:45-!-Flygon [] has joined #openttd
21:45-!-Flygon is "Flygon" on #openttd
21:50-!-tokai|noir [] has joined #openttd
21:50-!-tokai|noir is "Christian Rosentreter" on #openttd
21:50-!-mode/#openttd [+v tokai|noir] by ChanServ
21:57-!-tokai [] has quit [Ping timeout: 480 seconds]
22:10-!-Samu [] has quit [Quit: Leaving]
22:33-!-debdog [~debdog@2a00:79c0:60c:6300:7a24:afff:fe8a:d04d] has joined #openttd
22:33-!-debdog is "Wowbagger" on #bitlbee #openttd
22:36-!-D-HUND [~debdog@2a00:79c0:65e:b400:7a24:afff:fe8a:d04d] has quit [Ping timeout: 480 seconds]
22:58<Eddi|zuHause><peter1138> Let me guess, it just needs a state machine... <-- the state machine problem divides into 3 main problems: 1) how does the state machine behave, like how do articulated parts move, how do you detect vehicles on conflicting positions, how do you make pathfinder decisions, ... 2) how do you write a state machine, like in what language, embedded in grfs, ... 3) how do you validate state machines, like how do you determine
22:58<Eddi|zuHause>unreachable paths, what do you do if it locks up, ...
23:03-!-glx [] has quit []
23:46-!-Laedek [~quassel@] has joined #openttd
23:46-!-Laedek is "Laedek" on #openttd
---Logclosed Sat May 04 00:00:25 2019