IRC logs for #openttd on OFTC at 2016-02-20
⏴ go to previous day
00:02:54 *** Progman_ has joined #openttd
00:04:31 *** Progman_ is now known as Progman
00:10:34 <DexDeadly> can you run as a service?
00:34:08 *** drac_boy has joined #openttd
00:35:57 <drac_boy> had any luck yet wolf01?
00:36:25 <Wolf01> no, luck doesn't even know I exist
00:50:19 <drac_boy> wish I could help but both 1. I wouldn't know a thing about trainz and 2. bit busy looking for grf details
00:53:14 <Wolf01> oh you meant that... yes I managed to finish the tutorial with patience, trials and errors, no luck involved
01:01:11 <drac_boy> probably wouldn't be difficult to give it its own whine engine soundtrack in the grf anyway
01:22:56 <sim-al2> I wouldn't be be surprised if they had flagmen for that
01:24:36 <drac_boy> btw we were talking about prr steam before but before I forget heres something a bit different..
01:25:06 <sim-al2> In the early days of steam-powered vehicles the UK passed a law that required most self-propelled road vehicles to have a flagman anyway (and a later law, very very low speed limits)
01:27:16 <drac_boy> I even recall one article where a photographer was in the area just taking some photos then he noticed a local freight train trying to move uphill as fast as its poor pistons would .. and the duo were looking at their timetable wondering why such a train was trying to rush it
01:28:45 <Wolf01> I watched a video of that one yesterday
01:29:17 <drac_boy> the answer is it somehow had been let out ahead of an express train which soon turned out to be a J class ... thankfully by the time it arrived the would-be red signal turned green (meaning the local had cleared) and the photographers got surprised when the J accelerated quite fast from right there
01:31:46 <sim-al2> Note the roller bearings on most (all?) axles
01:33:20 <drac_boy> the funny thing is that one of the J was loaned to another railroad for test comparison and the paper put down the J as being slow (re top speed) .. of course the test was done on a flatland route which was a bit out of character for a mountain express locomotive
01:34:18 <sim-al2> It seems that it was run in excess of 100 mph at some points though
01:34:20 <drac_boy> abotu roller bearing, I believe timken actually bought their own locomotive as to fully refit it with bearings instead of journal and put it on tour, thats about all I recall on that subject
01:37:44 <sim-al2> Yeah, it seems to have taken a long time for roller bearings to catch on, considering the savings on needing to inspect and refill the grease so often
01:38:33 <sim-al2> Freight cars were still rolling around with plain bearings into the 70's, I guess because of the cost of converting old cars
01:43:51 <sim-al2> Hmm, grfcrawler is throwing a 500 error
01:44:02 <drac_boy> well from what I see the J class with 70 inch drivers could do bit over 100mph while the 80 inch on a UP 8-coupled was rated to 120mph but apparently would go faster than that
01:45:22 <sim-al2> apparently the Milwaukee's F7 4-4-2 could reach or exceed 120mph, but speed measuring in those days was sometimes.... optimistic...
01:45:23 <drac_boy> the E6 was 80 inch as well but likely limited by the small boiler (especially its length) re 115mph max on the special run
01:45:47 <drac_boy> heh these "as swift as an arrow" F7, dern them :)
01:46:34 <drac_boy> btw sim-a12 did you know that one of the F7 basically "blew up" its siderod assembly from the lubricator failing? thankfully even with emergency brake and a rod slamming into the ties/gravel the train still managed to stay completely upright on rails
01:46:59 <drac_boy> sadly because diesels were starting to come in this one F7 was shunned to the scrapyard and never to be anymore soon
01:49:44 <sim-al2> Yeah, I imagine that they were dependent on automatic lubricators to survive running at those speeds
01:50:05 <drac_boy> yep, the particular ones on the F7 had a bit of less-than-healthy history
01:50:54 <sim-al2> Great, I can't get the xUSSR set because TTD Russia is down for some kind of transfer
01:53:00 <DexDeadly> is there anything particular that needs to be done to enable connection from outside the network
01:53:44 <sim-al2> DexDeadly: You mean OpenTTD on your machine?
01:54:11 <drac_boy> oh yeah, fun quiz for you sim-a12 ... guess what kind of special track thinge would cause a lot of water to splash all over the place on the occasional fast trains? :)
01:56:19 <sim-al2> Uh, track pans? Or one seriously undermined washout...
01:56:26 <drac_boy> you guessed right at the former
01:56:58 <drac_boy> well I was just looking up some examples to see about a grf idea and I found something else I just never ever knew had existed..
01:57:01 <sim-al2> The Brits really loved them, and a few eastern railroads in the US, other places not so much
01:57:36 <drac_boy> short note: the Type 4 had steam boilers before electric coaches were around it seem
01:57:41 <sim-al2> Yeah, the early diesels could piggy back on that and pick up water for the steam boilers
01:58:11 <sim-al2> Early diesels in a pinch could use water towers to refill their coolant too
01:58:47 <drac_boy> still, a diesel scooping water .. I'm sure I could hear uninformed american modellers going "that....is that a diesel locomotive?"
01:58:51 <sim-al2> I can't imagine sitting in the splash zone is good for those ties though
01:59:18 <sim-al2> That's a really cool photo
01:59:25 <drac_boy> yeah I suspect half of the higher maintenances was not in the water system itself but indirectly the ties/ground erosions
02:00:02 <sim-al2> A large scale water system will need some control for scaling, corrosion, etc too
02:00:55 <sim-al2> Many desert railways had to use water treatment because what little water they could get in arid areas was often poor quality
02:02:59 <sim-al2> Hmm, these guys really needed slab track...
02:03:11 <drac_boy> THAT is one tender you do not want to stand next to tho... lot of water at very high speed 0_0
02:03:30 <drac_boy> heck it even has more than ten (equally divided between left and right) bleed holes
02:04:57 <drac_boy> these Niagara had very HUGE tender to match the demand for very long nonstop run :p
02:05:37 <drac_boy> you kinda can see the slanted rivet line where the coal bunker meets the smaller water tank ... coal is hard to get on fly but water isn't < obviously
02:06:39 <drac_boy> of course there is always the water tender wagon as a 'second tender' for the less-priority train runs
02:06:43 <sim-al2> I belive the NYC dispatched 4-8-2s with smallish water capacity, but 43 tons of coal since they could get water from the track pans
02:07:43 <drac_boy> australia not surprisingly had a sizeable number of these water "tenders" that was used with just about anything even the once-weekly branch mixed trains
02:08:24 <sim-al2> Yeah, much earlier and more often than most railways too
02:08:57 <sim-al2> Of course, the water tenders have reappeared now that most stations lack watering facilities
02:09:41 <sim-al2> And the condensing locomotive designs, the most famous being the South African Red Devils...
02:10:27 <drac_boy> heh actually I don't recall what exactly went on but these particular tenders were pretty much rebuilt into conventional tank+bunker design later in the locomotive's life
02:10:49 <drac_boy> the tank was naturally a bit small as the now-empty space around it apparently was supposed to be where the condenser stuffs went
02:12:39 <drac_boy> seem they were grouped as 25NC .. wonder if that meant 'No Condenser'? never know heh
02:13:41 <sim-al2> Yeah, I think it's Non-Condensing, but of course you don't want to accidently dispatch a NC into the desert...
02:14:15 <drac_boy> btw I'm not exactly sure what was the reasoning for it but I know that DR even had condensing tenders somewhere at some point
02:15:13 <drac_boy> then again DR seem to have tried quite a different kind of unique things .. not to mention a few locomotives from one class having their normal coal tender being switched for a strange hopper-looking one that was designed around firing on pulverized coal (needless that did not turn out too well as I recall afaik)
02:15:29 <sim-al2> Condensing was somewhat common, not necesairly for saving water but on the early urban railways, it helped reduce the emissions from the locomotive
02:15:32 <DexDeadly> sorry i realized I did not set my port forward to tcp and udp fixed and working now for a fun weekend with some friends
02:16:09 <sim-al2> The London underground had condensing locomotives using coke for fuel, all very good for running underground...
02:17:05 <sim-al2> DexDeadly: Yeah that's the one thing you might have to change, but of course every router has to be so inconsistent
02:18:20 <drac_boy> I think there is not anything out there that has not already been tried by some way in germany too ;)
02:18:46 <sim-al2> Apparently the DR 58 class was converted to coal-DUST firing at some point
02:19:58 <sim-al2> Hmm, I wonder how many steam turbines they built
02:20:47 <drac_boy> I only know that existed but I got NO clue how it ran or whenever it even lasted
02:21:31 <drac_boy> looks like 2 or 3 turbines and umm I hope theres some reversing system somewhere
02:23:32 <sim-al2> I imagine, rather warm in the summer
02:23:49 <drac_boy> haha, that was because the firebox need to be wide for the slow-burn high-btu coal :p
02:24:08 <sim-al2> Yep, poor fireman has pretty minimal protection though
02:24:57 <sim-al2> And verbal communication is pretty impossible
02:26:39 <drac_boy> well I recall some uk locomotives did fire on slower coals too, their firebox pretty much pushed the track gauge
02:27:18 <drac_boy> don't recall which tender class it was for an example tho
02:33:47 *** tokai|noir has joined #openttd
02:33:47 *** ChanServ sets mode: +v tokai|noir
02:34:36 <sim-al2> Now that's what I call a firebox...
02:37:36 *** DexDeadly_2 has joined #openttd
02:43:38 <drac_boy> btw how would you like to run a locomotive on peat?
02:45:41 <drac_boy> ireland in fact .. same man who tried build the Leader in uk too
02:46:05 <sim-al2> Huh, I was going for Scotland as my second guess...
02:46:24 <sim-al2> How well did it work?
02:47:00 <drac_boy> not for long it would seem
02:48:52 <drac_boy> anyhow I'm going to bed soon so you have fun with something else here allright? :)
03:39:00 *** DexDeadly has joined #openttd
04:09:30 *** Ketsuban has joined #openttd
04:40:59 *** Ketsuban has joined #openttd
07:54:36 *** _johannes has joined #openttd
08:32:01 *** andythenorth has joined #openttd
08:44:35 *** ConductorCat has joined #openttd
08:59:35 *** Alberth has joined #openttd
08:59:35 *** ChanServ sets mode: +o Alberth
09:00:33 *** AdmiralKew has joined #openttd
09:10:27 * andythenorth needs a faster horse
09:11:51 <andythenorth> nah don’t think so
09:12:03 <andythenorth> it’s related something like the removal of gridlines :)
09:13:04 *** smoke_fumus has joined #openttd
09:13:10 <Alberth> just couple more horse for more speed?
09:13:27 <andythenorth> faster compile :P
09:15:49 <andythenorth> my ‘go faster’ approach with incremental compiles is *very* fast if only a few things changed
09:15:58 <andythenorth> but the overhead for a compile from clean is huge
09:19:10 * andythenorth might remove all the nml-nfo stuff
09:19:18 <andythenorth> plain nml, unified compile
09:20:57 <andythenorth> seems to take about 15 seconds per roster, scales linearly with number of rosters
09:21:25 <andythenorth> there is unfinished support for compiling just one roster
09:28:44 <Alberth> just disable a few others while testing one
09:28:59 *** sla_ro|master has joined #openttd
09:29:44 <andythenorth> with the incremental compile overhead, it’s 2 mins for first compile
09:29:48 <andythenorth> versus 30s without
09:30:00 <andythenorth> need to compile 4 times without mistakes to make it worth it :P
09:30:46 <andythenorth> every time I make a mistake, the 30s compile wins
09:31:41 <Alberth> so make lots of mistakes? :D
09:32:57 <andythenorth> don’t even need to try :P
09:40:01 *** AdmiralKewl has joined #openttd
10:11:52 *** Progman has joined #openttd
10:13:46 *** TrueBrain_ has joined #openttd
10:14:00 *** TrueBrain is now known as Guest4754
10:14:00 *** TrueBrain_ is now known as TrueBrain
10:19:31 <_johannes> I'm still on that rail net graph exporter... The difficult thing is that most YAPF function require a train as argument
10:19:56 <_johannes> so, if I'm trying to find the route from B->C, but my train is still at A, I'll need to somehow get the train to B
10:20:28 <_johannes> would you suggest to let the train drive the whole suggested path, or instead manipulating its location each time I need it to be in another station?
10:21:56 *** Quatroking has joined #openttd
10:24:41 <Alberth> considered implementing your own A*?
10:26:11 <_johannes> Alberth: don't know if that's a good idea :P
10:26:23 <Alberth> or maybe add a second way to start up the search?
10:26:49 <_johannes> possible, with some modifications in Yapf
10:26:51 <Alberth> I don't know what properties of the train are used while searching
10:27:29 <Alberth> well, the puzzle is that speed of existing A* is crucial
10:27:30 <_johannes> one could try to pass a "pseudo train" or similar
10:28:02 <_johannes> with crucial, you mean "bad", or "relevant"?
10:28:11 <Alberth> making it faster is ok, making it slower is not
10:28:32 <Alberth> it's the #1 bottleneck in moving vehicles around at the map
10:28:55 <Alberth> so immediately related to the max number of vehicles in the game
10:29:59 <Alberth> although I am not convinced the current implementation is the best you can have :p
10:31:15 <Alberth> the entire template stuff looks like an elaborate way to prevent any compiler optimizations, to me
10:31:56 <Alberth> at the time, it was no doubt faster, but several years of compiler development have passed since then
10:35:08 <_johannes> you mean virtual functions would increase speed here?
10:36:19 <Alberth> I don't know, but the current implementation just locks any option out
10:36:47 <Alberth> compilers tend to get optimized for the common code case
10:37:02 <Alberth> a class with a base class and virtual functions is quite common :)
10:38:50 <Alberth> the more convoluted code you hack around things, the less likely it is that the compiler understands what you're doing
10:39:09 <Alberth> so you totally rely on your own coding ability for optimizing
10:39:48 <Alberth> even if the author could do that X years ago, it won't be optimal today
10:40:12 <Alberth> processors, memory, and compilers change continuously
10:44:30 <michi_cc> _johannes: You need your own replacement for CYapfFollowRailT::ChooseRailTrack anyway, what prevents you from choosing yoour origin differently than the existing implementation?
10:46:40 <sim642_> Alberth, templates don't prevent compiler optimizations because templates generate non-template code in the background which gets optimized just as any other code
10:47:01 <Alberth> you looked at the yapf code?
10:47:12 <sim642_> furthermore, the optimizations might be different for different types the template is used with to provide even greater level of optimization for speficic use
10:47:31 *** sim642_ is now known as sim642
10:50:50 <sim642> the suboptimal aspect of templates would be the produced binary size if the same template is used with a huge number of different arguments since that causes duplicate functionality code but I'm not sure if it'd cause much performance impact
10:51:07 <_johannes> michi_cc: good point! looks like one can simply pass NULL as the vehicle in FindPath
10:51:26 <_johannes> and yes, the origin and destination could be found otherwise
10:51:46 <michi_cc> _johannes: I wouldn't do that unless you want to ignore railtypes.
10:52:39 <_johannes> michi_cc: oh, yes, I see it
10:53:17 <_johannes> michi_cc: maybe just replacing all occurences of Vehicle* by something that meets the minimum requirements the pathfinder needs?
10:53:36 <_johannes> like: FindPath(UsedVehicleDate* v)
10:53:41 <roidal> what high-resolution graphic sets would you suggest?
10:54:06 <michi_cc> What'S wrong simply using the train you are graphing?
10:54:11 <roidal> for landmarks, and vehicles
10:54:42 <_johannes> michi_cc: if my train has the order list a->b->c->b, then to find the track from b to c, I'll need to move it to b first, correct?
10:58:00 <_johannes> ah, you mean: I pass the origin to my st... function, use that to get the origin (instead of getting it from the train), but then still pass the train to FindPath()?
10:58:44 <Alberth> check how it uses orders?
11:01:40 <_johannes> already tried, but all these function only check the next order
11:02:09 <_johannes> ok, I think I got it...
11:05:28 <roidal> hm, can the basesets GFX use the newGFX format too?
11:08:20 <Alberth> basesets and newgrf are quite separate worlds, afaik
11:08:58 <Alberth> but both support high resolution graphics, and full colour
11:09:10 <Alberth> as well as the original 8bpp art
11:09:24 <roidal> ah, so the baseset-format was change too
11:09:48 <Alberth> at least for the sets that have such high resolution / full colour grapihcs, that is
11:10:20 <Alberth> zBase is a baseset with 32bpp, and high resolution
11:10:35 <Alberth> I don't like it though, too clean to my taste
11:11:41 <Alberth> afaik there is a 32bpp wiki page
11:11:56 <Alberth> no idea how up to date it is
11:16:43 *** HerzogDeXtEr has joined #openttd
11:24:11 *** oskari89 has joined #openttd
11:24:47 *** andythenorth has joined #openttd
11:51:34 * andythenorth refactors compile :|
11:51:45 * andythenorth probably needs to teach make about deps
11:54:06 <Wolf01> lol... I ordered a display dock from microsoft back in december, shipping in 4-6 weeks, put 1 week for the shipping itself... where's my product? still not shipped, contacted the customer support "we are sorry, we'll ship it in 8-12 weeks", I hope it will come before I'll change the phone when it will become old :(
11:55:10 <Wolf01> back to train driving session
11:57:43 <andythenorth> nmlc takes 26s, but the compile takes 40s :(
11:57:50 * andythenorth must find the slow
12:00:16 <Wolf01> meh, no steam loco tutorial, had to figure out alone how to not blow up the loco just after the first acceleration
12:05:54 * andythenorth tries all the pythons
12:09:41 <andythenorth> yeah, new computer is probably the solution
12:17:18 <argoneus> good morning train friends
12:20:46 *** Antheus has joined #openttd
13:22:15 <_johannes> the real problem about the templates is imo not the runtime
13:22:25 <_johannes> it's that you can't read the code as a human
13:23:15 <_johannes> for example, rail nodes have an attribute named m_key , but where is that m_key actually defined
13:23:33 <_johannes> it's in some base class, which depends on many templates...
13:26:07 <Alberth> grep, but tuned for searching source code
13:26:41 <_johannes> for example, yapf_costrail.hpp, line 329... where is that m_key defined? I have no clue...
13:28:03 *** frosch123 has joined #openttd
13:30:05 <Alberth> so yapf_node.hpp or yapf_node_rail.hpp
13:30:45 <frosch123> hmm, "ag" is shorter than "~/my<tab>"
13:31:05 <_johannes> I just installed "ack"
13:31:12 <_johannes> ag is not available for gentoo...
13:31:24 <Alberth> the_silver_searcher-0.31.0-1.fc22.x86_64
13:31:27 <frosch123> _johannes: i suspect the "a" stans for "alberth"
13:32:05 *** Supercheese has joined #openttd
13:32:45 <frosch123> hmm there is a silversearcher-ag package
13:33:18 <_johannes> for which distro frosch123 ?
13:33:26 <_dp_> "The command name is 33% shorter than ack, and all keys are on the home row!"
13:33:39 <_dp_> who cares about home row probably doesn't use querty...
13:34:12 <Wolf01> fuck, steam locomotives are really a mess, I can't even figure out how I made it moving, I think if I chose the one with full simulation it would blow up in some seconds
13:34:14 <frosch123> _dp_: there are people using german keyboard layout, who claim that vim is any good
13:34:20 <Alberth> I used ack for a while, but there was an edge case where it didn't do what I wanted
13:35:04 <_johannes> anyways, Alberth , I think it's from yapf_node.hpp, but the type is Tkey_
13:35:21 <frosch123> but well, there are also people who do not use a 40 year old arcane keyboard layout, who think that vim using ESC as escape key is any good
13:35:48 <_johannes> yes, and I don'T know where this is from
13:36:39 <Alberth> yep, reading that code is a challenge :)
13:36:58 <frosch123> oh, it uses colours, how unusual
13:38:20 <_dp_> frosch123, I know next to nothing about both vim and german layout so no idea what're you trying to say %)
13:39:24 <frosch123> vim uses "/" for searching
13:39:24 <Alberth> _johannes: bottom of yapf_common.hpp lists the overall template
13:39:30 <frosch123> which is a convenient key on an us layout
13:39:43 <frosch123> but is shift+7 on a german layout, which is the worst for a hotkey
13:40:24 <_johannes> Alberth: just saw where it is defined: struct CYapfRail1 : CYapfT<CYapfRail_TypesT<CYapfRail1 , CFollowTrackRail , CRailNodeListTrackDir, CYapfDestinationTileOrStationRailT, CYapfFollowRailT> > {};
13:40:25 <Alberth> no german keyboard remapping available?
13:40:26 <frosch123> also vim uses ESC as a common key, which was in the position of capslock on the machine vi was designed for; but which is a silly to reach key nowadays
13:40:59 <_dp_> shift+7 doesn't sound too horrible, and I bet you can rebind it if you want
13:41:07 <Alberth> /me finds esc position very convenient (but I am left-handed :p )
13:41:11 <frosch123> Alberth: i only use vim when there is no other editor available, as such i always use the default configuration
13:42:03 <frosch123> _dp_: i have trouble to press shift+7 with one hand; it's possible, but usuallyi use two
13:42:36 <frosch123> is that equivalent to / ?
13:42:48 <Alberth> yes, but up instead of down
13:43:05 <Alberth> if you use N instead of n, you get reverse match
13:43:17 <Alberth> and you get mostly the normal search
13:44:12 <frosch123> _dp_: anyway, did you consider alternatives to ScrollCompanyClientsTo? like extending ScriptViewport::ScrollTo to work in ScriptCompanyMode ?
13:45:19 <_dp_> what is ScriptCompanyMode? you mean issuing commands on behalf of a company?
13:45:34 <_dp_> I think it's more clear for it to be issued as deity
13:46:22 <frosch123> the difference is that using the CompanyMode would also allow human clients to issue a command like that
13:46:57 <_dp_> hm, yeah, but do they need to?
13:47:31 <frosch123> well, forcing a scrolling on all clients is already on the level of "does it need to do that" :p
13:47:47 <frosch123> usually there is a goal list or story book, where you can click on something which then triggers the scrolling
13:48:09 <_dp_> also there is other problem actually, it would be better to have command that scrolls clients individually, not whole company
13:48:19 <_dp_> but gs doesn't know a thing about clients
13:48:54 <frosch123> well, i would be annoyed by any automatic scrolling, if i am currently building something
13:49:04 <frosch123> so, i would always prefer some entry in the goal or story guy
13:49:23 <frosch123> why would you want to scroll single clients?
13:49:37 <frosch123> the client who issued something is likely already in the position
13:49:47 <frosch123> you would want to tell the other clients in the company
13:49:48 <_dp_> I'm only going to use it when clients join/start company
13:49:55 <_dp_> to focus on claimed town in cb
13:50:46 <frosch123> that's like a completely different thing :p
13:51:14 <_dp_> I'm also thinking of automatically claiming some random town for new company, and scrolling is a must for that
13:52:14 <frosch123> ok, i will think a bit more about that "join company" context
13:52:29 <_dp_> yeah, mb it wold make more sense to extend joining itself, but there is no place for gs
13:52:50 <frosch123> it would also make sense for other scripts to display the goal/status to joining clients
13:53:05 <frosch123> like in silicon valley i only display the goal on game start or when a company is funded
13:53:14 <_dp_> also I can imagine some gs that may need scrolling in the middle of the game if some major event happens
13:53:29 <frosch123> that i would file under annoying :p
13:54:04 <_dp_> not if it happens once in a game
13:56:59 <Wolf01> yes, I agree with frosch123, gnomoria has it and it's really annoying when you are building something, last time I mined an entire layer because a lizard was sighted
13:58:24 <_dp_> even I argee on that, but we're just talking about api here, it's up to gs to use it wisely
13:58:32 <Wolf01> at least in ottd if the construction fails, it doesn't construct even the pieces which don't fail
13:58:37 <frosch123> yes, it all depends on context :)
13:59:29 <Wolf01> it could be good for tutorials, but you have to disable the user interaction before doing that
13:59:30 <_dp_> Wolf01, that one is not true, many things do construct partially
13:59:52 <Wolf01> you mean with autorail/road?
14:00:28 <Wolf01> oh, the area clear with drag&drop has been finally implemented?
14:01:10 <Wolf01> wait, maybe I'm confusing with the diagonal clearing
14:01:57 *** andythenorth has joined #openttd
14:04:55 <_dp_> btw, for tutorial(s) there is ScrollTo function. this one is more for tutorial-ish multiplayer things)
14:07:44 <frosch123> Wolf01: don't imitate eddi :p
14:08:36 *** gelignite has joined #openttd
14:09:14 <Wolf01> I'm doing my best efforts
14:14:04 <_dp_> speaking of drag&drop construction... it probably shouldn't work across multiple viewports)
14:14:47 <frosch123> you probably mean news and vehicle viewports
14:15:00 <frosch123> because the extra viewports were specifically added for that
14:15:14 <frosch123> i think it's even disabled in the news viewport
14:15:16 <_dp_> yeah, leads to building weird things when news suddenly pops up
14:16:01 <_dp_> is it? never had this issue with news myself but I recall someone complaining
14:17:14 <_dp_> only happened to me with extra viewport that I had pinned to watch some town
14:18:08 <Wolf01> I usually do that with long straight lines or tunnels
14:18:53 <frosch123> hmm, maybe i only dreamed that :p
14:19:14 <_dp_> you build tunnel only on one end so that's fine anyway
14:19:31 <Wolf01> not if you don't know where it ends ;)
14:19:34 <_dp_> and for long lines it sounds overcomplicated, why not just zoom out?
14:20:27 <_dp_> I mean you can use extra viewport to see other end, it's not cross-viewport constuction
14:24:13 <Wolf01> with touch screen and 2x zoom in (because in normal zoom I miss the tile) is difficult to scroll
14:24:42 <Wolf01> so for > 30 tiles tracks it is really useful
14:26:26 <_dp_> hm, I bet polyrail is even more useful then xD
14:27:00 <_dp_> also, just checked, constructing works on news, no restrictions at all
14:27:03 <Wolf01> even a double track autorail with signal would be handy in that case
14:40:31 <_dp_> I'm considering doing a patch that adds a third type of economy, say, "stable", in which production doesn't change at all.
14:40:57 <_dp_> frosch123, what do you think of it?
14:41:57 <_dp_> also in that case is it ok to just switch setting type from bool to uint8 (or whatever matches the size) or should I add new one?
14:42:03 <Wolf01> but industries should start with middle-high production, because if all the industries start with 32t of production it will piss of everyone
14:42:36 <Alberth> _dp_: that's something you can handle in newgrf
14:43:51 <_dp_> Alberth, I know there is grf already but it doesn't work with custom industry sets
14:44:18 <Alberth> it won't ever work with industry sets, as the newgrf decides
14:45:48 <_dp_> yet current smooth-switch does work
14:47:07 <Alberth> not really, newgrf doesn't understand smooth economy
14:48:49 <_dp_> as I see it works unless grf has a custom callback
14:49:44 <_dp_> though all popular ind sets probably have it...
14:49:54 <frosch123> i considered adding an "economy speed" parameter
14:50:07 <frosch123> which reduces calls to "random production changes"
14:50:17 <frosch123> slows down smooth economy, and is readable by newgrf
14:51:14 <frosch123> about bool->uint8, we did that multiple times already, it just needs the right savegame conversion code
14:52:33 <frosch123> also smooth economy is a BAD FEATURE
14:52:43 <frosch123> it quite high on the realism bullshit ladder
14:55:00 <_dp_> idk about realism, but drying out industries on long-running mp server is bad for sure :p
14:55:18 <_dp_> and any production change isn't good for goal competitiveness
14:55:56 <frosch123> from single player gameplay point of view: the original double/half production changes were rare, and they called for player action
14:56:18 <frosch123> the smooth economy changes happen every month to all industries, there is no immediate implication on gameplay
14:56:33 <frosch123> it just obfuscates what is happening, snice the news messages are completely useless
14:56:52 <_dp_> for sp and non-goal mp any economy is fine, it's not a major factor
14:57:22 <frosch123> also when rolling a dice every month, you could as well skip rolling a dice
14:57:32 <frosch123> randomness only makes sense when it is random
14:58:20 <_dp_> yeah, skipping a roll exactly is what I was thinking with that "stable" economy)
14:59:21 <frosch123> anyway, bye till evening
14:59:52 <_dp_> though I'm a bit confused with newgrfs now, do random changes happen in newgrfs internally or there are separate callbacks for smth like "base" production and random fluctuatitons?
15:00:52 <_dp_> because I don't want to stop ecs production increase or firs multipliers with this, just eliminate randomness
15:01:07 <_johannes> can a Tile be multiple squares? like, e.g., a whole 2x4 station is one Tile, consisting of 2x4 squares?
15:01:55 <_johannes> probably not because there is a TileArea type?
15:03:37 <_dp_> you mean TileIndex? It's just an integer so no
15:04:39 <_johannes> _dp_: ok, so a TileIndex represents exactly one square? (with square, I mean the small squares you see in a game)
15:05:43 <_dp_> _johannes, kinda, it's basically just a x and y coordinates merged together
15:11:36 <_dp_> _johannes, btw, those very squares are called tiles :) and there is Tile struct that stores info about each, I forgot about it at first
15:12:13 <_johannes> ah I saw that one...
15:13:30 *** AdmiralKewl has joined #openttd
15:13:49 <_dp_> _johannes, so, TileIndex is exactly what it's called, an index in array of tiles (aka map)
15:14:02 *** sim-al2 has joined #openttd
15:32:09 *** Clockworker has joined #openttd
15:37:54 *** andythenorth has joined #openttd
15:38:19 *** Clockworker_ has joined #openttd
15:40:25 <andythenorth> frosch123: how does smooth economy work? :P
15:40:43 <andythenorth> and why doesn’t andythenorth just know this
15:44:52 <andythenorth> keep-alive-industries
15:45:13 <andythenorth> industries will close one-by-one unless arbitrary goals are met for each one
15:45:23 <andythenorth> winner is whoever has most industries left after n years
15:46:07 *** drac_boy has joined #openttd
15:47:15 <drac_boy> I'm not sure but that sure looks like one of the very common freight 0-6-0's as well
16:03:34 *** AdmiralKew_ has joined #openttd
16:11:08 <drac_boy> weird thing is even when I was using ukrs a bit before I don't think I ever bothered buying the 0-6-0 at all
16:11:18 <drac_boy> ah well its just a grf after all :)
16:14:23 <drac_boy> either way do have one silly uic-related question tho... do you just write "two C'C' units" or is there a more informal way to describe these particular locomotives that was made up of at least two or more separate bodies permanently kept together?
16:16:36 * drac_boy might be missing something but isn't sure heh
16:22:34 <drac_boy> ah so thats where the plus came from...guess I'll try remember that for everything else
16:24:24 <Alberth> it's fine if you write it down :)
16:25:51 <drac_boy> mind you I'm just joking of course :p
16:26:23 <Alberth> just scan everything :p
16:26:40 <drac_boy> alberth yeah as I recall he wished all these filing cabinets away into the form of a blue imac :)
16:26:51 <drac_boy> had watched a bit of that movie some time ago
16:27:39 <Alberth> how people spend their day :)
16:31:41 * drac_boy gives alberth ten thousand yellow post it's just cause
16:35:35 *** Clockworker has joined #openttd
16:36:11 *** Quatroking_ has joined #openttd
16:50:02 *** _johannes has joined #openttd
16:55:57 *** andythenorth has joined #openttd
17:05:37 * andythenorth remembers some FIRS thing in the makefile was slow
17:05:45 <andythenorth> sed over the hg log or something
17:06:06 <andythenorth> Iron Horse makefile is unexpectedly slow
17:09:12 <andythenorth> can’t remember what we changed
17:23:02 <andythenorth> changed that, saved about 5s
17:24:49 <drac_boy> going to eat soon so bye anyhow mr.coder :) heh
17:25:17 <Alberth> too much $(shell ...) there
17:25:28 * andythenorth wonders about the makefiles
17:25:56 <andythenorth> I have 6 or so of them in active projects
17:26:37 <Alberth> version stuff (around line 150) is now in findversion.sh iirc
17:27:41 <Alberth> it seems to start a few dozen shells for major stuff like replacing a small piece of text
17:27:58 <Alberth> you can probably even code that in the makefile itself :p
17:28:28 <Alberth> imho, code it in python, and throw out all the crap
17:28:57 <andythenorth> I don’t know what it does
17:29:02 <andythenorth> which makes me scared of it :)
17:29:22 <andythenorth> it’s eating 6 seconds or so on every compile
17:29:29 <andythenorth> seems to be overkill for the result
17:29:48 <Alberth> maybe replace it with findversion.sh?
17:30:22 <andythenorth> (the 6s is the total extra time to run the makefile, on top of the components that build the grf)
17:30:25 *** Ketsuban has joined #openttd
17:31:11 <andythenorth> what is findversion.sh?
17:31:17 * andythenorth has missed a memo here :)
17:31:47 <Alberth> may be GC specific thouigh
17:33:58 <andythenorth> there is one in BB
17:34:13 * andythenorth wonders how to implement that
17:35:24 <Alberth> opengfx-mars repos also have one
17:35:30 <andythenorth> it returns some vars I think
17:35:34 <andythenorth> and I need to parse those
17:38:13 <Alberth> it returns revision, branch, modified flag and some more data
17:38:59 <Alberth> BB makefile parses it (not very good, I see though)
17:39:16 <Alberth> VERSION_INFO := "$(shell ./findversion.sh)"
17:39:16 <Alberth> REPO_VERSION := $(shell echo ${VERSION_INFO} | cut -f2)
17:39:16 <Alberth> REPO_TAG := $(shell echo ${VERSION_INFO} | cut -f5)
17:39:16 <Alberth> REPO_DATE := $(shell echo ${VERSION_INFO} | cut -f7)
17:39:29 <Eddi|zuHause> i think make-nml uses the current date or something
17:47:34 <Alberth> UNIX2DOS=$(shell which unix2dos 2>/dev/null) <-- make that UNIX2DOS=unix2dos
17:48:00 <Alberth> no point in inserting the absolute path in the variable
17:48:25 <frosch123> that will likely break stuff
17:48:45 <frosch123> "which" is used in those cases to result in the empty string, when it does not exist
17:48:55 <frosch123> later there are ifs in the makefile, which check for empty string
17:49:11 <frosch123> however, you can make it a := instead of a =
17:49:29 *** Clockworker_ has joined #openttd
17:49:31 <Alberth> for optional stuff, ok
17:49:50 <Alberth> for required stuff, like nml, you can skip that
18:04:15 <andythenorth> how do I merge default into a working branch with hg?
18:04:34 <andythenorth> I have just read the manual
18:04:59 <andythenorth> child #1 has been adding trains to iron-horse in a branch
18:05:11 *** Clockworker__ has joined #openttd
18:05:14 <andythenorth> and I want to pull recent changes from default into that branch
18:05:30 <andythenorth> is it safest to save a patch from default and apply it?
18:06:32 <Alberth> iirc, you check out the destination, and then merge with the other one
18:07:05 <Eddi|zuHause> hg checkout default, hg merge branch
18:07:10 <Alberth> hg has rollback, so you can do it, check how it looks, and then decide whether it's good
18:07:12 <andythenorth> ach, I can always delete the repo and clone again
18:07:19 <Eddi|zuHause> or the other way around
18:07:53 <Alberth> Eddi|zuHause: that's what I do to merge into default :)
18:08:05 <Alberth> but yeah, it's always tricky, one to look up
18:08:08 <andythenorth> is ‘hg checkout' synomymous with ‘hg up’ in this context?
18:08:30 <andythenorth> so the commands are identical to git, but the results are different
18:09:37 <Alberth> that's moving stuff between repos
18:10:18 <andythenorth> ah, that’s why it’s not answering my question then :)
18:10:44 <andythenorth> people merge between different repos? :o
18:10:49 <andythenorth> instead of just branching?
18:10:59 <andythenorth> or do they mean instances of the repo
18:12:25 <Alberth> yesm hg recommends making a clone for a new branch, iirc
18:14:34 * andythenorth back to fixing animated pixels
18:22:31 <_johannes> is there a debug mode in openttd which shows me the tile coords under the mouse pointer?
18:25:09 <frosch123> when debug is enabled via console, it also prints the map array for that tile to console
18:25:19 <frosch123> also there is the console command "scrollto" which does the reverse
18:25:22 <frosch123> scroll to tileindex
18:26:13 <_johannes> frosch123: just typing "landinfo" in console says "command not found"
18:27:15 <frosch123> it's in the info menu on the very right
18:28:12 <_johannes> ah that question mark thing... how could I forget that
18:31:24 <Alberth> play the game more often :p
18:31:42 <_johannes> haha I play it for five years, multiple hours each week :D
18:32:12 <_johannes> and still have not discovered half of the game...
18:32:46 <andythenorth> diagonal land-lower/raise :P
18:32:56 <andythenorth> ctrl-drag vehicle groups
18:32:59 <andythenorth> recently found :P
18:33:32 <_johannes> I heard you can even build diagonal tunnels?
18:33:42 <_dp_> haha, when I learned about ctrl magic I tried ctrl-ing everything xD
18:34:24 <andythenorth> so many things I didn’t know :o
18:36:26 <_johannes> openttd is the game I've most played in my life
18:37:03 <_johannes> it's ~ 0.5% of my whole lifetime
18:38:45 <frosch123> i am also worried that the most written english i have read, was chat by andy
18:40:09 <frosch123> well, if i am lucky, i have read more pratchett
18:48:31 <_dp_> how do newgrfs like firs randomize production?
18:49:16 <_dp_> something tells me that "random production change" callbacks aren't very random)
18:50:01 <frosch123> firs has no randomness whatsoever
18:50:43 <_dp_> I just checked with firs 1.smth and there were some production changes
18:51:00 <_dp_> on monthly callback it seems
18:53:04 <andythenorth> FIRS randomises primary production at game start
18:53:10 <andythenorth> there is no other randomness
18:53:27 <andythenorth> random production change is handled to prevent OpenTTD default behaviour ;)
18:55:23 <frosch123> _dp_: you cannot control industry grfs, which do monthly production changes
18:55:38 *** Quatroking_ is now known as Quatroking
18:55:39 <frosch123> you cannot slow the months, or you will break other stuff
18:55:54 <frosch123> you can only slow the random production change callback
18:56:12 <frosch123> and offer a new variable to grfs, so they can respond to the setting themself
18:58:57 <_dp_> I'm trying to find out where random fluctuations happen and where it's base production changes
18:59:07 <_dp_> callback is called "Monthly random production change (35) " in wiki
18:59:23 <frosch123> yes, but it is essentially a "monthly" callback
18:59:51 <frosch123> all grfs with supplies or similar use it as "monthly" and not for production change
19:01:06 <_dp_> yeah, that's what I trying to find out
19:02:54 <_dp_> interesting, newgrf can fall back to default changes but that will not take smooth_economy setting into account.
19:04:22 <frosch123> no, smooth_economy is disabled when newgrf does anything with production
19:04:52 <_dp_> how to expose a variable to newgrf?
19:06:48 <frosch123> GetGlobalVariable in newgrf.cpp
19:07:50 <frosch123> or GetPatchVariable for stuff that is constant during a game
19:08:18 <frosch123> or reasonably constant :p
19:09:12 <_dp_> well, do settings count as reasonable constant?)
19:09:42 <frosch123> you cannot change the values from GetPatchVariable in multiplayer for example
19:09:46 <frosch123> since you need to reload newgrf
19:10:22 <frosch123> basically, either the newgrf reads the var once on start, and then sets stuff accordingly
19:10:30 <frosch123> or it reads in whenever used
19:12:16 <_dp_> I guess it's better be in globals then
19:12:38 <frosch123> if you put it in globals you cannot make availability of industries and vehicles depend on it :p
19:14:34 <_dp_> so, basically it's a choice between being able to set availability or change it during the game
19:15:01 <_dp_> at least I can imagine how latter would be useful)
19:15:08 <frosch123> there are always corner cases, but some stuff can only be set on start
19:15:34 <frosch123> either a vehicle exists, or it does not
19:15:49 <frosch123> you cannot change a setting, and suddenly all vehicles on tracks are invalid :p
19:16:20 <frosch123> anyway, if you do economy speed, it likely belongs into Global
19:16:44 *** __builtin has joined #openttd
19:17:09 <_dp_> yeah, don't think "speed" is a good word for it though
19:17:16 <_dp_> more like volatility or smth
19:17:56 <andythenorth> meh, can’t make Iron Horse compile faster
19:19:29 <_dp_> it may even be more that one setting
19:20:06 <_dp_> smooth economy influences frequency of changes, severity of changes and station rating influence over them
19:21:10 *** andythenorth has joined #openttd
19:21:11 <frosch123> that would be very smooth economy specific
19:21:19 <frosch123> i doubt any grf would care about that
19:21:23 <frosch123> grfs have their own parameters
19:21:28 <frosch123> like effect of supplies and stuff
19:21:34 <frosch123> those settings make no sense for that
19:22:32 <_dp_> yeah, but now I wonder how do I do all if I'm going to replace smooth economy with some other setting %)
19:22:48 <frosch123> trash smooth economy :p
19:24:03 *** andythenorth has joined #openttd
19:26:10 <frosch123> i considered removing it completely and supplying a substitute newgrf
19:26:46 <frosch123> but since it is so crappy, making the grf would be too boring
19:28:24 <_dp_> dunno about that, I think I like it more than original one
19:29:48 <andythenorth> rendering switches is slow :P
19:30:29 * andythenorth just took about 8 seconds off Iron Horse compile
19:30:45 <andythenorth> 20% or so faster :P
19:37:39 <_dp_> original economy only uses 60% station rating threshold
19:38:22 <_dp_> and only x2 /2 changes that are way too big for any king of competitive play
19:38:51 * andythenorth would fix it in newgrf :)
19:46:14 *** HerzogDeXtEr1 has joined #openttd
19:47:01 <_johannes> is YAPF able to go into a depot if it's the only way to reach a station ?
19:47:28 <frosch123> it's called "overflow depot"
19:47:38 <frosch123> it's a known track layout
19:49:17 <_dp_> I'd really like to have a configurable economy without newgrfs
19:49:41 <_dp_> like wtf, you can confugure the hell out of pathfinder but only have two pitiful bools for economy xD
19:50:03 <frosch123> i'd really remove all the disputable stuff from the game, and make everything via addons :p
19:50:32 <_dp_> frosch123, that would be an empty program :p
19:57:03 <_dp_> I'm kinda tempted to return to my original idea and just add "stable" economy
19:57:19 <_dp_> coz it's more or less clear how to stop random changes but not how to scale them
20:01:34 *** Cursarion has joined #openttd
20:02:35 *** frosch123 has joined #openttd
20:05:20 <Crisco> someone recommend a good heightmap to create a save on?
20:08:03 *** Cursarion^ has joined #openttd
20:13:44 <_johannes> frosch123: if a train is at A and I tell YAPF to go to A, then YAPF should return immediatelly, right?
20:14:00 <_johannes> I mean, it's not driving a complicated cycle in order to get to A again?
20:18:05 <_dp_> I wish there was an easier way to check, but looks like all goal servers use smooth economy
20:18:22 <_dp_> so if any needs trashing it's original one :p
20:21:40 *** andythenorth has joined #openttd
20:29:57 <andythenorth> are rosters in newgrfs stupid?
20:33:23 *** Cursarion^ is now known as Cursarion
20:56:38 *** Wormnest has joined #openttd
20:57:14 <AdmiralKew_> i was wondering where and how you got roosters into the game
21:01:12 <andythenorth> roosters would be better
21:29:32 *** gelignite has joined #openttd
21:43:06 *** Progman has joined #openttd
21:53:00 *** AdmiralKew has joined #openttd
21:57:06 * andythenorth is baffled by names
21:57:17 <andythenorth> I need to name Iron Horse rosters
21:57:31 <andythenorth> they were going to be shakespeare quotes about horses
21:58:43 <andythenorth> “Forgiveness, horse! why do I rail on thee”
21:58:55 <andythenorth> is not easily understood as ‘African trains'
22:03:24 <frosch123> andythenorth: easy, the african roaster of iron horse should obviously be named iron zebra
22:03:53 * andythenorth considered that :)
22:03:58 <andythenorth> but wondered if it was silly
22:04:21 <Ketsuban> The Swahili for "horse" is "farasi".
22:04:23 <andythenorth> do I use Wart Hog for the equivalent RVs?
22:05:38 <andythenorth> hmm. Igbo for ‘horse’ is ‘inyinya’
22:07:23 <frosch123> no, you would keep the "road", and replace the "hog" with something african
22:07:32 <frosch123> hippos are said to be realted to hogs
22:07:53 <frosch123> but hippo could also work for horse
22:08:11 <frosch123> sounds more like heqs though
22:09:09 <andythenorth> frosch123: does this scheme scale? o_O
22:09:18 <andythenorth> Norwegian Trains…Iron ???
22:10:11 <frosch123> there are various horse like things in various areas of the world
22:10:25 <andythenorth> mostly called ‘horse’ I think :D
22:10:46 <andythenorth> I should just call the rosters ‘African trains’, ‘UK and Ireland trains’ etc :P
22:11:00 <andythenorth> but then I get complaints they aren’t realistic eh?
22:11:34 <andythenorth> so just pick a distinctive animal
22:11:41 <andythenorth> oh you beat me :P
22:11:49 <Alberth> elephant is more appropriate for africa, imho
22:12:02 <frosch123> i picked it for india :)
22:12:05 <andythenorth> I like the random animal idea
22:12:15 <andythenorth> I will find animals that aren’t easily conflated :P
22:12:43 <frosch123> elephants seem to be more domestic in india than africa
22:12:55 <frosch123> i have never heard about work elephants in africa
22:13:43 <frosch123> anyway, i guess you can find a specific animal for every major geological region
22:14:27 <frosch123> likely you could as well for smaller regions, but then noone would recognise the animal :p
22:17:38 <andythenorth> it’s mostly narrow gauge trains
22:20:09 <frosch123> lion and rhino are both similar to iron, both hard to pronounce together
22:21:00 <andythenorth> in my accent, Iron Lion flows as two similar sounds
22:22:22 <frosch123> i like silly names, so i still like zebra :)
22:24:41 <frosch123> would give iron alpace for eastern stuff
22:25:02 <frosch123> hmm, no, south america
22:25:24 <andythenorth> silly old zebras don’t like in west africa, where my trains are
22:25:29 * andythenorth might ignore that
22:26:08 <andythenorth> Iron Hartebeest is no good?
22:27:36 <andythenorth> not planning any East African trains, and all trains are the same in Africa, maybe?
22:28:11 <frosch123> hmm, for west africa it says mostly gazelle
22:28:35 <andythenorth> I’ll have to add some description text anyway :)
22:28:44 <andythenorth> if you want Zebra, I’m happy with that
22:29:02 <frosch123> gazelle would work with moose
22:29:39 <frosch123> that's too christmassy
22:29:55 <Alberth> roster is only active in december :p
22:29:59 <andythenorth> norway is always christmas
22:30:02 <frosch123> iron bison is like lion again :p
22:30:18 <frosch123> i wondered about iron buffalo for an us set
22:30:29 <andythenorth> buffalo makes me think of mozarella
22:30:56 <andythenorth> “domestic Italian Water Buffalo"
22:31:57 <frosch123> i remember that dioxine stuff
22:35:39 * andythenorth considers making a name generator
22:39:21 <frosch123> "animal world map" has more results like that
22:39:44 *** FLHerne has joined #openttd
22:40:35 <frosch123> hmm i wonder why "iron python" is so funny to me
22:43:12 <andythenorth> frosch123: animal world map is winning :)
22:43:26 <andythenorth> I am not going to comment on iron python
22:43:38 <frosch123> most maps you cannot read though
22:44:10 <frosch123> not many trains there :p
22:45:00 <Wolf01> or more likely, iron zoo
22:47:05 * andythenorth now inventing rosters just for the name
22:47:57 <andythenorth> frosch123: pick Zebra or Antelope or Lion, then I can make a commit :P
22:48:49 *** ckraniak has joined #openttd
22:49:16 <frosch123> i don't like lion or hyena
22:49:33 <Wolf01> oh, iron wolf and shut up ;)
22:49:51 <frosch123> i wonder about the difference between antelope and gazelle
22:50:48 <Wolf01> "all gazelles are antelopes, but not all antelopes are gazelles" nice one
22:51:11 <frosch123> well, iron antelope then
22:56:47 <andythenorth> well, only 1000 miles wrong :)
22:56:48 <frosch123> it's the standard cute animal :)
22:57:21 <frosch123> anyway, western africa: go for antilopes
22:57:44 <frosch123> they work well with moose, and buffalo or even mule
22:58:10 <frosch123> i guess don't pick too small animals :p
22:58:23 <frosch123> nor the really big ones
22:58:29 <Wolf01> it's for a passenger service set?
22:58:55 <Wolf01> because antelope doesn't fit well for a long heavy goods train
23:02:51 <frosch123> i don't think it needs to be a strong animal
23:03:31 <frosch123> engines are named crocodile, piggy or duck
23:03:51 <andythenorth> kind of antelope
23:03:57 <andythenorth> sounds suitable for tropic
23:04:01 <andythenorth> not too big or too small
23:04:35 <andythenorth> map range is super-realistic w.r.t to the trains used
23:07:55 <andythenorth> Iron Bikeshedding? :D
23:19:33 <andythenorth> I can have Iron Badger for UK?
23:25:29 <Eddi|zuHause> can they have a running sound of "badger badger badger badger mushroom mushroom"?
23:25:57 *** andythenorth has left #openttd
23:36:09 *** Clockworker_ has joined #openttd
continue to next day ⏵