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