IRC logs for #openttd on OFTC at 2015-07-09
            
00:47:27 *** jottyfan has quit IRC
01:19:49 *** Hiddenfunstuff has quit IRC
01:42:48 *** Phoenix_the_II has quit IRC
01:54:27 *** supermop has joined #openttd
02:27:31 *** Myhorta has quit IRC
02:33:40 *** liq3 has joined #openttd
02:46:16 *** JezK has joined #openttd
02:55:18 *** DDR has joined #openttd
03:08:11 *** Myhorta has joined #openttd
03:20:48 *** DDR has quit IRC
03:50:10 *** gnu_jj has quit IRC
03:51:14 *** gnu_jj has joined #openttd
04:30:39 *** mntasauri has quit IRC
04:38:16 *** mntasauri has joined #openttd
04:40:43 *** Kurimus has quit IRC
04:41:13 *** Kurimus has joined #openttd
04:49:05 *** glx has quit IRC
04:52:51 *** Myhorta has quit IRC
05:15:39 *** Kurimus has quit IRC
05:26:38 *** Kurimus has joined #openttd
05:30:11 *** sla_ro|master has joined #openttd
05:30:18 *** liq3 has quit IRC
05:36:44 *** Kurimus has quit IRC
05:37:22 *** Kurimus has joined #openttd
05:47:26 *** Kurimus has quit IRC
05:54:32 *** liq3 has joined #openttd
06:56:02 *** Eddi|zuHause has quit IRC
06:56:16 *** Eddi|zuHause has joined #openttd
07:20:47 *** Kurimus has joined #openttd
07:40:15 <supermop> hello
07:43:33 <Flygon_> Yoooo
07:43:35 *** Flygon_ is now known as Flygon
08:05:57 <supermop> think i'll get a beer
08:14:50 <Supercheese> always a sensible plan
08:41:29 *** andythenorth has joined #openttd
08:41:42 <andythenorth> o/
08:42:21 <Supercheese> trams?
08:44:42 <andythenorth> :(
08:46:03 <supermop> beer too warm
08:48:38 <supermop> bourbon in stead i guess
08:51:06 <andythenorth> trams
08:51:11 <andythenorth> are bigger than narrow gauge trains
08:51:13 <andythenorth> it turns out
08:51:22 <andythenorth> Pikka: you did a tramz trackz grf?
08:51:30 <supermop> the ones here are standard gauge
08:52:18 <supermop> andy which brio wagon would you carry cotton candy in?
08:55:54 <andythenorth> supermop: there is a red version of these: http://www.brio.net/Products/railway/trainswagonsvehicles/gold-train
08:56:48 <supermop> not abstract enough looking
08:57:10 <supermop> http://i.ebayimg.com/images/i/261858074469-0-1/s-l1000.jpg
09:00:10 <supermop> or the green thing with the haybales? http://www.woodenrailway.info/resources/rarebrio/trucksandcars.jpg
09:02:44 <andythenorth> dunno :)
09:02:54 <andythenorth> all the brio we have is modern and detailed
09:03:11 <andythenorth> I don’t know much about it beyond that :)
09:04:06 <supermop> ah
09:05:45 <supermop> i feel like i should do a separate wagon for each cargo
09:06:27 <supermop> as the base set wagons are not refittable, they should all look different?
09:07:01 <Supercheese> not necessarily
09:07:26 <Supercheese> within the same climate perhaps
09:08:44 <supermop> only doing toyland
09:08:47 <supermop> for now
09:10:18 <Supercheese> right
09:10:38 <supermop> but idk i feel like separate hoppers are sort of silly
09:11:17 <andythenorth> if you’re only supporting original toyland cargos, then do one wagon per type
09:11:22 <andythenorth> gameplay is better without refits
09:11:33 <supermop> static grf
09:11:44 <supermop> but should the different wagons look the same
09:12:00 <andythenorth> do you have 2nd company colour available?
09:12:14 <supermop> does baseset?
09:12:17 <andythenorth> dunno )
09:12:18 <andythenorth> :P
09:12:32 <supermop> never seen it
09:12:34 <andythenorth> keep the gestalt, adjust the colourway
09:13:06 <supermop> andy the design school professor
09:14:16 * andythenorth keeps it under his hat
09:15:20 <supermop> so ogfx+ hopper wagon refits to three cargos
09:15:36 <supermop> so i assume that means i should have three hoppers
09:16:09 <supermop> idk
09:16:29 <supermop> sugar in cubes or loose?
09:17:17 <supermop> toffee ???
09:17:55 <Supercheese> toffee is bulk
09:17:58 <Supercheese> since it's quarried
09:18:20 <supermop> yeah but is it in like in chunks?
09:18:33 <supermop> or big blocks
09:18:45 <Supercheese> take your pick
09:18:54 <Supercheese> although the chunks appear fairly large IIRC
09:19:06 <supermop> or sort of slow flowing sticky mass?
09:20:09 <supermop> i feel like cotton candy should be in bales not a pile in a hopper
09:22:18 <supermop> should US english call fizzy drinks soda
09:23:19 <supermop> in tankers, barrels on flatbeds, of in boxcars?
09:24:08 <Pikka> hallo
09:24:28 <Pikka> andythenorth, I drew the tramtracks that are in the base set(s)...
09:25:05 * andythenorth is wondering about wider tramtracks
09:25:09 <andythenorth> might be a non-thing
09:25:14 <Pikka> they do need to be narrower than the rail tracks IMO
09:25:27 <Pikka> whether they should be the same as narrow gauge... depends how narrow your narrow gauge is
09:26:20 <andythenorth> turns out trams have a higher axle load than trains in my grf :P
09:26:28 <andythenorth> but let’s not ever mention axle load ever again
09:26:31 <andythenorth> ever
09:46:25 <supermop> need to get rid of these prints i made
09:49:10 <supermop> brio would really benefit from curvy tracks
10:09:13 *** smoke_fumus has quit IRC
10:12:33 *** JezK has quit IRC
10:16:53 <Supercheese> It was discussed changing Fizzy Drinks to Soda for US English, but it's Toyland and it's supposed to sound very silly, and Fizzy Drinks is extremely silly
10:17:17 <Supercheese> that sentence is very awkward, but you get what I mean
10:21:02 *** sla_ro|master has quit IRC
10:22:07 <andythenorth> Soda is silly :P
10:22:16 <Supercheese> Coke is also silly, but eh
10:22:30 <Supercheese> different parts of the country have completely different ideas what the stuff should be called
10:22:36 *** supermop_ has joined #openttd
10:22:46 <Supercheese> However, everyone thinks Fizzy Drinks is ridiculous, so therefore it fits Toyland well
10:23:10 <V453000> one dude on our server changed nick to Varoufakis ...
10:25:51 <^Spike^> V did the econmony of our game go to hell now? :)
10:27:46 <V453000> kind of
10:30:04 *** supermop has quit IRC
10:38:31 *** andythenorth has left #openttd
10:40:28 *** Supercheese has quit IRC
10:54:35 *** wicope has joined #openttd
11:08:33 <supermop_> can a static grf change text strings?
11:10:20 <peter1138> Soda is a stupid name for fizzy drinks
11:25:39 <supermop_> better than pop
11:26:34 <supermop_> but the idea wasn't for a grf to change fizzy drink to soda, but to change plastic flatcar to plastic tanker or something
11:27:00 <supermop_> or candy boxcar to candy gondola
11:27:30 <supermop_> i think candy wagon should be the classic brio open wagon with a single swedish fish on it
11:27:57 <supermop_> how one makes a swedish fish from toffee i do not know
11:38:52 <supermop_> what candy can be made from cotton candy anyway
11:47:49 <supermop_> Burboun and stout leads to indignant forum posts
11:48:10 *** wicope has quit IRC
12:07:53 *** Hiddenfunstuff has joined #openttd
12:22:14 *** wicope has joined #openttd
13:06:13 *** Myhorta has joined #openttd
13:10:28 <Eddi|zuHause> supermop_: my guess is "yes", but why would you need your grf to be static, anyway?
13:19:01 *** wicope has quit IRC
13:38:13 *** Pikka has quit IRC
14:01:05 *** a_sad_dude has joined #openttd
14:26:59 *** Myhorta[1] has joined #openttd
14:33:31 *** Phoenix_the_II has joined #openttd
14:34:41 *** Myhorta has quit IRC
14:42:55 *** Phoenix_the_II has quit IRC
15:51:16 *** sla_ro|master has joined #openttd
16:29:49 *** supermop_ has quit IRC
16:40:37 <Terkhen> hello
16:53:37 *** Alberth has joined #openttd
16:53:37 *** ChanServ sets mode: +o Alberth
17:02:09 *** a_sad_dude has quit IRC
17:02:14 *** shirish has joined #openttd
17:05:50 *** jottyfan has joined #openttd
17:18:10 *** shirish_ has joined #openttd
17:19:45 *** shirish__ has joined #openttd
17:24:05 *** shirish has quit IRC
17:26:15 *** shirish_ has quit IRC
17:29:03 *** HerzogDeXtEr has joined #openttd
17:30:34 *** Eddi|zuHause has quit IRC
17:30:48 *** Eddi|zuHause has joined #openttd
17:35:25 *** liq3 has quit IRC
17:44:39 *** wicope has joined #openttd
17:54:31 *** TheMask96 has quit IRC
17:58:03 *** a_sad_dude has joined #openttd
17:59:59 *** TheMask96 has joined #openttd
18:11:12 *** shirish has joined #openttd
18:17:34 *** shirish__ has quit IRC
18:19:49 *** shirish has quit IRC
18:37:38 *** DDR has joined #openttd
18:51:33 *** glx has joined #openttd
18:51:33 *** ChanServ sets mode: +v glx
19:01:20 *** wicope has quit IRC
19:08:02 *** FLHerne has joined #openttd
19:33:24 *** frosch123 has joined #openttd
19:36:29 *** Belugas has quit IRC
19:36:29 *** Belugas has joined #openttd
19:36:29 *** ChanServ sets mode: +o Belugas
19:37:17 *** snorre has joined #openttd
19:37:18 *** a_sad_dude has quit IRC
19:39:03 *** snorre_ has quit IRC
19:45:17 <DorpsGek> Commit by translators :: r27327 trunk/src/lang/korean.txt (2015-07-09 19:45:08 +0200 )
19:45:18 <DorpsGek> -Update from WebTranslator v3.0:
19:45:19 <DorpsGek> korean - 1 changes by telk5093
19:46:50 *** Pensacola has joined #openttd
20:08:34 *** FLHerne has quit IRC
20:11:57 *** shirish has joined #openttd
20:12:05 *** FLHerne has joined #openttd
20:12:20 *** sla_ro|master has quit IRC
20:16:57 *** andythenorth has joined #openttd
20:17:18 *** Belugas has quit IRC
20:17:20 <andythenorth> o/
20:17:41 *** smoke_fumus has joined #openttd
20:17:53 *** Belugas has joined #openttd
20:17:53 *** ChanServ sets mode: +o Belugas
20:23:31 *** a_sad_dude has joined #openttd
20:28:27 *** shirish_ has joined #openttd
20:30:50 *** shirish__ has joined #openttd
20:35:01 *** Progman has joined #openttd
20:35:09 *** shirish has quit IRC
20:37:54 *** shirish_ has quit IRC
20:44:37 <andythenorth> GS really should be allowed to communicate with NewGRF
20:44:42 <andythenorth> really really
20:44:49 <andythenorth> just to see what happens mostly
20:48:45 *** shirish has joined #openttd
20:49:40 <Alberth> being able to do some requests would be useful imho
20:50:26 <Alberth> but I wonder if you should really hook into industries
20:50:40 <Alberth> eg payment may be much more interesting
20:51:39 <andythenorth> ‘hook into’ is unlikely tbh
20:51:50 <andythenorth> but there is already a defined API for message passing
20:52:07 <andythenorth> and defined messages
20:52:29 <andythenorth> expose that to GS
20:53:04 <Alberth> where is that?
20:54:07 * andythenorth finds it
20:54:19 *** shirish__ has quit IRC
20:54:23 <andythenorth> http://newgrf-specs.tt-wiki.net/wiki/Callbacks#Random_production_change_.2829.29
20:54:28 <andythenorth> and the associated monthly change
20:54:59 <andythenorth> it would be better to extend it so the newgrf could detect if it was a GS or OpenTTD triggering the event
20:55:30 <andythenorth> there is no meaningful further control a GS could provide beyond production + closure
20:56:58 <andythenorth> certainly a GS can’t do anything like processing calculations, they run far too often
20:57:05 <andythenorth> nor tile animation etc
20:57:10 <andythenorth> totally inappropriate :)
20:57:33 <frosch123> so you want a gs event callback :)
20:57:38 <andythenorth> maybe
20:57:52 <andythenorth> a newgrf industry could be coded so that it can _optionally_ listen to GS events
20:58:25 <andythenorth> leaving the actual details in the hands of the newgrf, but allow GS to set the general direction more / less, stop / start, close
20:58:48 <andythenorth> similarly GS could control intro and expiry dates of a vehicle newgrf, via a technology level or such
20:59:03 <andythenorth> but it couldn’t set speeds and so on
20:59:47 <andythenorth> technology level would also solve every daylength justification I’ve seen, except realism freaks :P
21:03:20 <andythenorth> oops
21:03:22 *** Zuu has joined #openttd
21:03:27 * andythenorth monologing again :(
21:03:30 * andythenorth must stop
21:03:38 <andythenorth> soory
21:03:58 <Zuu> Hello
21:04:39 <Zuu> Too many threads about GS at the forum lately. :-)
21:05:02 <andythenorth> lo Zuu
21:08:11 <Zuu> GS could have a callback in info.nut which get called before the game start with a list of NewGRFs so it can veto and pass along a text message. While a bit constraint perhaps, GSes are distributed in their source form, so users who disagree could always hack the GS to bypass it.
21:09:28 <Zuu> It could then when game starts still have no knowledge about what GRFs is in the game if we wish.
21:10:03 <andythenorth> I don’t think it needs knowledge :)
21:10:22 <andythenorth> I have thought about this a bit, a GS tied to specific newgrfs is quite brittle
21:10:45 <andythenorth> for scripted scenarios it would make sense, but eh, who’s making those? o_O
21:11:09 <Zuu> There is already one city builder GS targeting FIRS. IIRC
21:12:14 <Zuu> Well, for cross domain logic like the forum guy, it could make sense.
21:12:35 <andythenorth> does the city build rely on specific cargos?
21:14:10 <Alberth> doesn't it have translation tables for cargoes of industry grfs?
21:14:27 <Zuu> Found the GS: http://www.tt-forums.net/viewtopic.php?f=65&t=69189
21:16:20 <Zuu> A GS made for a specific industry set can provide cargo specific settings labeled by cargo in the NewGRF. If you don't know how many cargos there will be and which cargos it will have, it is a bit hard to do per-cargo specific settings for the GS.
21:16:28 <andythenorth> so that GS doesn’t need FIRS, just the cargos
21:16:53 <andythenorth> but it does need all of the right cargos
21:17:00 <Zuu> Probably yes
21:17:51 <andythenorth> Zuu: I put some stuff in just before you joined btw (see the logs?)
21:18:03 <Zuu> I'll look it up
21:18:27 <andythenorth> hmm
21:18:41 <andythenorth> the ‘conquer the west’ GS should build primary industries on the frontier
21:18:52 <andythenorth> then towns and secondary industries on the newly settled lands
21:20:00 <Zuu> Looks like your monolog is sensible
21:20:09 <andythenorth> :P
21:20:42 <andythenorth> it doesn’t need any newgrf spec change if done dirty
21:20:53 <andythenorth> a secondary industry can still listen to the production change cb for example
21:21:19 <andythenorth> so if we wanted to stop / start production, set the production multiplier to a certain value
21:21:30 <andythenorth> FIRS could publish which values it will listen to
21:22:00 <Zuu> publish as via an API or publish as in a manual?
21:22:37 <andythenorth> manual http://bundles.openttdcoop.org/firs/push/LATEST/docs/html/code_reference.html
21:22:48 <andythenorth> but that is generated from FIRS source directly
21:23:01 <andythenorth> it would be a convention
21:23:43 <Zuu> So usually NewGRF set production multiplier, but you propose to allow GS to tap in and set it instead?
21:23:58 <andythenorth> OpenTTD sets it
21:24:14 <andythenorth> newgrf chooses to reset it (or not use it)
21:24:37 <Zuu> So it is read only to newgrf?
21:24:44 <andythenorth> http://newgrf-specs.tt-wiki.net/wiki/Callbacks#Random_production_change_.2829.29
21:24:57 <andythenorth> if the newgrf uses value 04, then it does whatever OpenTTD wants
21:25:17 <andythenorth> as a nice to have, set a bit to say that a GS set the value, not OpenTTD
21:26:25 <andythenorth> because I don’t like OpenTTD’s industry handling so I ignore it, but would not want to stop a GS author providing a different approach
21:26:26 <Zuu> Yeah that would probably be nice. A sort of flag to the NewGRF that perhaps the GS has a plan why it ask you to do this. :-)
21:26:51 <andythenorth> so, e.g. in the case of FIRS primary industry, the supplies mechanic would still operate
21:27:01 <andythenorth> so you’d get 2x or 4x base production if supplies are delivered
21:27:10 <andythenorth> but the GS determines the base production
21:27:28 <andythenorth> it’s a separation of concerns that follows roughly how the game already is structured
21:27:59 <andythenorth> GS has no role trying to understand or manipulate supplies, that’s way too complex
21:29:01 <Zuu> So what GS get is something similar to the production change cheat?
21:29:11 <andythenorth> yes
21:29:34 <andythenorth> which requires no newgrf spec change, unless we want to add a nice-to-have ‘this is GS' flag
21:30:35 <andythenorth> if author(s) then wanted to write a closely integrated GS/industry newgrf, they could
21:30:44 <andythenorth> using the production cb as message passing
21:30:51 <andythenorth> I wouldn’t bother, but eh
21:31:08 <andythenorth> newgrf industry can ask / tell nothing of the GS btw
21:31:35 <Alberth> newgrf doesn't have enough info anyway
21:32:16 *** shirish_ has joined #openttd
21:32:19 <Alberth> technically it can tell the GS things by reacting to messages in a certain way
21:34:00 <andythenorth> there’s not much that GS can read from the industry
21:34:01 <andythenorth> afaik
21:34:07 <andythenorth> production?
21:34:36 <Zuu> http://nogo.openttd.org/api/trunk/classGSIndustry.html
21:35:06 <andythenorth> yeah very little there that could be used for messaging
21:35:20 <andythenorth> I don’t think messaging is needed newgrf -> GS
21:36:00 <andythenorth> the only case I can think of is ‘can I close?’
21:36:11 <andythenorth> or ‘I want to close, is it allowed?'
21:36:36 <Alberth> terrain shape for construction
21:37:02 <Zuu> Btw, the production that GS sees is historic and not an instant response on multiplier, so it is quite slow to use for communication.
21:37:15 *** Alberth has left #openttd
21:37:29 <andythenorth> yes
21:37:30 <Zuu> If NewGRF can control the stockpile size directly, that may be a possibility though.
21:37:40 <andythenorth> nah
21:37:47 <andythenorth> well, only by evil
21:37:50 <andythenorth> hmm
21:37:58 <andythenorth> does GS respond to OpenTTD events?
21:38:07 <Zuu> GS recieve OpenTTD events
21:38:07 <andythenorth> how would it handle the monthly / random CBs?
21:38:28 <Zuu> But it doesn't have callbacks that instantly return. Other than the save callback.
21:38:37 <frosch123> andythenorth: you need to keep in mind that passing info newgrf->gs is a lot easier than gs->newgrf
21:38:38 *** shirish has quit IRC
21:38:52 <frosch123> gs runs only on the server, so all info needs to be send as commands
21:39:04 <andythenorth> Zuu: could use a queue?
21:39:13 <andythenorth> dunno
21:39:20 <andythenorth> this is all in industry_cmd.cpp iirc
21:39:26 <andythenorth> if you want to try it, I could patch FIRS
21:39:38 <andythenorth> it might work with default industries even, not sure
21:39:41 <Zuu> GS has an event queue with events from OpenTTD. Eg. Vehicle crashed.
21:40:15 *** tycoondemon2 has joined #openttd
21:40:23 <andythenorth> frosch123: would that limitation make any difference if this is just an injection to monthly / random cb?
21:40:28 <Zuu> I'm trying to fetch current source code. My hg pull doesn't work. Probably due to the mirror change some months ago.
21:40:49 <andythenorth> mine neither
21:40:52 <andythenorth> I should fix that
21:41:10 <andythenorth> it’s documented in forums iirc
21:41:16 <Zuu> yep
21:41:33 <frosch123> andythenorth: i do not see any significany in a monthly callback
21:42:00 <frosch123> anyway, the question is, at what point does the gs give information?
21:42:16 <frosch123> does it do it in advance? and does newgrf tell whether to use or discard it?
21:42:28 <frosch123> or does the newgrf trigger the gs to make decision
21:42:42 <frosch123> newgrfs decide stuff instantly
21:42:48 <andythenorth> newgrf returns 04 to the production cbs
21:42:58 *** tycoondemon has quit IRC
21:43:04 <frosch123> gs have a hard time to pass information and being triggered from external
21:43:13 <frosch123> gs asking newgrf is a lot easier
21:43:47 <frosch123> andythenorth: what does the gs do?
21:43:51 <Zuu> NewGRF could possible expose information via properties that GS can look at if they like to.
21:44:07 <frosch123> does the gs have a function "next time the newgrf returns 04, do this"?
21:44:11 <andythenorth> no
21:44:28 <frosch123> or does the gs have to listen to newgrf returning 04, which may reach the gs months after the newgrf triggered it
21:44:42 <frosch123> read: gs have no concept of "instant decisions"
21:44:56 <andythenorth> ok, so that was my concern about this idea
21:45:03 <frosch123> they can either deposite information for newgrf to fetch at some point
21:45:04 <andythenorth> OpenTTD runs the monthly cb when it runs
21:45:11 <andythenorth> but GS can’t respond
21:45:12 <andythenorth> ?
21:45:16 <frosch123> or they can react months after newgrf requesting a gs to do something
21:45:31 <frosch123> there are no interrupts
21:45:36 <frosch123> gs can only poll
21:45:37 *** jottyfan has quit IRC
21:45:56 <andythenorth> so the best GS could do is decide that the next time the monthly cb runs for a specific industry instance, the value should be x?
21:46:03 <andythenorth> and similarly for random cb
21:46:15 <frosch123> and even if there were interrupts, information cannot take effect immediately, because it needs to be send over the network first
21:46:31 <andythenorth> I am puzzled by the network issue
21:46:42 <andythenorth> it’s probably not a relevant puzzle though
21:47:17 <frosch123> basically a gs could ask newgrf to do something, and the newgrf may obey or ignore
21:47:24 <frosch123> newgrf can also answer when asked
21:47:33 <frosch123> but gs cannot quite answer to newgrf
21:47:51 <frosch123> so, essentially, it's always the gs that has to take initiative
21:48:23 <andythenorth> +1
21:48:57 <andythenorth> if newgrf can ask GS to do things, then I think we’re on a highway to hell
21:49:02 <frosch123> the lazy method would be to add a callback which gs can trigger with whatever values, and the newgrf can react to it in whatever way
21:49:03 <andythenorth> who is controlling the game at that point?
21:49:11 <frosch123> but in the past that apporach has always failed :p
21:49:26 <andythenorth> I would, for dirtiness, just modify the existing callbacks :P
21:49:28 <frosch123> see station classes, object classes, railtype labels, ...
21:50:12 <frosch123> andythenorth: modifying existing callbacks does not match the "gs taking iniitiative"
21:50:23 <frosch123> the existing callbacks are triggered by ottd
21:50:43 <frosch123> if yuo use them, you are back to gs storing information in "gs registers", which newgrf can read
21:51:03 <frosch123> which essentially turns it into "newgrf polling for gs information" :p
21:51:31 <andythenorth> yes
21:51:34 <andythenorth> that’s my design
21:51:37 <andythenorth> by design :)
21:51:39 <andythenorth> deliberately
21:51:51 <andythenorth> what’s the downside? o_O
21:52:09 <frosch123> well, there is a difference
21:52:16 <frosch123> "gs variables" are static
21:52:19 <frosch123> once set, they do not change
21:52:33 <frosch123> a callback would be a "trigger" that happens exactly as often as the gs triggers it
21:52:45 <frosch123> technically you can emulate both with each other
21:53:01 <frosch123> i..e the "trigger callback" could store a value in a newgrf register, resulting in a gs variable
21:53:20 <frosch123> and vice versa the "gs variable" could be compared to earlier values, or incremented or whatever
21:53:55 <frosch123> but the trigger callback could also answer to gs
21:54:04 *** shirish_ has quit IRC
21:54:21 <frosch123> while the gs varibles could not answer, instead gs would have to read other newgrf variables, and noone knows who reads what when
21:55:34 <Zuu> Would it be feasible to have a DoCommand called by GS that would call ChangeIndustryProduction(Industry *i, bool monthly) in industry_cmd.cpp with an two extra argumnets: "I'm a GS" and the desired production multiplier?
21:55:58 <frosch123> that's essentially what i meant :)
21:56:17 <andythenorth> that’s also what I meant :)
21:56:23 <frosch123> just there is no point in trying to use an existing ChangeIndustryProduction
21:56:34 <frosch123> you can add a new one, with less confusing bloat
21:56:59 *** Wolf01 has joined #openttd
21:56:59 <Zuu> An improvement may be to have a bit in the industry that GS can flip via another API that would disable default OpenTTD production changes.
21:57:17 <Wolf01> o/
21:57:35 <Zuu> Or do it like the bit is flipped automatically when you make a manual adjustment and have a reset API method to zero this bit to pass back control to OpenTTD.
21:57:42 <frosch123> Zuu: the newgrf can store whatever the docommand passes to it
21:57:55 <frosch123> so the "flag" is already covered
21:58:18 <Zuu> So it is up to the NewGRF to ignore the usual OpenTTD calls and only listen to the GS?
21:58:42 <frosch123> yes, usually the newgrf ignore the ottd call anyway, don't they? :p
21:58:50 <frosch123> anyway, what happens with newly spawned industries?
21:59:04 <frosch123> can gs set default values for new industries?
21:59:20 <frosch123> or do they have to listen for new ones, and then inform then one by one about their presence
21:59:29 <frosch123> same when startnig a new game with 10k industries :p
21:59:43 <frosch123> would a gs want to control all industries? or only a hand full?
22:00:02 <frosch123> gs are bad at controlling 10k things, because it can only execute like 30 commands a second or something?
22:00:09 <frosch123> or only 15?
22:00:14 <frosch123> i don't know :p
22:00:22 <frosch123> does it need 1 or 2 ticks to execute a command?
22:04:17 *** Pensacola has quit IRC
22:05:34 <andythenorth> GS doesn’t get control of newly spawned
22:06:10 <frosch123> no, but the gs could leave a letter for every new one to read :p
22:06:25 <andythenorth> hmm
22:06:26 <frosch123> even the industry placement condition could read that
22:06:35 <frosch123> gs could say "more wood!!!"
22:06:39 <andythenorth> if there are 10k industries…
22:06:47 <andythenorth> and GS tries to control all monthly?
22:06:48 <andythenorth> bad?
22:07:04 <andythenorth> is this basically infeasible? :)
22:07:08 <frosch123> hmm,,.. though if a gs wants more wood, it would proably fund industries itself
22:07:40 <frosch123> @calc 74*30
22:07:40 <DorpsGek> frosch123: 2220
22:07:54 <frosch123> i guess a gs has no chance to control more than 2k industries per month :p
22:08:11 <andythenorth> how many on a map?
22:08:20 <andythenorth> :P
22:08:28 <frosch123> 64x64 maps only \o/
22:08:52 <andythenorth> I read that as 64kx64k :(
22:10:38 <frosch123> so well, i guess it's down to "a gs can only control industries the player services"
22:10:55 <andythenorth> hmm
22:10:56 <frosch123> it can not control all industries on maps way too huge for players
22:11:14 <frosch123> maybe we should just loop maps
22:11:14 <andythenorth> “gs controls all instances of an industry type at same time” o_O
22:11:25 <frosch123> make the map 256x256 and display it as looped
22:11:27 <andythenorth> “all coal mines increase production” :P
22:11:28 <frosch123> noone will notice :p
22:11:31 <andythenorth> looping maps :)
22:12:03 <frosch123> andythenorth: maybe "industry type + area + event"?
22:12:23 <frosch123> then gs could control single industries, or a buch in an area
22:12:26 <andythenorth> ‘area’ is an interesting concept :P
22:12:36 <andythenorth> if we divided the map into segments :P
22:12:38 <frosch123> frankly it make no sense to give 5k different commands to 5k industries
22:12:43 <frosch123> that' just random then
22:12:46 <frosch123> which needs no gs
22:12:50 <andythenorth> we could also set a profit calculation in a segment :P
22:12:54 <andythenorth> 100% separate issue but eh
22:12:55 <Zuu> A very basic start http://junctioneer.net/openttd/01.patch
22:13:22 * andythenorth should patch FIRS
22:14:12 <Zuu> I don't know exactly what to use from ChangeIndustryProduction, but the rest to setup the command is not so hard, just some work. :-)
22:17:09 *** tokai has joined #openttd
22:17:09 *** ChanServ sets mode: +v tokai
22:19:17 * andythenorth wonders if OpenGFX + industries listens to prod. change
22:19:31 <andythenorth> oh this would be a new cb anyway?
22:21:20 <frosch123> https://paste.openttdcoop.org/ps6aj7xff <- something less specific
22:22:24 <frosch123> hmm, the area command has no space to set a industry type though :p
22:22:29 <frosch123> we need more command parameters :)
22:23:47 <frosch123> i considered a patch to merge the parameters tile, p1, p2 and text into a variable amount of parameters
22:23:54 <frosch123> only limited by a maximum size
22:23:54 <andythenorth> “coal in the east are running out”
22:24:02 <andythenorth> “coal mines in the west are increasing production"
22:24:08 *** tokai|noir has quit IRC
22:24:39 <andythenorth> “coal mines in the west will be spinning their wheels faster” :P
22:24:43 <Zuu> If you limit the size of the rect, it may be possible to use a limited number of bits to specify the width/height of the rect. :-)
22:24:44 * andythenorth saw l12
22:24:58 *** dustinm` has quit IRC
22:25:01 <frosch123> Zuu: good point :)
22:25:09 <Zuu> And save some for other use. Depending on how many you nead for industry type.
22:25:18 <andythenorth> 64x64?
22:26:23 <Zuu> A third command could possible be to broadcast to the entire map.
22:26:47 <andythenorth> could that just work down a queue?
22:26:52 * andythenorth has a queue obsession
22:26:53 <frosch123> https://paste.openttdcoop.org/p0a28hstd <- more like that?
22:27:04 <andythenorth> ‘next time this node is processed, the value is x'
22:27:11 <andythenorth> whenever that is :P
22:27:58 <frosch123> s/vor/for/ btw :p
22:28:11 <Zuu> I assume var 10 and 18 are vars that are usful for the NewGRF.
22:28:25 <frosch123> it's just something the newgrf can read
22:28:34 <frosch123> it's essentially a parameter like p1 and p2
22:28:50 <Zuu> right
22:28:56 <frosch123> call "p1" as "var 10", and "p2" ans "var 18" :p
22:29:01 <Zuu> :-)
22:29:12 <frosch123> but some parts of the parameter are already used, so only some parts are free
22:29:41 <frosch123> so for cb29 var10 is free and var18 is used, while for cb25 it is the other way around :p
22:30:00 <frosch123> but maybe it is a good idea to not use cb29, but add a new one
22:30:16 <frosch123> cb25 otoh has a "trigger type" parameter, so we can just add a "gs trigger"
22:30:30 <andythenorth> I was only -1 to a new cb so we didn’t have to patch the tools :)
22:30:34 *** dustinm` has joined #openttd
22:30:39 <andythenorth> and I can’t edit the wiki anymore :P
22:30:41 *** HerzogDeXtEr has quit IRC
22:30:43 <frosch123> the newgrf can then start a animation of money raining down on it
22:30:57 <Zuu> :-)
22:30:58 <andythenorth> v can animate that
22:31:20 <Zuu> I like your proposal
22:32:31 <Zuu> I can code the part untill those commands are called. But beyond that I'm a bit lost. :-)
22:33:53 <Zuu> Not saying it is impossible, but will take more time :-)
22:36:22 <Zuu> frosch123: would it not be good to also gave CmdIndustryGSWorldEvent or similar name that affects all industries of given type on the map?
22:37:19 <Zuu> Hmm.. and then someone want a town selector.
22:37:50 <andythenorth> keep it simple :)
22:39:05 <Zuu> Better simple that gets done than complex that never get done :-)
22:39:10 <frosch123> Zuu: i have no idea, we need more experimental ottd versions :)
22:39:18 <frosch123> we should start a patchpack or something
22:39:44 <andythenorth> froschpack
22:39:53 <andythenorth> but remember, nobody will read your bug reports ;)
22:40:25 <frosch123> i also have a company colours patch :p
22:40:30 <frosch123> it works for one blitter
22:41:34 <frosch123> anyway, i am unsure about whether to execute all callbacks at once
22:41:41 <frosch123> or whether to distribute them randomly over some ticks
22:41:45 <Zuu> I have some acient vehicle overtake patch which didn't workout they way I wanted it to.
22:42:35 <planetmaker> o/
22:42:36 <frosch123> so yes, i think an experimental version for gs and newgrf to try stuff
22:42:52 <frosch123> i don't think rushing for trunk is a good idea :p (is it ever?)
22:44:11 <andythenorth> tech-ladder patch :P
22:44:24 <andythenorth> GS sets an openttd global var
22:44:31 <andythenorth> newgrfs decide what they do with it
22:45:23 <andythenorth> or
22:45:29 <andythenorth> something better :P
22:53:53 <andythenorth> “technology level 9: your steel mills now produce more efficiently"
22:54:02 <andythenorth> “technology level 12: here is a new electric engine"
23:01:34 <Zuu> I've updated the initial patch to follow the frosch123 proposal. http://junctioneer.net/openttd/01.patch
23:01:39 <Zuu> Now I'm off to bed
23:02:02 <Zuu> Night all
23:02:09 *** Zuu has quit IRC
23:16:11 *** frosch123 has quit IRC
23:16:18 *** andythenorth has left #openttd
23:19:49 *** Progman has quit IRC
23:31:18 *** tokai|noir has joined #openttd
23:31:18 *** ChanServ sets mode: +v tokai|noir
23:37:04 *** tokai has quit IRC