Log for #openttd on 16th May 2015:
Times are UTC Toggle Colours
00:02:06  *** Mek [] has quit [Ping timeout: 480 seconds]
00:08:29  *** Mek [] has joined #openttd
00:22:26  *** smoke_fumus [~smoke_fum@] has quit [Read error: Connection reset by peer]
00:47:44  *** Pikka [] has joined #openttd
01:05:55  *** DDR [] has quit [Read error: Connection reset by peer]
01:06:17  *** DDR [] has joined #openttd
01:25:12  *** DDR [] has quit [Read error: Connection reset by peer]
01:26:52  *** DDR [] has joined #openttd
01:40:36  *** Flygon_ [] has joined #openttd
01:48:09  *** Flygon [] has quit [Ping timeout: 480 seconds]
02:14:29  *** DDR [] has quit [Read error: Connection reset by peer]
02:31:42  *** DDR [] has joined #openttd
02:31:48  *** Ketsuban [~ketsuban@] has quit [Quit: To robbery, slaughter, plunder they give the lying name of empire; they make a desert and call it peace.]
02:34:18  *** DDR [] has quit [Read error: Connection reset by peer]
02:34:41  *** DDR [] has joined #openttd
02:35:18  *** Biolunar_ [] has joined #openttd
02:35:18  *** Biolunar [] has quit [Read error: Connection reset by peer]
03:03:30  *** supermop [] has joined #openttd
03:10:09  <supermop> yo
03:12:26  <Flygon_> Yooo
03:12:29  *** Flygon_ is now known as Flygon
03:16:32  *** glx [] has quit [Quit: Bye]
03:36:34  <Pikka> oo
03:39:50  *** liq3 [] has joined #openttd
03:48:14  <supermop> hi
03:48:41  <Pikka> hello
03:49:01  <supermop> idk how i am going to get this done in time to hand off to V to get back to my boss
03:49:14  <Pikka> what are you doing?
03:49:32  <supermop> this guy has little concept of how long this stuff takes, hence why i need v's help to get done in time
03:49:44  <supermop> designing a shop fit out
03:49:53  <supermop> client wants really nice renders
03:50:05  <supermop> beyond what my computer can produce
03:50:24  <supermop> but doesnt want to pay a pro, nor par for his own copy of vray etc
03:50:53  <Pikka> silly clients
03:51:01  <Pikka> and bosses
03:51:05  <supermop> so basically i worked out its cheaper for me to hire someone than to struggle through it billing him the hours
03:51:41  <supermop> but because he doesnt want to subcontract anything out (paranoid NDA)
03:52:14  <supermop> i guess i just have to bill the hours equivalent of hiring a subcontractor and then pay myself
03:52:46  <supermop> but now he has decided to just render my models on his machine instead
03:53:10  <supermop> but my modeles are not properly rigged u as i was planning on paying someone else to do that
03:53:46  <supermop> now how will i explain when i magically produce professional renders in a few days
03:59:52  <supermop> sigh
04:16:21  *** sla_ro|master [slamaster@] has joined #openttd
04:34:57  <supermop> whats pikka up to?
04:35:19  <supermop> i think i just convince my boss how time consuming this is
04:36:04  * Pikka is up to trucks
04:36:16  <Pikka> although right now I have relatives visiting, so I'm off to lunch.
04:41:09  <supermop> fun!
04:41:22  <supermop> i wish i was in qld
04:41:24  <supermop> too cold
04:56:01  *** Eddi|zuHause [] has quit []
04:56:15  *** Eddi|zuHause [] has joined #openttd
04:59:41  <Pikka> it's fairly cool up here today too..
05:18:08  *** Pereba [~UserNick@] has quit [Quit: AdiIRC: triple your pleasure, triple your fun! []]
05:33:35  *** wicope [] has joined #openttd
05:53:18  <supermop> oddly enough this afternoon its very warm out
05:53:34  <supermop> well relative to the past few days
06:01:09  <Pikka> :)
06:01:31  <Pikka> did I imagine the addition of a variable to detect whether the vehicle is loading or unloading?
06:06:33  <Pikka> nml has "vehicle_is_unloading" as a new variable in 1.5, doesn't look like it's listed on the nfo page. Guess I'll have to go find the revision. :)
06:07:10  <Pikka> oh no, there it is
06:07:32  <Pikka> how did I overlook that? :)
06:19:05  <supermop> that is new?
06:19:20  <supermop> haven't vehicles always had loading sprites?
06:19:32  <supermop> or you mean loading separate from unloading
06:19:42  *** andythenorth [] has joined #openttd
06:19:49  *** StudioPonozka [] has joined #openttd
06:19:49  <supermop> like a dump truck not tipping to load
06:21:18  *** Alberth [~alberth@2001:981:c6c5:1:be5f:f4ff:feac:e11] has joined #openttd
06:21:21  *** mode/#openttd [+o Alberth] by ChanServ
06:22:04  <andythenorth> o/
06:22:12  <supermop> hi andy
06:23:06  <Alberth> moin
06:27:13  *** Mek [] has quit [Ping timeout: 480 seconds]
06:31:27  <Pikka> exactly like that, supermop :)
06:31:33  <Pikka> hello andy
06:32:26  <supermop> pineapple people forcing their way out of the train before others push their way on?
06:33:06  <Pikka> no, exactly like a dump truck not tipping to load :P
06:33:11  <Pikka>
06:34:40  <supermop> other than dump trucks, where else would this distinction show up?
06:35:03  <Pikka> I don't know
06:35:14  <supermop> i can't think of anything else
06:35:33  <supermop> other than animated loading of people or boxes
06:35:49  <supermop> hopper cars do not really change shape to unload
06:36:45  <Supercheese> anything that loads in a different fashion than it unloads
06:36:55  <Pikka> this dump truck though... (1 empty + (4 cargos * 4 load/unload states)) * 8 directions * 16 liveries...
06:37:00  <Pikka> 2176 sprites :)
06:37:03  <Supercheese> perhaps self-discharging hoppers, if there are enough pixels to make the distinction
06:37:12  <supermop> i think thaat iss only really dump trucks Supercheese
06:37:12  <Supercheese> which is dubious
06:37:33  <supermop> hoppers you will only see if you can animate the stuff coming out the bottom
06:37:43  <Pikka> which you could, but you wouldn't
06:37:49  <Supercheese> could put a ramp and march livestick towards the car loading, away from car unloading :P
06:37:57  <Pikka> getting too "realistic" for openttd, and getting to be too much work :)
06:38:17  <Supercheese> yeah dump trucks are by far the largest use case
06:38:34  <supermop> for tankers you could have a hose connected to top for loading and bottom for unloading assuming your station has the other end of the hose on it
06:38:55  <supermop> side tip hoppers?
06:39:22  *** Mek [] has joined #openttd
06:39:37  <Pikka> side tip is just a flavour of dump truck
06:39:44  <supermop> cement trucks rotating opposite direction to unload
06:39:57  <supermop> garbage trucks
06:40:23  <Supercheese> no one wants to animate the rotating anyhow
06:40:38  <Supercheese> and I don't think cement trucks even exist
06:40:47  <Supercheese> could render some but meh
06:40:52  <supermop> i'd sort of assumed you'd make them
06:41:01  <Supercheese> Maybe
06:41:07  <Supercheese> worth a look
06:41:08  <supermop> idk what they would be used for in game
06:41:14  <Pikka> they're not really transporty enough for me. maybe as a town car? :)
06:41:19  <supermop> bdmt i guess
06:41:26  <Supercheese> eyecandy RV for sure
06:41:36  <Supercheese> already have two garbage trucks
06:41:59  <andythenorth> bonjour Pikka
06:42:09  <Pikka> guten tag
06:42:26  <supermop> a cement truck showing up to pour concrete into the hardware store twice a month for years on ed may be a bit odd....
06:42:45  <andythenorth> silly game
06:43:11  <andythenorth> Pikka have you seen what V453000 is doing with cubes? o_O
06:43:23  <Pikka> is he eating them?
06:43:30  <andythenorth> in bulk
06:43:36  <Pikka> whence?
06:43:45  <andythenorth> V453000 where is pictures?
06:45:42  <Pikka> these ones?
06:46:13  <supermop> oooh
06:46:26  <andythenorth> yes those ones :)
06:46:41  <andythenorth> every pixel a cube
06:47:00  *** KouDy [~koudy@] has joined #openttd
06:48:12  <Pikka> seems a bit of a tame concept for V :P
06:49:47  *** KouDy_ [~koudy@] has quit [Ping timeout: 480 seconds]
06:50:35  <Alberth> :D
06:56:58  <V453000> NOT FOR LONG :P
06:57:46  <V453000> mayhem possible
07:00:20  <Pikka> huzzah!
07:15:28  <Pikka> wot
07:15:35  <andythenorth> ?
07:15:50  <Pikka> grf compiles fine, openttd gives unexpected sprite error :/
07:16:05  <Pikka> in the middle of a block of (the right number) of sprites...
07:16:14  <andythenorth> how rude
07:16:18  <Pikka> tres
07:16:36  <andythenorth> also, pikka you haz truck sprites?
07:16:52  <Pikka> si
07:17:07  <Pikka> just finished the last 3rd generation (50sish) truck.
07:17:15  <Pikka> will do a blog post some time
07:17:23  <Pikka> ie, when I can get the grf to work
07:17:43  <andythenorth> he
07:19:25  <peter1138> Cubicals
07:20:32  <andythenorth>
07:20:52  <andythenorth> I don’t like lime green, makes me feel a bit sick, but bold colour scheme
07:21:02  <andythenorth> nice suspension too
07:21:13  <Pikka> yes
07:21:52  * Pikka doesn't understand
07:22:25  <Pikka> I have a block of 512 sprites, openttd is complaining about unexpected sprite on the 510th. I can't see any difference between this block of 512 sprites and the one immediately preceding it...
07:22:41  <andythenorth> is paste?
07:22:57  <Pikka> apart from they have different sprite names of course...
07:23:03  <Pikka> is paste where?
07:23:47  <andythenorth>
07:23:55  <Pikka> I suppose I could try replacing the block that breaks with a copy of the block that doesn't break, and then if it still breaks I can claim it's not my fault. :)
07:24:40  <andythenorth> that is how an libxml bug was found yesterday :P
07:25:28  <andythenorth> found a libxml extension that literally can’t count
07:25:56  <Pikka> that's the block, fwiw :)
07:26:12  <Pikka> * on 4578
07:27:13  <Pikka> I counted both "8bpp.png"s and "lacey_octopod"s, there's definitely the right number of sprites... I'll try replacing the whole block.
07:28:51  <Alberth> swap 2 lines
07:29:05  <Pikka> or that :)
07:29:59  <peter1138> First block is 64, the rest are 16?
07:31:37  <Pikka> huh, replaced the block and it works.
07:33:22  <peter1138> Why is the first one 64?
07:34:05  <Pikka> are you questioning 01 01 00 \b16 \b64 08, peter1138? it's an extended format action 1.
07:35:03  <Pikka> 64 sets of 8 (512 sprites), but starting at set 10 (d16) instead of set 0, and retaining the first 16 sprite sets from the previous action 1.
07:35:03  *** Progman [] has joined #openttd
07:36:05  <Pikka> oh
07:36:08  <Pikka> you mean
07:36:15  <peter1138> But you have 16 * 8, not 64 * 8
07:36:40  <Pikka> you mean you spotted that second action 1 that isn't supposed to be there, and is in fact the problem? thanks :D
07:37:13  <peter1138> In that case, there's the 3rd and 4th too.
07:37:17  <Pikka> yep
07:37:34  <Pikka> whoops :)
07:45:32  <Pikka> all good now, thanks peter1138
07:57:07  <Pikka>
07:59:58  <Alberth> spiffy
08:06:49  <andythenorth> ho
08:06:55  <andythenorth> I can stop working on Road Hog :D
08:07:20  <andythenorth> look at all those trucks
08:09:29  <Pikka> woooooo
08:09:36  <Pikka> I just changed company colour and crashed openttd!
08:09:51  <Pikka> although I had reloaded grfs a few times, so...
08:13:10  *** roidal [] has joined #openttd
08:28:39  <peter1138> Well
08:32:03  <andythenorth> exactly
08:37:44  <Pikka> indeed
08:38:08  <__ln__> @seen dominik81
08:38:08  <DorpsGek> __ln__: I have not seen dominik81.
08:40:10  <andythenorth> one day
08:40:21  <andythenorth> someone will figure out how to regression-test newgrfs
08:43:07  <__ln__> but today is not that day
08:43:33  <andythenorth> I would lay money on it
08:43:35  <andythenorth> €20
08:43:46  <andythenorth> today will not be that day
08:49:03  *** ChrisM [] has joined #openttd
09:01:52  <andythenorth> tests are win when refactoring
09:08:58  *** DDR [] has quit [Read error: Connection reset by peer]
09:12:05  <Pikka> OTVI seems exceptionally good at creating gridlock
09:12:47  <Pikka> places a drivethrough stop just off a main road or in the middle of a town and sends a hundred vehicles with full load orders to it.
09:13:42  <andythenorth> AI is our major existential threat
09:13:45  <andythenorth> apparently
09:15:10  <Pikka> apparently
09:15:12  <Pikka>
09:15:25  <Pikka> OTVI is mauve, sucks to be white or green.
09:17:30  <andythenorth> you need more diesel smoke
09:17:34  <Pikka> I do
09:17:40  <andythenorth> your trucks are twin-stack
09:18:01  <Pikka> only the petersons, in this generation. :P
09:18:26  <Pikka> there is a lot of diesel smoke, I wonder if it affects performance?
09:18:57  <Pikka> also, how much of a pain is the callback to reposition smoke?
09:20:02  *** supermop [] has quit [Ping timeout: 480 seconds]
09:23:20  <Pikka> (that was not a rhetorical question, I haven't tried it yet)
09:29:05  <andythenorth> easy peasy
09:29:08  <andythenorth> even andythenorth can do it
09:29:21  * andythenorth is nml-tastic mind
09:36:31  *** smoke_fumus [~smoke_fum@] has joined #openttd
09:37:41  *** smoke_fumus [~smoke_fum@] has quit []
10:13:30  *** smoke_fumus [~smoke_fum@] has joined #openttd
10:14:08  *** StudioPonozka [] has quit [Quit: Buj]
10:14:15  <andythenorth>
10:14:21  <andythenorth> lego maglev
10:16:26  <Pikka> fancy
10:34:29  <andythenorth> cats are quiet
10:34:40  <andythenorth> where is discussion today?
10:34:48  <Pikka> hmm
10:34:50  <andythenorth> about fine features and valued opinions
10:34:57  <andythenorth> such as Underground Building
10:35:02  <andythenorth> and DayLength
10:35:07  <Pikka> I'm looking at leyland PD3s with front entrances, is that a good feature?
10:35:18  <andythenorth> I can only read that in a seedy way
10:35:20  <andythenorth> sorry
10:35:30  <andythenorth> for lowering the tone
10:35:34  <Pikka> you filthy swine you
10:38:31  <peter1138> Fallout New Vegas, eh?
10:38:50  <Pikka> who can say?
11:00:16  * andythenorth does FIRS-ing
11:17:16  *** HerzogDeXtEr [~flex@] has joined #openttd
11:24:12  *** Pensacola [] has joined #openttd
11:32:21  *** Supercheese is now known as Guest5403
11:32:26  *** Supercheese [] has joined #openttd
11:32:32  *** roidal_ [] has joined #openttd
11:35:47  *** tokai|mdlx [] has quit [Quit: c('~' )o]
11:37:12  *** roidal [] has quit [Ping timeout: 480 seconds]
11:38:38  *** Guest5403 [] has quit [Ping timeout: 480 seconds]
11:43:44  *** tokai [] has joined #openttd
11:43:47  *** mode/#openttd [+v tokai] by ChanServ
11:50:58  *** sla_ro|master [slamaster@] has quit []
12:01:23  <DorpsGek> Commit by alberth :: r27285 /trunk/src (genworld_gui.cpp settings.cpp) (2015-05-16 14:01:19 +0200 )
12:01:24  <DorpsGek> -Codechange: Use LG_ORIGINAL instead of a magic 0 to indicate the original landscape generator.
12:04:57  *** supermop [] has joined #openttd
12:08:09  <DorpsGek> Commit by alberth :: r27286 /trunk/src (script/api/script_window.hpp window_type.h) (2015-05-16 14:08:06 +0200 )
12:08:10  <DorpsGek> -Fix-ish(r27140): Also fix typo in the documentation.
12:11:34  *** M3Henry [] has joined #openttd
12:11:47  <M3Henry> G'day
12:12:16  <Alberth> hi hi
12:12:28  <Pikka> ding dong
12:12:50  <M3Henry> I'm having a go at adding a irrKlang driver to the game
12:13:25  <M3Henry> Though the game doesn't seem to recognise the additional driver
12:19:40  <M3Henry> Ah, derp, didn't add it to source.list
12:20:24  <Eddi|zuHause> i was about to say you probably forgot something trivial
12:20:42  <M3Henry> It's been a while >.<
12:28:24  <supermop> just went to a QLD beer event
12:31:14  <Eddi|zuHause> my condolences
12:33:42  <supermop>
12:34:11  <supermop> any guesses as to how tall that dark granite bit is?
12:34:52  <supermop> only clue i have is that the whole building is mentioned as being 132 ft tall in an article from the 30s
12:34:57  <Eddi|zuHause> on the right you see a person.
12:35:03  <Eddi|zuHause> a person is about 1,80m
12:35:34  <Eddi|zuHause> it's probably a mannekin
12:35:42  <Eddi|zuHause> in the window
12:36:32  <supermop> yeah so i was assuming that first ledge was about 6 feet, which should make the whole thing 44 feet, but counting widows on other photos gives me something more like 32
12:36:48  <supermop> hmm if that is a mannwequin it looks tall compared to the car
12:37:03  <supermop> mannequin
12:38:13  <Eddi|zuHause> uhm, i don't think there's much of a discrepancy
12:40:16  <supermop> ok
12:41:49  <Eddi|zuHause> say the mannequin is 1,80, and fits 5 times in the building, that would make it 9m, which is about 30ft
12:43:47  <Eddi|zuHause> so that 32ft figure seems more accurate than the 44ft figure
12:44:18  <Eddi|zuHause> but how accurate do you really need it to be?
12:45:39  *** andythenorth [] has quit [Quit: andythenorth]
12:46:06  <supermop> roughly 30 or roughly 40 is fine
12:46:41  <supermop> using feet bc that's what i found records for, then going to convert to mm
12:47:03  <Pikka> good night children
12:47:04  *** Pikka [] has quit [Quit: Leaving]
12:47:39  <supermop> its just going to be an abstract mass dark on bottom and light on top to be across the street from a shop, to bounce sunlight into the front window
12:47:42  *** sla_ro|master [slamaster@] has joined #openttd
13:00:55  <Eddi|zuHause> well, i've said everything i have to say about this. make your own conclusion.
13:06:03  *** krinn [] has joined #openttd
13:06:12  <krinn> hi guys
13:07:02  <krinn> was about to open a bug for but i think it may be too verbose for a bug and better handle here
13:07:43  <Eddi|zuHause> krinn: people with knowledge in that area might not be here
13:07:48  <krinn> The radius explains mislead everyone and gave a bad (smallest) return tiles
13:08:02  <krinn> Eddi|zuHause, that's just a description of radius problem
13:08:15  <krinn> the function itself isn't buggy
13:09:03  <Eddi|zuHause> so what is you problem?
13:09:22  <Eddi|zuHause> +r
13:09:48  <krinn> that hinting "radius" is "The radius of the station you will be using." mislead everyone as now you will try to gave it the radius of the station type you will use
13:10:37  <Eddi|zuHause> and what's your problem?
13:10:58  <krinn> you will get shorter tiles than what you should get
13:11:36  <Eddi|zuHause> i still don't understand your problem.
13:12:11  <krinn> lol i know that's why i didn't handle that in flyspray ;)
13:12:42  <krinn> Eddi|zuHause, if you have a 10 size rail station, people will get mislead and feed it with radius = radius of a rail station
13:13:02  *** ChrisM [] has quit [Quit: Leaving]
13:13:07  <krinn> and they will get answer of "list of tiles the industry accept for a station of 4 radius and 1 size big" only
13:13:15  <Eddi|zuHause> can you give an example piece of code, describe what it does, and what you expected it to do instead?
13:14:05  <krinn> GSTileList_IndustryAccepting(industry_id, 100) <- get list of tiles the industry will accept
13:14:14  <krinn> with the 100 so you will get all for sure
13:14:43  <krinn> while people are hint to  GSTileList_IndustryAccepting(industry_id, AIStation.GetStationCoverageRadius(station they will use))
13:15:17  <krinn> of course if you build a rail station of size 1, you are fine, but it's not really something anyone would do no?
13:16:10  <krinn> the radius shouldn't hint to use the station radius you will use, so people hint the function with a bigger radius that depend on the radius of their station and its size
13:16:21  <Eddi|zuHause> krinn: the way i undertand this function is that you call IndustryAccepting(radius_of_station), and make sure that the intersection between the result and your MxN station you want to build is not empty
13:16:24  *** Progman [] has quit [Remote host closed the connection]
13:17:19  <krinn> yeah Eddi|zuHause but this will only get you a shorter list of tiles, only the one for the intersection of your station if its size is 1
13:17:23  <Eddi|zuHause> krinn: in this case, AIStation.GetStationCoverageRadius is the correct value to use
13:17:46  <krinn> no  because your station will have a bigger coverage, that depend on its size
13:18:13  <krinn> a 10 station size have a bigger radius than a 1 size station
13:18:34  <Eddi|zuHause> krinn: but that is only if the industry is larger than the area of the 1x1 station
13:18:55  *** sla_ro|master2 [slamaster@] has joined #openttd
13:19:27  <krinn> no, it is when your station is coverage is bigger than the coverage of that station type with a 1 size
13:19:36  <Eddi|zuHause> krinn: like an extreme example, an industry of 20x1, and only the end pieces accept 4/8 cargo. then you need a station that covers both end pieces
13:20:09  <krinn> hmm, i know it would difficult to explain it :)
13:20:16  <Eddi|zuHause> krinn: but then, giving a larger radius will result in tiles that won't accept the cargo in your result
13:20:51  <krinn> yes exactly! even if the station is outside the coverage itself, some part of it might still be within because of its size
13:21:02  <Eddi|zuHause> no
13:21:41  <Eddi|zuHause> if all the pieces of station are outside the coverage, no part of the station is inside the coverage.
13:21:55  <krinn> i didn't say "all", i say some
13:22:05  <Eddi|zuHause> yes. but who cares about that?
13:22:18  *** sla_ro|master [slamaster@] has quit [Ping timeout: 480 seconds]
13:22:25  <Eddi|zuHause> you need to make sure that ONE piece of the station is inside this area returned by that function
13:22:37  <krinn> yes
13:22:43  <Eddi|zuHause> no matter how big the station is
13:22:58  <krinn> and by hinting "use the station coverage" you are limiting the result
13:23:16  <Eddi|zuHause> no.
13:23:28  <Eddi|zuHause> (unless you have an extreme example like above)
13:23:44  <krinn> ok say we use a simple 1 size radius coverage ok?
13:24:04  <krinn> so the function will return what tiles are good to use next to 1 tile radius right?
13:25:01  <krinn> now if your station still have 1 tile radius, but your station is 5 size big, your coverage radius is farer than just 1 tile
13:25:45  <Eddi|zuHause> yes. but at least one of those 5 tiles must be within 1 tile of the industry
13:25:51  <krinn> yes right
13:26:14  <krinn> but if you ask the function giving it radius = 10, you will get all tiles where you could build your station of 5 size within them
13:26:15  <Eddi|zuHause> thus intersection of (industry area) and (station area) must contain at least this one tile
13:26:29  <Eddi|zuHause> krinn: no, you get a lot of invalid tiles
13:26:48  <Eddi|zuHause> krinn: where if you placed your station there, it won't accept the cargo
13:27:35  <krinn> no, it depend how your station direction
13:28:22  <Eddi|zuHause> krinn: i think you confuse "one piece of the station must be in the area" with "all pieces of the station must be in the area"
13:29:48  <krinn> that's it, the radius description mislead people to think it is not possible to build one with at least one piece within it
13:30:25  <Eddi|zuHause> i don't follow your argument.
13:30:39  <krinn> as you will only get the tiles that would be valid to build all your station within it
13:32:37  <Eddi|zuHause> i think the misunderstanding is in your use of the function. not in its documentation
13:33:08  <krinn> that's the radius description that is misleading
13:33:10  <Eddi|zuHause> and i don't see how you would convince anyone even if you wrote this up as a bug report
13:34:14  <krinn> if you use a radius of 20: you will get all tiles within a 20 radius that the industry is accepting right?
13:34:57  <Eddi|zuHause> no. if you want to build a 20x1 station, a radius of 20 will give you 90% invalid results
13:35:59  <krinn> let's make it simple, i want build a 5 size station, so i will get all tiles within that 20 tiles radius where i could build a 5 size station, ok?
13:36:28  <Eddi|zuHause> not ok.
13:36:33  <krinn> damnit!
13:37:45  <krinn> what do you think you will get then?
13:38:16  <Eddi|zuHause> i don't think we will get to an agreement in this discussion format
13:39:28  <krinn> just look how it work with openttd then as a real example
13:39:42  *** supermop [] has quit [Ping timeout: 480 seconds]
13:39:55  <Eddi|zuHause> let's consider a one-dimensional world
13:39:56  <Alberth> that would be good by definition :)
13:40:02  <Eddi|zuHause> _____III_____
13:40:13  <Eddi|zuHause> I is the industry, _ is free land
13:40:23  <Eddi|zuHause> assume you have a station radius of 2
13:40:38  <krinn> ok
13:41:18  <Eddi|zuHause> then any of __SS_III_____, ___SSIII_____, _____IIISS___, _____III_SS__ will be a valid station placement
13:41:44  <krinn> ah yes it's that!
13:41:45  <Eddi|zuHause> now you call your function with radius 2
13:42:03  <Eddi|zuHause> this will result in the following area: ___xxIIIxx___
13:42:29  <Eddi|zuHause> so any station placement where at least one S overlaps with an x, will be valid
13:42:29  <krinn> ah thank you !!! you see the problem? you are now not seeing _____III_SS__ as a valid result
13:43:01  <Eddi|zuHause> yes, it is. because i said AT LEAST ONE S
13:43:10  <krinn> because for everyone the upper right tile is where to put the station
13:43:52  <Eddi|zuHause> but that is a misconception on your part. it has nothing to do with radius
13:44:20  <krinn> that misconception is because of the description of radius, that hint people to use the radius of the station type
13:44:25  <Eddi|zuHause> if you were to set the radius at 3, you would get _SS__III_____ as a valid result, which will not accept the cargo
13:45:47  <Eddi|zuHause> krinn: so your misconception is that for station placement, you need to consider more than the north corner
13:46:02  <Eddi|zuHause> changing the radius is not the correct solution
13:46:14  <krinn> no, because if the station is turn toward -- it will be within it
13:46:35  <krinn> train station have bigger catchment area on depth of station than size of station ;)
13:46:36  <Alberth> the documentation says nothing about a station
13:47:01  <Eddi|zuHause> krinn: you need to create a TileArea which will cover your MxN station, and compare that with the result of this function
13:48:11  <Eddi|zuHause> krinn: or you need to take the result of this function, and extend it by M or N on ONE side only
13:48:28  <Eddi|zuHause> extending it on the other side, which changing the radius would do, is invalid
13:48:32  <krinn> yep
13:49:01  <krinn> it's easy to get, you need a bigger radius than your station type, you need the radius of the station type + its size
13:49:06  <Eddi|zuHause> krinn: in either case, using the coverage radius of a 1x1 station is the correct argument to this function, so the documentation is correct
13:49:44  <Eddi|zuHause> krinn: again, no. using radius+size gives you incorrect results
13:50:17  <krinn> not really, because it's not "list of tiles that acccept cargo for the given industry anymore", but only the tiles within that radius
13:51:46  <Eddi|zuHause> krinn: of course you are free to use the function in any way you wish, but don't blame it on the documentation.
13:52:19  <krinn> what mislead people is not taking the real station size
13:52:56  <krinn> the function should answer to width, height and radius, while it only use radius and HINT that this radius should be the one of the station type you are going to build
13:53:20  <TrueBrain> if only we had non-square stations ...
13:53:25  <TrueBrain> wait! WE DO! \o/ :D
13:53:42  <Eddi|zuHause> well, you could easily make a wrapper function that takes length and width of the potential station...
13:54:13  <krinn> Eddi|zuHause, i have no real problem with the function myself, i'm trying to help other figuring out its limitation and usage
13:54:27  <Eddi|zuHause> and returns the potential northern tiles of a valid station
13:55:53  <krinn> with a radius of 4, people get IIIxxxx while a station of size 4 people could use IIIxxxSSSS
13:56:05  <TrueBrain> Eddi: would only work under the assumption you will be making a rectangle-shaped station ;)
13:56:34  <krinn> and hinting them to use the radius of station only mislead them to not see IIIxxxx!!!!!!!!!! tiles
13:56:39  <Eddi|zuHause> TrueBrain: yes. but if you consider non-rectangular stations, it will become just crazy
13:57:19  <TrueBrain> and that is why this function does what it does :)
13:57:43  <TrueBrain> the only confusion here seems to be what acceptance really is :)
13:57:58  <Eddi|zuHause> krinn: that may be true, but giving a radius larger than 4 will allow a SSSSxxxxIII station, which will not accept the cargo
13:57:58  <TrueBrain> it has nothing to do with stations; it has everything to do with industries :)
13:59:14  <krinn> Eddi|zuHause, yes but it's up to the function to not return SSSSxxxxIII while still return IIIxxxxSSSSS...
14:00:02  <Eddi|zuHause> krinn: and i said you can easily write such a function
14:00:22  <krinn> Eddi|zuHause, i know, i did already, i'm not trying to fix something for myself
14:00:31  <Eddi|zuHause> krinn: but just increasing the radius is not the correct solution
14:00:50  <krinn> you can get the real answer by AITile.GetCargoAcceptance already
14:01:13  <krinn> because this one use width, height and radius to answer
14:02:48  <krinn> the other function mislead people by hinting them about the radius of the station without them to consider also its size
14:03:16  <Eddi|zuHause> krinn: there is no misleading documentation
14:06:48  <krinn> if you think so, for me i think the doc should tell people to use a radius depending on the station radius and its size
14:07:15  <Alberth> it should perhaps explain how to use the function
14:07:28  <TrueBrain> why would the function IndustryAccepting care about stations?
14:08:04  <TrueBrain> Alberth: oeh, examples :D
14:08:46  <Alberth> could be done at the wiki too
14:09:58  <krinn> i think, it may better explain that "the radius of the station you will be using" is not "the radius of the station type you will use"
14:11:12  <TrueBrain> or it should read s/radius/acceptance radius/ ;)
14:11:32  <TrueBrain> I agree radius is a bit ambigous here :D
14:12:18  <krinn> I think everyone reading it will think radius should be AIStation.GetStationCoverageRadius
14:12:32  <TrueBrain> I think only people do that if they do not understand acceptance radius
14:12:41  <TrueBrain> which will bring you into trouble sooner or later ;)
14:12:55  <TrueBrain> I also think stating "everyone" is overstating any statement for everyone :D
14:13:20  <Eddi|zuHause> krinn: but i tried to explain you, that is in pretty much every case the correct value to use
14:13:29  <krinn> i think if you look at any AI people use it, then validate it with AITile.GetCargoAcceptance
14:13:57  <krinn> so using a bigger area and validate it next with AITile... will only lead to correct answer
14:14:29  <krinn> but if you use radius = stationtype_radius, the validate with AITile will never fail and is just unneed :)
14:14:57  <Eddi|zuHause> yes, why is that a problem?
14:16:16  <krinn> even admiralAI fail on it :)
14:16:54  <krinn> 	local platform_length = this._platform_length;
14:16:55  <krinn> 	/* No useable station yet for this industry, so build a new one. */
14:16:55  <krinn> 	local tile_list;
14:16:55  <krinn> 	if (producing) tile_list = AITileList_IndustryProducing(ind, AIStation.GetCoverageRadius(AIStation.STATION_TRAIN));
14:16:55  <krinn> 	else tile_list = AITileList_IndustryAccepting(ind, AIStation.GetCoverageRadius(AIStation.STATION_TRAIN));
14:17:20  <TrueBrain> that is how the function should be used
14:17:24  <krinn> you can see admiral AI will built a rail station with a size == plaform_length
14:17:46  <krinn> but admiralai will only seek possible position for that station within AIStation.GetCoverageRadius(AIStation.STATION_TRAIN)
14:18:08  <krinn> mislead too in thinking that's the way to seek possible place
14:18:11  <TrueBrain> so set the coverage radius to 1, and default the AI \o/
14:18:52  <Eddi|zuHause> krinn: ok. it fails to consider non-northern tiles. but that is not the fault of this function
14:19:08  <krinn> Eddi|zuHause, i know, i'm not accusing the function of malfunction
14:19:17  <krinn> just that the doc is kinda misleading on its usage
14:19:26  <TrueBrain> the doc doesnt suggest any usage, does it?
14:19:34  <Eddi|zuHause> krinn: the fix for this is easy. extend the area from this function by width and length in either X or Y direction
14:19:36  <TrueBrain> I do agree the word 'radius' is as ambigious as it can get :P
14:20:08  <Eddi|zuHause> krinn: but changing the radius will result in invalid extensions in -X and -Y directions
14:20:12  <krinn> yes TrueBrain that should be more clear the radius is to consider the station size also and not the station type radius
14:20:19  <Eddi|zuHause> plus you get in trouble with non-square stations
14:20:27  <TrueBrain> krinn: no, there you are wrong in your assumption :D
14:20:30  <Alberth> krinn: size is 1 dimension, that cannot be right
14:20:40  <TrueBrain> the function is meant to find the tiles on which if any station part exists, gives you cargo acceptance
14:20:41  <TrueBrain> that is all
14:21:08  <Eddi|zuHause> krinn: people are not using the function to its full potential. but that is not the fault of the documentation
14:21:10  <TrueBrain> the mindfuck here is that you cannot assume stations are rectangle :)
14:21:19  <krinn> yeah TrueBrain but everyone will not use it like that, everyone will use it thinking it answer to "upper right tile" only
14:21:37  <Alberth> krinn: so everyone is wrong :p
14:21:48  <krinn> kinda yes Alberth :)
14:21:49  <Eddi|zuHause> krinn: still, the fault is not in the description of "radius"
14:21:55  <TrueBrain> krinn: again, please stop with "everyone"; it is overstating sillyness :)
14:22:10  <krinn> TrueBrain, lol yes
14:22:10  *** andythenorth [] has joined #openttd
14:22:14  <TrueBrain> but if people think that, they do not grasp what the acceptance stuff is in OpenTTD; that should be clear on a wiki page :)
14:22:27  <Eddi|zuHause> krinn: and if you start "teaching" this radius bullshit, you make the situation worse, not better
14:22:36  <Alberth> krinn: people don't read what the documentation says, they read what they think it does.
14:23:02  <TrueBrain> but I fully agree that "radius" should be replaced with "coverage radius" or something, not suggesting the radius of the station itself :)
14:23:23  <andythenorth> radius is bonkers
14:23:23  <Eddi|zuHause> TrueBrain: which is the exact opposite of what krinn wants :p
14:23:29  <krinn> that's because when "some" read "radius the station will be using", "some" read it as "GetCoverageRadius" answer
14:23:29  * andythenorth is baffled by it
14:23:32  <Alberth> TrueBrain: it says "station type"  not "station"
14:23:36  <TrueBrain> Eddi: I know, but what he wants results in broken functionality :)
14:23:52  <Eddi|zuHause> yes
14:24:05  <Eddi|zuHause> i've been trying to say that for an hour now
14:24:15  <Alberth> And I am wrong :P   krinn QED my remark :)
14:24:40  <TrueBrain> was abot to say .. it says station here :D
14:24:41  <TrueBrain> hihi
14:24:46  <TrueBrain> so either change would clear it up already
14:24:54  <TrueBrain> krinn: it should be used with GetCoverageRadius function
14:25:07  <krinn> guys, i think you can check any AI to see they will always feed it with the station coverage radius instead of the station real coverage radius
14:25:18  <TrueBrain> and they would be correct :D
14:25:20  <krinn> that should be proof "some" are mislead :)
14:25:32  <Eddi|zuHause> krinn: yes. that is The Right Way (tm)
14:25:35  <TrueBrain> it is what you do with the result, that matters :)
14:25:48  <TrueBrain> you think it gives a result-set to be used as nothern tile to build on; it does not
14:26:00  <TrueBrain> it returns you the tiles on which, if you would build any station part there, would give you coverage
14:26:07  <TrueBrain> after that, it is your job to do the math
14:26:19  <krinn> exact TrueBrain but i think "some" (grrr i want say everyone) do that
14:26:25  <TrueBrain> as stations dont have to be rectangle, it has no other option
14:26:37  <TrueBrain> that would be their mistake :) The documentation doesnt suggest this behaviour
14:26:46  <TrueBrain> again, it is their lack of understand acceptance radius
14:26:50  <TrueBrain> which might be a problem on its own
14:26:56  <Alberth>  ?
14:27:00  <TrueBrain> and as such might require some good explanation on the wiki :)
14:27:20  <TrueBrain> Alberth: less ambigious to me at least
14:27:40  <krinn> it's worst imo :)
14:28:19  <Alberth> krinn: so how to say what the function does then?
14:28:30  <TrueBrain> remember, it doesnt do what you want it to do ;)
14:29:04  <krinn> hmmm, the radius your station will be within
14:29:32  <TrueBrain> basically, for every tile on that list, do -X and -Y of the station size you want to build
14:29:40  <krinn> no, that's bad too, maybe: the radius your station coverage should touch
14:29:41  <TrueBrain> and you have your list ;)
14:30:31  <TrueBrain> Alberth: possibly add another comment: a station part build on any of the tiles resulting from this function will give you coverage
14:30:33  <TrueBrain> or something?
14:31:06  <krinn> TrueBrain, yes something like that would be better, maybe not changing the description but add that
14:31:33  <TrueBrain> well, the current radius description is ambigious, and could use love ;)
14:32:10  *** HerzogDeXtEr1 [] has joined #openttd
14:32:38  <krinn> i really think many ai authors may use it "badly" because of the blur, even if it might not be because of the description itself i admit
14:32:54  <TrueBrain> acceptance coverage is a pita ;)
14:32:57  <TrueBrain> even as player
14:33:25  <TrueBrain> btw, as a FYI, admiralAI does use it correctly
14:33:30  <TrueBrain> following from after your copy/paste
14:33:38  <Alberth>
14:33:47  <TrueBrain> it uses these tiles to go -1, -platform_length from it
14:33:51  <TrueBrain> to test if a station can be build
14:34:02  <Alberth> did s/coverage/acceptance/  in the second function
14:34:31  <TrueBrain> Alberth: I hoped you would reword my hard to read english a bit :D
14:34:33  <krinn> Alberth, looks perfect, people may stop think only about uppernorth
14:34:54  <TrueBrain> krinn: line 554 and onwards in trainmanager.nut
14:35:07  <TrueBrain> might give you some suggestions how to use it
14:35:08  <Eddi|zuHause> Alberth: "built"
14:35:37  <krinn> TrueBrain, ah yes, sorry, didn't look futher, but not ai author are TrueBrain :)
14:35:47  <Eddi|zuHause> but it should be reworded a bit, it sounds like terrible english :p
14:35:56  <TrueBrain> Eddi: that is what I just said! :P
14:36:13  <Eddi|zuHause> yes
14:36:17  <Alberth> like this TB?  thanks Eddi
14:36:23  <Eddi|zuHause> i just wanted to express my agreement to this :p
14:36:39  <TrueBrain> two thumbs up
14:36:46  <TrueBrain> Eddi: :D:D :)
14:36:53  <TrueBrain> (and yes, my tab-autocomplete is broken :P)
14:37:20  <TrueBrain> krinn: I just wanted to clarify the "everyone" part being wrong :P *troll happily now* :D
14:37:26  <krinn> you know what, i'm really happy i didn't open a bug for that, i was sure it would be nightmare, and i'm a seer then :)
14:37:33  <TrueBrain> without joking, the description was poor :)
14:37:45  <TrueBrain> and I can say that, as I am afraid I wrote it :P
14:37:55  <krinn> :D
14:37:56  <Eddi|zuHause> it was poor, but not in the way you expected it to be poor
14:38:22  <TrueBrain> @commit 15027
14:38:24  <DorpsGek> TrueBrain: Commit by truebrain :: r15027 /trunk (309 files in 30 dirs) (2009-01-12 18:11:45 +0100 )
14:38:25  <DorpsGek> TrueBrain: -Merge: tomatos and bananas left to be, here is NoAI for all to see.
14:38:26  <DorpsGek> TrueBrain:   NoAI is an API (a framework) to build your own AIs in. See:
14:38:27  <DorpsGek> TrueBrain:
14:38:28  <TrueBrain> :(
14:38:28  <DorpsGek> TrueBrain:  With many thanks to:
14:38:29  <DorpsGek> TrueBrain: (...)
14:38:46  <krinn> i think about it myself because the function test only radius > 0 and not if radius would be some radius taken by a station type...
14:38:48  *** HerzogDeXtEr [~flex@] has quit [Ping timeout: 480 seconds]
14:38:54  <Eddi|zuHause> TrueBrain: that is only the merge commit :p
14:39:01  <TrueBrain> fair enough
14:39:07  <TrueBrain> so I can still blame others \o/
14:39:15  <TrueBrain> I am very good at that
14:39:30  <Eddi|zuHause> as long as nobody digs out the old branch :p
14:39:47  <TrueBrain> omg, we used a subversion branch for it didnt we?
14:39:50  <TrueBrain> damn, that really is years ago
14:39:52  <TrueBrain> well, 6
14:39:53  <TrueBrain> damn
14:39:55  <TrueBrain> 6?!
14:39:57  <TrueBrain> crap, fuck me
14:40:50  <DorpsGek> Commit by alberth :: r27287 trunk/src/script/api/script_tilelist.hpp (2015-05-16 16:40:45 +0200 )
14:40:51  <DorpsGek> -Doc: Clarify radius and semantics of the industry producing/accepting tile functions.
14:40:51  <Eddi|zuHause> it was probably an svn branch back then... nowadays it would be a separate hg or git repo
14:40:53  <TrueBrain> svn to hg converts are slowwwww
14:41:05  <TrueBrain> \o/
14:41:44  <krinn> (that was my how to waste everyone life an hour on two words)
14:41:48  <Alberth> less than 6 years slow, I hope :p
14:41:51  *** Pensacola [] has quit [Remote host closed the connection]
14:43:27  <krinn> thanks guys (for the patience also)
14:43:43  <TrueBrain> mostly I hope it is a bit more clear for you now, how you should use the function etc :)
14:44:06  <krinn> it was clear for me already, but i was thinking about others
14:44:11  <TrueBrain> I like how AdmiralAI tests for 1xN and Nx1 stations; hadnt thought about that before
14:44:32  <TrueBrain> even changing the radius for rectangle stations would be wrong .. hmm .. funny
14:44:42  <TrueBrain> E_GAME_TOO_COMPLEX
14:46:10  <krinn> :D overly complex
14:46:59  <Alberth> that's what happens with random people adding random things to a program :)
14:47:27  <Eddi|zuHause> TrueBrain: i'm assuming AdmiralAI actually tests for 2xN and Nx2 stations
14:47:52  <TrueBrain> Eddi: given the -1, yes
14:47:58  <TrueBrain> good point :D
14:48:16  <krinn> do you guy upto another issue (of the same kind)?
14:48:27  <TrueBrain> another radius -> coverage radius? :P
14:51:06  <Eddi|zuHause> another hour of us telling you that the issue is in a completely different place?
14:51:21  <krinn> lol yes Eddi|zuHause
14:51:37  <krinn> the exclusive rights on town is too unfair to be use by ai
14:52:01  <Eddi|zuHause> there should be a setting to disable those completely...
14:52:04  <krinn> they are robots and can buys all they could, making the game stuck to everyone then
14:52:19  <krinn> as it not only block town, but industry depending on towns
14:52:40  <krinn> buy right of paris, and paris coalmine is block...
14:54:03  <andythenorth> skynet
14:54:08  <TrueBrain> OMG! SKYNET AGAIN
14:54:11  <TrueBrain> *tinfoilhat*
14:54:31  <andythenorth> can I borrow yours when you’re done?
14:54:41  <TrueBrain> *gives andy his tinfoilhat*
14:54:59  <Eddi|zuHause> NSA probably runs a copy of skynet in some data center
14:55:16  <krinn> some ai offer ability to disable buying rights, but it should be an option to human player to stop ai doing that imo
14:55:40  <TrueBrain> 1. create a patch
14:55:42  <TrueBrain> 2. submit
14:55:44  <TrueBrain> 3. ???
14:55:45  <TrueBrain> 4. profit
14:55:47  <TrueBrain> :D
14:56:04  <krinn> i lack underpants to do that :D
14:57:47  <Eddi|zuHause> TMI
14:59:13  <krinn> ok as duckduckgo answer three mile island to TMI i don't think i get it right Eddi|zuHause
14:59:38  <TrueBrain> try it left?
15:00:39  <Eddi|zuHause> <-- first nonsponsored google result for me...
15:01:51  <krinn> i'm not really into nuclear catastroph, so i suppose i should be glad duckduckgo really isn't analyzing my queries :)
15:03:22  <krinn> oh actually i got the same link Eddi|zuHause just the short desc was giving three mile island first
15:03:44  <Eddi|zuHause> there are some really "interesting" nuclear catastrophes...
15:04:44  <Eddi|zuHause> like in russia, a chemical explosion in a nuclear waste plant blew out a long trail of radioactive dust through sibiria
15:06:53  <krinn> well, last time it heard something like that, it was stopped at french frontier for our government ;)
15:13:28  <andythenorth> meh, I’ll have to duplicate every industry’s production cb switches per economy
15:14:01  <andythenorth> just to handle varying number of output cargos
15:14:21  <andythenorth> maybe I could stuff a register
15:14:57  * andythenorth is scared to touch FIRS production code
15:15:07  <andythenorth> it’s complicated, and hard to test
15:15:11  <andythenorth> and I didn’t write it
15:18:13  <Eddi|zuHause> there is probably a simpler solution than what you are currently attempting
15:19:49  *** M3Henry [] has quit [Remote host closed the connection]
15:26:57  <krinn> anyone using code::block?
15:28:27  <Alberth> perhaps ask what you really want to know?  ;)
15:28:56  <Alberth> ie a "yes" answer isn't that interesting, and nobody can say "no"
15:29:07  <krinn> there's a find reference for a function, was wondering if there is some kind of "find function not reference", finding dead code then
15:31:49  <Eddi|zuHause> andythenorth: "I could probably work around it by forcing Passengers to start of the list (probably Mail too)." <-- there used to be hardcoded behaviours for passengers, mail and goods. not sure what happened to them
15:32:19  *** APTX [] has joined #openttd
15:32:43  <Alberth> krinn: but you'd want that for all functions, I guess
15:33:12  <krinn> Alberth, yes
15:33:22  <Alberth> I once wrote a simple script that takes all function-like identifiers, and prints how many uses there are
15:33:51  <krinn> still have hands on it?
15:33:53  <Alberth> you're doing code analysis rather than code editing at that point :)
15:34:28  *** APTX_ [] has quit [Ping timeout: 480 seconds]
15:34:28  <krinn> lol yes, trying to slim the beast
15:34:46  <Eddi|zuHause> krinn: i'm pretty certain there exist tools to do this
15:35:17  <krinn> would had been a good one in code:blocks as it already have ability to search who use them
15:35:36  <Eddi|zuHause> krinn: but "find a function that is never used" is tricky, because a function might be used by other programs outside of your own code, if it is exported as a symbol
15:36:08  <Eddi|zuHause> so if you're writing a library, you would get loads of false positives
15:36:28  <krinn> Eddi|zuHause, i'm not asking code:blocks to delete them, just point out what are the ones never used "here", upto me to know if i use them elsewhere
15:37:16  <krinn> and as code::block also analyze the ones use in library, it might even answer less false positives
15:37:26  <Alberth>   I do, actually, but it's heavily unix-based
15:37:29  <krinn> (as long as the lib is within the project)
15:37:48  <Alberth> and not just ./testfuncnames   :)
15:38:21  <krinn> Alberth, perfect, i like sh
15:38:51  <Alberth> but it's not so difficult, find eg   "name(", collect all names, and count usage of each
15:39:08  <Alberth> it's heavily tailored to openttd
15:39:21  *** APTX [] has quit [Remote host closed the connection]
15:39:35  *** APTX [] has joined #openttd
15:39:38  <Alberth> the collection of lines to delete is probably wrong for you
15:42:59  <krinn> got a script to build the funcnames file?
15:43:01  *** M3Henry [] has joined #openttd
15:44:27  <andythenorth> Eddi|zuHause: w.r.t production,
15:44:44  <andythenorth> the ‘problem’ is that num of output cargos is currently a compile-time constant
15:44:56  <andythenorth> there are various possibilities to solve that
15:45:05  <Alberth> krinn: nope, but it's one for-loop, by the looks of it
15:45:06  <andythenorth> I don’t like any of them
15:45:44  <krinn> might catch them easy with :: search thx Alberth
15:48:01  <Alberth> andy, you can't have cases that you don't use with some industries?
15:49:13  <andythenorth> ? o_O
15:50:32  <Eddi|zuHause> andythenorth: the easiest would be replacing THIS_NUM_OUTPUT_CARGO with a LOAD_PERM(var_num_output_cargo) and set this value on construction
15:51:14  <luaduck> hey folks
15:51:24  <andythenorth> ‘on construction’ is a bit dubious
15:51:34  <andythenorth> although there are cbs that can be abused for that
15:51:49  <luaduck> our server suffered another segfault last night in Z22UpdateVhicleTimetable, which sounds awfully similar to our last crash
15:51:52  <Eddi|zuHause> other option is to use parameters, instead of permanent storage
15:51:54  <luaduck> worth raising a bug for?
15:52:27  <andythenorth> probably will insert a switch, read the economy parameter, user STORE_TEMP there
15:52:31  <andythenorth> use *
15:52:37  <Eddi|zuHause> and third option is to use temporary storage, with an additional switch that just reads the economy parameter, and pushes the value for the appropriate industry
15:53:00  <Eddi|zuHause> that switch needs to know all industries, though
15:53:06  <andythenorth> that’s ok
15:53:18  <Eddi|zuHause> or all economies
15:53:48  <Eddi|zuHause> so you have one switch per economy that knows all industries, or one switch per industry that knows all economies
15:54:06  <Eddi|zuHause> the latter might be cleaner
15:54:27  <andythenorth> the latter
15:54:40  <andythenorth> can be added to the current implementation trivially
16:01:10  <Eddi|zuHause> you need object oriented nml!
16:01:31  * andythenorth ponders that
16:02:56  <andythenorth> I have object oriented nml :P
16:03:05  <andythenorth> just via layers of complication :|
16:22:02  *** Pereba [~UserNick@] has joined #openttd
16:32:15  <andythenorth>
16:32:19  <andythenorth> complication ^ :P
16:34:44  *** Ketsuban [~ketsuban@] has joined #openttd
16:37:40  <Eddi|zuHause> i don't see anything in this pile of code :p
16:40:20  <andythenorth> is heading towards god-module
16:40:29  <andythenorth> I’ve been wondering about splitting it up
16:40:40  <andythenorth> but it’s so convenient to search it all in one file :P
16:44:32  <andythenorth> eh it’s less than 1k lines, not that bad :P
16:45:50  <Eddi|zuHause> that's not quite the point :p
16:51:23  *** Defaultti [] has quit [Quit: Quitting.]
16:52:58  *** Defaultti [] has joined #openttd
17:03:59  *** glx [] has joined #openttd
17:04:02  *** mode/#openttd [+v glx] by ChanServ
17:10:04  *** Progman [] has joined #openttd
17:15:26  <andythenorth> hmm
17:16:17  <andythenorth> I can’t STORE_TEMP the number of output cargos in a single switch
17:16:27  <andythenorth> I need one switch per economy
17:16:29  <andythenorth> lame
17:17:54  <Alberth> don't make 60 economies :)
17:18:35  <andythenorth> wondering if I don’t understand nml
17:18:41  <andythenorth> well I know the answer to that
17:18:46  <andythenorth> I don’t understand nml
17:18:55  <Alberth> me neither :)
17:19:02  <andythenorth> it’s a bit magical tbh
17:19:28  <Alberth> lots of it is newgrf magic, I think
17:19:35  <andythenorth> nfo is unmagical
17:19:37  <andythenorth> no magic at all
17:19:58  <andythenorth> bitshifting and such doesn’t count as magic, just tedious
17:20:16  <andythenorth> nfo is just case: result everywhere :)
17:20:34  <Alberth> but what part should be used with what other part is magic in nfo
17:20:52  <andythenorth> ha well maybe :D
17:20:54  <andythenorth>
17:21:12  <andythenorth> I want to check a parameter, and store a different (compile-time) value depending on the result
17:21:26  <andythenorth> then return the _simple_produce switch
17:21:33  <andythenorth> I think that can’t be done
17:22:15  <Alberth> return _simple_produce switch  ?
17:22:24  <Alberth> or doesn't it need 'return' ?
17:23:19  <andythenorth> oh that bit works fine
17:23:27  <andythenorth> the problem is storing different vaues
17:23:29  <andythenorth> values *
17:24:43  <Alberth> the var_num_output_cargos  ?
17:25:07  <andythenorth> confusingly, that’s the number of the temp storage
17:25:20  <andythenorth> I am following the established convention, but yes, confusing
17:25:48  <Alberth> oh, the THIS_NUM_OUTPUT_CARGOS  then :p
17:25:52  <andythenorth> yes :)
17:26:07  <andythenorth> which will always be 1 or 2
17:26:07  *** Ketsuban [~ketsuban@] has quit [Quit: To robbery, slaughter, plunder they give the lying name of empire; they make a desert and call it peace.]
17:26:09  <Alberth> make that a ?: expression?
17:26:27  <andythenorth> ternary?
17:26:37  * andythenorth wonders if a value can be checked against a list
17:26:43  <Alberth> (economy == 1 || economy == 4) ? 1 : 2
17:26:52  <Alberth> ternary indeed
17:26:54  <andythenorth> that would do it
17:27:09  <andythenorth> OR
17:27:30  <Alberth> 1 + (economy == 1 || economy == 4)
17:28:34  <andythenorth> neater :)
17:28:54  <Alberth> if economy numbering doesn't matter, and you have only one case, you can use a bit of economy itself :p
17:29:14  <Alberth> odd numbers for 2, and even numbers for 1
17:29:21  <andythenorth> unfortunately, it matters :)
17:29:45  <Alberth> well, even if it didn't, it's probably too complicated to want
17:30:54  <Alberth> you make connections between unrelated numbers, that may complicate things later
17:30:59  <andythenorth> this is quite neat now
17:32:00  <Alberth> yay :)
17:34:06  <andythenorth>
17:34:15  * andythenorth hopes the ternary is true : false :P
17:35:17  <Alberth> it is
17:35:42  <Alberth> sort of 'then' : 'else'
17:41:36  *** Biolunar_ [] has quit [Quit: leaving]
17:49:40  <glx> <@Alberth> 1 + (economy == 1 || economy == 4) <-- valid only if test returns 0 or 1
17:51:55  <Alberth> yes, afaik is NML doing that
17:55:09  <andythenorth> it does
17:55:43  <andythenorth> but I’ve used the ternary op. anyway, easier to read for people who don’t grok that true = 1
18:09:27  <Eddi|zuHause> i might have done it more like
18:10:59  <Alberth> ah, I wondered about that
18:11:51  <Alberth> you can only call other switched in the {} part, I guess?
18:14:18  <Eddi|zuHause> i think so.
18:14:45  <Eddi|zuHause> a procedure might help
18:14:57  <Eddi|zuHause> but i don't know if nml supports them
18:15:00  <Eddi|zuHause> probably not
18:16:52  <Eddi|zuHause>
18:18:04  <Alberth> that would be neat :)
18:18:20  <Eddi|zuHause> NFO supports procedures
18:18:31  <Eddi|zuHause> and at least once i tried teaching them to NML
18:20:34  <Eddi|zuHause> <-- i don't know if that ever worked
18:22:33  <Eddi|zuHause> there seems to have been a type conversion problem
18:23:07  <Eddi|zuHause> CALL(blah) <-- blah is a switch, but the parameter of a 60x variable is expected to be an integer
18:24:00  <Eddi|zuHause> but i won't investigate this.
18:27:33  <Eddi|zuHause> andythenorth: but doing this via parameter instead of temporary storage may be more efficient
18:28:28  <Eddi|zuHause> but you either have to reserve a parameter for each industry, or use a lot of weird bitstuffing
18:35:40  <M3Henry> I fed up with namespaces
18:35:45  <M3Henry> I'm*
18:36:09  <M3Henry> I cannot for the life of me work out why this object cannot be found
18:57:04  <andythenorth> me neither
19:03:52  *** liq3 [] has quit []
19:06:29  *** M3Henry [] has quit [Ping timeout: 480 seconds]
19:19:11  *** Wolf01 [] has joined #openttd
19:19:17  <Wolf01> hi hi
19:29:01  *** oskari89 [] has joined #openttd
19:29:25  *** Ketsuban [~ketsuban@] has joined #openttd
19:36:25  *** Pereba [~UserNick@] has quit [Quit: AdiIRC is updating to v1.9.7 Beta Build (2015/05/16)64 Bit]
19:37:06  *** Pereba [~UserNick@] has joined #openttd
19:39:25  <Alberth> hi hi
19:45:54  *** Ketsuban [~ketsuban@] has quit [Quit: To robbery, slaughter, plunder they give the lying name of empire; they make a desert and call it peace.]
19:46:29  *** Ketsuban [~ketsuban@] has joined #openttd
20:15:52  *** FLHerne [] has joined #openttd
20:20:20  *** mosquitobait [] has joined #openttd
20:22:21  <mosquitobait> I have forgotten the name of a NewGRF (or am blind to the settings option?) that let me enable all industries on any climate. Could someone remind me of the name, or point me at the setting for that?
20:23:00  <Alberth> it's not a setting in the game at least
20:23:01  <Wolf01> that was "bad feature" and I think is gone now
20:23:21  <Wolf01> the climate change cheat
20:23:24  <Alberth> opengfx+industries may come close
20:23:29  <mosquitobait> Not climate change.
20:23:46  <Alberth> it doesn't do toyland though, so not all climates
20:24:57  <Alberth> I don't know if you can have all industries tbh, perhaps there are more than 32 cargoes
20:26:19  <Alberth> why do you want all industries?
20:26:24  <mosquitobait> Yes, OpenGFX+ industries lets me add diamond/gold, but I also had bananas/rubber and food processor on a temperate world. It did prevent generation of normal forests, but I figure having useless lumber mills is an okay penalty for adding the food chain and rubber.
20:27:29  <Alberth> you checked the parameter settings of opengfx+industries, right?
20:27:53  <mosquitobait> yeah, but it may have downloaded an update to it, didn't restart the game yet
20:28:19  * andythenorth recommends using a proper industry grf :P
20:28:56  <mosquitobait> andythenorth: If the "proper industry grf" didn't make world generation take 20 minutes I'd use it more often :)
20:29:16  <andythenorth> :o
20:29:26  <andythenorth> sounds like a bug
20:29:28  <andythenorth> what map size?
20:29:58  <Alberth> could also be a town name generator problem?
20:30:29  <andythenorth> 1024x1024 takes about 8s for me with FIRS
20:33:38  *** sla_ro|master2 [slamaster@] has quit []
20:34:51  <mosquitobait> I swear it was just a normal settings option - I have it in a 1.5.0 game on my laptop...
20:40:54  <Alberth> look at the loaded newgrfs in-game?
20:42:01  <Alberth> changing availability of default industries is a quite easy newgrf, so I can see it would exist
20:43:11  <mosquitobait> No NewGRF on my laptop mentions it now, but I'm looking right at temperate copper mines and a factory taking steel rubber and copper...
20:44:03  <Alberth> there are no newgrfs loaded in that game?
20:44:13  <Alberth> woow
20:44:56  <krinn> might be because it's not openttd :)
20:45:01  <mosquitobait> Alberth: where'd you get that interpretation from?
20:45:24  <Alberth> "No NewGRF on my laptop mentions it now"
20:45:30  <mosquitobait> Yeah?
20:45:38  <Alberth> from there
20:45:47  <mosquitobait> Where do you get "no newgrfs installed" from that?
20:46:04  <mosquitobait> I could have a thousand installed with none mentioning it...
20:46:25  <Alberth> I asked for having a look at the newgrfs in that game
20:46:44  <Alberth> since that game must enable it in some way
20:46:56  <Alberth> and the only proper way is by newgrf
20:47:06  <mosquitobait> Found fforum posts for OpenGFX+ Industries suggesting it did it. Maybe that got remove in 0.3.5.
20:47:46  <Sylf> 0.3.5 works just fine
20:47:48  *** M3Henry [] has joined #openttd
20:48:01  *** roidal_ [] has quit [Quit: WeeChat 1.1.1]
20:48:05  <Alberth> if you prefer looking through a zillion unused newgrfs instead of at most 63 used newgrfs, fine
20:49:03  <mosquitobait> Sylf: Yes, it does, but the options that enabled copper/banana/rubber/food on temperate aren't showing up on my games for 0.3.5.
20:49:19  <Sylf> It shows up for me.
20:49:26  <Sylf> Where are you looking for those options?
20:49:48  <Sylf> NewGRF Parameters for OpenGFX+ Industries?
20:50:02  <Sylf> Or game options or settings?
20:50:19  <mosquitobait> Sylf: parameters.
20:50:43  <Sylf> Do you see the warning message saying that the newgrf is disabled?
20:50:59  <Sylf> probable due to having a conflicting industry newgrf?
20:51:01  <mosquitobait> Sylf: I'm seeing coal chain, oil chain, bank chain, and oil well restrictions. The other industry options aren't there.
20:51:27  <Sylf> Do you see the scroll bar on that window?
20:51:48  <Sylf> or resize that window
20:51:55  *** Alberth [~alberth@2001:981:c6c5:1:be5f:f4ff:feac:e11] has left #openttd []
20:51:59  <mosquitobait> Sylf: Thank you for pointing out my being a moron :)
20:52:01  <Sylf> If you're on a tablet device, it may be the fault of that
20:52:20  <mosquitobait> Sylf: The window is only showing four rows, even fthough there's probably height for 12.
20:52:36  *** gelignite [] has joined #openttd
20:52:40  <Sylf> the bottom half is used to display the description of each settings
20:52:42  <mosquitobait> Sylf: Now that I see the scroll bar, I found them :)(
20:53:30  <Sylf> ok, another myth busted.  Dum dee dum.
21:07:06  *** Supercheese is now known as Guest5442
21:07:11  *** Supercheese [] has joined #openttd
21:07:46  <andythenorth>  bye
21:07:47  *** andythenorth [] has left #openttd []
21:12:33  *** Guest5442 [] has quit [Ping timeout: 480 seconds]
21:17:18  *** Supercheese is now known as Guest5445
21:17:23  *** Supercheese [] has joined #openttd
21:19:32  *** Guest5445 [] has quit [Ping timeout: 480 seconds]
21:23:16  *** gelignite [] has quit [Quit:]
21:42:01  *** Ketsuban [~ketsuban@] has quit [Quit: To robbery, slaughter, plunder they give the lying name of empire; they make a desert and call it peace.]
21:44:24  *** wicope [] has quit [Remote host closed the connection]
21:44:57  *** Ketsuban [~ketsuban@] has joined #openttd
22:09:27  *** FLHerne [] has quit [Ping timeout: 480 seconds]
22:10:22  *** FLHerne [] has joined #openttd
22:24:13  <Wolf01> 'night
22:24:20  *** Wolf01 [] has quit [Quit: Once again the world is quick to bury me.]
22:37:11  *** M3Henry [] has quit [Quit: Leaving]
22:43:06  *** mosquitobait [] has quit [Quit: Page closed]
22:55:56  *** Progman [] has quit [Remote host closed the connection]

Powered by YARRSTE version: svn-trunk