Back to Home / #openttd / 2013 / 07 / Prev Day | Next Day
#openttd IRC Logs for 2013-07-20

---Logopened Sat Jul 20 00:00:17 2013
00:45-!-roadt [~roadt@] has joined #openttd
00:56-!-Eddi|zuHause [] has quit []
00:56-!-Eddi|zuHause [] has joined #openttd
00:57-!-namad7 [] has quit [Ping timeout: 480 seconds]
00:58-!-namad7 [] has joined #openttd
01:08-!-Djohaal [~Djohaal@] has quit [Read error: Connection reset by peer]
01:42-!-kais58|AFK [] has quit [Read error: Operation timed out]
01:42-!-kais58|A1K [] has joined #openttd
01:56-!-mindlesstux [] has quit [Ping timeout: 480 seconds]
01:57-!-Tom_Soft [] has joined #openttd
02:04-!-Tom_Soft_backup [~id@] has joined #openttd
02:09-!-Tom_Soft [] has quit [Ping timeout: 480 seconds]
02:58-!-SamanthaD [] has quit [Quit: Leaving]
03:04-!-sla_ro|master [slamaster@] has joined #openttd
03:05-!-Zuu [] has joined #openttd
03:16<Zuu>Do anyone remember where the utility is to convert openttd.exe to a console application? (so that I can direct the log output to a file)
03:17<@Rubidium>somewhere devs/~glx ?
03:17-!-Progman [] has joined #openttd
03:21<Zuu>Thanks, I though it was in ~frosch/... but you remembered better.
03:23<Zuu>Hmm, and I already got a copy of it where I wanted to save it :-)
03:24<@Rubidium>*you* need to wake up ;)
03:26<Zuu>I need my coffe from my coffe maker
03:37-!-roadt [~roadt@] has quit [Remote host closed the connection]
03:40-!-andythen_ [~andytheno@] has joined #openttd
03:41-!-andythen_ [~andytheno@] has quit []
03:41-!-andythenorth [] has joined #openttd
03:43-!-andythenorth [] has quit []
03:43-!-andythenorth [] has joined #openttd
03:49-!-andythenorth [] has quit [Quit: Leaving]
03:52-!-pugi [] has joined #openttd
03:53-!-roadt [~roadt@] has joined #openttd
03:54-!-frosch123 [] has joined #openttd
03:59<Supercheese>good night
03:59-!-Supercheese [~Password4@] has quit [Quit: ChatZilla [Firefox 22.0/20130618035212]]
04:26-!-Tom_Soft_backup [~id@] has quit []
04:39-!-Progman [] has quit [Remote host closed the connection]
04:45-!-sla_ro|master [slamaster@] has quit []
04:47*Zuu found a possible quite old bug in the AI/GS library initialization. Question is, will any library on bananas break if I fix it? :-)
04:48<frosch123>90% are maintained by you :)
04:52-!-Devroush [] has joined #openttd
04:55<Zuu>The binary heap library do rely on this bug. Its a core library used by many libraries, so fixing this bug will break most AIs/GSs :p
04:57<Zuu>So I think I will just add a task, note the work around and then mark it as "won't fix"
05:00<gynter>g. changes newlines from .txt files to "DOS" (\r\n) newlines.
05:00<gynter>bananas repackaging no longer does that?
05:01-!-Devroush [] has quit []
05:05<frosch123>it should
05:06-!-roadt [~roadt@] has quit [Quit: 暂离]
05:07<frosch123>it does that for all license, readme and changelog files
05:07<frosch123>it does the reverse for .nut files
05:09<gynter>nvm, i lied
05:09<gynter>forgot to add -b to vim
05:09<gynter>a. keeps files called "readme", "license" and "copying" with .txt or .pdf as extension or without an extension.
05:10<gynter>I had "license" and "readme", repackaing renamed those to license.txt and readme.txt
05:11<gynter>also changelog should be added to that list
05:15-!-Alice3 [] has joined #openttd
05:15<Zuu>I have here explained the problem a bit further:
05:18<frosch123>using GetName will be hard anyway, since it contains spaces
05:18<frosch123>how should libraries refer to it?
05:18<frosch123>hmm, never mind
05:18<frosch123>import quotes
05:21<frosch123>Zuu: if a script uses a library, it needs to know the classnames to call any function, doesn't it?
05:23<Zuu>CreateInstance() in library.nut will return the name of the class. That is used by OpenTTD to load the main class of a library. In our import() command we also have a parameter that allows scripts to decide under what name the main class should be available as. Eg. so that you can rename the library main class to the name that you prefere.
05:24<Zuu>Eg. imort("Library", "SCPLib", "MySCPLib", 1) will look for a library with the script info string "library.scplib.1" and make its main class available in the global scope as "MySCPLib"
05:25<Zuu>There is no problem if GetName() returns a string with spaces as far as I can see.
05:26<Zuu>Other than that it breaks all imports of that library when "fixing" this problem
05:27<frosch123>can we fix it via the api version?
05:27<frosch123>hmm, libaries do not specify an api version
05:28<Zuu>In this scope we can get the API version reported by the library and act differently depending on that.
05:29<Zuu>Libraries don't need to specifiy it as it isn't used by OpenTTD as far as I know. I usually include it for documentation purposes. However the gs/ai will decide which compat.nut to load as libraries live in the global scope.
05:30<frosch123>well, but can't libraries import other libraries?
05:30<Zuu>yes they can
05:30<Zuu>Anyway, I think fixing the bug will cause more problems than keeping it as is.
05:31<frosch123>so no ai could use libraries anymore which use the old binary heap
05:31<frosch123>well, can we adjust some documentation?
05:31<Zuu>and updating all libraries as well as AIs/GSs won't happen very quickly
05:32<Zuu>I'm working on documentation adjustments :-)
05:32<frosch123>generally i didn't like ottd identifying ais via their name, it should rather use the 4-byte unique id
05:32<frosch123>so, if libs use category + instance, that would be fine anyway
05:33<frosch123>name would be a user represenation
05:33<Zuu>Only that it forces libraries to use a unique name of their main class (or use an unique category)
05:36<frosch123>apparenlty everyone was fine with that up to now :p
05:40-!-sla_ro|master [slamaster@] has joined #openttd
05:52<Zuu>frosch123: Until I tried to create a library and spent 2-3 hours trying to figure out why OpenTTD didn't load my library that looked perfectly fine.
05:52-!-Ristovski [] has joined #openttd
05:52<Zuu>Doc updates:
05:53<Zuu>Currently [AI|GS]Library do not have an item of its own in the doxygen docs. Instead, in [AI|GS]Info we tell that the documentation there also applies to libraries.
05:54<frosch123>"+ "." + ScriptInfo::GetVersion()." <- hmm, i thought the version is the last parameter of the import?
05:55<Zuu>hmm, yes you are correct. In import() used by script authors, version is a separate parameter (probably to enforce that it is an integer)
06:05-!-wakou2 [] has joined #openttd
06:26-!-MatrixCL [] has joined #openttd
06:34<gynter>Any clues why this gives that error ?
06:36<gynter>For some reason one pieces part is 256 records
06:38-!-frosch [] has joined #openttd
06:38-!-Devroush [~dennis@] has joined #openttd
06:39-!-amiller [] has quit [Ping timeout: 480 seconds]
06:39-!-MatrixCL [] has quit [Quit: Nettalk6 -]
06:42-!-frosch123 [] has quit [Read error: Operation timed out]
06:45-!-cyph3r [] has joined #openttd
06:46-!-lugo [] has joined #openttd
06:47<lugo>Zuu, i'm doing a german translation for NAI and have a question: Per town growth on/off switch using signs
06:47<@planetmaker>gynter, hard to tell. You use a modified NML
06:47<lugo>What kind of signs are meant here?
06:48<gynter>planetmaker: i use the lastest upstream + the patch from yesterday
06:48<gynter>but i think i found the bug already
06:49<Zuu>lugo: Its documented in the readme. If you go to the settings window, it will refere you there for documentation on how to use that. I expect maximum 5 % of the users to be interested in this.
06:49<Zuu>When enabled you can put a sign on the town tile with a special code word to enable/disable town growth.
06:49<Zuu>Much like the sign commands in TTDPatch
06:50<lugo>ah i see, thanks
06:54-!-gelignite [] has joined #openttd
06:58<lugo>Zuu: and "Congested towns will grow slower or not at all.."
06:59<lugo>congested in the sense of too much traffic?
06:59<Zuu>Too much road vehicles
06:59<Zuu>There is a section about this in the readme
06:59<lugo>Where should i upload the translated file? forum thread?
06:59<Zuu>Upload it to the f orum thread.
06:59<lugo>yeah, the readme isn't in the devzone-project archive :)
07:13-!-andythenorth [] has joined #openttd
07:14<andythenorth>is it done yet?
07:15<@Rubidium>no, it has not yet recovered/fixed the HDD corruption from over two weeks ago
07:15<andythenorth>well we'll wait a bit longer then
07:15<@Rubidium>with it at my work, you can better hibernate
07:16<@Rubidium>although, it's not really HDD corruption, just corruption of the file system by a stupid action
07:17<@Rubidium>or didn't you mean it as in it crowd?
07:19<@planetmaker>hello andythenorth
07:19<@planetmaker>I hacked firs a bit last night, updating the makefile
07:20*andythenorth pulls
07:20<andythenorth>so /scripts got smaller
07:21<@planetmaker>there were tons of obsolete stuff there
07:21<andythenorth>it did make searching harder :)
07:23<@planetmaker>I added one big hack there... you find it in
07:24<@planetmaker>I left that for you to fix, if you should feel like
07:24<Eddi|zuHause>should i dare updating nml? :)
07:24<andythenorth>planetmaker: I see the line. What needs to change?
07:24<andythenorth>change the filename?
07:24<@planetmaker>andythenorth, the and location, yes. Basically the mv command should not be needed and be done by the script, I think
07:25<@planetmaker>*the name...
07:26<Eddi|zuHause>raise YaccError("Unable to build parser") ... uh... what?
07:27<@planetmaker>Dunno how that mistake could happen to me, though: ;-)
07:27<andythenorth>I didn't see that locally ;)
07:28<andythenorth>I solved 30% of the hack
07:28<andythenorth>I'll sort the rest out in a bit
07:28<andythenorth>baby noises
07:30<Eddi|zuHause>ah, my error...
07:30<Eddi|zuHause>"blah: foo" instead of "blah : foo"
07:30-!-Alberth [] has joined #openttd
07:30-!-mode/#openttd [+o Alberth] by ChanServ
07:33<gynter>Alberth: Any clues why this gives that error ?
07:34<gynter>and jei :)
07:34-!-Elukka [] has joined #openttd
07:34<gynter>hei *
07:35<@Alberth>there is a bug in the program would be my first guess :)
07:37<@planetmaker>so you didn't solve it despite the first impression, gynter ?
07:37-!-amiller [] has joined #openttd
07:37<gynter>I have currently debugged the code, and the problematic part seems to be nml/ast/ TownNamesPart::move_pieces() line 197
07:37<gynter>the issue is that some parts are larger than 255
07:38<@Alberth>the filenames of your paste service are horrible :)
07:38<gynter>this is easy to paste thou :P
07:38<gynter><command> curl -F 'sprunge=<-'
07:39<gynter>Alberth: also the issue resolvs if I replace all 1 possibilities with 2
07:40<@Alberth>do you also have a language file?
07:40<@Alberth>gynter: I vaguely remember it throwing out common factors
07:42<@Alberth>nmlc ERROR: "lang/english.lng", line 2: Undefined command "VERSION" <-- how do I fix this?
07:43<gynter>wrong paste
07:45<@Alberth>ok, reproduced the error
07:45<@Rubidium>might it be the error mentioned in ?
07:46<Eddi|zuHause>even if it was, it shouldn't be an "internal error"
07:46<gynter>Rubidium: yes, "NML tries to make it fit by creating sub-blocks. If that fails, you will get an error."
07:46<gynter>The sub blocks are too big :)
07:47<gynter>Eddi|zuHause: it does since assert checks the size of the sub-block
07:48<@Alberth>assert is a paranoia check that should never fail
07:48<Eddi|zuHause>gynter: i mean: if it is a proper error (and not just a mistake) it should generate a "user error"
07:48<@Alberth>ie the splitting code is failing in some way
07:48<Eddi|zuHause>in either case, it's a bug in nml
07:49<Eddi|zuHause>no user should ever see "internal errors"
07:51<gynter>Alberth: line 197, sub[0] + prob, since I have lots of 1 possibility towns it creates an incremental parts therefore some parts have more members than others
07:53<@Alberth>iirc that should not be a problem, a part gets its own probability (I think, but I need to check that against the newgrf spec)
07:59<@Alberth>hmm, should not be needed? 16*255=4080 > 4014 (=number of pieces)
08:00<gynter>it should not be needed indeed
08:00<gynter>17 works fine, but 16 should work too iimho
08:11-!-KritiK [] has joined #openttd
08:15<@Alberth>gynter: ^
08:17<@Alberth>ie prevent parts from getting more than 255 members
08:18-!-zeknurn [] has quit [Remote host closed the connection]
08:18-!-zeknurn [] has joined #openttd
08:19-!-krinn [] has joined #openttd
08:20<krinn>hi guys, is there a property to see if an engine is dual head ?
08:26<@planetmaker>a property, yes. a variable... possibly not
08:29<Eddi|zuHause>at least in TTO, dual-headed engines could be built single headed if there was no free vehicle slot left
08:30<Eddi|zuHause>so just because the engine is dual headed doesn't mean the vehicle is part of a dual headed consist, in some corner cases (like loading such an old "broken" savegame)
08:30<Eddi|zuHause>krinn: maybe you should explain better what you're trying to do
08:33<krinn>i'm trying to detect if i should use twice that engine to pull cargo
08:33<krinn>it makes sense because of cargo freight weight
08:34<krinn>it makes far less sense if it took 4 "spaces" and not 2 in my vehicle length
08:35<Eddi|zuHause>krinn: i don't think there's a way to get the length of a vehicle before you build it
08:35<@planetmaker>yeah. there's no possibility but to build it to know the length
08:35<krinn>building it isn't a problem, i need at least 1 (lol or who will pull my wagons)
08:35<Eddi|zuHause>krinn: that wasn't the point...
08:36<krinn>do you mean i could detect dual head because of length of the engine ?
08:36<Eddi|zuHause>i mean "build one of each vehicle, record its total length, and store that in a table"
08:36<Eddi|zuHause>vehicles may be shortened, or articulated, or ...
08:36<krinn>Eddi|zuHause, done already, keep track length, refit... properties
08:37<krinn>but as length is not a fixed size, i don't see how i could say that engine length is bigger because dual head
08:37<Eddi|zuHause>why would you need to know that?
08:37<krinn>again: to not build twice time that engine in the same vehicle
08:37<@Alberth>while not enough power: add engine :)
08:38<Eddi|zuHause>there could be a dual-headed engines which are shortened so they are shorter than a single normal engine
08:38<Eddi|zuHause>why do you care if the engine is dual head, if only the total power and length of the consist matters?
08:38<krinn>Alberth, can't do: some 1 head engine have more power than a dual head one
08:38<@planetmaker>uh... missing an important thing Alberth : the break condition ;-)
08:38<@planetmaker>I'm sure NewGRFs would otherwise hit that
08:39<Eddi|zuHause>krinn: so you calculate power/length
08:39<Eddi|zuHause>and sort the engines by that value
08:40<@Alberth>planetmaker: NewGRFs are too weird
08:40<krinn>power/length what a funky filter
08:40<Eddi|zuHause>krinn: and exclude engines that are longer than <limit> before
08:41<Eddi|zuHause>krinn: 1 tile = 16 length units
08:42<krinn>that's the key, if i need to calc anything base on unit length, with a unit length that mean nothing as an engine could be smaller or bigger that 16 base, it's sure failure
08:42<Eddi|zuHause>an engine can't be shorter than 1 length unit
08:43<@Alberth>krinn: why are you so worried about building the same dual headed engine in the same vehicle?
08:43<Eddi|zuHause>so if you have a train "8 tiles, 1 tile max should be engines", then you filter out all engines that are longer than 16lu
08:44<krinn>Alberth, to not build twice time the same engine to keep vehicle length for wagons
08:44<Eddi|zuHause>and then you make the above sort, and pick the "best" engine by that filter, reduce the length by that amount, and repeat the step, until your engine length is filled
08:44<krinn>Eddi|zuHause, so for you i could then say "if engine length > 1 tile it's a dual head" ?
08:44<Eddi|zuHause>krinn: no, we don't care if it's dual headed
08:45<Eddi|zuHause>krinn: we only care about the total length
08:45<@Alberth>krinn: so what to do if 2 dual headed engines == 7 normal engines?
08:45<Eddi|zuHause>"dual headed" doesn't tell us what length it is
08:45<@Alberth>ie to get the power, you either build 2 dual headed engines, or 7 notmal engines
08:45<krinn>Alberth, a pitty in that case, i suppose it could be done by newGRF, hopefuly didn't saw one that crazy yet
08:46<Eddi|zuHause>krinn: there are mighty crazy newgrf sets out there
08:46<@Alberth>ie it could be that 2 dual headed engines is shorter than the equivalent in normal engines
08:46<Eddi|zuHause>and i'm not necessarily talking about NUTS :p
08:47<krinn>it's easy to get : using two engines makes the overall vehicle working better, with a little space taken (1 wagon sacrifice), but with two heads engine, that would kill 2 space for wagons, so in that case i would just build 1xdual head to save space for wagons
08:47*Alberth wonders about crazy nuts newgrf sets :)
08:47<Eddi|zuHause>krinn: power/length is really not as crazy as you think :p
08:47<krinn>Alberth, yes i know, that's the problem there, i can't really use so length to detect dual head as i said
08:48<@Alberth>krinn: so if you use total length of the engines, the dual head fall out by themselves if there are shorter alternatives
08:49<@Alberth>no need to special case them
08:50<frosch>for scripts there is no difference in a dual headed engine or an articulated one
08:50<frosch>is there?
08:50<Eddi|zuHause>krinn: let's have an example: we have 3 engines, one is 24lu with 4000hp, one is 16lu with 2500hp and one is 8lu with 1000hp
08:50<krinn>ah finally a nice suggest frosch maybe dual head are state as articulated ! i will check
08:51<Eddi|zuHause>we said in the above example that we only want 16lu of engines total, so we remove the first from the candidate list
08:51<Eddi|zuHause>means we have 2500/16 and 1000/8 as candidates
08:51<Eddi|zuHause>the first one has a higher power/length ratio than the second, since it fills the whole 16lu, we can buy one of those for our train
08:51<gynter>Alberth: works, thanks
08:51<frosch>rear heads should be invisible to ais just like articulated parts
08:52<frosch>an ai should not have to know about dualheadedness or similar
08:52<frosch>if you need that info, then something else is wrong
08:52<@Alberth>ok, thanks for reporting
08:52<Eddi|zuHause>the second has the lower ratio, since it's 8lu we could buy two of those for our train, resulting in 2000hp, which is lower than the 2500 of the other
08:52<Eddi|zuHause>krinn: that way, we find out that 1x2500/16 is the best choice for our train
08:53<Eddi|zuHause>it gets more problematic with "odd" lengths
08:53<@Alberth>frosch: hopefully you can query the total length
08:53<Eddi|zuHause>but at no point we care whether it's dual-headed or not
08:53<frosch>Alberth: afaik you can *only* query the total length
08:53<krinn>Eddi|zuHause, all is base if power have a real meaning, and it's not, take any engine and put two of them the vehicle will works better, even if power is too much
08:54<@Alberth>I'll take that as a "yes" :)
08:54<Eddi|zuHause>krinn: that sentence did not make any sense
08:55<krinn>Eddi|zuHause, to say i don't care the power, i will just add two engine if length isn't too big and single head, and 1 engine if dual head
08:56<Eddi|zuHause>i don't think you understood ANYTHING i said this whole time
09:00-!-LordAro [] has joined #openttd
09:01<krinn>to sum up there's no way to detect dual head so
09:01<LordAro>greets all
09:01<krinn>hi LordAro
09:01<krinn>except some assumption about length of engine
09:02<LordAro>hai krinn
09:02<Eddi|zuHause>krinn: i tried explaining to you that you're solving the wrong problem
09:03<andythenorth>I don't get it
09:03<andythenorth>can't the length of the engine be measured?
09:03<Eddi|zuHause>krinn: like "i want to buy a truck for transporting wood, what size front window do they come in?"
09:03-!-sla_ro|master [slamaster@] has quit []
09:04<krinn>andythenorth, yes, after creation i could get that info, but lenght of the engine is a weak info to base assumption if engine is single or dual head because newGRF can build a single head engine with same size as a dual head one
09:04<andythenorth>I'll trust you on that
09:05<andythenorth>I am not understanding the issue, but then I don't know the AI API
09:05<krinn>andythenorth, so if length are fixed to 16px, having a engine built with 32 you could say it's a dual head, easy, but that 16px is not a standard
09:05<Eddi|zuHause>krinn: again, if two dual headed fit into the same space as two single headed, why care if it's dual headed?
09:06<krinn>Eddi|zuHause, i won't care of course
09:06<Eddi|zuHause>krinn: then why try to check it?
09:07<krinn>Eddi|zuHause, because it's not the case in real, dual heads are nearly always taking much more length than 1 head engine
09:07<Eddi|zuHause>yes, so length is the only thing you really care about
09:08<Eddi|zuHause>so why worry about anything else but the length directly?
09:08<andythenorth>hp per unit length
09:08<andythenorth>is all you need
09:08<Eddi|zuHause>andythenorth: that's what i said
09:08<krinn>in real, no, i don't care about length, but only in that special case when i attach two same engine
09:08<andythenorth>Eddi|zuHause: how is your nml fork going?
09:08<@Alberth>it's at least 2 revisions behind :)
09:08<Eddi|zuHause>andythenorth: which fork?
09:09<krinn>Eddi|zuHause, that would makes the engine picking too complicate (and it's really really enough like it is now)
09:09<andythenorth>there are multiple?
09:09<Eddi|zuHause>andythenorth: no, but maybe you mean something different :)
09:10*andythenorth misread a devzone attribution
09:10<krinn>Eddi|zuHause, don't care about length and pickup best engine for your need : done. Now when you add two of the pickup engine : this time length matter, but i don't fancy redo everything at the pickup part
09:10*andythenorth is somewhat lacking sleep
09:10<Eddi|zuHause>krinn: well, just try to run your AI with CETS, it has all sorts of weird vehicle lengths and articulations :)
09:10<andythenorth>krinn: it sounds like a tmwftlb problem
09:10<andythenorth>just do less? :)
09:11<@Alberth>andythenorth: we tried talking him into doing that, but he doesn't want to
09:11<Eddi|zuHause>krinn: either you do duplicated engines properly with an algorithm like i said, or you don't bother at all
09:12<Eddi|zuHause>andythenorth: the only "fork" of nml i did was adding actionC support
09:12<krinn>Eddi|zuHause, that's why the pickup engine, if not dual head build two, else build one, is the solve i seek, but if i cannot see if it's dual or not...
09:12<andythenorth>so who has forked nml, and why?
09:13<Eddi|zuHause>andythenorth: it's found in the devzone as eddi-nml
09:13<Eddi|zuHause>it's a requirement for my partial compilation hack in CETS
09:14<andythenorth>I thought that was yours
09:14*andythenorth is not very awake
09:14<andythenorth>when did the ship speed limit get lifted?
09:19<frosch>was it?
09:26<Eddi|zuHause>hm, you lost your numbers, now you have a weird colour :p
09:26<peter1139>i have a patch for that...
09:30-!-cyph3r [] has quit [Quit: Miranda IM! Smaller, Faster, Easier.]
09:37-!-EyeMWing [] has joined #openttd
09:41<krinn>can we get that dual head state in the API ?
09:42<krinn>frosch, the IsArticulated return false when engine is dual head, but it was a nice suggest
09:42<frosch>that function is mainly meant for roadvehcles
09:42<frosch>to decide wehther regular roadstops work
09:43<krinn>it is handle by train too, but i have no idea what an articulated train could be :)
09:44<peter1139>engine with tender
09:44<peter1139>or some such
09:45<peter1139>i think maybe it fell out of favour
09:45<krinn>so some exist single head and articulated ?
09:45<Eddi|zuHause>most of my engines are 3-part articulated
09:45<krinn>erf, newGRF chaos :)
09:48<Eddi|zuHause>krinn: compare these two engines: they are basically the same vehicle, but one is in a "fixed" chassis, and the other in a 3-part "bendy" chassis [=articulated]
09:50<krinn>yes, but IsArticulated properties for train would makes more sense to return dual head state than the engine is one head made of 3 parts no ?
09:50<krinn>who care how many parts the engine is for a train station that don't care (not like road vehicle that have a station limit to accept them)
09:54<@Alberth>I think it should return dual headedness for all engine with an even number of parts, except at Wednesday and perhaps Sunday
09:55<Xaroth|Work>and friday the 13th
09:55<Eddi|zuHause>krinn: articulated vs. dual headed have different effects wrt train composition
09:55<@Alberth>Xaroth|Work: oh, good point, I forgot about that one
09:55<Xaroth|Work>how's opentrct going, Alberth?
09:56<krinn>Eddi|zuHause, how (in openttd i see where), in noai i don't see how the ai could compose its vehicle, as openttd attach the second head itself
09:56<Xaroth|Work>s/open/free/ even
09:56<Eddi|zuHause>besides, in the future there might be a way to make engines both articulated AND dual headed
09:56<@Alberth>but the message is not to change meaning of properties if they happen to not fit in your idea of use
09:57<krinn>Eddi|zuHause, even with that, i don't see a problem if noai doesn't answer articulated for train but only return dual head state : even dual head + articulated, noai won't care about articulated state
09:57<@Alberth>Xaroth|Work: forward :) working on being able to build a roller coaster track in the world
09:57<Eddi|zuHause>krinn: if you don't care, don't change it.
09:57<krinn>well, for noai IsArticulated return value for trains has no usage
09:58<krinn>only usable for road/tram where station to use depend on that
09:58<@Alberth>I prepared the world for it, added track pieces, and finished the state machine handling the building. Now it just needs high level UI control, and actual adding of pieces in the world :)
09:58<@Alberth>once that works, it may be nice to have a car following the track :)
09:58<Xaroth|Work>nice \o/
09:59<Xaroth|Work>that.. would be useful yes :P
09:59<Eddi|zuHause>krinn: maybe no usage for YOUR ai, but maybe some other AI does depend on this fine difference?
09:59<krinn>Eddi|zuHause, to do what with that ?
10:00<@Alberth>but it feels like it is starting to come together now, I spent time refactoring existing code rather than adding new stuff all the time
10:05-!-HerzogDeXtEr [~Flex@] has joined #openttd
10:06-!-MrShell [] has joined #openttd
10:08-!-MrShell [] has quit []
10:15-!-Brumi [] has joined #openttd
10:16<Eddi|zuHause>krinn: maybe this will finally settle this silly discussion?
10:16<Eddi|zuHause>needs exporting to ai, need to figure that out yet
10:17<Eddi|zuHause>@devs: is there a reason why IsWagon() returns power==0 instead of railveh_type == RAILVEH_WAGON?
10:18<frosch>blame truebrain
10:18<frosch>likely copied it from script_engine
10:19<TrueBrain>pfft, cheap shot; I will get you for that next weekend :P
10:19<TrueBrain>MWHAHAHAHAHAA :D
10:19<frosch>thought so :)
10:19<krinn>Eddi|zuHause, thank you
10:21<Eddi|zuHause>krinn: <-- now with squirrel export stuff
10:24<krinn>Rubidium, you there ?
10:24<frosch>btw. is there meanwhile a reason, why ais need that function?
10:25<krinn>the multihead one ?
10:25<peter1139>well, power == 0 was the definitive way to define a wagon..
10:26<krinn>frosch, if you really want one : aesthetic one : having a vehicle with 3 wagons and 4 heads doesn't look nice
10:26<Eddi|zuHause>peter1139: that may be so, but this looks like duplicating some logic
10:27<krinn>frosch, this will also tell the AI because of multihead, last wagon is an engine, and this may cause problem if you move a wagon to end of queue and look if it is there and don't see it...
10:27<frosch>krinn: ok, earlier it sounded like you tried to use it instead of getmaxtractiveeffort
10:27<krinn>frosch, for this too, but there's more than just that reason
10:28<krinn>right now, it's not really a problem to have 4 heads in the vehicle, i lost a bit of length for wagons, but it also look a bit odd
10:28<krinn>just build a vehicle with two tgv in it, you'll see what i mean (except for a big big vehicle) it looks strange
10:29<Eddi|zuHause>krinn: well it looks better if you put half the wagons between each set of dual heads
10:29<krinn>yes, but i'll could get mad doing such a function
10:30<Eddi|zuHause>frosch: in general, i see more reasons to include the function than to omit it
10:32<Eddi|zuHause>just not for krinn's original problem :=)
10:32<krinn>:) but it will solve mine too
10:47-!-sla_ro|master [slamaster@] has joined #openttd
11:33-!-amiller [] has quit [Ping timeout: 480 seconds]
11:36<@DorpsGek>frosch: OpenTTD uses TCP and UDP port 3979 for server <-> client communication, UDP port 3978 for masterserver (advertise) communication (outbound), and TCP port 3978 for content service, a.k.a. BaNaNaS (outbound)
11:58-!-Wolf01 [] has joined #openttd
12:14-!-amiller [] has joined #openttd
12:19<@Rubidium>krinn: no?
12:23<Zuu> <--- A company league page is added to the story book in the beginning of each year.
12:24-!-pugi [] has quit []
12:24<Zuu>Also, soon there will be a CluelessPlus with actual NoCarGoal support. (I though it was already done, but it wasn't)
12:25<Zuu>(oh and sory for Swedish strings. It has grain, iron ore and steel as goal cargos in the screenshot)
12:28<@Rubidium>maybe refer to {WHITE}Gold instead of GOLD in the goals of bronze and silver
12:29<@Rubidium>and... feature request: multi lining strings, so those goals can also be read on 640x480 ;)
12:29<Eddi|zuHause>maybe {GOLD}Gold? :p
12:33<frosch>somewhen ottd will get a html renderer
12:33<Zuu>I was about to remove the global goals and replace with a short line of text "Complete all three company goals to score GOLD". However, I decided to keep them even though I don't like the bloat of them because a spectator on a server without any companies will not see the company specific part.
12:34<Zuu>That said, the information about what goal cargos there are is included in the front story page (which is global), so those spectators will still be able to see the information even if I remove it from the goal window.
12:35<andythenorth>frosch: markdown :P
12:35<andythenorth>if you do html, please ensure you support <blink>
12:37<Xaroth|Work>and <marquee>
12:37<Eddi|zuHause>and comic sans!
12:37<Eddi|zuHause>anyone remember wingdings? :p
12:38<@Rubidium>Eddi|zuHause: wingdings has no place in websites... use webdings instead!
12:42<V453000>use beer font
12:42<Xaroth|Work>fontawesome is epic
12:45<V453000>all fonts are epic with beer
12:47<frosch>Xaroth|Work: i remember i codes such things using javascript 15 years ago, since when is there a html tag for it?
12:48<@Rubidium>frosch: since like html 1
12:48-!-oskari89 [] has joined #openttd
12:48<Xaroth|Work>frosch: fontawesome?
12:48<Xaroth|Work>or marquee?
12:49<@Rubidium>oh, it was non-standard
12:49<Xaroth|Work>Microsoft did marquee
12:49<Xaroth|Work>netscape did blink
12:49<@Rubidium>and still is
12:49<Xaroth|Work>both not official
12:55<Eddi|zuHause>i'm fairly sure marquee existed 15 years ago
12:56<Xaroth|Work>it did
12:56<Xaroth|Work>it was just not an official tag
13:09-!-Brumi [] has quit []
13:24-!-y2000rtc [] has joined #openttd
13:27<peter1139>blinking marquees where the best
13:30-!-y2000rtc [] has quit []
13:45<@DorpsGek>Commit by translators :: r25619 trunk/src/lang/turkish.txt (2013-07-20 17:45:09 UTC)
13:45<@DorpsGek>-Update from WebTranslator v3.0:
13:45<@DorpsGek>turkish - 7 changes by wakeup
14:07-!-Wolf01 [] has quit [Read error: Connection reset by peer]
14:07-!-Djohaal [] has joined #openttd
14:07-!-Wolf01 [] has joined #openttd
14:14-!-kais58|A1K is now known as kais58__6
14:17-!-SpComb^_ is now known as SpComb
14:19-!-abchirk_ [] has quit [Ping timeout: 480 seconds]
14:25<@Rubidium>so... is there a game script that needs multiplayer testing this evening?
14:25<andythenorth>interesting idea
14:27-!-frosch is now known as frosch123
14:29-!-Jomann [] has joined #openttd
14:44<Zuu>While I do have a upcomming NoCarGoal release with some news that are useful in multiplayer, it is not completely ready yet.
14:44<Zuu>And the keyword here is 'usefu', none of the news changes the actual gameplay other than that it becomes easier to keep track of your enemies :-)
14:48-!-flaa [~flaa@] has joined #openttd
14:50-!-Devroush [~dennis@] has quit [Read error: Connection reset by peer]
14:50-!-Devroush [~dennis@] has joined #openttd
14:56-!-montalvo [~montalvo@] has joined #openttd
14:58<@Alberth>hi hi
15:06<andythenorth>ho Terkhen
15:06<krinn>hi Terkhen Zuu & one i miss
15:08<andythenorth>what else would I include here?
15:08<andythenorth>I don't want to provide too much info
15:08<andythenorth>play the game to see that :)
15:08*krinn will not suggest crew members names so
15:09<andythenorth>interesting idea :)
15:09<andythenorth>Ship 58 sank: crew members Bob and Sam are dead
15:09<krinn>lol specially if edward smith is one of them
15:10<krinn>but speed and cargo type would be basic to get no ?
15:11<andythenorth>speed yes
15:11<andythenorth>cargo type - slightly trickier, depends on available cargos in game
15:11<andythenorth>can show freight / pax / mail capacities
15:11<andythenorth>I already have lots of stuff for code reference
15:12<andythenorth>I can render any property into the docs pretty much
15:13<krinn>i think saying speeed and if (passenger or cargo) type
15:13<andythenorth>ok +1
15:17<@Alberth>I'd add the intended purpose of the ships
15:17<@Alberth>speed is less relevant, I'd say
15:17<andythenorth>speed in Squid is a bit complicated
15:17<andythenorth>depends on canal, ocean and load amount
15:18<@Alberth>if you want speed, say <min speed> or faster :)
15:19<@Alberth>or, in commercialism, upto <max speed> :)
15:19<krinn>speed would tell if you will use a thing so slow that you will die waiting it to goes and come back, for ships i think it's important
15:19<andythenorth>game will tell you though, no?
15:19<@Alberth>krinn: you need to see what other ships are available too, which is hard in this list
15:20<andythenorth>mm, also the speed parameter affects speed :)
15:20<krinn>well, in game checking a vehicle is a pain when you have that much amount to choose
15:20<Zuu>andythenorth: So you need to render a javascript page where you can set the parameters at the top :-p
15:21<andythenorth>nice suggestion
15:21<andythenorth>somewhat overkill :)
15:21<@Alberth>upload the openttd.cfg file, and I'll tell you the speed of the ship :p
15:23<andythenorth>if I put in capacities, I have to provide the units
15:23<andythenorth>that's a bit meh
15:23<krinn>would be cool to see ship picture
15:24<andythenorth>might add that later
15:24<andythenorth>many are not drawn yet :)(
15:24<andythenorth>doing docs helps me avoid drawing
15:24<krinn>that why the "?" picture was made for
15:24-!-montalvo [~montalvo@] has quit [Quit: Textual IRC Client:]
15:26<krinn>so it's a webpage to say : look at the ships you cannot get :)
15:27<andythenorth>yes I guess
15:27<krinn>^^ you should do teaser for dumb movie
15:27<andythenorth>V453000 draw me some ships?
15:28<V453000>or doing my things :P
15:28<V453000>also I cant really draw nice ships
15:28<V453000>dont know enough details
15:28<V453000>slash has not enough experience to imagine details
15:29<krinn>when everyone speak about ships, i never see a submarine, can't you do one ? even unrealistic it would be cool to have one usable to carry passenger or something :)
15:30<krinn>we only have the event one, and you must die looking at water to see it
15:30<V453000>my next ship is going to be turtle convoy
15:30<V453000>so yes
15:30<krinn>well, as long as no dwarfs ride it, it's ok
15:31<V453000>unknown yet
15:31<andythenorth>andrew350 did a sub
15:31<andythenorth>in his WSF set
15:31<andythenorth>you probably won't see it
15:32<krinn>WSF set is ?
15:34<krinn>lol thx albert nice catch
15:35<@Alberth>they are utterly useless as for transport
15:35<krinn>just like zepplin, but it's funny to get one
15:35<@Alberth>they load missiles, drive around for a long time, and then return them to the same harbour
15:39<@Alberth>and last but not least, they are insanely expensive
15:40<krinn>generally it's not a problem, it's not like you cannot get a huge load of money to waste
15:41<@Alberth>stock holders won't agree :)
15:44<krinn>lol i wish a kick ass yatch with 1 passenger capacity that cost an awful lot of money : stock holder love shown their hands are full
15:46<krinn>while looking at sub in the wiki i see the ufo pic of rails getting blown by the aircraft
15:46<krinn>ai are affect too?
15:54-!-Frank-BTPro [] has joined #openttd
15:56<Frank-BTPro>o/ Hello Everyone :)
15:57<@Alberth>ai are just another player, so yeah, they should be
15:57<Frank-BTPro>We are currently in the process of setting up a "inter community" tournament between the BTPro OpenTTD Community, N-Ice OpenTTD Community and Novapolis OpenTTD Community
15:58<Frank-BTPro>we were wondering if there would be people interested here to join in or maybe add OpenTTDCoop Community to join in with a team!
15:58<Frank-BTPro>the Tournament will include CityBuilder games + Company Value Goal games!
15:58<@Alberth>Frank-BTPro: you better post at the forum then, you'll reach a much wider audience
15:58<Frank-BTPro>maybe that's a good idea Alberth :)
15:59<Frank-BTPro>it's just a heads up for now, we are in the process of organizing it :)
15:59*andythenorth considers refactoring a bit more Squid
15:59<Frank-BTPro>sorry, again?
15:59<andythenorth>eventually I run out of code to fix, and have to start drawing stuff :(
15:59<Frank-BTPro>sorry, thought it was an answer to what I was saying ;-)
15:59<@Alberth>Frank-BTPro: improve code without changing functionality
16:00<Frank-BTPro>right, I get it now :)
16:00<@Alberth>squid still has too many tentacles? :)
16:01<andythenorth>Alberth: (no context sorry), I have a case where I'm creating a new instance of a class, and it seems correct to have to declare 'foo = somevalue' or 'foo = None' in the __init__
16:01<andythenorth>is requiring an explicit 'foo = None' weird?
16:01<andythenorth>the __init__ could obviously just handle the case of the param being absent
16:01<@Alberth> I hope :)
16:02<@Alberth>oh param
16:02<andythenorth>sorry - should have said
16:02<andythenorth>I want to know that it's intended None and not just forgotten
16:03<andythenorth>smells odd though
16:03<@Alberth>python needs a value for every parameter at each call, so if the user doesn't supply one, you need to, in the formal parameter list
16:03<krinn>i'm not sure i get it, but having a default value on init of a class instance isn't a bad idea
16:03<@Rubidium>andythenorth: just create a fake value ("invalid" or so) and pass that as default?
16:03<@Alberth>automatically picking of None for omitted values would disable checking that you pass all parameters
16:04<andythenorth>that's ok in many cases for this context
16:04<andythenorth>but maybe not this one
16:04*andythenorth is probably overthinking it
16:04<@Alberth>ie, None could be a legal value, that you want to distinguish from omitting a value
16:04<krinn>None is the null classic ?
16:05<andythenorth>l41 here
16:05<@Alberth>krinn mostly, but it's quite universal
16:05<andythenorth>I want to remove the get() and have it fail if not a valid value or None
16:05<andythenorth>not sure why
16:05<andythenorth>just seems right
16:05<andythenorth>definitely overthinking it
16:05*andythenorth -> bed
16:06<@Alberth>just [] ?
16:06<andythenorth>that's my plan
16:06<@Alberth>kwargs['graphic_variations_by_date'] does that
16:06<andythenorth>it's more of a style question than 'how?'
16:07<@Alberth>I'd remove the "**" :)
16:07<@Alberth>let the user figure out how to make the dict
16:07<@Alberth>iirc dict(a=b) works too
16:08<andythenorth>it does
16:08<@Alberth>but I thought you split all those values into some mixins?
16:08<andythenorth>not so much
16:08<andythenorth>some yes
16:08<andythenorth>some not
16:09<andythenorth>I'm pretty happy with the structure, just got obsessed about this style thing
16:09-!-glx [] has joined #openttd
16:09-!-mode/#openttd [+v glx] by ChanServ
16:09<@Alberth>good sign for needing to go to bed? :)
16:10<@Alberth>I wonder whether you cannot make that dict available in one simple method
16:11<@Alberth>it seems such a waste to expand it all
16:11<@Alberth>self.buy_menu_bb_xy = kwargs.get('buy_menu_bb_xy') <-- line 38 is missing a default
16:11<andythenorth>I could have just passed ship_props in as a dict :P
16:12<andythenorth>fixed l38 thanks
16:12-!-zooks [] has joined #openttd
16:12<@Alberth>move 58 to 55 ?
16:13<Eddi|zuHause>i don't use kwargs in the function code, but i put them as explicit parameters if the function uses it (you can still pass them as kwargs, but this way it complains if it's missing)
16:13<Eddi|zuHause>as in def function(params, that, i, actually, use, **don_t_care)
16:14<Eddi|zuHause>then i can call function(params, **kwargs)
16:14<Eddi|zuHause>and it'll extract "that" "i" "actually" and "use" from the kwargs
16:15<@Alberth>andy cares about them, there just toooooo many to list explicitly
16:15-!-Frank-BTPro [] has left #openttd []
16:16<@Alberth>you can test the set keys being a superset of the expected arguments
16:18<Eddi|zuHause>i mean like in this file, (most of) these function get called with "function(key, **line_from_tracking_table)":
16:19<Eddi|zuHause>and i only extract the columns that i actually use
16:20<Eddi|zuHause>which sometimes are few, and other times a lot
16:24<frosch123>oh my... would i have thought 5 years ago, that i would run 3 virtual machines in parallel on my personal computer
16:24<andythenorth>nest them?
16:24<andythenorth>then you're special :)
16:25*andythenorth bed
16:25-!-andythenorth [] has quit [Quit: andythenorth]
16:41-!-mindlesstux [] has joined #openttd
16:47-!-Alberth [] has left #openttd []
17:12<Wolf01>'night all
17:12-!-Wolf01 [] has quit [Quit: Once again the world is quick to bury me.]
17:43<Xaroth|Work>kwargs has it's use
17:47-!-zooks [] has quit [Ping timeout: 480 seconds]
18:00-!-lugo [] has quit [Quit: Page closed]
18:07-!-LordAro [] has quit [Ping timeout: 480 seconds]
18:09-!-oskari89 [] has quit []
18:11-!-tokai [] has joined #openttd
18:11-!-mode/#openttd [+v tokai] by ChanServ
18:13-!-tokai|noir [] has quit [Ping timeout: 480 seconds]
18:14-!-Extrems [borgs@] has quit [Ping timeout: 480 seconds]
18:19-!-Extrems [borgs@] has joined #openttd
18:19<gynter>Yay, I has my server online now with my town names, good :)
18:26-!-LordAro [] has joined #openttd
18:28<Zuu>SCPLib_NoCarGoal or SCPClient_NoCarGoal?
18:29<Zuu>(for an AI library that contains a SCP client to talk to NoCarGoal GS)
18:30<krinn>I think the nocargoal should goes first
18:31<krinn>NoCarGoal_SCPClient or something like that
18:32<krinn>i really didn't think about making a lib to encapsulate SCP in :)
18:33<krinn>but it's a great idea, it will help a lot AI users handling it
18:34-!-frosch123 [] has quit [Quit: be yourself, except: if you have the opportunity to be a unicorn, then be a unicorn]
18:36-!-LordAro [] has quit [Ping timeout: 480 seconds]
18:40-!-wakou2 [] has quit [Quit: Konversation terminated!]
18:46-!-Extrems [borgs@] has quit [Ping timeout: 480 seconds]
18:52-!-sla_ro|master [slamaster@] has quit []
19:00-!-TrueBrain [] has quit [Quit: reboot]
19:02-!-Elukka [] has quit []
19:06-!-Elukka [] has joined #openttd
19:06-!-Ristovski [] has quit [Quit: Leaving]
19:10-!-TrueBrain [] has joined #openttd
19:28-!-Devroush [~dennis@] has quit []
19:40-!-Extrems [borgs@] has joined #openttd
20:06-!-Alice3 [] has quit []
20:06-!-HerzogDeXtEr1 [] has joined #openttd
20:12-!-HerzogDeXtEr [~Flex@] has quit [Ping timeout: 480 seconds]
20:25-!-flaa [~flaa@] has quit [Quit: leaving]
20:31-!-Zuu [] has quit [Ping timeout: 480 seconds]
20:34-!-KritiK [] has quit [Quit: Leaving]
20:38-!-kais58__7 [] has joined #openttd
20:40-!-kais58__6 [] has quit [Ping timeout: 480 seconds]
20:47-!-Extrems1 [~super@] has joined #openttd
20:48-!-kais58__7 is now known as kais58|AFK
20:50-!-Extrems [borgs@] has quit [Read error: Operation timed out]
20:57-!-kais58|A1K [] has joined #openttd
20:58-!-kais58|AFK [] has quit [Ping timeout: 480 seconds]
21:03-!-glx [] has quit [Quit: Bye]
21:07-!-APTX [] has joined #openttd
21:10-!-APTX_ [] has quit [Remote host closed the connection]
21:33-!-Elukka [] has quit [Ping timeout: 480 seconds]
22:07-!-kais58|AFK [] has joined #openttd
22:09-!-kais58|A1K [] has quit [Ping timeout: 480 seconds]
22:16-!-gelignite [] has quit [Quit:]
23:00-!-ST2 [~ST2@] has joined #openttd
23:03-!-xT2 [] has quit [Ping timeout: 480 seconds]
23:03-!-ST2 is now known as xT2
23:09-!-kais58|A1K [] has joined #openttd
23:11-!-Supercheese [~Password4@] has joined #openttd
23:11-!-kais58|AFK [] has quit [Ping timeout: 480 seconds]
23:26-!-HerzogDeXtEr1 [] has quit [Quit: Leaving.]
23:41-!-roboboy [] has joined #openttd
23:54-!-amiller [] has quit [Read error: Operation timed out]
---Logclosed Sun Jul 21 00:00:18 2013