Back to Home / #openttd / 2012 / 04 / Prev Day | Next Day
#openttd IRC Logs for 2012-04-21

---Logopened Sat Apr 21 00:00:32 2012
00:09-!-Djohaal [] has quit [Read error: Connection reset by peer]
00:13-!-ccfreak2k [] has joined #openttd
00:34-!-andythenorth [] has joined #openttd
00:38-!-ccfreak2k [] has quit [Quit: ZNC -]
00:46-!-roadt__ [~roadt@] has joined #openttd
00:56-!-Eddi|zuHause [] has quit []
00:56-!-Eddi|zuHause [] has joined #openttd
00:57-!-andythenorth [] has quit [Quit: andythenorth]
01:02-!-telanus [~Barney_Er@] has joined #openttd
01:14<Rubidium>Rhamphoryncus: number of bugs in the bug tracker to 0, cargo destinations, proper implementation of basically 'corners in bridges' (together with signals, crossings, also on the bridge heads, and the same underground)
01:14<Rubidium>that should keep you busy ;)
01:24-!-Avenger [~rafinha21@] has joined #openttd
01:25-!-Avenger [~rafinha21@] has quit []
01:30-!-Avenger [~rafinha21@] has joined #openttd
01:30-!-collinp [] has joined #openttd
01:31-!-collinp [] has quit []
01:31-!-Avenger [~rafinha21@] has quit []
01:31-!-Avenger [~rafinha21@] has joined #openttd
01:31-!-Avenger [~rafinha21@] has quit []
01:58-!-TWerkhoven[l] [] has joined #openttd
01:59-!-Alberth [] has joined #openttd
01:59-!-mode/#openttd [+o Alberth] by ChanServ
02:00-!-Nat_aS [] has quit [Quit: Konversation terminated!]
02:00-!-Nat_aS [] has joined #openttd
02:23-!-Progman [] has joined #openttd
02:32-!-roadt__ [~roadt@] has quit [Read error: Operation timed out]
02:35-!-TWerkhoven[l] [] has quit [Ping timeout: 480 seconds]
02:39-!-namad8 [] has joined #openttd
02:42-!-namad7 [] has quit [Ping timeout: 480 seconds]
02:45-!-andythenorth [] has joined #openttd
02:46<Rhamphoryncus>planetmaker, Rubidium: :)
02:53-!-APTX [] has quit [Ping timeout: 480 seconds]
03:00-!-roadt__ [~roadt@] has joined #openttd
03:04-!-Devedse [] has quit [Read error: Connection reset by peer]
03:05-!-Devedse [] has joined #openttd
03:05<@Terkhen>good morning
03:06<andythenorth>can I haz pony please?
03:06<andythenorth>[I promise to take feed it well]
03:11-!-roboboy [] has joined #openttd
03:11-!-kkb110 [~kkb110@NYUFGA-WLESSAUTHCLIENTS-02.NATPOOL.NYU.EDU] has quit [Ping timeout: 480 seconds]
03:11<Rhamphoryncus>andythenorth: which could fix issues I've seen in both FIRS and ECS..
03:15-!-sla_ro|master [slaco@] has joined #openttd
03:16<andythenorth>it makes randomising initial production trivial
03:17<andythenorth>just randomly return one of: -1, 0, +1 for production multiplier value
03:17<Rhamphoryncus>Does that include the "farms produce too little" thing?
03:17<andythenorth>it would allow farms to produce a wide range of amounts on game start
03:18<andythenorth>e.g. the production multiplier could be adjusted in a range [-2..2]
03:18*Rhamphoryncus nods
03:18<Rhamphoryncus>or -2..0 if you want them to start low, without limiting the top end
03:20-!-kkb110 [] has joined #openttd
03:23-!-oskari89 [] has joined #openttd
03:29-!-roboboy [] has quit [Ping timeout: 480 seconds]
03:31-!-Chris_Booth [] has joined #openttd
03:33<Rhamphoryncus>Bah. Decorative station tiles should not have such a high property maintenance cost :(
03:38-!-valhallasw [] has joined #openttd
03:42-!-Zuu [] has joined #openttd
03:44<Eddi|zuHause>code them as objects
03:44-!-fonsinchen [] has joined #openttd
03:49-!-TGYoshi [~TGYoshi@] has joined #openttd
03:55-!-th_gergo [] has joined #openttd
04:02-!-roadt__ [~roadt@] has quit [Read error: Connection reset by peer]
04:05-!-Devroush [] has joined #openttd
04:07-!-planetmaker is now known as pm
04:09-!-pm is now known as planetmaker
04:12-!-zooks [] has joined #openttd
04:19-!-roadt__ [~roadt@] has joined #openttd
04:41<andythenorth>so add a new cargo unit in FIRS: 'bales'
04:41<andythenorth>or a silly idea?
04:41<andythenorth>used for wool, plant fibres
04:43-!-Firartix [] has joined #openttd
04:43<planetmaker>didn't you add that long ago? Or was that 'crates'?
04:43<planetmaker>but as it has 'crates' already a unit 'bales' doesn't hurt
04:43<planetmaker>makes it sound better after all
04:43<telanus>does sound better
04:44<andythenorth>so now I have to figure out how to add it :)
04:50-!-Wolf01 [~wolf01@] has joined #openttd
04:51<Wolf01>morning o/
04:52-!-th_gergo [] has quit [Ping timeout: 480 seconds]
04:53<Zuu>Is the company limit 16 or is there a slot in 4 bytes for a "no company"?
04:57<planetmaker>Zuu: 15 companies
04:57-!-mahmoud [] has joined #openttd
04:57-!-APTX [] has joined #openttd
04:57<Zuu>planetmaker: thanks
04:57<planetmaker>15 player / AI companies
04:57<planetmaker>the 16th is for other purposes like 'none'
04:57<planetmaker>(e.g. for road)
04:58<planetmaker>there's also CompanyID 255, which is the spectators
04:58<Jupix2>pm any particular reason you're ignoring GeekToo? and is it temporary or permanent?
04:58<planetmaker>I'm not ignoring him?
04:59<Jupix2>please comment
04:59<peter1138>Zuu, bits. 4 bytes would allow 4 billion players...
04:59<planetmaker>what shall I comment?
04:59<planetmaker>it feels to me like the upteens iteration of the same discussion
05:00<planetmaker>I feel like I have said all I could argue
05:00<SpComb>peter1138: 2 billion, not counting negative players!
05:00<Zuu>planetmaker: hehe yep good spot :-)
05:00<Jupix2>planetmaker: it's a prototype for a solution to a deadlocked discussion
05:00<Jupix2>planetmaker: if it works, then it's a release for that deadlock
05:00<Zuu>So I created a short draft for SCP
05:01<Jupix2>planetmaker: you need to say either it works, or it doesn't, because X
05:01<planetmaker>he has to prove it works
05:01<planetmaker>it's not my duty to disprove it
05:02<Jupix2>the .grf in there is proof?
05:02<Jupix2>what else do you need?
05:02<Jupix2>a fork of the whole of ogfx?
05:03<Jupix2>as far as i can understand GT can't actually make modifications to the real ogfx+, so making that prototype was pretty much all he could do
05:04<planetmaker>everyone can clone, fork and modify everything found on the devzone. Licenses allow it.
05:04<planetmaker>but of course for a showcase that's not necessarily needed
05:04<andythenorth>Zuu: your idea is functionally similar to my idea of allowing nogo and industry to communicate via the town :P (which was dismissed as insanse) :)
05:05<planetmaker>Jupix2: but what he does is "here's a few ground sprites coded, now please test every contingency"
05:05<planetmaker>But testing that and showing that it works for all of them is HIS task. Not mine
05:05<planetmaker>He's doing it way too easy by "outsourcing" the lengthy, boring proof of HIS idea to the ones he wants to convince
05:06<Jupix2>what makes you think he hasn't done that?
05:06<planetmaker>I see nothing. I only see the grf
05:06<planetmaker>No screenshots of the problematic things
05:06<Zuu>andythenorth: read the backlog of yesterday night to see me and krinn discuss the idea.
05:06<planetmaker>no testgame where all that shows
05:06<planetmaker>or could be checked
05:06<Jupix2>planetmaker: so you need screenshots of those contingencies?
05:07<planetmaker>Jupix2: to put it blunt: I'm currently not willing to invest time in disproving something which I'm convinced to not be a good solution
05:07-!-Progman [] has quit [Remote host closed the connection]
05:08<planetmaker>especially as I got much to do in RL
05:08<Jupix2>planetmaker: yeah, but what do you need proven?
05:08<Jupix2>GT can't do stuff for you that you don't specify as needing doing
05:08<planetmaker>why his solution is the magic "all is fine thing" while it the "as is" is so much worse
05:09<planetmaker>And I'm very very tired of this "discussion". It really is not more than "it must be done differently"
05:10-!-FLHerne [] has joined #openttd
05:10<planetmaker>Rarely arguments are brought and things really compared ad exemplum
05:10<Jupix2>that may be because you're ignoring the example because "effort"
05:11<planetmaker>with emphasis on where the differences really matter (Like foundations, half-tile slopes, shores, water, rivers, dead-end roads,...)
05:11<planetmaker>Jupix2: I coded the fields myself already... one, two weeks before he coded them.
05:11<planetmaker>No, I did nowhere release that or post that
05:12<planetmaker>other than maybe
05:12<Jupix2>with the technique that he used for the grf he posted on april 8th?
05:12<planetmaker>no, just the sprites as they were
05:12<planetmaker>with their faulty offsets etc
05:12<Jupix2>then yours is irrelevant
05:13<Jupix2>for now what's important is what he posted
05:13<Jupix2>and it's not being considered by the people who can modify ogfx+ which is not good
05:14<Jupix2>so either they need to "wake up" or they need to give privileges to GT who does care
05:14<Jupix2>radio silence does not work
05:14-!-mal2 [] has joined #openttd
05:15<Jupix2>even if it is based on some actual real argument. because when that argument is not posted, the discussion doesn't move anywhere and no solution is ever reached
05:15<planetmaker>so you basically ask me to cheerio and suddenly change to "oh, that is all fine"?
05:15-!-Progman [] has joined #openttd
05:16<Jupix2>that's up to you. i'd rather you do that if the grf works fine
05:16<Jupix2>and not ignore it because of principles
05:16<planetmaker>I don't ignore it because of principle
05:16<Jupix2>and if you can't be arsed, then give privileges to someone who can
05:18<planetmaker>But I'm very tired of the "zoom level ground sprites must be changed" "discussion". He has a grf there. Ok
05:18<planetmaker>So... what does it improve?
05:18<planetmaker>Where do I see that?
05:18<planetmaker>Is there any comparison done and shown anywhere?
05:18<planetmaker>I see none. Please do
05:18<@Alberth>Jupix2: you don't need privileges, and even he'd give them to someone else, that person has the same problem, namely, doing the next long and boring step of checking everything, and demonstrating all is fine
05:18<planetmaker>Otherwise I consider trunk behaviour fine
05:20<planetmaker>I'm really not sure what your argument is. And what conclusion you draw from GT's posting.
05:20<planetmaker>There's a test grf. Ok. He's talking about compromise. But... doesn't show it
05:21<planetmaker>Leaves all the "find out work" to the readers
05:21<Jupix2>Alberth: if he was even recognized, then it would be his baby, and he would most certainly test it (or be ridiculed)
05:21<planetmaker>It's not convincing to tell people "please convince yourself that I am wrong by investing several hours of your work while I sit back and watch what arguments you can come up with"
05:22<Jupix2>planetmaker: ok, you don't need to convince me any more that you don't want to test, i'll relay what you're saying to him
05:22<Jupix2>as for what the argument is and what the .grf stands for technically, that's something for GT to explain, not me
05:22<Jupix2>the problem i'm solving is the radio silence
05:22<@Alberth>Jupix2: so what stops him from doing that now, he needs a pat on the back "good job, now please proof your claims"?
05:23<planetmaker>thanks Alberth :-)
05:23<Jupix2>Alberth: he thought the .grf he posted would do as proof
05:23<@Alberth>Jupix2: it is notr radio silence, it is "everything has been said, and nobody has new arguments"
05:23<zooks>quick question: is there a way to found towns in nogo? and/or found industries? Or will this ever be added?
05:24<Eddi|zuHause>it's 21°C but i feel cold...
05:24<planetmaker>Alberth is better with explaining what I mean than I am :-)
05:24<Jupix2>Alberth: *sigh* i think a prototype is a pretty heavy argument. we are both pretty astonished that a full ogfx+ fork will be needed
05:25<planetmaker>Jupix2: it's not an argument. It's a tool to make his point. But he stopped making his point
05:25<planetmaker>leaving the hard part of *his* argument to the others
05:25<@Alberth>Jupix2: it's like having a patch, and claiming "it works".
05:25<planetmaker>making the actual proof. It's not done
05:26<Jupix2>he just didn't anticipate he'd need screenshots
05:26<Jupix2>he thought you were invested enough to test for yourself and see for yourself
05:26<@Alberth>Jupix2: to claim "it works", you have to demonstrate why, and how it looks
05:27<Jupix2>ok, my final point: next time, all that has been said during the last 5 mins, you need to post in a similar situation
05:27<Jupix2>and not go silent
05:27<planetmaker>it was and is his turn to continue...
05:27<Jupix2>you didn't tell him that
05:27<@Alberth>Jupix2: he knows we are here, and he has not come to ask either
05:27<planetmaker>does he need you as his spokes man? Can't he talk himself?
05:27<Jupix2>he can't anticipate what you need or want
05:28<@Alberth>Jupix2: but he can ask
05:28<Jupix2>02:26 * GT wonders why is completely ignored.
05:28<Jupix2>last night here on this channel
05:28<Jupix2>GMT+3 timestamp
05:28<@Alberth>I think we were both very much asleep at that time :)
05:28<planetmaker>so, is he here?
05:29<planetmaker>Was I around then? No
05:29<Jupix2>anyway, i'll relay what you need to him
05:29<Jupix2>next time, read the thread, and reply if you're satisfied, and reply if you'
05:30<Jupix2>re not satisfied
05:30<Jupix2>and i'll tell him to come here more
05:30<planetmaker>errm... I reply when I feel that I can add something new to a discussion
05:30<planetmaker>Just generating white noise in threads is not my style
05:30<peter1138>meanwhile i'm loving all the content that doesn't rely on tile edges
05:31<Jupix2>planetmaker: "affirmative" as a work exists for a reason
05:31<andythenorth>can anyone quickly convert all my grfs to 32bpp?
05:31-!-Sara [~Sara@] has joined #openttd
05:32<Sara>can someone give me tips how to start play ?
05:32<Sara>any tutorials?
05:32<@Alberth>the wiki tutorials perhaps?
05:33<planetmaker>there might be some on YouTube and we have a decent wiki with a tutorial
05:33<Sara>im on it
05:33<@Alberth>unfortunately, no youtube list at the wiki until now :(
05:33<Sara>ok, starting to learn
05:34<Sara>is it worth it? is this game cool ?
05:34<@Alberth>and you ask here? :D
05:34<Sara>yea, you right :P
05:34<@Alberth>it's takes time to get into it
05:35<planetmaker>Sara, it might be worth also to join an MP serer and also see how others play it
05:35-!-Firartix [] has quit [Ping timeout: 480 seconds]
05:35-!-theholyduck [~holyduck@] has joined #openttd
05:35<Sara>u can play at one world with others?
05:36<planetmaker>of course
05:36<Sara>and then everybody has one city or what?
05:36<@Alberth>that's one form
05:36<Sara>but u have to work together to get this going ?
05:36<@Alberth>you can play against other people, or *with* other people. The latter is coop style
05:37<planetmaker>#openttdcoop Welcome Server </shameless plug> :-P
05:38<@Alberth>one of the servers I need to look into one day :)
05:38<Zuu>There is also a in-game tutorial that covers road and aircraft building
05:38<Sara>oh, where?
05:38<Sara>i have openttd 1.2.0
05:38<Zuu>In online content, search for "beginner tutorial"
05:38<@Alberth>oh, good point Zuu. Is that at the tutorial wiki already?
05:39<Zuu>After you have downloaded it, you click on play scenario and select the beginner tutorial.
05:39<Sara>i see that here are some kind of srcipts too
05:40<Zuu>Alberth: The article isn't much more than showing that it exists :-)
05:40<@Alberth> doesn't show it, I think
05:41<@Alberth>perhaps the page is even wrong, you'd expect a kind of index page first, I'd say
05:42<Eddi|zuHause>what's this crazy talk about charging money for "shipping lanes"?!?
05:42<@Alberth>someone is trying to sneak IS into the game
05:42<Eddi|zuHause>but for _anything_ ... just not "shipping lanes"
05:42<@Alberth>sounds like a nice money machine, you just claim all water, et voila :p
05:43-!-Elukka [] has joined #openttd
05:44<@Alberth>I sort of like having lanes, it may work for path finding, but in an automatic way managed by the game, imho
05:44<@Alberth>and none of this IS stuff :)
05:45<@Alberth>Hmm, how to convince a town to grow? :p
05:45<Eddi|zuHause>fund new buildings :)
05:45<Zuu>Sara: Yes, it is not complete yet. Hopefully it can help someone, but there is for historic reasons more coverage in the wiki tutorials.
05:46<@Alberth>Eddi|zuHause: for 7,000 pound? not going to happen :)
05:46<Sara>ok, i just built an airport :D
05:46<@Alberth>now another one :)
05:46-!-Jupix2 is now known as Jupix
05:46<welshdragon>What's with the extra zoom levels on 1.2.0?
05:47<@Alberth>it's for showing how ugly the current sprites are at high zoom levels
05:48<@Alberth>alternatively, you can use it at a high resolution screen, or when your eye-sight is non-optimal
05:48<planetmaker>11:44 Alberth: I sort of like having lanes, it may work for path finding, but in an automatic way managed by the game, imho <-- you want to become my spokes person? Or do you got a mind reader hidden somewhere?
05:48<Jupix>welshdragon: it's for this: ;)
05:49<welshdragon>oh, and with the depots being re-nameable, could the name be put in a sign automagically?
05:49<@Alberth>planetmaker: I have hidden a little box in your house during my last visit; I have had some troubles connecting to it, but it seems to work nicely now :p
05:50<planetmaker>probably somewhere in the fridge. Made it break down, I guess...
05:50<welshdragon>Jupix: oh yeah, 32bpp xD
05:50<@Alberth>(no worries, my mind reader says you won't find it :) )
05:50<Rhamphoryncus>Alberth: if you have no money to spend but want to scum up town growth.. two truck stops on the edge of town, preferably even touching, with one truck going rapidly between them
05:51<planetmaker>you could also use a bus. Might even be better
05:51<planetmaker>as it gives some money ;-)
05:51<Rhamphoryncus>afaik they'll grow the same, but a bus will get higher volume and eventually be problematic
05:53<Eddi|zuHause>use trams :)
05:53<@Alberth>I have 0 houses, so buses won't do much good :)
05:53<Jupix>planetmaker: also can you please reply to my forum pm, thanks :P
05:53<@Alberth>but another town also had 0 house, and now it has 4
05:53<peter1138>Forum PMs generally get ignored. Especially the crap from pervertedmonkey.
05:54<Rhamphoryncus>When demolishing towns for experiments I've often seen them regrow. Dunno why
05:54<Rhamphoryncus>Presumably a "town is NOT growing" is not so literal
05:54-!-fonsinchen [] has quit [Ping timeout: 480 seconds]
05:55<planetmaker>indeed, that I honestly forgot, Jupix :-) sorry
05:55<Rhamphoryncus>and once you have the 1 house you can plaster it with 20 stations. So long as they get frequent service you'll get growth
05:55<Eddi|zuHause>Rhamphoryncus: yes, even completely unserviced towns grow at a ridiculously low speed
05:56<Rhamphoryncus>Well, there might be a cap somewhere below 20 :)
05:56<planetmaker>I had it even half-written... I'll forward it to you now
05:57<planetmaker>in essence: we got the idea to somewhat totally modify the 'community' section of the main webpage with links to all related, like forums, facebook, google+
05:58<Jupix>are there any problems with that?
05:58<planetmaker>As the stuff there is quite under-represented. Also a nice introduction / show-case video or so would need be picked etc
05:58<peter1138>welshdragon, extra zoom levels are there so that there are extra zoom levels. Quite simple ;-)
05:58*Alberth puts more roads down so the town does not have to do that
05:58<peter1138>32bpp or 8bpp is irrevelant, we had both of them for a good few years already.
05:59<planetmaker>the question wrt facebook is how to treat the different facebook pages. Dunno whether they can or should be merged or what can be done there. I'm not much into facebook
06:00<Jupix>i've got that. no need for you to worry about it
06:00<Jupix>in a nutshell: they can be merged
06:01<Jupix>when you're implementing the community page the important part is to link to the right one, which is the one i linked before
06:01<planetmaker>I shall be happy about that. But it might need the other people to agree.
06:01<planetmaker>and might need talking to facebook
06:01<Jupix>yeah, i've already started talking with facebook
06:02<Sara>is there a shortcut to close the active window?
06:02<planetmaker>ok, sweet
06:02<Jupix>out of curiosity, has anyone been actually working with the html? or is it just a plan for now
06:03<@Alberth>Sara: not really, except delete closes all windows
06:03<Sara>maybe a sricpt
06:03<Rhamphoryncus>Sara: not afaik, but there's an idea: have middle click close the targeted window (shift-middle click for pinned)
06:04<planetmaker>Jupix: the website itself is written in Django
06:04<Sara>thats useful
06:04<Sara>what should i do when a plane has smoke ?
06:05<Jupix>planetmaker: well, yeah.. i was just using "html" as an equivalent to whatever cms you guys were using :P
06:07-!-drac_boy [] has joined #openttd
06:08<@Alberth>Sara: not much, it shows 'breakdown'. If it happens often, you may want to consider sending it more often for servicing
06:14-!-th_gergo [] has joined #openttd
06:17-!-th_gergo1 [] has joined #openttd
06:17-!-th_gergo [] has quit [Read error: Connection reset by peer]
06:18<welshdragon>seeing as nobody answered my second question: with the depots being re-nameable, could the name be put in a sign automagically?
06:19-!-tegro_ [] has joined #openttd
06:21-!-th_gergo1 [] has quit [Read error: Operation timed out]
06:22<drac_boy>I'll prefer not to, especially with depots next to station and having overlapped labels
06:22<drac_boy>unless you can find a way to turn on or off selective labels which I doubt it :)
06:24<@Alberth>I turn station labels already off :)
06:25-!-tegro [] has quit [Ping timeout: 480 seconds]
06:25<drac_boy>I always have it on...but then I always have everything renamed...except trains themself
06:27-!-tegro_ [] has quit [Ping timeout: 480 seconds]
06:29-!-tegro [] has joined #openttd
06:30<andythenorth>alberth beat me
06:31<@Alberth>the game is a bit slow, so I have time to browse the forum :)
06:32-!-ccfreak2k [] has joined #openttd
06:35-!-Rhamphoryncus [] has quit [Quit: Rhamphoryncus]
06:38-!-fonsinchen [] has joined #openttd
06:45<Sara>ok, done the tutorial
06:45<Sara>now i started a game
06:46<Sara>whats the first thing to do ?
06:47<Eddi|zuHause>many people start with a route from a coal mine to a power station
06:49<FLHerne>Are you using any grfs, or just default everything?
06:50<FLHerne>Basically, you can replace/improve pretty much anything in the game
06:51-!-pugi [] has joined #openttd
06:51-!-Firartix [] has joined #openttd
06:52<FLHerne>They can do everything from replacing the graphics for trees to adding about 20 new industries :P
06:54<@Alberth>first just play with the default settings :)
06:55-!-TWerkhoven[l] [] has joined #openttd
06:56-!-goodger [] has joined #openttd
06:56-!-oskari89 [] has quit [Ping timeout: 480 seconds]
06:56-!-Chris_Booth [] has quit [Ping timeout: 480 seconds]
06:57<FLHerne>Alberth: Possibly good advice ECS/FIRS can be a bit daunting ;)
06:58-!-oskari89 [] has joined #openttd
06:59<@Alberth>are you trying to scare off new players?? :)
06:59<Sara>trying to connect the power station
07:00<FLHerne>Alberth: Nah, but explaining the existence of NewGRFs is probably a good idea :D
07:00*Alberth agrees
07:00<drac_boy>heh FLHerne I dunno, I'll rather not
07:02<FLHerne>Once tried to show a friend OTTD but didn't remove my standard (huge) grf list...
07:03<FLHerne>Luckily he stuck around long enough to remove them and start another game :D
07:06*FLHerne wanders off
07:08-!-TWerkhoven [] has joined #openttd
07:10<andythenorth>Eddi|zuHause made a tutorial for pixa :)
07:18<andythenorth>no frosch :(
07:19<andythenorth>is there a peter1138?
07:19*andythenorth is thinking of hacking this in:
07:22<Eddi|zuHause>andythenorth: so why make a flag, when you could just as well make a industry-construction-callback?
07:23<andythenorth>because I'm not sure a new cb is needed?
07:23<andythenorth>it could gain a new cb number and do the same thing though
07:24<Eddi|zuHause>new callbacks are cheap ;)
07:41-!-valhallasw [] has quit [Ping timeout: 480 seconds]
07:43<Sara>is there a shortcut for pause?
07:44<Eddi|zuHause>F1 or Pause
07:44-!-flaa [] has joined #openttd
07:46<Eddi|zuHause>F2, F3 and so on operate the other keys in the menu bar. except fast forward
07:47<Sara>ok, is there a way to delete only trafficlight on the railroads, not whole tracks?
07:47<Eddi|zuHause>select build signal, and then the bulldozer (or "R" key)
07:48<Eddi|zuHause>works the same way with individual rail bits, or single station tiles
07:48<Sara>ok, that saved me a lot of money :P
07:50-!-zooks [] has quit [Ping timeout: 480 seconds]
07:50<Eddi|zuHause>also "A", "S", "Q"/"W"/E" and "D" are important keys for me :)
07:51<Eddi|zuHause>oh, and the most important of all: "X"
07:53*drac_boy would had also noted T to build tunnels too except that ottd treats it badly wrong :)
07:54<drac_boy>heh heh
07:54<Zuu>and Ctrl+X
07:54<Zuu>(to gain better control over the transparency)
07:56<andythenorth>Eddi|zuHause: so the flag is intended to be a cb flag, not a special flag (dunno if that was clear)
07:56<andythenorth>and I guess the cb would need a new number so it can be explicitly handled in the grf
07:57<andythenorth>but in other respects it just runs the production change cb
07:57<andythenorth>I don't see any reason to make it more complex...
07:59<Sara>how to remove two broke trains, they run into each other?
08:02<drac_boy>wait for it to self-cleanup
08:02<drac_boy>thats all you can do
08:02<drac_boy>why did you crash them in first place tho? heh heh
08:04<Sara>:p i have 2 trains
08:04<Sara>they go to the same power station
08:04<Sara>i cant figure out the signals right
08:05<Sara>how do i make screenshots ?
08:05<Sara>i can show u what ive done :P
08:07-!-fonsinchen [] has quit [Ping timeout: 480 seconds]
08:14<Sara> Wielki Transport, 28my Lis 1954.png
08:15<Sara>i want the trains to go only if they can
08:18<planetmaker> that image doesn't load for me... nor does the main webpage of that host appear here
08:18<planetmaker>maybe try
08:19<@Alberth>you need to copy the entire line :)
08:19<drac_boy>sara you need more than one tile for stations
08:20<drac_boy>otherwise over-lengthed trains = takes a long time to load at all
08:20<planetmaker>Alberth, I did... but my browser was connecting to the host for minutes...
08:21<@Alberth>place a two-way block signal at the left-green and the red dot
08:21<planetmaker>or rather waiting for
08:21<Sara>ok, but how do i coordinate the two trains to wait for each other
08:21<@Alberth>they do that by themselves
08:22<@Alberth>there can be only one train in a 'block', an area of tracks that has no signal in them
08:23<telanus>uloaded sara's pic
08:23<planetmaker>works, thx, telanus
08:23<Sara>which one is the two way?
08:23<Sara>number from the left ?
08:24<planetmaker>Sara, in the setup as you show, I'd set a signal each at the red dot and the left green dot. Both facing towards the junction, if they're path signals. Or two-way block signals
08:24<planetmaker>two-way is the one with two signals. You switch between one-way and two-way by clicking on the built signal
08:24<planetmaker>or shift-clicking. Don't recall :-P
08:24-!-fonsinchen [] has joined #openttd
08:28<@Alberth>at the right are two-way block signals, at the left are path signals
08:29<Sara>i did it wrong :(
08:29<planetmaker>no, you didn't do it wrong, sara
08:29<@Alberth>sorry, my image is wrong
08:30*Alberth has trouble with left and right :)
08:30<planetmaker>depends on where your powerplant is, Alberth :-)
08:30<planetmaker>in the upper left: also correct :-)
08:30<planetmaker>I like your rail NewGRF ;-)
08:31<@Alberth>image updated, sorry for the confusion
08:31<andythenorth>so what number should this new cb have?
08:32<Sara>i still dont know how to do it in my case
08:32<planetmaker>you did it right, Sara !
08:32<Sara>its not working
08:32<Sara>the trains are w8 in front of each other
08:32<planetmaker>the image you posted shows that it works...
08:32<planetmaker>unless they go to the same two stations...
08:33<andythenorth>cb 15F - production change on industry construction
08:33<andythenorth>now how to add it? :P
08:34-!-Chris_Booth [] has joined #openttd
08:35<planetmaker>there's already a production change callback. Its code should just be re-used
08:35<andythenorth>yes, that's my proposal ;)
08:35<planetmaker>thus check how the 256 tick, ... callbacks are implemented
08:35<andythenorth>what I don't know is if I can reuse IndustryMonthlyLoop()
08:35<andythenorth>or if I have to duplicate everything in that to a new function
08:36<andythenorth>L2681 in industry_cmd.cpp
08:36-!-oskari89 [] has quit []
08:36<Sara>i have to start over
08:36<andythenorth>I would literally be duplicating it just to prevent the name being wrong afaict :P
08:36<Sara>it dosnt work
08:37<andythenorth>maybe not, IndustryMonthlyLoop() does all industries, whereas during construction one industry is in scope
08:37<andythenorth>I assume
08:37<planetmaker>IndustryMonthlyLoop() surely also calls somewhere the prod. change CB of the industry - if defined
08:37<andythenorth>yes. The puzzling bit is I don't know if I need to do the stuff like backup company etc
08:37<planetmaker>the rest is - from your perspective - clutter
08:38<andythenorth>unless it's essential for reasons I don't understand :P
08:38<andythenorth>UpdateIndustryStatistics should be meaningless at this point, as it's just been constructed
08:38-!-Chris_Booth is now known as Guest1191
08:38-!-Chris_Booth [] has joined #openttd
08:39<andythenorth>SetWindowDirty might be needed
08:39<andythenorth>or maybe not, maybe DoCreateNewIndustry() handles that already
08:40<andythenorth>this is a worthwhile patch though
08:40<planetmaker>that's where you want to check for the callback being needed, yes.
08:40<andythenorth>ok, I'll try it and see what goes wrong
08:40<andythenorth>nobody has said it's stupid
08:41<planetmaker>"it's stupid"
08:41<planetmaker>to not want it :-P
08:41*andythenorth place bet that reasons will be found to not include it
08:41<andythenorth>but anyway, patch first, moan later :P
08:43-!-Guest1191 [] has quit [Ping timeout: 480 seconds]
08:46-!-zooks [] has joined #openttd
08:46<planetmaker>Sara, you'll also find after many years of playing constructions where you'll think "wth, why doesn't it work like I thought" :-)
08:47<planetmaker>building intricate networks is on of the major fun in this game. For me at least
08:47-!-pugi [] has quit []
08:47<planetmaker>there's a zillion ways to play this game, though
08:47*drac_boy usually plays in the style of individual lines tho
08:47<drac_boy>but thats to our own habit/style I guess :)
08:49<Sara>i get back to this later
08:49<Sara>thx for all
08:50-!-Sara [~Sara@] has quit [Quit: Wychodzi]
08:50<drac_boy>andythenorth have fun btw :-P I'm going for a while now. got two things to do -_-
08:50-!-drac_boy [] has left #openttd [I'm done being in this room!]
08:53-!-Guest560 [] has quit [Read error: Connection reset by peer]
08:57<andythenorth>this not nearly so easy as I thought
08:57*andythenorth needs help from actual....developer
08:58<andythenorth>ChangeIndustryProduction assumes either monthly or random production change cb
08:58<andythenorth>I can't just reuse it elsewhere
08:58<andythenorth>has to be unpicked :P
08:59-!-AD [] has joined #openttd
09:00-!-AD is now known as Guest1192
09:00-!-zooks [] has quit [Ping timeout: 480 seconds]
09:06<andythenorth>checking for the cb twice seems stupid
09:07-!-zooks [] has joined #openttd
09:12-!-th_gergo [] has joined #openttd
09:18<andythenorth>if I have
09:18<andythenorth> bool callback_enabled = HasBit(indspec->callback_mask, monthly ? CBM_IND_MONTHLYPROD_CHANGE : CBM_IND_PRODUCTION_CHANGE);
09:18<andythenorth>can I simply append ': CBM_IND_PROD_CHANGE_BUILD' with another
09:18<andythenorth>another / it /s
09:22<andythenorth>looks a bit like an OR to me :P
09:24-!-fonsinchen [] has quit [Ping timeout: 480 seconds]
09:26-!-frosch123 [] has joined #openttd
09:28<andythenorth>uncanny timing :P
09:28<andythenorth>so how do I write this so it *will* compile?
09:28<andythenorth> bool callback_enabled = HasBit(indspec->callback_mask, monthly ? CBM_IND_MONTHLYPROD_CHANGE : CBM_IND_PRODUCTION_CHANGE : CBM_IND_PROD_CHANGE_BUILD);
09:29<andythenorth>currently fails :P
09:32<andythenorth>so this is the ternary operator?
09:32<frosch123>not enough information
09:32*andythenorth might need some comp sci boot camp :P
09:33<andythenorth>frosch123: I'm trying to patch to add an industry cb which will call ChangeIndustryProduction() from DoCreateNewIndustry()
09:33<andythenorth>e.g. call production change on industry construction
09:35<andythenorth>I've added CBM_IND_PROD_CHANGE_BUILD and CBID_INDUSTRY_PROD_CHANGE_BUILD to newgrf_callbacks.h
09:36<andythenorth>and I've added ChangeIndustryProduction(i, false); to DoCreateNewIndustry()
09:37<NGC3982>hm, i think i need a tip on train- or bus grfs
09:37<Eddi|zuHause>andythenorth: can't have two :
09:38*andythenorth learns something
09:38<Eddi|zuHause>andythenorth: so what is the logic you are trying to write?
09:38<andythenorth>if (cb = monthly or cb = random or cb = on_build)
09:39<andythenorth>L2456 in industry_cmd.cpp
09:39<Eddi|zuHause>andythenorth: it's an "if-then-else" operator. ite(a) { if (a) { return b; } else {return c; } }
09:39<Eddi|zuHause>err.. ite(a,b,c)
09:40<andythenorth>I was reading the purpose of that wrong then
09:40<andythenorth>so that's evaluating if it's the monthly cb or not
09:40<Eddi|zuHause>andythenorth: so what you probably rather want to say is "for bit in [bit1, bit2, bit3]: result |= HasBit(mask, bit)"
09:41<Eddi|zuHause>or did i understand you wrong?
09:41<andythenorth>I'm not sure
09:41<andythenorth>I thought I knew what this block of code did, but I read it again and maybe I don't
09:42-!-roboboy [] has joined #openttd
09:42<Chris_Booth>andythenorth that is so often the case!
09:43<andythenorth>nothing I've learnt in 15 years of scripting prepares me for C++ :P
09:44<andythenorth>so the bool 'monthly' is passed to ChangeIndustryProduction() so it knows what cb is in use
09:44<andythenorth>but adding a third possible cb value won't work their
09:44<andythenorth>there /s
09:44<andythenorth>so either not a bool, or another bool
09:45<andythenorth>can I safely pass around the actual CB number and check that as a case?
09:48<Eddi|zuHause>turn the bool into an enum
09:48<andythenorth>enum is a list type?
09:48<Eddi|zuHause>no, a named numerical type
09:49*andythenorth googles
09:49-!-Progman [] has quit [Remote host closed the connection]
09:49<Eddi|zuHause>enum Colours { RED = 1, YELLOW = 2, GREEN = 3}
09:49<andythenorth>so I don't need a named type?
09:50<Eddi|zuHause>so you can assign "colour = 1" or "colour = RED"
09:50<Eddi|zuHause>and do "colour = colour + 1"
09:50<andythenorth>and when I want to do something conditional with the value?
09:50<planetmaker>they're just values
09:51<andythenorth>so I have to write 'if foo == 1'
09:51<Eddi|zuHause>switch (colour) { case RED: blah; case GREEN: blah2; default: blah3; }
09:51<andythenorth>or 'if foo == RED'
09:51<planetmaker>both work
09:51<Eddi|zuHause>you can do both
09:51<andythenorth>¿ and I don't want to mix this up with values like CBM_IND_MONTHLYPROD_CHANGE
09:51<andythenorth>that would be wrong?
09:52<andythenorth>so enum CallbackType { MONTHLY = 0, RANDOM = 1, BUILD = 2}
09:54<andythenorth>can I declare the enum inside the function parameters for ChangeIndustryProduction()? Or does it have to be outside the function?
09:54<Eddi|zuHause>probably something like "typedef enum IndustryCallbackTypes { ICT_MONTHLY, ICT_RANDOM, ICT_CONSTRUCTION } IndustryCallbackType;"
09:54<Eddi|zuHause>no, it has to be in a header file
09:54<Eddi|zuHause>(or it should be)
09:55<Eddi|zuHause>you can leave out the = 0, =1 etc. if it starts with 0 and increments by 1 each time
09:55<Eddi|zuHause>the typedef is an ease of use thingie
09:56<Eddi|zuHause>the type can be either named as "enum IndustryCallbackTypes" every time you declare a variable, or "IndustryCallbackType", saving you the "enum"
09:58<andythenorth>any clue which header file it should be in? I'm modifying industry_cmd.cpp
09:58<andythenorth>there's no accompanying industry_cmd.h
09:59-!-roboboy [] has quit [Ping timeout: 480 seconds]
10:02<Eddi|zuHause>because it's a type
10:07*NGC3982 loves the NUTS trainset.
10:07<Chris_Booth>NGC3982 thank V453000 for that
10:08<NGC3982>i just started using it
10:08<NGC3982>ive been longing for a very early set like that
10:08<NGC3982>starting at 1920 makes a whole new feel
10:08<NGC3982>Chris_Booth: what, he made it? :)
10:09<Chris_Booth>yes he did
10:09<Chris_Booth>read the NewGRF thingy
10:09<NGC3982>V453000: great work with the NUTS train set.
10:10<+michi_cc>Eddi|zuHause: This is C++, not C :) No need for the typedef stuff or an "enum" in front of variable declarations.
10:10<Chris_Booth>have you played it all the way to 3000 NGC3982?
10:11<NGC3982>Chris_Booth: nope, just started.
10:11<Eddi|zuHause>michi_cc: hm... then i remember old things :)
10:11<andythenorth>so I've added that to industry_type.cpp
10:11<andythenorth>oops .h
10:12-!-fonsinchen [] has joined #openttd
10:12<V453000>:) thanks NGC3982
10:12<andythenorth>so I want to change this from 'bool monthly'
10:12<andythenorth>static void ChangeIndustryProduction(Industry *i, bool monthly)
10:12<Chris_Booth>well NGC3982 it goes all the way to 3000 and you get a train every few years
10:12<andythenorth>static void ChangeIndustryProduction(Industry *i, enum CallbackType)
10:12<NGC3982>Chris_Booth: neat^googolplex.
10:13-!-kkb110 [] has quit [Remote host closed the connection]
10:13-!-kkb110 [] has joined #openttd
10:14<NGC3982>V453000: when do you feel it suitable to start using the electical engines in the NUTS grf?
10:15<andythenorth>Internal Server Error :P
10:15<planetmaker>delete you cookies
10:15<+michi_cc>Ah, the 'reply' error :)
10:15<andythenorth>does that pastebin require cookies?
10:15<planetmaker>works for me, the link, michi_cc
10:15<V453000>NGC3982: depends what your network looks like :)
10:15<planetmaker>andythenorth, it has some session cookie
10:16<andythenorth>does it have a cookies statement?
10:16-!-goodger [] has quit [Ping timeout: 480 seconds]
10:16<planetmaker>a what?
10:17<andythenorth>under EU law, enforceable from May (in the UK), users have to give explicit permission for cookies
10:17<planetmaker>UK law is not applicable to me
10:17<andythenorth>EU law will be
10:17<andythenorth>where is the server?
10:17<andythenorth>(there is an exemption for session cookies, but a clear cookie statement is still required)
10:18<+michi_cc>andythenorth: Expanded example:
10:18<andythenorth>it's an insane law and hardly anyone is going to comply :P
10:18<andythenorth>michi_cc: thanks
10:18<andythenorth>currently I have a non-compiling openttd, and a toddler sitting on me saying 'make choo choo'
10:18<+michi_cc>CBID_IND_PROD_CHANGE_BUILD actually, not CBM_IND_PROD_CHANGE_BUILD (Assuming you named the stuff properly)
10:19<andythenorth>he knows the terminal window builds openttd :P
10:19<+michi_cc>Always have a second checkout around :)
10:21<NGC3982>V453000: i guess.
10:21<NGC3982>V453000: tis' be really neat, anyhow.
10:22<V453000>all train classes are useful in some way. You just have the ability to choose the best one for your network
10:25-!-Sara [] has joined #openttd
10:25<Sara>hi again :)
10:27<andythenorth>michi_cc: look plausible?
10:27<andythenorth>sorry I had to paste long code to avoid breaking context :P
10:27<andythenorth>L1 and L15-25 are the changes
10:28<+michi_cc>"bool callback_enabled = (cb != NOT_REACHED);" doesn't make sense. NOT_REACHED isn't some assignment, but a macro that will bomb you out to an error message :)
10:29<andythenorth>isn't something like 'if cb == None' better there? but I'm thinking python
10:31<Mazur>michi_cc, != is not an assignment, either, it's a comparison, with a result, that presumably can be assigned.
10:31<+michi_cc>"default: NOT_REACHED();" doesn't do anything, it is only there to a) raise an assert if somebody passes garbage in type, and b) to prevent warnings on some compilers.
10:32<+michi_cc>Anyway, the switch I pasted is only the the callback param to GetIndustryCallback and should be inside "if (callback_enabled)". The callback enabled stuff needs a second switch.
10:34-!-Saraa [] has joined #openttd
10:34<andythenorth>that would check CBM_ rather CBID_
10:34<+michi_cc>Instead of cb = ... you'd use callback_enabled = HasBit(... there.
10:36<andythenorth>do I check for any valid cb being enabled?
10:36<andythenorth>or do I have to check for each of the known prod. cbs specifically?
10:37<andythenorth>i.e. 'callback_enabled = true if (monthly or random or build)'
10:37<andythenorth>or 'if build (check bitmask for build)' etc
10:38<Saraa>what do i do with wheat?
10:39<+michi_cc>You have to check for the CB you want to execute, checking for some other CB doesn't make much sense.
10:39-!-Sara [] has quit [Ping timeout: 480 seconds]
10:40-!-Saraa [] has quit [Quit: Leaving]
10:41-!-Saraa [] has joined #openttd
10:41<planetmaker>Saraa, check the industry tree. click the industry you got it from and you'll find that button
10:42*NGC3982 tries a load loop.
10:43<NGC3982>should that improve rating?
10:46<Saraa>ok, got it
10:46<Saraa>why is my train button noe enabled ?
10:46<Saraa>why is my train button not enabled ?
10:47<@Alberth>train button?
10:47<andythenorth>so I need to wrap 'cb_enabled = ( cb = ICT_MONTHLY && if hasbit = CBM_IND_MONTHLYPROD_CHANGE) || (other checks)'
10:47<Saraa>the button where u build rails
10:47-!-KritiK [] has joined #openttd
10:47<@Alberth>too early in game years?
10:48<Saraa>right :)
10:48*andythenorth should find pseudo code that *doesn't* look like bad C++ :P
10:49*Alberth hopes some =-es are actually == :)
10:49<Saraa>what do i do now
10:49<Saraa>i cant build anything
10:49<andythenorth>Alberth indeed
10:50<andythenorth>CallbackID seems magical
10:50<@Alberth>either wait until the game has progressed enough, or regenerate with a better starting year
10:50<andythenorth>there's nothing that assigns declares it as the value of the parameter IndustryCallbackType
10:50<@Alberth>where 'wait' can be done with the fast-forward >> button
10:50<@Alberth>default starting year is 1950
10:51<@Alberth>I think a bit before there are vehicles
10:52<@Alberth>newgrf_callbacks.h 22:enum CallbackID { <-- like here? :)
10:53<@Alberth>or maybe I don't understand your question :)
10:53<andythenorth>hard to phrase whilst entertaining a toddler
10:54<andythenorth>currently ChangeIndustryProduction is passed a bool for 'monthly'
10:54<andythenorth>which I'm replacing with an enum
10:54<andythenorth>it's used to figure out the cb type
10:54<andythenorth>but then I'm using it to check the cb type?
10:54<andythenorth>seems confusing
10:54<@Alberth>more like the cb to call would be my first guess
10:55<Mazur>Goddamn the popes asses!
10:55-!-kkb110 [] has quit [Ping timeout: 480 seconds]
10:55<@Alberth>it's a cb from newgrf perspective, and a function to call from openttd perspective :)
10:55<Mazur>The cabinet has gone the way of all cheap furniture.
10:55*andythenorth is assisting with watering the garden
10:55-!-Tanguy [~tanguy@2a01:e34:ee8f:150:208:9bff:febe:e3d3] has joined #openttd
10:55<Mazur>Rejoice, one and all!
10:56<NGC3982>programming and gardening
10:56<andythenorth>my laptop is being rained on :P
10:56<NGC3982>what a life <3.
10:56<andythenorth>yes, the toddler is watering the garden in the rain
10:56<@Alberth>hi Tanguy
10:56<Tanguy>I have heard that the new version 1.2.0 has some kind of support for 32bpp graphics (although I am quite sure that I already heard something like that quite before that last release).
10:56<@Alberth>andythenorth: of course his water is much better than the stuff from the sky :p
10:57<@Alberth>Tanguy: yep, and yep
10:58<Tanguy>I went through the wiki and saw quite a lot of distinct, sometimes incompatible explanations on where to download files to get [32 bit graphics, perhaps extra zoom levels?] and what to do to enable them.
10:58<@Alberth>having support != have graphics :)
10:58<NGC3982>the moment when you forget you added a swedish house set and notices your country flag everywhere on the map.
10:59<Tanguy>Now, somehow I got a file called 32bit-gfx-nightly-megapack-2011-04-16.tar, which I put to my ~/.openttd/newgrf, and defined [misc] blitter = 32bpp-simple in openttd.cfg.
10:59<Tanguy>Which changed absolutely nothing. I guess this is not the way to go?
11:00<@Alberth>Tanguy: there was a patch for 32bpp graphics + extra zoom. A little while before 1.2 was a similar idea merged into trunk, and it is now in the 1.2 release
11:00<Eddi|zuHause>i kinda doubt that will work
11:00<@Alberth>the old patch does not work any more
11:00<Tanguy>Okay. I am using OpenTTD 1.2.0 from Debian sid.
11:01<@Alberth>and so far nobody has made a useful new graphics newgrf
11:01<Tanguy>Okay, so I guess I should just forget that for now.
11:01<@Alberth>but much more important, there are not many graphics yet
11:02<@Alberth>so that's where help is needed
11:03<Tanguy>Well, too bad I suck at graphics then.
11:03<@Alberth>this is your chance to get good at it :p
11:04<Mazur>3 cheers for the Dutch cabinet!
11:05<Mazur>Gone to pieces like a softboard dining table.
11:10<andythenorth>might work?
11:10<andythenorth>I assume that ICT_MONTHLY etc are magically in scope
11:11-!-Devedse [] has quit [Ping timeout: 480 seconds]
11:12<andythenorth>doesn't compile :P
11:12<andythenorth>10 errors
11:13*andythenorth really hoped that if stat was enough
11:13<andythenorth>agh, typing with toddlers :P
11:13<frosch123> <- hmm, who would be offended if i would post that doing 1000 useful posts is indeed a challenge? :p
11:15<FLHerne>Tanguy: About the only new-style 32bpp grf is the 8/32bpp Trains one
11:17-!-Devedse [] has joined #openttd
11:19<+michi_cc>andythenorth: You want to check if the callback type is ICT_MONTHLY and the monthly CBM is set, or ....., don't you? Which translates directly to "type == ICT_MONTHLY && HasBit(...) || ....". Alternatively, and better readably especially if there every would be a forth type, use a switch as well, replacing e.g. "cb = CBID_INDUSTRY_MONTHLYPROD_CHANGE" with "callback_enabled = HasBit(this->callback_mask, CBM_IND_MONTHLYPROD_CHANGE)" and so on.
11:19<Saraa>where do i deliver houses?
11:21<andythenorth>michi_cc: I prefer the switch ;)
11:21<andythenorth>so in this line "static void ChangeIndustryProduction(Industry *i, IndustryCallbackType type)"
11:21<andythenorth>is type a keyword, or a variable name?
11:22<+michi_cc>A variable name, like always in C(++).
11:23<+michi_cc>[storage class] Type [additional specifiers] Name [= Initializer];
11:24<FLHerne>Saraa: Deliver houses??
11:24<Saraa>i produce houses
11:24<Saraa>what do i do with that ?
11:25<+michi_cc>The only ugly thing in C++ variable/paramenter declarations is the * operator, because it is right-associative. It means "pointer to type" (i.e. "Industry *i" means that i is a pointer to an variable of type Industry), but it binds to the name, not the type.
11:25<FLHerne>Saraa: Do you mean passengers?
11:25*FLHerne is confused
11:26<Saraa>i have a factory
11:26<+michi_cc>So contrary to what you might except "int * a, b;" to do, it does not declare *two* pointers, but just one. "int * a, * b;" would do that instead.
11:26<Saraa>and its producing smth
11:26<Saraa>what do i do with that
11:27<+michi_cc>Saraa: You find and industry that accepts it, except if it is Goods, Mail or Passengers, which have to be delivered to a town.
11:27<Saraa>i have goods
11:27<+michi_cc>(and Food if you play in tropical or artic climate).
11:28<Saraa>just transport to the town ?
11:29<+michi_cc>You need a station that accepts Goods, which in turn means a station that has enough big houses in its converage. If you are building a station, you should see two lines for what the station would accept and supply (I hope, unless that is for whatever reason not enabled by default).
11:30<+michi_cc>Like in
11:31<Saraa>i just transport the goods to a station in the town
11:31<Saraa>where it is attached to houses
11:32-!-sla_ro|master [slaco@] has quit [Quit: DANGER is OFFLINE DANGER]
11:33<+michi_cc>A station doesn't need to be attached to anything, you can see what is covered if you turn on the coverage are highlight. A station will accept Goods if enough houses that accept goods are in the coverage area. Small towns might not have enough such houses, but bigger towns generally have.
11:36-!-HerzogDeXtEr1 [] has quit [Read error: Connection reset by peer]
11:37*andythenorth now has only 4 errors :P
11:38<andythenorth>wtf is 'monthly' also being used for?
11:38<andythenorth>it's a bool, yet seems to be able to store value of economy type :P
11:38<andythenorth>L2500 in industry_cmd.cpp
11:39-!-HerzogDeXtEr [] has joined #openttd
11:39*andythenorth figures that one out
11:41-!-Wolf01 [~wolf01@] has quit [Quit: Once again the world is quick to bury me.]
11:42<andythenorth>how do I put 'ChangeIndustryProduction()' in scope for 'DoCreateNewIndustry()'
11:44<andythenorth>In function ‘void DoCreateNewIndustry(Industry*, TileIndex, IndustryType, const IndustryTileTable*, byte, Town*, Owner, uint16)’:
11:44<andythenorth>src/industry_cmd.cpp:1722: error: ‘ChangeIndustryProduction’ was not declared in this scope
11:44*NGC3982 watches the matrix and wants a new map type.
11:48<andythenorth>is ChangeIndustryProduction() only in scope if an industry object is in scope?
11:48<frosch123>oh no, i found a typo in a 4 years old post of mine, now i cannot edit it to fix it :p
11:48<NGC3982>i cant decide if a matrix or tron map type would be preferable.
11:48<NGC3982>a 01 map would be really, really cool
11:48<NGC3982>since the matrix universe has quite detailed info on harversters and battery fields.
11:49<andythenorth>in C++ does a function have to be declared before any call to it?
11:49<andythenorth>similar to...other languages :P
11:49<NGC3982>it does in C#, afaik.
11:49*NGC3982 thinks.
11:50<andythenorth>frosch123 can I call ChangeIndustryProduction() from L1722 if it's declared on L2442? :P
11:51<frosch123>why are you actually using that function?
11:51<frosch123>80% of its return values make no sense on construction
11:51<andythenorth>to avoid duplication?
11:52<andythenorth>the only value that I thought didn't make sense was 'close'
11:52<frosch123>better create a new callback to set production rate (and multipliers!) as well as spawning custom news messages for opening instead of the default ones
11:52<andythenorth>and even that could be valid
11:52<andythenorth>which other values did I miss being invalid? :)
11:52<frosch123>it makes no sense to spawn two news messages at the same time
11:52<frosch123>one about being opened, one about a production change
11:53<andythenorth>I was going to suppress the news message depending on cb type...
11:53<frosch123>also you would likely change the news item depending on the funding method
11:53<frosch123>though i guess there is already a variable for that
11:53<andythenorth>I don't mind an entirely new cb...
11:53<andythenorth>I'm just hacking as the best way to get opinions :P
11:53<andythenorth>seems to beat pondering
11:54<frosch123>oh, i thought custom news was the idea behind using a similiar callback :s
11:54<frosch123>without news it makes even less sense to use the same return values
11:55<andythenorth>in my case, all I need is the ability to shift current production multiplier (rate?) by some value)
11:55<andythenorth>if it's done cleanly, and there are other cases in future...
11:56<andythenorth>...they could be added as return values?
11:56<frosch123>you could just return the value directly
11:57<andythenorth>is the current value available to me during construction?
11:57<andythenorth>or is it always 16 at build?
11:57<frosch123>why so complicated case for double/half/custom value?
11:57<frosch123>yes, it's always 16
11:57<andythenorth>I thought it would just be simpler to reuse existing code :P
11:57<andythenorth>hence modify ChangeIndustryProduction()
11:57<andythenorth>if it's not .... then it's not
11:58-!-tokai|mdlx [] has joined #openttd
11:59*andythenorth hacks
11:59<frosch123>so, i think something like: bits 0-7 production rate, bit 8: use custom news message from register 100 or so
12:00<andythenorth>something like this, in DoCreateNewIndustry?
12:00<andythenorth>with error checking and bit unpacking
12:00<frosch123>likely you want 7 or 8 bits, not 4
12:00-!-Chris_Booth [] has quit [Quit: ChatZilla [Firefox 12.0/20120411064248]]
12:01-!-sla_ro|master [~slaco@] has joined #openttd
12:02<andythenorth>what error checking do I need to do?
12:02<frosch123>i guess clamp the returned range
12:02<frosch123>similar to ChangeProduction
12:03-!-Devedse [] has quit [Read error: Connection reset by peer]
12:03<frosch123>maybe you also need to calculate the production rate
12:03<frosch123>i.e. call RecomputeProductionMultipliers();
12:04<frosch123>i->prod_level = Clamp(GB(GetRegister(0x100), 16, 8), PRODLEVEL_MINIMUM, PRODLEVEL_MAXIMUM); <- i guess do something like that for the return value
12:04-!-tokai|noir [] has quit [Ping timeout: 480 seconds]
12:05*andythenorth tests a compile
12:06<frosch123>maybe also call ErrorUnknownCallbackResult if the returned value is too big
12:07<NGC3982>how much can i expect town growth to increase if i add roads to it?
12:08<NGC3982>is there some irrational value to how easy new buildings form around adjacent roads?
12:08<frosch123>iirc everytime a town decides to grow it either plants a road or a house
12:08<andythenorth>something like?
12:08<andythenorth> if (GB(res, 8, 11) != 0) ErrorUnknownCallbackResult(indspec->grf_prop.grffile->grfid, CBID_INDUSTRY_PROD_CHANGE_BUILD, res);
12:08<frosch123>so, if there are already roads, it is more likely to plant houses
12:09<andythenorth>with correct values?
12:09<frosch123>yup, with correct values :)
12:09<andythenorth>does it need to break?
12:09<andythenorth>some cbs seem to break on error, some don't
12:09<frosch123>they break loops
12:09<frosch123>but you won't be able to cancel construction at that point
12:10<NGC3982>frosch123: thus, adding roads myself doesnt help the town grow? or do i help it choose between roads or houses (since the roads is already there, in that extent)? :)
12:10<frosch123>yes, the latter
12:10<andythenorth>correct values
12:10<frosch123>basically you can increase the house construction by the amount a town builds roads without you
12:11<NGC3982>frosch123: ah, i see.
12:11<NGC3982>frosch123: thank you.
12:12<frosch123>you're welcome
12:13<andythenorth>frosch123: I should check if res > PRODLEVEL_MAXIMUM ?
12:13<andythenorth>and < PRODLEVEL_MINIMUM ?
12:13<V453000>it is possible to grow a town to about 2 million population if you provide enough roads
12:14<V453000>above 2 millions, but it is very hard afterwards
12:14<Saraa>If i have a simple cross in rails what signals should i use ?
12:15<frosch123>andythenorth: yeah, might be useful as well
12:16<frosch123>V453000: the population is meaningless
12:16<frosch123>a town growth in number of houses
12:16<frosch123>how much population a house is depends on the grf
12:16<NGC3982>i fail to see how the size can be relevant
12:16<NGC3982>unless station spread is set to some kind of witchcraft.
12:17<frosch123>if you use something stupid like ttrs with only skyscrapers, all towns become big very fast
12:17<Saraa>If i have a simple cross in rails what signals should i use ?
12:17<V453000>idk I feel like all town sets give the same amount of population
12:17<frosch123>Saraa: if you do not know, try them all :)
12:18<andythenorth>Saraa: a bridge ;)
12:19<FLHerne>Saraa: If you're not using double track already I suggest you do - it's far easier to signal :P
12:20<FLHerne>If you know which way trains will be going on each piece of track, you can just use mnodirectional path signals for everything ;)
12:23<welshdragon>I've found a bug...
12:24-!-TWerkhoven2[l] [] has joined #openttd
12:24<welshdragon>Groups display the wrong number in the overview window
12:24<Saraa>its just this
12:25-!-pugi [] has joined #openttd
12:25<NGC3982>wagon towarowy!
12:27<Saraa>is there a simple signal which shows when its safe to cross
12:28<FLHerne>Saraa: I think a bidirectional path signal on the red dot near the factory would work
12:29-!-TWerkhoven[l] [] has quit [Ping timeout: 480 seconds]
12:29<FLHerne>Perhaps on both green dots too, although I don't think that's necessary
12:29<FLHerne>Andythenorth was right though, a bridge would be easier :P
12:30<Saraa>its says 'no signals'
12:31<Saraa>ok, nvmd :P
12:31<FLHerne>You have the 'convert' tool selescted. Unselect it :P
12:31<frosch123>welshdragon: then figure out which action made it go wrong
12:31<frosch123>a screenshot or savegame is useful for that kind of bug, as those values are not saved
12:33<Saraa>it works :)
12:33<FLHerne>Saraa: good :D
12:38<Saraa>can i assign specific depos for a specific train ?
12:40<FLHerne>If you give a train an order to goto or service at a depot, it won't go to others, if that's what you mean
12:41<welshdragon>frosch123: ^
12:41-!-glx [glx@2a01:e35:2f59:c7c0:c465:4cee:126f:6c20] has joined #openttd
12:41-!-mode/#openttd [+v glx] by ChanServ
12:42<FLHerne>The difference being that 'service at' will only send the train to the depot when it thinks it needs servicing
12:43<frosch123>welshdragon: so, what did you do?
12:43-!-fonsinchen [] has quit [Ping timeout: 480 seconds]
12:43<frosch123>if you cannot reproduce it with some clear actions, we have to close it as unreproducible
12:45<welshdragon>frosch123: added reproduvtion steps
12:46-!-Chris_Booth [] has joined #openttd
12:46<frosch123>oh, so it is broken recently
12:47<welshdragon>i suspect so
12:47<welshdragon>it woeks in earlier versions
12:47<frosch123>it's the drag/drop thingie
12:48<frosch123>and the command accepting moving vehicles from ALL_GROUP to some other group
12:50<frosch123>welshdragon: so you are playing nightly, not trunk?
12:50<frosch123>err, nightly, not 1.2
12:50-!-fonsinchen [] has joined #openttd
12:53<frosch123>hmm, no, i cannot reproduct it
12:57<NGC3982>V453000: i kind of giggled when T1000 was introduced.
13:03*andythenorth goes adventuring into production level, production rate, production multiplier etc
13:04<andythenorth>frosch123: someone's going to have a valid case for adjusting production_rate[0] and production_rate[1] (from action 0 props) ?
13:05<frosch123>that would be a lot of work for something which you can do with the production callback
13:06<andythenorth>let's ignore it then
13:06<andythenorth>so I want to adjust i->prod_level, how do bytes 0-7 in this new cb adjust it?
13:11<andythenorth>similar to existing production changes?
13:11<frosch123> <- what was wrong with that one?
13:11<frosch123>except the number of bits?
13:12<andythenorth>nothing, I failed to understand it :P
13:13<andythenorth>I've just read ChangeIndustryProduction again
13:13<andythenorth>now I understand it
13:13<andythenorth>so the desired level just gets stuffed in register 0x100 if I've understood correctly
13:14-!-goodger [] has joined #openttd
13:19-!-Saraa [] has quit [Quit: Leaving]
13:20<andythenorth>I have to patch nml to test this :P
13:23-!-Zeknurn` [] has joined #openttd
13:27-!-Zeknurn [] has quit [Ping timeout: 480 seconds]
13:29-!-fonsinchen [] has quit [Remote host closed the connection]
13:30<andythenorth>in nml, is register 0x100 address 1
13:30<andythenorth>i.e. to push 128 into 0x100 I use "STORE_TEMP(128, 1)"
13:34<frosch123>i would think STORE_TEMP(128, 0x100)
13:35<andythenorth>let's try that
13:46<CIA-1>OpenTTD: translators * r24157 /trunk/src/lang/ (6 files): (log message trimmed)
13:46<CIA-1>OpenTTD: -Update from WebTranslator v3.0:
13:46<CIA-1>OpenTTD: afrikaans - 45 changes by telanus
13:46<CIA-1>OpenTTD: belarusian - 10 changes by Wowanxm
13:46<CIA-1>OpenTTD: simplified_chinese - 3 changes by chenwt0315
13:46<CIA-1>OpenTTD: croatian - 12 changes by VoyagerOne
13:46<CIA-1>OpenTTD: german - 12 changes by planetmaker
13:48<andythenorth>frosch123: I wanted to be sure this approach was going to I brute force set prod_level to 128 on build
13:48<andythenorth>it makes no difference to production
13:49<andythenorth>I've checked it's not just a newgrf case - it's not being hidden by the production cb
13:53<frosch123>did you call RecomputeProductionMultipliers() ?
13:53<andythenorth>I tried, but it throws errors
13:54<andythenorth>this suggests to me that " i->prod_level = PRODLEVEL_DEFAULT;" on L1654 isn't doing anything useful :P
13:54<frosch123>ah, right, you have to disable smooth economy if that cb is used
13:54<frosch123>also change UsesSmoothEconomy
13:56<andythenorth>L1612 looks interesting
13:57<frosch123>don't look at it
13:57<andythenorth>so that's how default industries are randomised?
13:57<frosch123>smooth economy is not compatible with newgrfs
13:58<andythenorth>it was more for reference ;)
13:59*telanus hates translation errors, that one only see for a split second before it pops out of existance :(
13:59<andythenorth>if I'm adjusting production rate on build, I need those to be updated
13:59*andythenorth ponders moving the cb up
14:00<andythenorth>and also having it recalculate production_rate directly :P
14:04<andythenorth>frosch123: this is obviously stupid, but proves at least my nml patch works :P
14:10<NGC3982>what happend to the trains in amsterdam?
14:10<NGC3982>bad TCMS and a reversing engine?
14:10*andythenorth can't find where prod_level is actually used to produce output
14:14<andythenorth>frosch123: afaict returning prod_level is pointless
14:14<andythenorth>I can't see how it works even for the existing cbs...which it must, obviously ;P
14:16<andythenorth>I found the obvious
14:18<andythenorth>ottd compiles much faster than FIRS
14:20<Eddi|zuHause>reimplement gcc in python :)
14:20<@Alberth>dependency checking and partial compiling works :)
14:20<Eddi|zuHause>and multithreading
14:21<Eddi|zuHause>and efficient expression evaluation
14:21<@Alberth>we need nml2 :p
14:22*andythenorth needs to know how to stick something in register 0x100 with nml :P
14:23<andythenorth>appears not to work:
14:32<andythenorth>ok, so apart from handling edge cases / errors...this appears to work :o
14:32<andythenorth>frosch123: ^ ;)
14:34<andythenorth>tempting to allow each prod. rate to be set directly, so they can be varied more easily, e.g. for farms
14:34<andythenorth>where there are 2 outputs
14:35-!-Devedse [] has joined #openttd
14:38<frosch123>they are strictly tied via prod_level
14:38<andythenorth>if I reset them before calling RecomputeProductionMultipliers()...
14:39<andythenorth>oh no
14:39<andythenorth>they're indspec :P
14:39-!-th_gergo [] has quit [Quit: Leaving.]
14:39<andythenorth>so I have no idea what to do with ErrorUnknownCallbackResult()
14:39<andythenorth>or what edge cases I should be handling
14:40<frosch123>you should check the return value of the cb for validness
14:40<frosch123>to prevent grfauthors from returning a mess, which then returns in broken grfs if we enhance ottd
14:41<andythenorth>so currently there a no specific return values, and something valid has to be in register 0x100
14:41<andythenorth>and other registers aren't checked
14:41<andythenorth>so must return 0?
14:46<frosch123>why do you use register 100 anyway?
14:47-!-Biolunar [] has joined #openttd
14:48<andythenorth>I thought that was your advice ;)
14:48<andythenorth>maybe I misread earlier
14:48<andythenorth>I got up at 5am ;)
14:49<andythenorth>does pushing values onto registers make this more flexible in future?
14:50<frosch123>registers usually only get optional results
14:50<frosch123>like stuff for a news item :)
14:50<+michi_cc>No, his advice was to put the production into the result and an optional message string into the register.
14:51<andythenorth>oops :)
14:52<andythenorth>I just pasted this in ;) i->prod_level = Clamp(GB(GetRegister(0x100), 16, 8), PRODLEVEL_MINIMUM, PRODLEVEL_MAXIMUM);
14:53<andythenorth>so I should change that to use result?
14:53<frosch123>that line is from the prod change cb
14:54<frosch123>i meant to copy the clamping of the result
14:54<frosch123>but checking the range of the result for the Error thingie is even better
14:54<andythenorth>ach, ok :)
14:54*andythenorth thought he was done :P
14:57-!-ToxicFrog` [] has joined #openttd
14:58-!-ToxicFrog` is now known as ToxicFrog
14:59<ToxicFrog>So, someone linked me to Chill's patchpack earlier, which incorporates a huge list of patches ranging from the very simple (option to color-code town names based on how much they like you) to the very complex (cargodist).
15:00<ToxicFrog>I was looking through the incoporated patches a while ago and most of them date from 2008-2009, with comments like "this is probably too late for 0.7, but hopefully it can be tested and merged in time for 0.8"
15:00<ToxicFrog>Is it seriously the case that none of these have been merged into openttd?
15:00<andythenorth>so this works
15:00<andythenorth> i->prod_level = Clamp(res, PRODLEVEL_MINIMUM, PRODLEVEL_MAXIMUM);
15:01<andythenorth>so I should try and handle that with the Error thingie?
15:01<andythenorth>does anyone know how the Error thingie works? :P
15:02<@Alberth>ToxicFrog: yes, that's why they are in the patchpack
15:02<andythenorth>this might work
15:03<andythenorth> if (res < PRODLEVEL_MINIMUM || res > PRODLEVEL_MAXIMUM) ErrorUnknownCallbackResult(indspec->grf_prop.grffile->grfid, CBID_INDUSTRY_PROD_CHANGE_BUILD, res);
15:03<frosch123>andythenorth: you likely need both lines
15:03<frosch123>the error and the clamping to somehow continue anyways
15:03<@Alberth>ToxicFrog: oh, we had a lot of simple patches added very recently in trunk, so maybe my claim is not entirely true
15:03<andythenorth>frosch123: I concluded the same :)
15:03<ToxicFrog>Alberth: is there any particular reason why? Some of these patches are really simple, and some of the complicated ones have been around for a while and tested very extensively
15:03<andythenorth>C++ is easy when you have 3-5 people to help you ;P
15:04<frosch123>ToxicFrog: maybe the extensive testing resulted in a decision to not include them
15:05<@Alberth>ToxicFrog: for the simple ones, I am not sure; for the complicated ones, yes, but each patch has its own reason why
15:05<frosch123>the interesting part of testing is the result of it :p
15:06<ToxicFrog>Is there a "patch inclusion status" thing somewhere? It would be nice if I could distinguish between "patches I need to merge in myself" and "patches that will probably show up in trunk if I'm patient".
15:06<@Alberth>other than the distinction between "is in trunk" and "is not in trunk", no
15:06<frosch123>waiting on others is never a good strategy
15:08<ToxicFrog>frosch123: on the other hand, managing my own private branch is a pain in the ass
15:08<frosch123>then decide for the patches which are important for yourself
15:08*andythenorth is about to test the viability of getting a patch into trunk :P
15:08<frosch123>don't try to include every single marginal feature
15:08<frosch123>which might only be handy every 20th game
15:11<ToxicFrog>frosch123: the thing is, AFAICT, my choices are basically "maintain my own patchset" (which is annoying even with a small number of patches), "play vanilla, waiting for features that I have no idea if they're even being considered because there's apparently no feedback on any of this", or "use someone else's build, which is probably very out of date"
15:11<ToxicFrog>And I don't like any of those options, so I was wondering if there was a better one.
15:12<@Alberth>work on putting them in trunk?
15:12-!-Rhamphoryncus [] has joined #openttd
15:13<frosch123>Alberth: that does not help for features which are considered more bloat than useful
15:13<frosch123>e.g. the town rating display in the town name
15:14<frosch123>(because there were like 3 patches which wanted to display something in the label, turning the map into a spreadsheet)
15:14<andythenorth>frosch123 / whoever might be interested :) :P
15:14<@Alberth>good point
15:14<frosch123>also i doubt any amount of work on a patch would succeed in getting any copy&paste or statistics patch into trunk :)
15:15<frosch123>there are just numerous patches which have no chance because none of the devs like the feature, resp. are even strongly opposed to it
15:15<@Alberth>and cargod*st is terribly complicated to get right
15:15*andythenorth waves a patch. Maybe devs will like it? :D
15:15*andythenorth tests a few more cases on it ;P
15:15-!-drac_boy [] has joined #openttd
15:16<frosch123>well, the patches where the authors themself do not consider them ready for trunk are even another case :)
15:16<frosch123>andythenorth: doesn't that still assert with smooth economy?
15:16<ToxicFrog>Alberth: the thing is, presumably the patch developers have already worked on putting them in trunk. Were they rejected? Rejected pending modifications? Still undergoing testing? Planned for inclusion in 1.3? There's no way to tell!
15:16<andythenorth>frosch123: not sure
15:16<andythenorth>I'll test
15:16<andythenorth>I'm testing min values right now
15:17<frosch123>also fix your whitespace :)
15:17<andythenorth>I've tested max values
15:17<andythenorth>stupid XCode :P
15:17<ToxicFrog>I would rather not spend a weekend working on merging something into trunk only to get back "you're the sixth person to submit this this month, it's not being included because it conflicts with <planned feature X>" or something.
15:17<andythenorth>'planned feature' :o
15:18<andythenorth>that's one of the less likely objections :P
15:18<@Alberth>ToxicFrog: so ask first
15:18<@Alberth>didn't know we even had planned features :p
15:18<andythenorth>frosch123: I have smooth economy enabled
15:18<andythenorth>seems to work
15:19<frosch123>well, maybe because you patched a industry which uses the other prodchange cbs already, and thus already disables smooth economy
15:19<Rhamphoryncus>andythenorth: my 2¢: the bit in industry_cmd.cpp should have a comment explaining that it's calling the CB on creation to set initial production
15:20<frosch123>check IndSpec::UsesSmoothEconomy
15:20<andythenorth>Rhamphoryncus: you mean 'documentation' :P
15:20<frosch123>andythenorth: you also call the cb too early
15:20<frosch123>most of the variables are not set up yet
15:21<frosch123> /* Call callbacks after the regular fields got initialised. */ <- put it at least after that line
15:22-!-kkb110 [~kkb110@NYUFGA-WLESSAUTHCLIENTS-01.NATPOOL.NYU.EDU] has joined #openttd
15:22<andythenorth>if I don't call it early, the industry window reports incorrectly
15:22<andythenorth>and the industry list wrt production amounts
15:22<frosch123>well, check the depenencies of the variables
15:22<andythenorth>I need to set last_month_production
15:23<andythenorth>maybe I could recompute last_month_production?
15:23<andythenorth>sound sane?
15:23<frosch123>you will likely have to put the last_month thingie after it
15:27<ToxicFrog>Alberth: ask where, in here?
15:28*Alberth nods
15:29-!-TWerkhoven [] has quit [Quit: He who can look into the future, has a brighter future to look into]
15:30*andythenorth looks for whitespace issues
15:30<andythenorth>my editor doesn't reveal them
15:31<Rhamphoryncus>The two blank lines in industry_cmd.cpp have trailing whitespace
15:31<andythenorth>assert :P
15:31<Rhamphoryncus>the other blank in newgrf_callbacks.h does too
15:31<Rhamphoryncus>My editor will do the same thing. Drives me nuts.
15:32<andythenorth>seen them now thanks
15:34<Rhamphoryncus>The trick to finding them is to play with drag-select. Indentation will go 4 at a time if tabbed, 1 if spaced. Trailing will only highlight the last line without wrapping to the next
15:34<andythenorth>"* This function is only valid when not using smooth economy."
15:34<andythenorth>for RecomputeProductionMultipliers()
15:35<andythenorth>which means I can't use that function?
15:35<andythenorth>I have to write my own?
15:35<ToxicFrog>Hmm. Well, the patches I'm most interested in are more height levels; cargodist; buy land; select trains in tunnels; and automatic timetable tuning.
15:36<Rhamphoryncus>andythenorth: doesn't sound right to me..
15:37<ToxicFrog>Although buy land looks like it was broken by a change in 1.0 and then never updated by the author, so no mystery there.
15:37<frosch123>i doubt more-height-levels or cargodist will make it in any near future
15:38<andythenorth>Rhamphoryncus: assert(!indspec->UsesSmoothEconomy());
15:38<andythenorth>seems to rule out relying on that function :P
15:39<frosch123>drag&drop buy-land might have a chance if it is done like the clear-land/terraform limit (see fs#5156)
15:39<Rhamphoryncus>frosch123: more height levels might, if the only issue is code quality
15:39<ToxicFrog>frosch123: given that both have already been around for three years I'm going read that as "ever"; what's the reason?
15:40<Rhamphoryncus>andythenorth: yeah, but I think that's an invariant of using a production callback
15:40<Rhamphoryncus>Trying to find the specific code now
15:40<andythenorth>this existing comment makes no sense to me - wrt the actual code:
15:40<andythenorth>the code is nothing to do with cbs in use
15:41<frosch123>ToxicFrog: more-heightlevels is more complicated than the patchers up to now were able to handle. various preparations went into 1.2 with newgrf v8
15:41<frosch123>but since then noone worked on that patch
15:41<andythenorth>k, so I need to add to UsesSmoothEconomy
15:41<andythenorth>as frosch123 said about 7 hours ago :P
15:42<Rhamphoryncus>andythenorth: IndustrySpec::UsesSmoothEconomy() returns false is you have a production callback set
15:42<frosch123>i am not much involved with cargod*st. but afiak performance was a major issue
15:42<Rhamphoryncus>So that particular industry always uses non-smooth economy
15:43<Rhamphoryncus>Since you're adding a new flag it should either only activate if one of the existing ones does or should itself make it non-smooth
15:44<andythenorth>assert gone
15:46-!-szotsaki [] has joined #openttd
15:47-!-Netwerk [] has joined #openttd
15:48<andythenorth>fortunately TextWrangler is smarter than XCode :P
15:48<andythenorth>and strips whitespace
15:48-!-Progman [] has joined #openttd
15:50-!-martinottd [] has joined #openttd
15:50-!-kkb110 [~kkb110@NYUFGA-WLESSAUTHCLIENTS-01.NATPOOL.NYU.EDU] has quit [Read error: Operation timed out]
15:50-!-Netwerk [] has quit []
15:50<andythenorth>patch updated
15:51<frosch123>Rhamphoryncus: i don't think andy wants to remove so much spaces :)
15:51<Rhamphoryncus>You're right. This is C. s/\s+/ /g
15:51-!-TWerkhoven [] has joined #openttd
15:52<frosch123>andythenorth: i think you also need to add it to the debug gui
15:52<andythenorth>andythenorth wants to immediately make the next FIRS release incompatible with the most recent ottd stable :P
15:52<frosch123>it = the new callback and mask bit
15:52<andythenorth>I'll have to find the debug GUI :P
15:53<andythenorth>sensibly named it seems
15:53<frosch123>maybe it's a trap
15:53<frosch123>and we named something entirely different that way
15:53<Rhamphoryncus>andythenorth: your next trick can be boosting the 3/2 limit to 8/8 or 16/16 }:>
15:54<andythenorth>Rhamphoryncus: nah, it would break the design of the game
15:54<andythenorth>limitations are useful
15:54<andythenorth>we should re-insert some limitations :P
15:54<Rhamphoryncus>Having had a cluster of 14 farms.. wha?!
15:54<Rhamphoryncus>in FIRS
15:55<Rhamphoryncus>14 farms all near each other
15:55<andythenorth>sometimes you get epic clusters
15:55<andythenorth>if 2 or 3 types each locate a cluster near the same spot...
15:55<Rhamphoryncus>They're amusing for pickup. For farmsup they *SUCK*
15:55<andythenorth>well yes
15:55<andythenorth>especially because of shenanigans with having to build 3 separate roadstations at each farm
15:55<Rhamphoryncus>They're part of why I've the lame farmsup feeders before
15:56<andythenorth>due to queuing problems :P
15:56<andythenorth>one pickup for each cargo is required
15:56<andythenorth>and one for drop off, as the others will be usually contended
15:57<andythenorth>and with trams, drive-through stops are required. inefficient on space :P
15:57<Rhamphoryncus>Ahh, I did trains
15:57<andythenorth>and enough room for significant queuing is also required, so in a dense cluster, it's hard :P
15:57<andythenorth>at least pickup can overlap farms :P
15:57<andythenorth>it's a bit better with YACD, the overlap is handled for dropoff as well
15:58<frosch123>andythenorth: you can queue a lot of vehicles in a depot :p
15:58<andythenorth>only if they know to go there, RVs don't afaict
15:58<andythenorth>they'll come out and gridlock
15:58<andythenorth>RV gridlock is easily achieved :)
15:58-!-telanus1 [~Barney_Er@] has joined #openttd
15:59<andythenorth>how does this debug gui work?
15:59<andythenorth>I thought cbs would be in newgrf_debug.h
15:59<Rhamphoryncus>My trick was to have a single tile of the train station at each farm (the center of the station), then have a single platform tile interleaved with a common transfer station platform
15:59-!-telanus1 [~Barney_Er@] has left #openttd []
15:59<Rhamphoryncus>So one train would go in a tight loop alternating pickup farmsup/dropoff farmsup
15:59<Rhamphoryncus>Also, you can give an RV an order for a specific depot
16:00<andythenorth>might be I only need to provide a string for cb 15F, then maybe it works? :o
16:00-!-telanus [~Barney_Er@] has quit [Ping timeout: 480 seconds]
16:03<CIA-1>OpenTTD: frosch * r24158 /trunk/src/subsidy.cpp: -Fix (r23408): Town producing no cargo at all could spawn passenger subsidies.
16:04*andythenorth is puzzled by debug gui
16:04<frosch123>take a look at the other industry cbs
16:05<frosch123>i would expect you only have to add one line into some table
16:05<frosch123>in table/debug_data_something_something.h
16:06-!-kkb110 [] has joined #openttd
16:10<Rhamphoryncus>It wants a password from me :)
16:13<@Alberth>andythenorth: some quick comments
16:14<frosch123>he, albert seems to be the only one checking comments :)
16:15<@Alberth>I first read comments, then read the code to confirm :)
16:16<@Alberth>a few lines comments is faster to read then all code of a function ;)
16:16<Eddi|zuHause>he's the master of comments :)
16:16<frosch123>i think i am not used to commented code :)
16:17<frosch123>i am rather used to reading code, since comments are either wrong or do not state the important things
16:18<frosch123>(of course not in ottd :) )
16:19*andythenorth always assumes comments are approximate :P
16:22-!-szotsaki [] has left #openttd []
16:26-!-valhallasw [] has joined #openttd
16:30<andythenorth>Alberth: one of the comments on comments conflicts with neighbouring comments :P
16:30<andythenorth>they are not capitalised nor have full stops
16:30<andythenorth>sure that one isn't a foolish consistency?
16:32<andythenorth>newgrf_callbacks.h has a variety of comment styles ;)
16:32<frosch123>yeah, coding is art :p
16:32<@Alberth>I change the comments when I change the line for some reason, but ymmv.
16:32<@Alberth>not changing it is also fine if you feel it is better
16:33<@Alberth>then one day, they may all get aligned :p
16:33<andythenorth>foolish consistency ;)
16:33<andythenorth>but I changed it
16:34<andythenorth>comments fixed
16:35<andythenorth>ship it? :)
16:36<@Alberth>newgrf_callbacks.h has surprisingly few spelling errors :p
16:39-!-zooks [] has quit [Ping timeout: 480 seconds]
16:41<@Alberth>good night all
16:41-!-Alberth [] has left #openttd []
16:48-!-cypher [] has joined #openttd
16:54<@Terkhen>good night
16:58-!-martinottd [] has quit [Quit: ajax IRC Client]
17:03-!-DOUK [] has joined #openttd
17:04-!-mahmoud [] has quit [Ping timeout: 480 seconds]
17:09-!-andythenorth [] has left #openttd []
17:11-!-Zeknurn` [] has quit [Remote host closed the connection]
17:12-!-Zeknurn [] has joined #openttd
17:25-!-KritiK [] has quit [Quit: Leaving]
17:27<NGC3982>im still trying to find an industry grf that allows me to stimulate growth a bit further
17:30-!-valhallasw [] has quit [Ping timeout: 480 seconds]
17:34-!-valhallasw [] has joined #openttd
17:37-!-zooks [] has joined #openttd
17:56-!-zooks [] has quit [Ping timeout: 480 seconds]
18:01-!-krinn [] has joined #openttd
18:01<krinn>hi all
18:02<krinn>Zuu answer sent
18:08-!-mahmoud [] has joined #openttd
18:13-!-roboboy [] has joined #openttd
18:13-!-DOUK [] has quit [Ping timeout: 480 seconds]
18:14-!-DOUK [] has joined #openttd
18:15-!-Elukka [] has quit []
18:18-!-mahmoud [] has quit [Ping timeout: 480 seconds]
18:23-!-drac_boy [] has left #openttd [I'm done being in this room!]
18:30-!-frosch123 [] has quit [Remote host closed the connection]
18:31-!-Zuu [] has quit [Ping timeout: 480 seconds]
18:32-!-Biolunar [] has quit [Quit: All your IRC are belong to us]
18:39-!-roboboy [] has quit [Ping timeout: 480 seconds]
18:44-!-TGYoshi [~TGYoshi@] has quit [Quit: Popidopidopido]
18:49-!-Mark [] has quit [Quit: HydraIRC -> <- Chicks dig it]
19:00-!-valhallasw [] has quit [Ping timeout: 480 seconds]
19:04-!-TWerkhoven2 [] has joined #openttd
19:05-!-Progman [] has quit [Remote host closed the connection]
19:10<krinn>night all
19:10-!-krinn [] has quit [Quit: Quitte]
19:11-!-TWerkhoven2[l] [] has quit [Ping timeout: 480 seconds]
19:11-!-TWerkhoven [] has quit [Ping timeout: 480 seconds]
19:11-!-th_gergo [] has joined #openttd
19:12-!-TWerkhoven2 [] has quit [Ping timeout: 480 seconds]
19:15-!-HerzogDeXtEr [] has quit [Read error: Connection reset by peer]
19:16-!-HerzogDeXtEr [] has joined #openttd
19:20-!-zooks [] has joined #openttd
19:23-!-flaa [] has quit [Ping timeout: 480 seconds]
19:28-!-sla_ro|master [~slaco@] has quit [Quit: DANGER is OFFLINE DANGER]
19:31-!-zooks [] has quit [Ping timeout: 480 seconds]
19:33-!-Devroush [] has quit []
19:38-!-cypher [] has quit [Ping timeout: 480 seconds]
19:38-!-cyph3r [] has joined #openttd
19:39-!-Firartix [] has quit [Remote host closed the connection]
19:45-!-th_gergo [] has quit [Ping timeout: 480 seconds]
19:47-!-mal2 [] has quit [Ping timeout: 480 seconds]
19:58<Nat_aS>why is there no open source sim-city clone?
19:59<Nat_aS>(before somebody sugests lin city, that game has almost nothing to do with sim city)
19:59<Nat_aS>i mean sim city 2000 clone
20:00-!-goodger [] has quit [Ping timeout: 480 seconds]
20:06<Eddi|zuHause>because you did not make one...
20:07<FLHerne>I want one too!
20:07<FLHerne>Waaah! :P
20:08<FLHerne>But seriously, that would be cool, I used to play SC2K on my old PowerBook :D
20:10<Eddi|zuHause>the difference between SC2K and TTD is that SC2K has a worthy 21st century successor with SC4. while TTD has not
20:10<FLHerne>SC4 is not a worthy successor, though :P
20:10<Eddi|zuHause>all the people making mods for SC4 are not available for making an SC2K clone
20:10<FLHerne>It changed the idea so much that it's not really the same game :-(
20:14<Eddi|zuHause>whatever. i did enjoy SC4 very much
20:14<Eddi|zuHause>no idea how SC5 will be, though
20:14<FLHerne>SC4 v SC2k is much like Lomo v TTD, actually - that we have OTTD [i]and[/i] a Lomo modding community proves it's possible :D
20:15<FLHerne>Locomotion is at least as much a TTD successor as SC4 is an SC2k one...
20:16<Eddi|zuHause>successor? sure. worthy? maybe, maybe not. 21st century? certainly not...
20:17<FLHerne>Released 2004?
20:17<Eddi|zuHause>yes. but with totally outdated technology
20:17<Eddi|zuHause>8bpp? sprite-based?
20:17-!-cyph3r [] has quit [Ping timeout: 480 seconds]
20:17<Eddi|zuHause>that has absolutely nothing to do with 21st century
20:18<Eddi|zuHause>OpenTTD practically only exist, because Lomo is no significant improvement over TTD
20:19<FLHerne>Are you sure LoMo is both sprite-based and 8bpp?
20:19*FLHerne goes to check
20:19<Mazur>I am sprite-based and 8 bpp.
20:20<Eddi|zuHause>i prefer fanta.
20:21<FLHerne>It certainly manages not to look it then; better than OTTD 32bpp EZ in some ways...
20:22<FLHerne>I just assumed it wasn't sprite-based because of the sheer number of angles '<
20:24*FLHerne goes to bed
20:25-!-FLHerne [] has left #openttd []
20:45-!-kkb110 [] has quit [Ping timeout: 480 seconds]
20:47-!-DOUK [] has quit [Ping timeout: 480 seconds]
20:50-!-teggi [] has quit []
20:54-!-kkb110 [] has joined #openttd
21:16-!-Devedse [] has quit [Read error: Connection reset by peer]
21:19-!-Chris_Booth [] has quit [Ping timeout: 480 seconds]
21:23-!-KouDy [~KouDy@] has quit [Quit: Leaving.]
21:31-!-roboboy [] has joined #openttd
21:35<Nat_aS>oh man I missed the discussion I started :c
21:36*Nat_aS hopes some of the people there are still awake
21:36<Nat_aS>I think SC3000 was a good sequel, and added some nice things, but it also got rid of a lot of cool features
21:36<Nat_aS>and SC4 went in a bad direction
21:36<Nat_aS>way too fiddly.
21:36<Nat_aS>too hard to earn money
21:37<Nat_aS>terrain became too complex while the basic building mechanic remained simple.
21:37<Nat_aS>Cities XL half fixes a bunch of problems SC4 had, but it'
21:37<Nat_aS>it's not perfect either
21:37<Nat_aS>road layouts in that game can become a mess quickly.
21:38<Nat_aS>you can build roads in any direction, even curves, but buildings are always perfect squares.
21:39<Nat_aS>perfect squares, but not bound by any sort of grid, so good luck building something efficient.
21:41<Rhamphoryncus>shhh, you're making me want to build my own engine from scratch
21:41-!-roboboy [] has quit [Ping timeout: 480 seconds]
21:43<Nat_aS>honestly, an engine that looks and works like sim city 2000 would be perfect
21:44-!-roadt__ [~roadt@] has quit [Ping timeout: 480 seconds]
21:44<Nat_aS>just taking advantage of modern computing power for more detailed simulations, but keeping hand sprited isometric graphics.
21:45<Nat_aS>I'd add garbage and agricultural zones from Sim City 3000, and take advantage of modern computing power to have an overcomplex traffic simulation.
21:45<Nat_aS>IE, each sim has a house and work, and travels between them using a pathfinding algorithm.
21:45<Nat_aS>which is much less ludicrous these days than it was in the 90s.
21:48<Nat_aS>it's a damn shame that Sim city classic is open source, but SC2k is not
21:49<Nat_aS>and EA probably wont let go of it
22:00-!-HerzogDeXtEr1 [] has joined #openttd
22:06-!-HerzogDeXtEr [] has quit [Ping timeout: 480 seconds]
22:11-!-pugi_ [] has joined #openttd
22:12-!-theholyduck [~holyduck@] has quit [Quit: Forlater kanalen]
22:13-!-theholyduck [~holyduck@] has joined #openttd
22:15-!-pugi_ [] has quit []
22:17-!-pugi [] has quit [Ping timeout: 480 seconds]
22:59-!-roboboy [] has joined #openttd
23:02-!-theholyduck [~holyduck@] has quit [Quit: Forlater kanalen]
23:47-!-glx [glx@2a01:e35:2f59:c7c0:c465:4cee:126f:6c20] has quit [Quit: bye]
23:50-!-roboboy [] has quit [Read error: Operation timed out]
23:56-!-roboboy [] has joined #openttd
---Logclosed Sun Apr 22 00:00:34 2012