Times are UTC Toggle Colours
00:00:00 *** chomwitt1 has quit IRC 00:00:21 *** chomwitt has joined #openttd 01:16:23 *** JezK_ has joined #openttd 01:49:00 *** Speedy has quit IRC 02:09:08 *** JezK_ has quit IRC 02:09:55 *** JezK has joined #openttd 02:22:19 *** chomwitt has quit IRC 02:24:10 *** glx has quit IRC 04:32:09 *** sla_ro|master has joined #openttd 04:36:45 *** JezK has quit IRC 04:44:30 *** JezK has joined #openttd 04:48:49 *** orudge` has quit IRC 04:49:22 *** orudge` has joined #openttd 04:49:23 *** ChanServ sets mode: +o orudge` 04:56:20 *** Hiddenfunstuff has joined #openttd 05:19:08 *** cHawk has joined #openttd 06:38:35 *** andythenorth has joined #openttd 06:42:36 *** Montana has joined #openttd 06:53:02 *** andythenorth has left #openttd 07:02:48 <peter1138> hmm, so in yapf 07:03:11 <peter1138> max_penalty means max_penalty_unless_destination_found 07:07:41 *** Sova has joined #openttd 07:36:24 *** andythenorth has joined #openttd 07:39:00 *** Samu has joined #openttd 07:39:04 <Samu> hi 07:41:54 *** andythenorth has quit IRC 07:51:00 *** JezK has quit IRC 08:09:28 *** sla_ro|master has quit IRC 08:11:33 <peter1138> hmm 08:11:50 <peter1138> so if i enforce the max_penalty, then... loads of trains never get serviced :p 08:35:23 *** Hiddenfunstuff has quit IRC 08:37:45 *** Supercheese has quit IRC 08:41:56 <Samu> hi peter1138 , i didn't change yaps rail depots 08:42:03 <Samu> are you testing my patch or? 08:42:16 *** Speedy` has joined #openttd 08:42:34 *** Speedy` is now known as Speedy 08:52:25 *** Arveen2 has joined #openttd 08:52:25 *** Flygon__ has joined #openttd 08:52:37 *** Lejving_ has joined #openttd 08:59:08 *** Arveen has quit IRC 08:59:08 *** Flygon_ has quit IRC 08:59:08 *** Lejving has quit IRC 09:00:40 <dihedral> greetings 09:03:41 <Samu> hi 09:11:13 <peter1138> no i'm testing trunk 09:11:33 <V453000> sooooooooooooooo how do I use grfstrip? :D 09:11:53 <V453000> apparently some guy with E3-1230v6 and an i7 7700K has problems with extra zoom 09:12:00 <V453000> not even mentioning problems with 32bpp 09:12:08 <peter1138> hmm? 09:12:32 <V453000> how do I strip the grf by grfstrip? 09:12:53 <peter1138> i guess... run it and check the parameters needed? i dunno, i've never seen it. 09:13:35 <V453000> yeah "run it" is what I need info about :D 09:15:01 <V453000> O-O maybe it worked 09:15:10 <peter1138> i imagine it has parameters 09:15:13 <peter1138> ./grfstrip -h? 09:15:43 <peter1138> random webpage search: https://www.mankier.com/1/grfstrip 09:15:45 <planetmaker> V453000, instead of castrating your grf you might want to tell the guy to tune his settings ;) 09:16:07 <V453000> but which settings 09:17:46 <V453000> he has sprite_cache_size_px = 512 and is trying to run the game with both 8bpp optimized and 32bpp optimized blitters 09:17:51 <V453000> on 4K screen 09:18:04 <V453000> says making window smaller helps 09:18:11 <V453000> so 4K is clearly not helping, but yeah 09:26:31 <dihedral> tell him to buy a different screen 09:26:57 <planetmaker> :D 09:27:07 <planetmaker> 256 colour VGA screen ;) 09:27:22 <Samu> something interesting just happened, NPF vs Yapf 09:27:36 <Samu> NPF trains did actually find a way, while Yapf didn't 09:27:42 <Samu> it's a peculiar test 09:28:38 <Samu> i suppose that on very heavy networks, NPF will do better 09:29:02 <Samu> it's a worst case scenario testings 09:30:35 <Samu> either that, or NPF was lucky, must investigate this better 09:33:38 <Samu> some weird thing is happening on NPF, the train is not getting serviced 09:34:50 <peter1138> samu, probably related to this https://bugs.openttd.org/task/6552 09:34:55 <Samu> when the train needs to service, but has a PBS track to follow, the train won't find a way to a depot, it's forced to follow 09:34:57 <Samu> the pbs 09:34:59 <Samu> reserved 09:37:02 <Samu> looks like once the tracks are reserved, they can't be updated if the vehicle suddenly needs to service, using NPF, not sure about how Yapf handles this 09:38:20 <Samu> also not being updated if the train needs to go to any other destination, not just depots, just tested skipping orders 09:40:34 <Samu> gonna check yapf, on a more manageable situation 09:40:45 <Samu> not on a worst case scenario 09:42:32 *** andythenorth has joined #openttd 09:43:48 *** andythenorth has left #openttd 09:44:14 <Samu> once the path is reserved, the train is forced to follow it, no matter what? is that how it's supposed to work? 09:46:51 <Samu> yapf handles this better 09:46:56 <Samu> than nf 09:46:58 <Samu> npf 09:50:07 <Samu> you're right peter1138 "Fixing this affects train depot finding adversely (as it relies on this bug). " 09:50:49 <Samu> or actually, not really, i'm confused with max_search_nodes 09:51:22 <Samu> one thing is max_search_nodes, other thing is max cost of a path 09:53:22 <Samu> had you limited the max_search_nodes, then yes, it would affect train depot finding adversely, but that's not what max_penalty does 09:54:30 <Samu> max_search_nodes is still the same, wether it's searching for a depot or searching for a route 09:56:23 <Samu> the bug I found, happens on a worst case scenario, will 64x64 rail tiles in every direction, max_search_nodes is quickly reached and Yapf doesn't find a good path, be it depot or station 09:56:38 <Samu> it bugs out 09:57:10 <Samu> with* 64x64 09:58:45 <Samu> with NPF, it did find a way, i dunno if it was by luck (found it before reaching the max_search_nodes limitation) or if it's really not bugged 10:02:39 <Samu> just limited it to 500, still found a way, very odd 10:03:07 <Samu> NPF is either extremely lucky, or ... i dunno, must investigate this better 10:03:18 *** Samu has quit IRC 10:12:34 *** Sova has quit IRC 10:34:12 *** JacobD88 has joined #openttd 10:54:16 *** Sova has joined #openttd 11:01:25 *** Adrian[m] has joined #openttd 11:08:58 *** chomwitt has joined #openttd 11:36:28 *** Wolf01 has joined #openttd 11:37:16 <Wolf01> o/ 11:39:54 <crem> \o 11:43:02 <peter1138> /o\ 11:58:45 *** andythenorth has joined #openttd 11:58:53 <Wolf01> o/ 12:03:43 <Arveen2> /o/ \o\ 12:06:06 <crem> s/o/o/g 12:13:49 *** andythenorth has quit IRC 12:14:54 <V453000> isn't north 12:18:32 <Wolf01> Isn't job 12:30:03 *** JacobD88 has quit IRC 12:30:56 *** JacobD88 has joined #openttd 12:35:09 *** Samu has joined #openttd 12:35:54 <Samu> hi 12:40:05 <crem> hi 13:05:07 <peter1138> Samu, reaching max_search_nodes and therefore not finding a path isn't "bugging out" 13:05:34 <Samu> hmm? 13:06:22 <Samu> did you try with pbs ? 13:06:31 <peter1138> i'm not trying anything 13:06:51 <peter1138> i'm responding to your comment that "the bug i found" ... "it bugs out" 13:07:02 <Samu> @logs 13:07:02 <DorpsGek> Samu: https://webster.openttdcoop.org/index.php?channel=openttd 13:08:54 <Samu> i tried to follow NPF counting and how it builds a path 13:08:59 <Samu> got lost 13:10:03 <Samu> there are 2 things happening that I think are bugs, 1 for yapf, 1 for npf 13:10:38 <Samu> with yapf, the "bug" is solveable by increasing the max_search_nodes 13:12:02 <Samu> with npf, a train that needs to service won't be able to pick a new route because it has been previously reserved for the last order 13:12:14 <Samu> complicated to explain~ 13:12:32 <Samu> once the path is reserved, there's no other choice but to follow it 'till the end 13:13:01 <Samu> the bug happens when CheckIfTrainNeedsService is called 13:13:23 <Samu> the path is already reserved, and it can't compute a new path to a depot 13:13:33 <peter1138> as i said. reaching max_search_nodes is NOT a bug 13:13:39 *** TheMask96 has quit IRC 13:14:29 <peter1138> and i don't think anyone really cares about npf 13:14:31 <Samu> what is yapf search based on? 13:14:38 <Samu> npf is aystar 13:14:44 <peter1138> a* as well 13:15:20 <Samu> really? then I really don't understand the different behaviour 13:15:33 <Samu> let me post a savegame 13:15:38 <peter1138> different limits 13:15:41 <peter1138> different coding 13:16:50 <peter1138> i guess opf was dijkstra but then someone changed it to a* as well 13:16:56 *** TheMask96 has joined #openttd 13:17:16 <peter1138> or was that ntp. can't remember now 13:19:41 <peter1138> https://qiao.github.io/PathFinding.js/visual/ 13:19:45 <peter1138> ^ how it works 13:20:10 *** kais58 has quit IRC 13:20:47 <Samu> i sent you a pm on the forum with savegame 13:21:07 <Samu> that save shows yapf failing 13:21:21 <Samu> if you change the pathfinder to npf, you'll see it not failing 13:21:36 <peter1138> with the grid of 64x64 tiles? 13:21:40 <Samu> yes 13:21:46 <peter1138> then i'm not interested 13:21:50 <peter1138> it's not failing 13:21:50 <Samu> oh :( 13:21:54 <peter1138> it's by design 13:21:56 <peter1138> not a bug 13:22:06 <Samu> it's weird then that it doesn't fail on npf 13:22:30 <Samu> i wanted to understand why it fails in one but not the other if they're both a* 13:22:47 <peter1138> they have limits implemented differently 13:22:59 <peter1138> and a different set of penalties 13:24:07 <Samu> i set max_search_nodes to 500 and it still doesn't fail, which is... odd 13:24:35 <Samu> it would require about 43000 for yapf, and 500 is still sufficient for npf? doesn't sound right 13:27:22 *** kais58 has joined #openttd 13:28:26 <Samu> weird, the code still mentions 10000, i thought it had changed, something's wrong 13:32:53 <peter1138> heh, that js shows how bad dijkstra is 13:33:02 *** Mazur has quit IRC 13:33:58 <Samu> max_search_nodes 10000 unsigned int 13:34:03 <Samu> why u no change to 500? 13:34:06 <Samu> grr 13:34:45 <Samu> it initializes as 10000 for some reason 13:35:33 <Samu> gonna force a 500 in the code 13:35:34 <Samu> brb 13:36:03 *** FR^2 has left #openttd 13:36:07 *** Mazur has joined #openttd 13:39:26 <Samu> alright, you're right after all 13:39:59 <Samu> it not really "bugs out" with npf with 500 13:40:07 <Samu> can't find a way 13:40:36 *** JacobD88 has quit IRC 13:40:59 <Samu> i had to force 500 via code though, it wasn't reading the value i've set via console, even though it was already 500 13:42:43 *** JacobD88 has joined #openttd 13:47:00 <Samu> npf is only initialized once? 13:47:43 <Samu> i'm deeply confused 13:49:50 <Samu> void InitializeNPF() 13:50:08 <Samu> { bla; bla; _npf_aystar.max_search_nodes = _settings_game.pf.npf.npf_max_search_nodes; } 13:50:50 <Samu> i loaded a savegame with 500 in it, but it was still 10000 when pathfinding 13:57:21 <Samu> now it's working, really... I'm sorry 13:57:33 <Samu> i am really terrible 13:58:22 <Samu> set pf.npf.npf_max_searchnodes = 500 in the console does not change it 13:58:31 <Samu> set pf.npf.npf_max_searchnodes 500 in the console does 13:58:39 <Samu> my bad 13:58:41 <__ln__> https://www.reddit.com/r/sysadmin/comments/635tgo/psa_timewindowscom_ntp_server_seems_to_be_sending/ 14:15:59 *** orudge` has quit IRC 14:16:23 *** orudge` has joined #openttd 14:16:23 *** ChanServ sets mode: +o orudge` 14:24:45 *** Alberth has joined #openttd 14:24:45 *** ChanServ sets mode: +o Alberth 14:28:30 <peter1138> hi 14:32:37 <supermop> yo 14:37:56 <Alberth> hi hi 14:43:52 *** Wormnest has joined #openttd 14:48:02 <Samu> FS#6552 - i wonder if slope costs can affect max_penalty 14:49:59 <Samu> it likely does 14:52:36 <Alberth> what is max_penalty? 14:53:47 <Samu> it's the cost of a path 14:55:50 <Alberth> ok, what are slope costs then? 14:57:12 <Alberth> in general, I think the answer is yes, you can have any form of costs. The kind of path that you look for decides what is useful to see as cost 14:58:27 *** Sova has quit IRC 15:05:38 <Samu> hmm ships are complicated, can't compute water in segments 15:05:43 <Samu> interesting 15:06:27 <Samu> so this is how you save performance on yapf, you segmentate paths 15:10:39 <Samu> it follows the entire segment until it finds a junction 15:11:43 <Samu> the segment can be 50 tiles in a row 15:11:49 <Wolf01> Interesting, I've always wondered why a train didn't consider to take a shortcut on fields instead of following the track 15:12:07 <peter1138> :) 15:12:25 <Alberth> with not-fluid-types, it could take shortcuts across water 15:12:42 <Alberth> who need bridges? :) 15:13:19 <Samu> ships are complicated, every tile splits the path 15:13:46 <peter1138> well done 15:14:33 *** Belugas has quit IRC 15:15:11 *** Belugas has joined #openttd 15:15:11 *** ChanServ sets mode: +o Belugas 15:17:28 <Samu> peter1138: i don't understand your bug report, 15:17:36 <Samu> it's implemented for trains 15:17:40 <Samu> not on the others 15:18:51 <Samu> for rail, at least 15:18:55 <Samu> yapf rail* 15:18:57 <peter1138> what 15:19:08 <Samu> sorry, i'm semi dumb today, bear with me 15:20:11 <Wolf01> I'm numb instead, too much boredom 15:20:14 <Samu> the penalty for depot searching is only applied when it's trying to locate the closest depot during automatic service 15:20:32 <peter1138> yes 15:20:39 <Samu> if it's ordered to go to a nearest depot, there is no penalty, it's unlimited 15:20:43 <peter1138> yes 15:20:56 <Samu> well i dont understand what you're reporting then :( 15:21:07 <peter1138> "Yapf will return paths whose penalty is greater than max_penalty in some cases" 15:21:10 <peter1138> what is unclear? 15:21:19 <Wolf01> It's english 15:22:09 <peter1138> i'm not normally accused of that :) 15:22:41 <Samu> yapf computes a cost of 2000, then it halves /2, becomes 1000 when going back to checkiftrainneedsservice 15:22:51 <Samu> is that it? 15:23:30 <peter1138> halves /2 ? 15:23:35 <peter1138> but no 15:23:42 <peter1138> "Yapf will return paths whose penalty is greater than max_penalty in some cases" < that is it 15:24:40 <Samu> i don't get it, give me an example 15:24:48 <peter1138> err 15:24:48 <Wolf01> "If fruit.size <= banana.size then return fruit", in your case it's returning watermelon 15:25:31 <peter1138> set max_penalty to ... 2000 (because you like that value i guess)... and it will sometimes return a path that has a penalty ... guess what... 15:25:35 <peter1138> higher than 2000 15:26:03 <Samu> are you sure it does that? 15:26:12 <peter1138> yes 15:26:23 <Wolf01> Prove it! 15:26:28 <Wolf01> (XD) 15:27:18 <Samu> I'm staring at yapf_costrail.hpp now, must see where that happens 15:28:02 <peter1138> :575 15:28:35 <Samu> i was looking to :479 15:28:45 <peter1138> yes that sets the flag 15:30:19 <Samu> ah, the flag isn't being handled 15:30:30 <Samu> is that it? so it never stops searching 15:30:31 <peter1138> not quite that simple! 15:31:09 *** roidal has joined #openttd 15:31:59 <Wolf01> peter1138, speaking about more important things, it seem that the music volume was fixed too O_o 15:32:27 <peter1138> it was never touched 15:32:32 <peter1138> you made it up 15:32:43 <Wolf01> Then 1.6.1 was haunted 15:33:44 <Samu> what would happen if you put a break; on there? or a return false? 15:34:05 <Wolf01> Yes 15:34:55 <peter1138> certainly, it's easy to fix that 15:35:01 <peter1138> but it "breaks" other things that rely in it 15:35:05 <peter1138> like depot finding 15:35:34 <Samu> only for automatic servicing 15:35:40 <Samu> which is fine, isn't it? :( 15:37:49 <Samu> CheckIfTrainNeedsService is the only one that sets a max_penalty different than 0 15:38:12 <V453000> automate_ 15:38:13 <V453000> ? 15:38:21 <Wolf01> Automate! 15:40:09 <Samu> :( there are many ways to find a depot, it's in the orders, you tell the train to go to depot, or the interval servicing 15:40:37 <Samu> go to nearest depot = penalty is 0 15:40:47 <Samu> you tell train to go to depot = penalty is 0 15:41:12 <Samu> interval servicing = penalty is whatever it is on the config file, 2000 for default 15:53:05 <Samu> I see this on juanjo patch + return FindDepotData(n->GetLastTile(), n->m_cost, pNode->m_cost != 0); 15:53:35 <Samu> n->m_cost should be n->m_cost / 2 if it is to be equal to the original code 15:56:44 <peter1138> no 15:56:54 <peter1138> it should be penalty / 2 if it is to be equal 15:57:39 <peter1138> max_penalty / 2 sorry 15:58:10 <peter1138> but if the patch keeps the fake value 15:58:15 <peter1138> then there is no reason for it 15:58:39 <Samu> n->m_cost is to be compared against the max_penalty 15:58:54 <peter1138> no it's not 15:59:48 <Samu> max_penalty is a bad name, it's in fact, a cost 16:01:25 <Samu> Yapf().SetMaxCost(max_penalty); 16:01:45 <Samu> line 261 yapf_rail.cpp 16:02:57 <Alberth> variable names are one of the hardest things in programming 16:03:30 <Wolf01> penalty_max_cost then 16:04:01 <Samu> max_penalty_distance_cost 16:04:05 <Samu> kek 16:05:46 <Samu> line 3967 train_cmd.cpp if (tfdd.best_length == UINT_MAX || tfdd.best_length > max_penalty) { 16:06:08 <Samu> this max_penalty is the max_cost of the pathfinder halved /2 16:07:56 *** Gja has joined #openttd 16:08:30 <Samu> sends the penalty as 2000, yapf computes it, and anything up to 4000 will still fail the check 4000 / 2 > 2000 16:10:31 *** juzza1 has joined #openttd 16:23:30 *** JacobD88 has quit IRC 16:25:59 <Samu> just checked about line 575 16:26:19 <Samu> it's working, the flag is dealt with there, i'm getting a return false 16:27:04 <Samu> cost was over 2000, and it stopped searching 16:29:16 *** Montana has quit IRC 16:31:02 <Samu> hmm, 2000 / 2 = 1000 16:31:13 <Samu> over 2000, the pf doesn't find 16:31:41 <Samu> 1000 > 2000 is always false 16:32:04 <Samu> the cost is UINT_MAX in that case 16:32:14 <Samu> if it goes over 2000 in the pf 16:32:41 <Samu> so, in essence, juanjo is right 16:33:15 <Samu> n.m->cost is fine 16:33:35 <Samu> n.m->cost / 2 or n.m->cost would make no difference 16:35:46 <peter1138> you're still wrong, though 16:37:32 <peter1138> because it doesn't return n.m->cost / 2 16:37:48 <peter1138> it returns max_penalty / 2 16:41:51 *** andythenorth has joined #openttd 16:41:55 <andythenorth> o/ 16:42:00 <peter1138> hi 16:42:10 <andythenorth> Alberth: IH makefile mostly transplanted to FIRS in copy-paste 16:42:42 <Samu> n.m_cost = parent_cost + segment_entry_cost + segment_cost + extra_cost; 16:43:03 <Samu> if (m_max_cost > 0 && (parent_cost + segment_entry_cost + segment_cost) > m_max_cost) 16:43:22 <Samu> okay, so it's not counting with the extra_cost 16:44:43 <peter1138> you are funny 16:46:31 <Samu> so this is the bug you're referring to 16:47:27 <Samu> extra_cost not being accounted for 16:47:29 *** glx has joined #openttd 16:47:30 *** ChanServ sets mode: +v glx 16:47:35 <peter1138> no 16:48:30 <andythenorth> ach I made FIRS slower again 16:49:14 <andythenorth> all these checks for incompatible industry, lot of advanced varact2 16:49:15 <andythenorth> can’t OpenTTD check that crap for me? :| 16:52:02 <peter1138> what's an incompatible industry? 16:53:15 <andythenorth> I give an ID, and min. distance 16:53:29 <andythenorth> there’s a shit version built-in as a static property 16:53:35 <andythenorth> limited to 3 industries 16:53:53 <andythenorth> stops iron ore mine building right next to steel mill (for example) 16:57:04 <peter1138> so 2000 is... short 16:58:22 <andythenorth> o_O 16:58:36 <Samu> 2000 is about 20 tiles without slopes and other funny stuff like cuves, train speed and so 16:59:42 <Samu> oh wait, extra_cost isn't being accounted, ignore train speed 16:59:50 <Alberth> andythenorth: nice :) 17:00:33 *** WegeClausen has joined #openttd 17:00:58 <WegeClausen> Hi Question is there a feather list where i can see the town needs 17:01:02 <WegeClausen> as a list 17:01:30 <WegeClausen> at selection gifts 17:02:04 <Samu> lol, the rail crossing penalty is aplied on trains instead of road vehicles... 17:02:10 <WegeClausen> so select food gives the list of townes that take food 17:02:11 <Samu> why so mean 17:02:30 <Samu> level crossing penalty 17:03:35 <Alberth> WegeClausen: no 17:03:41 <peter1138> so i'm seeing a penalty of 5300 17:03:46 <peter1138> on the tile just outside a depot 17:04:24 <Alberth> "town" doesn't need food, it's "enough houses" near each other 17:05:10 <peter1138> ok 17:05:21 <peter1138> pf.yapf.rail_depot_reverse_penalty is applied 17:05:26 <peter1138> even though it's not reversing 17:05:34 <peter1138> so there'a 5000 penalty just for going into a depot 17:05:38 <peter1138> no wonder 2000 doesn't work 17:05:45 <Alberth> :) 17:06:03 <Alberth> start digging and find more bugs? :) 17:06:12 <peter1138> :) 17:06:23 *** andythenorth has quit IRC 17:06:31 <peter1138> it is applying that penalty even though the depot is the target :) 17:07:05 <Samu> if that is true, how do trains still service? 17:07:14 <Samu> weird 17:07:31 <peter1138> Samu, as i said, it's due to this bug where max_penalty/2 is always used 17:08:02 <Samu> 5000/2 = 2500 17:10:07 <peter1138> Samu, max_penalty 17:10:08 <peter1138> not 5000 17:10:11 <peter1138> max_penalty 17:10:27 <peter1138> max_penalty/2 is always < max_penalty 17:11:24 <WegeClausen> Thanks 17:11:35 *** WegeClausen has left #openttd 17:12:09 <Samu> tfdd.best_length > max_penalty 17:12:27 <peter1138> Samu, best_length is max_penalty / 2 at that point 17:12:41 <Samu> ah right 17:13:21 <peter1138> well, i guess the simple solution is to just include the reverse cost into the max_penalty 17:14:09 <Samu> case VPF_YAPF: max_penalty = _settings_game.pf.yapf.maximum_go_to_depot_penalty + something? 17:17:21 <peter1138> in fact i think it's probably the best way 17:17:45 <peter1138> else i fear that caching will get broken 17:18:03 *** orudge` has quit IRC 17:18:21 <peter1138> 238 if (max_penalty != 0) pf1.DisableCache(true); 17:18:27 <peter1138> already disabled ahhg 17:18:28 <peter1138> hah 17:18:57 *** orudge` has joined #openttd 17:18:57 *** ChanServ sets mode: +o orudge` 17:22:42 <Samu> rail_depot_reverse_penalty = 5000 17:23:49 <Samu> if (m_max_cost != 0) segment_cost += Yapf().PfGetSettings().rail_depot_reverse_penalty; 17:24:02 <Samu> erm, no 17:24:04 <Samu> == 0 17:27:33 *** Maraxus has joined #openttd 17:31:52 *** FLHerne has joined #openttd 17:32:34 <Samu> inline bool PfDetectDestination(TileIndex tile, Trackdir td) 17:33:40 <Wolf01> http://www.commitstrip.com/en/2017/04/03/its-not-a-bug/ 17:34:13 <peter1138> hahah 17:35:15 <Samu> how am i getting a Trackdir now lol 17:36:13 <Samu> ah, cur.td, lol 17:37:01 <Samu> if (!Yapf().PfDetectDestination(cur.tile, cur.td)) segment_cost += Yapf().PfGetSettings().rail_depot_reverse_penalty; 17:37:06 <Samu> let's see what happens 17:37:18 <peter1138> http://emojiflags.com/ 17:40:06 <Samu> segment_cost 300 int 17:40:08 <Samu> success! 17:40:14 <Samu> 5000 was not added 17:41:46 <peter1138> alternatively just flag a depot as a depot when you reach the depot 17:41:51 <peter1138> instead of turning around 17:42:06 <peter1138> but i have not determined what other impact that would have yet 17:43:34 <Wolf01> What if you have to turn around at a depot to reach the nearest depot? 17:43:48 <peter1138> yeaaaaaaa 17:44:02 <Samu> it just re-enters it 17:44:05 <Samu> without exiting 17:44:15 <peter1138> Wolf01, where did we get this guy from 17:44:27 <Wolf01> Dunno :) 17:45:44 <DorpsGek> Commit by translators :: r27842 trunk/src/lang/spanish.txt (2017-04-03 19:45:36 +0200 ) 17:45:45 <DorpsGek> -Update from Eints: 17:45:46 <DorpsGek> spanish: 9 changes by SilverSurferZzZ 17:45:56 <Wolf01> BTW, does it select the depot it wants to reach and then keeps it for the entire path or it's so smart to check for the nearest depot at every junction? 17:46:31 <peter1138> there's no memory as such 17:46:38 <peter1138> it just says "i need a depot pls" 17:46:46 <peter1138> and it's either too far, or there 17:49:10 <Wolf01> http://www.irishtimes.com/news/offbeat/grammar-vigilante-secretly-corrects-bristol-street-signs-1.3034747 __ln__, is that you? 17:56:19 <peter1138> hmm i guess i need to test this in MP with desync debugging on 17:57:12 *** roidal has quit IRC 18:00:33 *** Stimrol has joined #openttd 18:04:10 *** sla_ro|master has joined #openttd 18:04:19 <Samu> it works so far, i tried with an order to a depot, an order to search for closest depot, an order to a station 18:05:56 <Samu> when it's ordered to enter X depot, and it's not the one it's looking for, the cost is added 18:06:01 <Samu> 5000 18:06:30 <Samu> you have a Set Destination in this case 18:06:52 <Samu> tileindex doesn't match 18:07:15 *** HerzogDeXtEr has joined #openttd 18:07:50 <Samu> with an order to search for closest depot, it finds it and does not add 5000 18:08:17 *** frosch123 has joined #openttd 18:09:03 <Samu> with an order to a station, it adds 5000 if goes through some depot 18:09:17 <Samu> tileindex doesn't match with the destination 18:19:25 <frosch123> moin 18:19:58 <Samu> just tested one more case 18:20:59 <Samu> if it's ordered to go to a depot, but it must pass through another depot, the cost is added when going through the first depot, and not added when it reaches destination depot 18:21:06 <Samu> it works, everything werks!! 18:22:54 <Samu> i actually see ppl build stuff like this 18:23:21 <Samu> they remove the parallel track in front of depot, forcing train to enter the depot 18:25:53 *** Progman has joined #openttd 18:40:33 *** tokai|noir has joined #openttd 18:40:33 *** ChanServ sets mode: +v tokai|noir 18:47:25 *** tokai has quit IRC 19:04:54 *** Arveen2 is now known as Arveen453000 19:17:42 <peter1138> Hmm 19:18:11 <V453000> gg 19:18:16 <peter1138> ? 19:18:55 <peter1138> damn this bread roll is a bit stale 19:21:33 *** Stimrol has quit IRC 19:22:52 *** FR^2 has joined #openttd 19:25:09 <peter1138> Ship 20 is lost 19:25:10 <peter1138> thanks :p 19:26:26 <peter1138> I might just commit this and hope it's correct ;) 19:26:47 <peter1138> It works for me 19:27:49 <peter1138> Everything is getting serviced 19:27:59 <peter1138> Possibly even better than before. 19:28:59 *** orudge` has quit IRC 19:29:03 *** orudge` has joined #openttd 19:29:03 *** ChanServ sets mode: +o orudge` 19:29:15 <peter1138> orudge why is your connection so shit these days :S 19:29:23 <peter1138> and also why are you never here :S 19:29:29 <peter1138> i always am :D 19:43:44 *** Alberth has left #openttd 20:01:03 <peter1138> aqueduct pillars are silly 20:01:24 *** Maraxus has quit IRC 20:01:28 *** HerzogDeXtEr has quit IRC 20:05:05 <Wolf01> Bridge pillars are silly 20:05:23 <Wolf01> I want true suspension bridges 20:23:07 <frosch123> there used to be a setting to disable drawing of pillars 20:23:12 <frosch123> not sure whether we removed it 20:23:58 <frosch123> was removed in 0.6 20:24:57 <peter1138> heh 20:25:51 *** mikegrb has quit IRC 20:26:52 <frosch123> did someone just test their own autokill? 20:29:11 <frosch123> oh, wait, it's a troll 20:29:24 <frosch123> i did not ready it precisely 20:29:28 <peter1138> ? 20:29:37 <frosch123> -y 20:29:40 <peter1138> ok 20:30:17 *** andythenorth has joined #openttd 20:30:36 *** mikegrb has joined #openttd 20:31:14 <planetmaker> g'evening 20:31:28 <peter1138> the spambot's back! 20:31:39 <andythenorth> is it? 20:31:48 <frosch123> better do not mail support 20:32:57 <peter1138> Dare I commit potential pathfinder (yapf even) fixes... I mean, it "works" right? 20:33:29 <frosch123> the juanjo stuff? 20:33:35 <peter1138> No. 20:33:43 <SpComb> the unit tests pass, so it must work 20:33:49 <peter1138> Although I discovered issues after looking at those. 20:33:53 <peter1138> unit tests. lol 20:34:14 <peter1138> (actually there seems to have been unit tests for yapf at some point 20:34:15 <peter1138> ) 20:34:19 <frosch123> we have some automated tests 20:34:44 <peter1138> ai tests 20:43:03 <peter1138> any for pathfinding? if so, where? Hhe 20:46:39 <frosch123> fs#5926 is a good one 20:47:42 <peter1138> errrr 20:49:25 <peter1138> that's not exactly a unit test... 20:49:32 <peter1138> and anyway they need grfs that aren't on bananas 20:49:49 <frosch123> wasn't it a coop game? 20:50:04 *** Pet0r has joined #openttd 20:50:10 <peter1138> ottdc_grfpack_town_buildings or something 20:50:42 <frosch123> https://wiki.openttdcoop.org/GRF <- so, that one 20:50:49 <Pet0r> hi - was hoping someone could help me understand why a certain signal layout doesn't work 20:51:41 *** gelignite has joined #openttd 20:51:47 <Pet0r> I have a split where one route is "direct" route to the station and another is a "queuing area" which goes to the same station but snakes a bit for trains to wait in, I have a path signal before the split, and exit signals after, this does split the trains to some extent, but even when the exit signal in the shorter area is green, trains don't always take it 20:51:54 <Pet0r> instead they will go into the longer area 20:52:18 <Pet0r> but it doesn't always happen, I am not sure what the criteria is for why they pick the route they do 20:52:37 <frosch123> path signals and exit signals do not belong together 20:52:41 <peter1138> ^ 20:52:45 <Pet0r> even with entry it's the same problem 20:52:58 <Pet0r> (entry placed where path is) 20:53:45 <frosch123> if you ar eusing path signals only, then enable the "show reserved paths" option in the settings 20:55:19 <Pet0r> I could use a single path, how does it do its decision making? 20:55:24 <Pet0r> is it up to the next block signal or what? 20:55:31 <Pet0r> or is it to the next instruction? 20:56:50 <frosch123> https://wiki.openttd.org/PBS <- check that 20:57:39 <Pet0r> I did enable show reserved paths and I can see it reserving the less efficient path but not why 20:58:03 <frosch123> https://wiki.openttd.org/Signals#Path_signals <- maybe that one is better 20:59:09 <Pet0r> ok so maybe path + block might work, I will try 20:59:22 <peter1138> Just path, generally, works well. 20:59:48 <peter1138> Block is only needed if you doing strange things with entry/combo/exit signals. 21:01:33 <Pet0r> ok I am sure this looks horrible to you guys but here it is 21:01:40 <Pet0r> there's a one way back signal at the start beofre the split 21:01:41 <Pet0r> https://drive.google.com/open?id=0ByL7t25fHROBYkliVXBOTWJNR0k 21:01:52 <Pet0r> you can see there the train coming from the left has chosen and reserved the long route 21:01:55 <Pet0r> but I just don't understand why 21:03:02 <Pet0r> all trains are heading to that station on the right 21:03:11 *** mikegrb has quit IRC 21:03:52 <Pet0r> but sometimes they do pick that lower route, I don't understand it 21:05:17 <peter1138> jeez zbase is ... er... unpleasant. 21:05:28 <Pet0r> it's abase :D 21:08:17 *** gnu_jj has quit IRC 21:08:21 *** frosch123 has quit IRC 21:08:25 *** Biolunar has joined #openttd 21:08:31 <Wolf01> https://youtu.be/7kx67NnuSd0 look, andythenorth's kids for sure 21:08:43 *** gnu_jj has joined #openttd 21:09:26 <andythenorth> :P 21:09:28 <andythenorth> also bedtime 21:09:33 *** andythenorth has left #openttd 21:09:38 <Pet0r> the only thing I can think of is the train prefers the route it took last time or something? and only changes if forced to? 21:09:39 <Pet0r> I don't know 21:11:32 *** gnu_jj has quit IRC 21:12:18 <Wolf01> <Pet0r> https://drive.google.com/open?id=0ByL7t25fHROBYkliVXBOTWJNR0k <- it doesn't work :( 21:14:14 <Pet0r> oh really? it's just a PNG 21:14:20 <Pet0r> I'll put it on imgur 21:14:28 <Wolf01> "There was an error. Please try again later. That’s all we know." 21:14:33 <peter1138> worked for me 21:14:41 <peter1138> but the graphics are nasty 21:14:44 <Pet0r> http://i.imgur.com/md7QyGp.jpg 21:14:50 <peter1138> misaligned sprites :( 21:15:42 <Wolf01> Ok, so trains always go via "big snek"? 21:16:17 <Pet0r> not my naming, it's a multiplayer game :) but yes 21:16:19 <Pet0r> sometimes they do 21:16:22 <Pet0r> sometimes they don't 21:16:35 <Pet0r> my confusion is that they go that way sometimes when there's absolutely nothing at the bottom 21:16:47 <Wolf01> What I've learnt so far is that if you have a split you shouldn't use PBS, it's really useless 21:17:22 <Pet0r> thing is it didn't work for entry/exit either I think, it had the same problem 21:17:38 <Wolf01> PBS is when you have multiple inputs and multiple outputs in the same block which need to work at the same time 21:17:47 <Pet0r> I'll put exit right after the split at the bottom, and an exit a bit further into snek 21:17:55 <Pet0r> and entry before split, and see what happens 21:19:24 <Wolf01> I bet the depot there causes confusion 21:20:03 <Wolf01> Put it where is the one way pbs signal 21:20:06 <Pet0r> why would they choose to go away from it though? 21:20:48 <Wolf01> Maybe a train needs to go to the depot then goes straight 21:21:04 *** Guest198 has quit IRC 21:21:12 <Pet0r> hmm what do you mean? the depot is in the short route 21:21:18 <Pet0r> so surely the preference would always make it go there 21:21:36 <Pet0r> http://i.imgur.com/UR8SplE.jpg 21:21:39 <Pet0r> here it is with entry and exit 21:21:49 <Pet0r> the train near the "ITS ALIVE" sign went top 21:21:56 <Pet0r> when the direct bottom route is free 21:21:59 <Pet0r> I will delete the depot though 21:22:58 *** btfo has joined #openttd 21:23:12 <Wolf01> I don't remember if there is a penalty set for red signals after a green signal 21:23:46 <Pet0r> http://i.imgur.com/7IUg1nE.jpg 21:23:49 <Pet0r> 2 trains in a row did it there 21:23:54 <Pet0r> the one coming in from the left also went top route 21:23:55 <Wolf01> It might cause the "big snek" route to be preferred as it have more green signals 21:24:02 <Pet0r> hmm 21:24:03 <Pet0r> ah 21:24:26 *** gnu_jj has joined #openttd 21:24:45 <Pet0r> but still some go the bottom route anyway (even when nothing is in the top route) 21:25:05 <peter1138> Wolf01, path signals are totally the opposite of useless for splits. 21:25:17 *** nekomaster has joined #openttd 21:25:34 <nekomaster> Hmm 21:25:57 <Pet0r> and here's a train doing just that - http://i.imgur.com/xxrqIJ7.jpg 21:26:03 <Pet0r> taking the better route with nothing in the top one 21:26:06 <peter1138> https://wiki.openttd.org/images/4/4b/Multiples_standard.png vs https://wiki.openttd.org/images/e/e8/Chemin.png 21:26:14 <peter1138> ^ small difference, but certainly not useless 21:26:14 <Pet0r> it literally seems like they just flip a coin when they get to the entry signal 21:26:19 <Pet0r> rather than calculating the best route 21:26:46 <Pet0r> (and maybe that's true but it's not what I thought) 21:26:50 <peter1138> no, it's calculated the longer route as the best route 21:26:57 <peter1138> (it may be cheaper, penalty-wise) 21:27:00 *** nekomaster has left #openttd 21:27:08 <Pet0r> ok, let me remove all but 1 block signal from the longer route then 21:27:17 <Pet0r> so there will be just 1 exit signal and 1 block signal in each route 21:27:23 <Wolf01> peter1138, that's micromanaging milliseconds and pixels, you don't even notice if the next train can enter the block when the first one just left the main track or passed the block signal 5 pixel away 21:27:41 <peter1138> Wolf01, it's not micromanaging if, like me, you always use path signals everywhere 21:27:41 <Wolf01> Unless you don't play with logic trains 21:28:13 <Pet0r> same problem even with those changes 21:28:14 <Pet0r> hmm 21:28:59 <Pet0r> oh wait, missed a block signal behind a tree, checking again 21:30:09 <Pet0r> that might have actually been it 21:30:11 <Pet0r> number of green signals 21:30:18 <Pet0r> still watching but none have taken the longer route 21:30:25 <Wolf01> If it was for me I would have used 6 parallel waiting tracks there with 2 entry points where I would have put the only 2 PBS :P 21:32:00 <peter1138> Yeah, by default there's a _negative_ penalty for some signals. 21:32:06 <peter1138> Which could certainly cause it. 21:32:30 <Pet0r> so trains seem to pretty consistently take the lower route when there's just a single block signal and the exit signal on each route 21:32:44 <Pet0r> it's still confusing though because some trains still took the lower route even with the previous setup 21:33:09 <peter1138> Well if the loop was full of trains when it had to chose, there'd be less green signals. 21:33:14 <peter1138> *choose 21:33:46 <Pet0r> when both routes were entirely free of trains up to the right side, it seemed it was a 50/50 chance which route they would take 21:33:59 <Pet0r> it wasn't a case of taking the shorter route when a train was in the longer one 21:35:01 <Wolf01> I bet if you put a block signal for each tile of the short router, all the trains would use only that one 21:35:12 <Wolf01> *route 21:35:14 <Pet0r> I kind of just did that, I put like 6 block signals on that 21:35:21 <Pet0r> and only 4 in total on the big snek route 21:35:26 <Pet0r> and now they are only using that bottom one 21:35:56 <Pet0r> so the "green signal weighting" makes sense to me - but what still doesn't fit with that is the fact that trains would seemingly randomly take the top or bottom route before 21:36:09 <Pet0r> if it was the same thing I'd expect them to be consistently taking the top route when it was empty 21:36:12 <Pet0r> but that was not the case 21:36:18 <Wolf01> You want to look at these penalties: 21:36:19 <Wolf01> yapf.rail_look_ahead_max_signals = 10 21:36:19 <Wolf01> yapf.rail_look_ahead_signal_p0 = 500 21:36:19 <Wolf01> yapf.rail_look_ahead_signal_p1 = -100 21:36:19 <Wolf01> yapf.rail_look_ahead_signal_p2 = 5 21:37:08 <DorpsGek> Commit by peter1138 :: r27843 trunk/src/pathfinder/yapf/yapf_costrail.hpp (2017-04-03 23:37:01 +0200 ) 21:37:09 <DorpsGek> -Change: (Yapf) Consider depot as destination before reversing path and applying penalty. 21:37:15 <Pet0r> sorry what are p0/p1/p2? 21:37:25 <peter1138> magic :( 21:38:11 <Pet0r> peter1138: did you just commit something based on this discussion? :P 21:38:15 <peter1138> no 21:40:24 <Pet0r> well thanks guys, at least that has shed *some* light on it even if I still don't fully understand it 21:40:42 <peter1138> i think some of these penalties were guessed at the time it was made 21:40:47 <peter1138> and sort of work right most of the time 21:40:51 <peter1138> but sometimes... do odd things 21:41:05 <Pet0r> I can understand that, they can't account for every eventuality with a system like that 21:41:15 <peter1138> it's too flexible 21:41:17 <Pet0r> because there's always edge cases where it doesn't work 21:41:27 <Samu> nice fix :) 21:41:28 <peter1138> if even we changed them, they are stored in the savegame so it wouldn't affect anything old 21:41:41 <peter1138> Samu, we'll see 21:42:49 <Samu> oh, there's nothing about ship depots 21:43:16 <peter1138> Trains. Yeah. 21:43:35 <Samu> what about the max_penalty / 2? 21:44:32 <peter1138> " I don't know why everyone prefers separate patches " 21:44:39 <peter1138> Well, we do. 21:47:08 <Samu> what do you prefer? 21:47:21 <peter1138> separate obviously 21:47:38 *** gelignite has quit IRC 21:47:39 <peter1138> that's why 1 line commits instead of 1 commit with tons of unrelated changes 21:48:45 <Wolf01> BTW, p0/p1/p2 -> pen[i] = p0 + i * (p1 + i * p2); and I can't even find where pen is used... 21:49:11 <Samu> isn't that about signal costs? 21:49:26 <Wolf01> Oh it's a pointer to m_sig_look_ahead_costs 21:49:41 <peter1138> Yeah, it's a weird point construct 21:50:08 <peter1138> Samu, try reading more than just one or two lines at a time, it'll give you context. 21:51:17 <Samu> i'm unsure how am i gonna split my stuff 21:51:25 <Wolf01> Yapf code seem what I would write after a lesson on variables scope 21:52:05 <Samu> i made a bit of many things for opf that it's hard to separate 21:53:43 <Samu> it confuses me, my brains... 21:53:57 <DorpsGek> Commit by peter1138 :: r27844 /trunk/src/pathfinder/yapf (yapf_costrail.hpp yapf_type.hpp) (2017-04-03 23:53:51 +0200 ) 21:53:58 <DorpsGek> -Change: (Yapf) Treat max cost exceeded separately from path too long condition, as destination should not be considered in the former case. 21:55:25 <Samu> further it if exceeded 21:55:31 <Samu> if it, typo there 21:56:08 <peter1138> haha 21:57:06 <Wolf01> Samu, why don't you just split changes for each pathfinder? 21:57:16 <Wolf01> One pathfinder, one patch 21:58:03 <Samu> but how would I link everything on ship_cmd.cpp? 21:58:23 <peter1138> what does that mean? 21:58:42 <Pet0r> alright thanks again 21:58:43 <Pet0r> goodnight 21:59:26 <Wolf01> Wow, yapf is really black magic 21:59:40 <Samu> + case VPF_OPF: return OPFShipFindNearestDepot(v, max_penalty); + case VPF_NPF: return NPFShipFindNearestDepot(v, max_penalty); + case VPF_YAPF: return YapfShipFindNearestDepot(v, max_penalty); 21:59:52 <Wolf01> Let me try with excel 21:59:54 <Samu> this function wants all 3 22:00:00 *** Pet0r has quit IRC 22:00:07 <Samu> +static FindDepotData FindClosestReachableShipDepot(const Ship *v, int max_penalty) 22:01:28 <Samu> if I separate one pathfinder, one patch, i dunno what to write there 22:02:34 <DorpsGek> Commit by peter1138 :: r27845 trunk/src/pathfinder/yapf/yapf_rail.cpp (2017-04-04 00:02:28 +0200 ) 22:02:35 <DorpsGek> -Change: (Yapf) Use FindDepotData struct to simplify depot finding code and remove need to return fake path distance. (juanjo) 22:02:39 *** Lejving_ is now known as Lejving 22:03:15 <peter1138> (Although actually the fake distance doesn't matter since the previous two commits) 22:04:49 <peter1138> Damn, forgot a FS reference for r27844. Oh well. 22:05:17 <peter1138> And the last one. Heh. 22:05:21 <peter1138> Maybe it's sleepy time. 22:06:50 *** Wormnest has quit IRC 22:07:28 *** gnu_jj has quit IRC 22:10:21 *** gnu_jj has joined #openttd 22:12:25 *** Progman has quit IRC 22:16:08 <Wolf01> I wish a way to set switches as double slip only when I want them to be :( 22:16:52 <peter1138> heh 22:16:59 <Wolf01> Yes, heh 22:17:21 <peter1138> Just use X & Y tracks only :D 22:17:28 <Wolf01> It would help *a lot* on some tracks configurations I use 22:23:33 *** Gja has quit IRC 22:28:34 <peter1138> stuff.diff 22:28:36 <peter1138> i wonder what that is 22:42:45 *** sla_ro|master has quit IRC 22:44:06 <Samu> uhmm peter1138, it already is a depot tile 22:44:09 *** Biolunar has quit IRC 22:44:45 <Samu> you fixed it different than me :( 22:46:06 <peter1138> ytes 22:46:08 <peter1138> -t 22:46:12 <Samu> if (cur.tile == prev.tile), this is always a depot 22:47:09 <peter1138> ytes 22:47:12 <peter1138> ... 22:47:13 <peter1138> -t 22:47:53 <Samu> i tested it like this: if (!Yapf().PfDetectDestination(cur.tile, cur.td)) segment_cost += Yapf().PfGetSettings().rail_depot_reverse_penalty; 22:48:00 <Samu> seemed to be doing fine 22:52:32 <Samu> what if the path routes through a depot? 22:55:02 <peter1138> what if, eh 22:55:22 <Wolf01> [D]< 22:55:34 <Samu> what if the destination is actually the depot? 22:55:42 <peter1138> what if, eh! 22:55:43 * Wolf01 ducks 22:55:48 <Samu> what :( 23:10:09 <peter1138> just when samu thinks he has cracked it 23:10:19 <peter1138> i do something different 23:10:30 *** FLHerne has quit IRC 23:11:27 <Samu> im trying to see if it differs 23:15:57 <Samu> mine - https://paste.openttdcoop.org/pvxypmzjt 23:18:30 * Wolf01 falls asleep 23:18:33 <Wolf01> 'night 23:18:35 <peter1138> night wolf 23:18:36 *** Wolf01 has quit IRC 23:20:49 <Samu> there is a difference 23:20:57 <Samu> https://paste.openttdcoop.org/pvbtdqmko 23:21:57 <Samu> mine picks C 8424 D 0 - c0(sc0, ts0, o0), yours doesn't 23:22:02 <Samu> why :( 23:23:04 <Samu> yours picks 8224, where do these 200 cost come from 23:23:52 <peter1138> segment_cost += Yapf().OneTileCost(cur.tile, cur.td); 23:23:55 <peter1138> ^ 23:24:41 <peter1138> my change makes it pick the depot when it gets to it 23:25:02 <peter1138> before, it picked the depot only after it had reversed inside it and added penalties 23:37:33 *** bwn has quit IRC 23:38:45 *** bwn has joined #openttd 23:40:06 <Samu> @calc 200+471+5000 23:40:06 <DorpsGek> Samu: 5671 23:41:20 <Samu> i'm getting 5872 23:41:35 <Samu> erm,, you''re getting 5872 23:41:50 <Samu> seems that yours is adding an extra 200 wrongly 23:44:36 <Samu> wow, now mine is getting 5872 too, why u do this to me, openttd :( 23:44:52 <Samu> anyway, we're both wrong? 23:46:01 <Samu> wait, yours would be right, if it was 5671 23:46:23 <Samu> the 200 extra was on mine after all, not on yours 23:46:44 <Samu> but now you got 5872, i got 5872, hmm.... confusing 23:47:01 <peter1138> if that is a path *through* a depot, then they will be the same 23:47:57 <Samu> go to station 1, go to depot, go to station 2 23:48:12 <Samu> then from 2 go to 1, but it's forced to enter depot 23:48:27 <Samu> 1 to depot = 200 23:48:36 <Samu> depot to 2 = 471 23:48:43 <Samu> 2 to 1 = 5872 23:48:52 <Samu> shouldn't it be 5671? 23:50:13 <Samu> retesting yours again, brb 23:51:57 <Samu> 5872 :( 23:52:12 <peter1138> why would it be different? 23:52:29 <Samu> i think we're both wrong, unless I'm missing something obvious 23:52:49 <peter1138> what are you trying to prove? 23:53:15 <Samu> going from 1 to 2 costs 201, not 200, my bad 23:53:18 <Samu> oops 23:53:21 <Samu> 1 to depot costs 201 23:53:42 <Samu> the cost for reversing at the station is 1, then it walks 2 straigth tiles, 100 each 23:54:04 <Samu> the 2nd straigth tile is also the depot tile 23:54:09 <Samu> 5000 is not added 23:54:50 <Samu> from depot to 2, it gets 471 23:55:14 <Samu> is that 1 the cost for reversing in depot? 23:55:49 *** smoke_fumus has joined #openttd 23:56:26 <peter1138> implicit signal maybe? 23:56:29 <Samu> 1 reverse + 100 straigth + (70 horizontal + 100 curve) + 100 straigth 23:56:40 <peter1138> reversing in depot is 5000 23:57:11 <Samu> the order is from depot to 2, 5000 is supposed not to be added 23:57:21 <Samu> for that part it's doing fine 23:57:26 <peter1138> k 23:57:34 <Samu> now, from 2 to 1, it has to go through that depot 23:57:45 <Samu> it's doing the way back, and the depot is in the middle of it 23:59:03 <Samu> nevermind, I'm stoopid