Log for #openttd on 2nd February 2012:
Times are UTC Toggle Colours
00:04:09  *** Guest1264 [~chatzilla@] has quit [Quit: ChatZilla 0.9.88 [Firefox 9.0.1/20111220165912]]
00:04:33  *** DDR [~chatzilla@] has joined #openttd
00:05:01  *** JVassie [~James@] has quit [Ping timeout: 480 seconds]
00:07:40  <andythenorth> good night
00:07:40  *** andythenorth [] has left #openttd []
00:15:16  *** peteris [~peteris@] has quit [Quit: Ex-Chat]
00:16:52  <Rhamphoryncus> TheBrick: bogosort is only O(∞) worst case.  Average case isn't quite as bad.
00:17:18  <TheBrick> ah yeah
00:17:25  *** MNIM [] has joined #openttd
00:17:41  <TheBrick> while (); is that on average though
00:17:42  <__ln__> worst case is not denoted by O()
00:17:56  <TheBrick> well, type me an omega
00:18:52  <__ln__> Ω or ω?
00:19:11  <TheBrick> eh, well I'm not fluent in this shit anymore, it's been quite a whie
00:19:14  <TheBrick> which one is the right one?
00:19:25  <__ln__> i don't remember
00:19:25  <TheBrick> theta was average case
00:19:51  <TheBrick> what bound is O then?
00:19:52  *** ABCRic [] has quit [Ping timeout: 480 seconds]
00:19:56  <TheBrick> I thought it was worst case
00:20:06  <TheBrick> time to look that shit up
00:21:13  <TheBrick> where's wikipedia for the mathematically declined?
00:22:36  <TheBrick> well whatever
00:23:03  <Rhamphoryncus> We're programmers, we don't need to use it "correctly".  It's like the english language: we stole the word for ourselves.
00:23:47  <__ln__> i'll check the Book... to see if it possibly is the worst case
00:24:09  <TheBrick> I think I get it again though. O is worst case, omega is best case, theta is when both have equal complexities
00:24:35  <TheBrick> that's probably the undergraduate level understanding of it
00:25:18  *** Rhamphoryncus [] has quit [Quit: Rhamphoryncus]
00:25:47  <TheBrick> omega is apparently not that clear cut
00:27:03  *** zsoltbp [] has quit [Quit: ajax IRC Client]
00:31:16  <__ln__> i have the definition right here
00:32:05  <__ln__> O(g(n)) = { f(n) : there exist positive constants c and n0 such that 0 <= f(n) <= cg(n) for all n >= n0 }.
00:32:23  *** cypher [] has joined #openttd
00:33:41  <TheBrick> this is not the time for maths
00:33:53  <TheBrick> it's time for... sleep
00:33:57  <__ln__> O() is an asymptotic upper bound, the Book says. Ω is asymptotic lower bound.
00:34:14  <TheBrick> so it's worse than the worst case?
00:34:49  <TheBrick> if you consider infinities not to exist
00:35:41  <__ln__> worse than worse sounds bad
00:36:11  <TheBrick> well if you're an optimist; it's never quite as bad as it says
00:36:44  *** pugi [] has quit []
00:54:54  *** Pixa [] has quit [Read error: Connection reset by peer]
00:55:06  *** Pixa [] has joined #openttd
01:00:59  *** Devroush [] has quit []
01:04:36  *** TheBrick [] has quit [Quit: ChatZilla 0.9.88 [Firefox 9.0.1/20111220165912]]
01:10:49  *** cypher [] has quit [Quit: Miranda IM! Smaller, Faster, Easier.]
01:22:25  *** devilsadvocate [~quassel@] has joined #openttd
01:35:26  *** valhallasw [~valhallas@] has quit [Ping timeout: 480 seconds]
01:35:28  *** Biolunar [] has quit [Quit: All your IRC are belong to us]
02:03:41  *** tensai_cirno [~cirno@] has quit [Ping timeout: 480 seconds]
02:17:54  *** kais58 [] has quit [Ping timeout: 480 seconds]
02:21:42  *** KouDy [~KouDy@] has joined #openttd
02:30:36  *** mahmoud [] has quit [Ping timeout: 480 seconds]
02:41:57  *** theholyduck [~holyduck@] has quit [Ping timeout: 480 seconds]
03:07:52  *** KouDy [~KouDy@] has quit [Quit: Leaving.]
03:08:32  *** KouDy [~KouDy@] has joined #openttd
03:14:32  *** NullByte [] has joined #openttd
03:45:17  *** DDR [~chatzilla@] has quit [Ping timeout: 480 seconds]
03:47:15  *** KouDy1 [~KouDy@] has joined #openttd
03:52:22  *** Elukka [] has joined #openttd
03:52:43  *** KouDy [~KouDy@] has quit [Ping timeout: 480 seconds]
03:58:02  <Eddi|zuHause> did the forum just die?
03:58:31  <NullByte> not from my perspective
03:59:47  <Eddi|zuHause> hm. works again
04:14:47  *** theholyduck [~holyduck@] has joined #openttd
04:29:40  *** kkb110_ [~kkb110@NYUFGA-WLESSAUTHCLIENTS-01.NATPOOL.NYU.EDU] has quit [Ping timeout: 480 seconds]
04:34:44  <Eddi|zuHause> if 8 "distance"-hours equals 1 "travel"-hour, what average speed does this make?
04:41:42  *** perk11 [~perk11@] has joined #openttd
04:43:49  <Eddi|zuHause> hm, if you assume 2 "distance"-hours = 1 mile, and 1 mile = 7500m (german "metric" mile), then this yields 30km/h
04:48:55  *** KouDy1 [~KouDy@] has quit [Quit: Leaving.]
04:49:35  *** KouDy [~KouDy@] has joined #openttd
04:52:55  *** kkb110 [~kkb110@NYUFGA-WLESSAUTHCLIENTS-01.NATPOOL.NYU.EDU] has joined #openttd
05:05:51  *** KouDy1 [~KouDy@] has joined #openttd
05:08:30  *** KouDy [~KouDy@] has quit [Ping timeout: 480 seconds]
05:23:24  *** glx [glx@2a01:e35:2f59:c7c0:9f0:ff7e:7396:e2ed] has quit [Quit: bye]
05:27:51  *** perk11 [~perk11@] has quit [Quit: Miranda IM! Smaller, Faster, Easier.]
05:36:48  *** KouDy [~KouDy@] has joined #openttd
05:41:53  *** KouDy1 [~KouDy@] has quit [Ping timeout: 480 seconds]
06:05:15  *** tokai|noir [] has joined #openttd
06:05:18  *** mode/#openttd [+v tokai|noir] by ChanServ
06:11:01  *** tokai|mdlx [] has quit [Ping timeout: 480 seconds]
06:18:20  *** DayDreamer [~DayDreame@] has joined #openttd
06:39:39  *** DayDreamer [~DayDreame@] has quit [Read error: Connection reset by peer]
06:44:57  *** Eddi|zuHause [] has quit []
06:45:17  *** Eddi|zuHause [] has joined #openttd
06:50:51  *** NullByte [] has quit [Quit: Leaving]
07:02:50  *** NullByte [] has joined #openttd
07:04:29  *** roboboy [] has joined #openttd
07:13:25  *** KouDy [~KouDy@] has quit [Quit: Leaving.]
07:14:03  *** KouDy [~KouDy@] has joined #openttd
07:21:45  *** NullByte [] has left #openttd []
07:27:31  *** roboboy [] has quit [Ping timeout: 480 seconds]
07:27:39  *** KouDy1 [~KouDy@] has joined #openttd
07:29:56  *** JVassie [~James@] has joined #openttd
07:32:15  *** KouDy [~KouDy@] has quit [Ping timeout: 480 seconds]
07:41:57  *** Cybertinus [] has joined #openttd
07:49:05  *** JVassie [~James@] has quit [Ping timeout: 480 seconds]
08:00:36  *** sla_ro|master [~slaco@] has joined #openttd
08:07:09  *** DDR [~chatzilla@] has joined #openttd
08:17:36  *** sla_ro|master [~slaco@] has quit [Quit: - free first person shooter based of c&c 3]
08:18:15  *** theholyduck [~holyduck@] has quit [Ping timeout: 480 seconds]
08:20:27  *** MJP [] has joined #openttd
08:34:04  *** tty234_ [] has joined #openttd
08:35:33  *** Progman [] has joined #openttd
08:35:55  *** tty234 [] has quit [Ping timeout: 480 seconds]
08:45:22  *** andythenorth [] has joined #openttd
08:48:07  *** Rhamphoryncus [] has joined #openttd
08:53:27  *** theholyduck [~holyduck@] has joined #openttd
09:03:07  *** Prof_Frink [] has quit [Ping timeout: 480 seconds]
09:04:53  <andythenorth> moin
09:06:15  <dihedral> oi
09:06:18  <Rhamphoryncus> ahoy
09:07:36  <dihedral> o dear lord, what a terrible backlog :-P
09:09:10  <Rhamphoryncus> You just can't shut me up!
09:11:38  <Elukka> so many sprites to draw
09:12:58  <Rhamphoryncus> so many codes to write
09:14:34  <Elukka> many a thing
09:14:58  *** sla_ro|master [~slaco@] has joined #openttd
09:15:42  <Elukka> 24 sprite angles and asymmetric wagons ;_;
09:18:12  <Eddi|zuHause> just make the symmetric wagons, and add the braker's cab later?
09:23:34  <Rhamphoryncus> Eddi|zuHause: On further thought you were right about not checking vehicles still loading at the previous station
09:24:54  <andythenorth> hmm
09:25:02  * andythenorth ponders
09:25:05  <Elukka> well, the wagon body is usually shorter at the end with the platform/cab
09:25:16  <andythenorth> can my python script import nmlc and build the grf?
09:25:18  <Elukka> on the next wagon i'm gonna see if i can get away with a symmetric one though
09:25:25  *** DayDreamer [~DayDreame@] has joined #openttd
09:25:30  *** DayDreamer [~DayDreame@] has left #openttd []
09:27:26  *** tensai_cirno [~cirno@] has joined #openttd
09:33:07  *** MJP [] has quit [Ping timeout: 480 seconds]
09:48:22  *** kkb110 [~kkb110@NYUFGA-WLESSAUTHCLIENTS-01.NATPOOL.NYU.EDU] has quit [Ping timeout: 480 seconds]
09:48:25  <andythenorth> hmm
09:48:33  <andythenorth> nmlc is not in my system path for modules
09:48:48  * andythenorth is just stabbing at this :P
09:51:56  *** TGYoshi [~TGYoshi@] has joined #openttd
10:01:33  <Rhamphoryncus> What the.. you can have a shared order list of only one vehicle?  o.O
10:03:55  <andythenorth> pool of one
10:04:14  <andythenorth> shared order list is just a set
10:07:07  *** KouDy1 [~KouDy@] has quit [Read error: Connection reset by peer]
10:07:18  *** KouDy [~KouDy@] has joined #openttd
10:10:59  *** pjpe [] has quit [Quit: ajax IRC Client]
10:14:45  <Rhamphoryncus> Heh.  Got some mysterious extra debugging prints.  They were from the loadscreen game ;)
10:39:10  *** theholyduck [~holyduck@] has quit [Ping timeout: 480 seconds]
10:42:58  *** DDR [~chatzilla@] has quit [Quit: ChatZilla 0.9.88 [Firefox 9.0.1/20111221202647]]
10:44:10  *** chester [] has joined #openttd
10:45:47  <chester> hi all, do graphviz work in ottd wiki or what?
10:47:38  *** andythenorth [] has quit [Quit: andythenorth]
10:48:53  *** MINM [] has joined #openttd
10:51:46  <Eddi|zuHause> i don't think anybody ever tried that yet
10:52:13  <Eddi|zuHause> probably you need to bug someone to enable an extension for that
10:53:44  *** MNIM [] has quit [Ping timeout: 480 seconds]
10:55:14  <chester> it is ncluded
10:55:36  <chester> and Talk:Cargo has it
10:56:09  <Eddi|zuHause> right... problem solved then :(
10:56:11  <Eddi|zuHause> :)
10:56:16  <chester> but i cant make any other graph
10:57:02  <chester> furthermore when i change 1 letter in original one, it doesnt show
10:58:13  <Eddi|zuHause> maybe it doesn't trigger generating the image?
10:58:32  <chester> how to make it show then
10:58:47  <Eddi|zuHause> dunno, that is outside my area of expertise
10:59:11  <Eddi|zuHause> my "area of expertise" generally ends with "there exists a solution" :)
10:59:12  <chester> is there any flag or smth forcing rendering
11:00:21  <chester> -are you expert in SQL? -no -nevermind, wright 'expert in NoSQL'
11:01:00  <Eddi|zuHause> i try to avoid SQL as good as i can, but that's probably not what you mean :p
11:01:33  <chester> it was a citation from some comics
11:02:28  <chester> wikimedia says nothing abt this, i can only get graphs @my local pc
11:03:01  <chester> i dont even know which version is included there and options avail
11:11:13  *** sla_ro|master [~slaco@] has quit [Quit: - free first person shooter based of c&c 3]
11:42:48  *** Progman [] has quit [Remote host closed the connection]
11:43:35  *** Progman [] has joined #openttd
11:44:30  * Rhamphoryncus ponders a helper function to make next_shared/previous_shared cyclic, so he can reorder, then make it acyclic again
11:49:34  <Eddi|zuHause> don't you just need a flip() function?
11:50:07  <Eddi|zuHause> and add a NextSharedCyclic() and PrevSharedCyclic()?
11:50:40  *** mahmoud [] has joined #openttd
11:51:37  <Rhamphoryncus> I was writing out all the branches for updating the previous/next/first/last pointers and it's ending up as 4 cases of 6 lines each.  Plus a check that there's at least 3 vehicles to swap
11:54:56  <Rhamphoryncus> down to a total of 3 lines, plus a call to MakeCyclic/MakeAcyclic at the top and bottom of the function
11:55:51  <Rhamphoryncus> Actually, those helpers are only 2 lines each, plus 2 assertions.  I could just as well merge them in.
11:56:29  <Eddi|zuHause> keep them separate and make them inline
11:56:45  <Rhamphoryncus> static inline void
11:56:57  <Eddi|zuHause> something like that, yes
11:57:00  <Rhamphoryncus> Now I just need to make C++ accept them :P
12:07:12  <Rhamphoryncus> ... I can't have a static inline method in a .cpp file and if I put it in the header I don't have the right other headers pulled in x_x
12:10:08  <Rhamphoryncus> nor can I include vehicle_base.h since it's already including order_base.h
12:12:16  <Eddi|zuHause> why shouldn't you have static inline function in the .cpp file?
12:13:07  <Eddi|zuHause> of course, "static" means something completely different inside a class
12:13:49  <Rhamphoryncus> static inline *functions* are fine.  Methods it chokes on because they're not declared in the class
12:14:42  <Rhamphoryncus> interesting point though, I had blindly copied the static keyword in to the class for the declaration.  When I later tried to move the whole definition there I removed it, but I never tried the declaration without it.
12:14:56  <Rhamphoryncus> Nope, that chokes too
12:15:27  <Rhamphoryncus> /home/rhamph/src/openttd/easyschedule.hg/src/order_cmd.cpp:523:42: error: cannot declare member function ‘void OrderList::MakeCyclic()’ to have static linkage [-fpermissive]
12:15:51  *** DayDreamer [~DayDreame@] has joined #openttd
12:22:54  *** andythenorth [] has joined #openttd
12:37:52  <Rhamphoryncus> Looks like C++ won't do what I want.  Either I use a private inline method or a static inline non-method
13:00:50  *** cmircea [~cmircea@] has joined #openttd
13:25:43  <dihedral> looks like you want to do something you should not want to do :-P or you are thinking too complicated
13:29:06  <Rhamphoryncus> It'd be good coding style in C.  In C++ it seems to be "eh, don't bother"
13:29:29  <Eddi|zuHause> it's inherently difficult to make methods inline
13:29:37  <Eddi|zuHause> because they could be overridden and stuff
13:29:53  <Eddi|zuHause> so you need to make them private
13:30:17  <Rhamphoryncus> But there's two reasons for it in C: one is to avoid name conflicts, the other is actually be private.  C++ doesn't seem to actually allow the latter :P
13:44:24  *** roboboy [] has joined #openttd
13:47:01  *** DayDreamer [~DayDreame@] has quit [Quit: Leaving.]
14:00:23  <Eddi|zuHause> hm... can we have a string-code "{SPRITE}"?
14:02:07  <andythenorth> where is it needed?
14:02:31  * andythenorth explores os.subprocess as a way to call nmlc from a python script
14:02:47  <Eddi|zuHause> can't you "import nmlc"?
14:04:37  <andythenorth> probably, if I set my search path
14:05:13  <andythenorth> I guess it's not currently in my python module search paths
14:05:31  <Eddi|zuHause> sys.path.append(blah)?
14:05:37  <andythenorth> let's see
14:06:18  *** roboboy [] has quit [Ping timeout: 480 seconds]
14:07:06  <andythenorth> apparently not
14:07:18  <andythenorth> nmlc is aliased from /opt/local/bin/
14:07:28  <andythenorth> I've added sys.path.append('/opt/local/bin/')
14:07:32  <andythenorth> but nmlc is not found
14:08:11  <Eddi|zuHause> well, it'll only search for .py files
14:08:20  <Eddi|zuHause> you'll need to import
14:08:56  <andythenorth> k
14:10:10  <Eddi|zuHause> actually, if you "make install"-ed it, you should be able to do "from nml import main"
14:10:40  <andythenorth> I didn't
14:10:52  <andythenorth> I don't trust things too well where I have to sudo
14:10:57  <andythenorth> makes me itch every time
14:11:06  <andythenorth> I've aliased it currently
14:11:14  <andythenorth> if I set the actual path to nml src, I can import
14:11:26  <Eddi|zuHause> well, then you have to set the path
14:11:30  <andythenorth> that's kind of local to me though :P
14:11:32  <andythenorth> bad pattern
14:14:41  *** TheMask96 [] has quit [Ping timeout: 480 seconds]
14:16:13  <Eddi|zuHause> after you "from nml import main"-ed, you'll probably want to run "main.main(args)"
14:17:10  <andythenorth> what should args be? :)
14:17:53  <Eddi|zuHause> an array of what you would give after nmlc
14:19:16  *** TheMask96 [] has joined #openttd
14:19:40  <Eddi|zuHause> so if you'd write "nmlc --nfo cets.nfo cets.nml" then you'd call "main.main(['--nfo','cets.nfo','cets.nml'])"
14:20:51  <Eddi|zuHause> like "cmdline.split(' ')[1:]" (roughly)
14:21:55  <Eddi|zuHause> if you'd call nmlc like usual, it would pass "argv[1:]" to main()
14:28:16  <Eddi|zuHause> @calc 78/16
14:28:16  <DorpsGek> Eddi|zuHause: 4.875
14:28:28  <Eddi|zuHause> @calc 78/3
14:28:28  <DorpsGek> Eddi|zuHause: 26
14:47:59  *** cmircea [~cmircea@] has quit [Read error: Connection reset by peer]
14:49:34  *** cmircea [~cmircea@] has joined #openttd
14:56:51  *** cmircea [~cmircea@] has quit [Read error: Connection reset by peer]
14:56:58  <Belugas> hello
15:00:58  *** Pulec [] has quit [Ping timeout: 480 seconds]
15:01:01  *** glx [glx@2a01:e35:2f59:c7c0:e8ac:5296:6042:37e7] has joined #openttd
15:01:04  *** mode/#openttd [+v glx] by ChanServ
15:02:03  *** bondmain_ [] has quit [Read error: Connection reset by peer]
15:02:31  *** cmircea [~cmircea@] has joined #openttd
15:02:42  *** bondau [] has joined #openttd
15:09:49  <Elukka> ugh. there was a very nice company color replacement grf+patch somewhere in the forums recently but i can't for the life of me find it now
15:11:50  *** expekt [] has joined #openttd
15:12:33  <expekt> Hi! I have some problems with Saved Game Manager. I cant open any save gamed?
15:14:44  *** bondau [] has quit [Read error: Connection reset by peer]
15:15:02  <Eddi|zuHause> what's a saved game manager?
15:15:09  <Eddi|zuHause> and what error message do you get?
15:15:14  *** bondmain_ [] has joined #openttd
15:17:48  <expekt>
15:18:14  <expekt> the program dosen't find the saved game
15:18:39  <expekt> it it also the same problem with TTD Alter and TTDX Editor
15:19:10  <Eddi|zuHause> i don't think they were everintended to work with openttd savegames
15:22:09  <expekt> aha:)
15:23:00  *** andythenorth is now known as Guest1329
15:23:01  *** andythenorth_ [] has joined #openttd
15:23:01  *** andythenorth_ is now known as andythenorth
15:23:14  *** Guest1329 [] has quit [Read error: Connection reset by peer]
15:35:22  <andythenorth> hmm
15:35:45  <Eddi|zuHause> hm... do articulated parts issue effect vehicles?
15:35:53  <andythenorth> not for RVs
15:36:18  <Eddi|zuHause> hm... i do remember it steaming from 3 places in the original dummy vehicle
15:36:24  <andythenorth> Eddi|zuHause: can you figure out passing args to the python script from makefile?  Based on reading tutorials I have
15:36:33  <andythenorth> but it seems to be failing
15:37:09  <Eddi|zuHause> wrong place
15:37:15  <andythenorth> gah
15:37:16  <andythenorth> :)
15:37:23  <Eddi|zuHause> must be behind the "python" line
15:37:35  <Eddi|zuHause> the "GENERATE=" line is only the dependencies
15:38:48  <Eddi|zuHause> also make sure the makefile doesn't try to expand the ${} sections
15:38:57  <andythenorth> :Q seems to stop that
15:39:22  <andythenorth> maybe
15:40:07  <andythenorth> hmm
15:41:04  <Eddi|zuHause> i mean more like enclose it in '' or so
15:41:30  * andythenorth has been trying to figure out what I need to google for this
15:42:00  <andythenorth> search strings like 'pass command line args from makefile' get me 10 million results about passing command line args *to* makefile :P
15:43:35  <andythenorth> ok
15:43:36  <andythenorth> '' works
15:53:22  * andythenorth explores
15:54:00  <andythenorth> doesn't look very maintained though
15:55:01  <Elukka> hmm.
15:55:09  <Elukka> i've been using long vehicles v4 since forever
15:55:43  <Elukka> are there any alternative road vehicle sets that are maybe a bit more useful than vanilla vehicles and a bit more real looking than them or grvts?
15:57:00  <andythenorth> highway robbery
15:57:32  <andythenorth> Elukka: can you draw trucks?
15:57:38  <Elukka> posssssibly but i already have way too many wagons to draw and i'm getting them done way too slowly :P
15:57:43  <Eddi|zuHause> he must first draw wagons :p
15:58:23  <andythenorth> in that case he can stop playing the game anyway
15:58:25  <andythenorth> and draw
15:58:39  <Elukka> :(
15:58:40  * andythenorth reads docs for codecs
15:58:51  <Eddi|zuHause> anyone split off the horse carriages from eGRVTS yet?
15:58:59  <andythenorth> Eddi|zuHause: presumably to avoid unicode sadface? ^^
15:59:17  <Elukka> huh.
15:59:18  <Elukka> hungarian set
15:59:19  <andythenorth> also writing streams and such
15:59:20  <Elukka> looks very nice
15:59:25  <Elukka>
15:59:43  <Eddi|zuHause> Elukka: germanrv is nice, but unfortunately the trucks aren't done yet
16:00:20  <Elukka> aw, and hungarian set only starts in 1950
16:01:27  <Eddi|zuHause> why did you link that thread? now i'm getting a petert flashback...
16:01:51  <andythenorth> Eddi|zuHause: you never hang out in #openttdcoop.devzone?
16:02:01  <Eddi|zuHause> andythenorth: no, why would i?
16:02:13  <andythenorth> you see the CETS commits somewhere else?  or you don't care?
16:02:14  *** bondmain_ [] has quit [Read error: Connection reset by peer]
16:02:16  <Elukka> petert?
16:02:41  <Elukka> is there a juicy story i don't know
16:03:07  <Eddi|zuHause> andythenorth: i wanted the commits per email, but apparently nobody figured that out yet... Ammler?
16:03:46  <andythenorth> rss to email?
16:04:03  <andythenorth>
16:04:11  <andythenorth> or your mail reader can read rss in some cases
16:04:17  <Eddi|zuHause> # sie mÃŒssen erst den nippel durch die lasche ziehn
16:04:41  <Eddi|zuHause> # und an der kleinen kurbel ganz nach oben drehn
16:04:55  <Eddi|zuHause> # dann erscheint sofort ein pfeil, da drÃŒcken sie dann drauf
16:05:09  <Eddi|zuHause> # und dann, geht die tube auf...
16:05:14  <andythenorth> definitely english :P
16:07:13  <Eddi|zuHause> according to mr-english-only, it's ok if it's quotes or music :p#
16:09:30  <andythenorth> or if it's spanish
16:09:39  <andythenorth> or python, or c++ or nfo or nml
16:09:40  <andythenorth> :P
16:12:21  <Eddi|zuHause> anyway, it's a song about how things are totally overcomplicated
16:13:04  <andythenorth> first [blah blah] put the small thing [blah] etc
16:13:22  <andythenorth> I think I've murdered cpp in BANDIT
16:13:26  <andythenorth> not sure how to test
16:14:23  <Eddi|zuHause> @calc 265*255
16:14:23  <DorpsGek> Eddi|zuHause: 67575
16:14:31  <Eddi|zuHause> @calc 256*255
16:14:31  <DorpsGek> Eddi|zuHause: 65280
16:14:35  <Eddi|zuHause> @calc 16*255
16:14:36  <DorpsGek> Eddi|zuHause: 4080
16:14:55  <Eddi|zuHause> @calc 256*255/74
16:14:55  <DorpsGek> Eddi|zuHause: 882.162162162
16:14:58  <Ammler> andythenorth: nobody wants commits per mail ;-)
16:15:48  * Eddi|zuHause misses a right-click->slap button...
16:16:43  *** sla_ro|master [~slaco@] has joined #openttd
16:20:03  <andythenorth> grr
16:20:14  <andythenorth> forums [code] block strips \ from \n
16:20:41  <Eddi|zuHause> tried \?
16:21:59  <andythenorth> works
16:22:00  <andythenorth> thanks
16:22:47  <Eddi|zuHause> both the '' and the \ are reflex-solutions i always try before asking anybody else for help :)
16:23:09  <Ammler> someone already "played" with phase on hg 2.1?
16:23:57  *** KouDy [~KouDy@] has quit [Quit: Leaving.]
16:24:15  * andythenorth wonders how to patch makefile to avoid cpp
16:29:06  *** expekt [] has quit [Quit: ajax IRC Client]
16:32:11  *** tensai_cirno [~cirno@] has quit [Quit: Leaving]
16:43:28  *** Twofish [] has quit [Quit: Leaving]
16:43:29  *** kkb110_ [] has joined #openttd
16:47:20  *** sla_ro|master [~slaco@] has quit [Quit: - free first person shooter based of c&c 3]
16:53:39  *** MINM [] has quit [Read error: Connection reset by peer]
16:59:03  <chester> tesr
17:03:13  *** cmircea [~cmircea@] has quit [Ping timeout: 480 seconds]
17:13:29  *** tokai|mdlx [] has joined #openttd
17:16:38  <Ammler> andythenorth: CC=""
17:17:01  <andythenorth> where?
17:17:04  <Ammler> :-)
17:18:06  *** sla_ro|master [~slaco@] has joined #openttd
17:19:18  *** tokai|noir [] has quit [Ping timeout: 480 seconds]
17:26:34  *** theholyduck [~holyduck@] has joined #openttd
17:32:27  <andythenorth> meh
17:32:36  * andythenorth needs a basic valid NML project
17:32:40  <andythenorth> for example purposes
17:34:21  *** sla_ro|master [~slaco@] has quit [Quit: - free first person shooter based of c&c 3]
17:37:24  *** ABCRic [] has joined #openttd
17:39:08  *** sla_ro|master [~slaco@] has joined #openttd
17:44:04  *** Brianetta [] has joined #openttd
17:51:22  *** Brianetta [] has quit [Quit: TschÌß]
18:12:43  *** Prof_Frink [] has joined #openttd
18:22:41  <andythenorth> do I need to call close() on a a file I've opened as read only (python)
18:23:47  <Mazur> In the interest of clean programming, I'd say yes.
18:23:58  *** peteris [~peteris@] has joined #openttd
18:27:20  <SpComb> andythenorth: you can also do `with open(...) as myfile: ...`
18:27:51  <SpComb> and if you do something like `data = open(...).read()` there's not really any need to explicitly close() it
18:28:07  <SpComb> but if you do `self.thatfile = open(..)`, then yes, do explicitly close it and clear the reference
18:28:39  <SpComb> python refcounting guarantees you that the file object will be closed once you drop all references to it
18:30:08  <Eddi|zuHause> i'd have some reservations towards relying on refcounting
18:36:32  *** TWerkhoven[l] [] has joined #openttd
18:39:01  *** frosch123 [] has joined #openttd
18:41:43  <andythenorth> quak
18:41:46  <andythenorth> quik
18:42:30  <frosch123> moin
18:42:31  <Eddi|zuHause> you're a guinea pig now?
18:46:05  *** |Jeroen| [] has joined #openttd
18:57:05  *** itp [] has joined #openttd
19:02:07  <andythenorth> writing tutorials is surprisingly hard work
19:02:12  <andythenorth> even when they're not that good
19:02:18  * andythenorth could never be a teacher
19:02:35  <Terkhen> hello
19:02:49  <andythenorth> bonjour
19:03:22  * andythenorth looks for a collaborator :P
19:03:51  <andythenorth> Terkhen: how is your python?
19:05:23  *** Brianetta [] has joined #openttd
19:05:44  * andythenorth needs someone who knows some NML but limited python
19:05:59  <Terkhen> worse than my free time :P
19:06:06  <andythenorth> :D
19:06:08  <Rhamphoryncus> "with open(...) as myfile:" is definitely the preferred way as it guarantees it's closed, but otherwise it's not worth the trouble unless you're doing it in a loop and something like java might run out of file handles before it triggers a collection
19:06:18  <Rhamphoryncus> Or you're on windows and file locks prevent other work
19:06:24  <Terkhen> right now I have to fix FS#5039
19:06:56  *** MJP [] has joined #openttd
19:07:54  <andythenorth> :o
19:09:31  *** ABCRic [] has quit [Remote host closed the connection]
19:23:05  *** |Jeroen| [] has quit [Quit: oO]
19:23:06  *** Alberth [] has joined #openttd
19:23:09  *** mode/#openttd [+o Alberth] by ChanServ
19:34:30  <CIA-1> OpenTTD: translators * r23875 /trunk/src/lang/ (dutch.txt french.txt lithuanian.txt):
19:34:30  <CIA-1> OpenTTD: -Update from WebTranslator v3.0:
19:34:30  <CIA-1> OpenTTD: dutch - 3 changes by Parody
19:34:30  <CIA-1> OpenTTD: french - 53 changes by OliTTD
19:34:30  <CIA-1> OpenTTD: lithuanian - 21 changes by Stabilitronas
19:49:30  *** Cybertinus [] has quit [Remote host closed the connection]
19:54:01  *** Cybertinus [] has joined #openttd
19:58:40  *** HerzogDeXtEr [~Flex@] has joined #openttd
19:59:22  <Terkhen> even with the fix, industry subsidies are quite rare
20:01:17  <andythenorth> NewSubsidy framework!
20:01:22  <andythenorth> newgrf subsidies!
20:01:24  <andythenorth> NoGo!
20:01:27  *** Kurimus [] has quit [Ping timeout: 480 seconds]
20:01:29  <andythenorth> all of them!
20:01:51  *** Wolf01 [] has joined #openttd
20:02:15  <Alberth> new, better, plus!
20:02:19  <Alberth> hi Wolf01
20:02:38  <Wolf01> moin
20:02:52  <Terkhen> yeah, I suppose that NoGo is the real fix for that :)
20:03:12  <Alberth> Terkhen: not enough opportunities at the right distance?
20:04:02  <Alberth> ie compared with towns, industries are quite picky about who they want to share cargo with :)
20:04:12  *** HerzogDeXtEr1 [] has quit [Ping timeout: 480 seconds]
20:05:09  *** itp [] has left #openttd []
20:06:00  <Terkhen> yes :)
20:06:20  *** Cybertinus [] has quit [Remote host closed the connection]
20:07:39  *** itp [] has joined #openttd
20:09:50  *** KenjiE20 [] has quit [Remote host closed the connection]
20:09:53  *** Cybertinus [] has joined #openttd
20:10:20  *** KenjiE20 [] has joined #openttd
20:14:05  *** KritiK [] has joined #openttd
20:14:28  *** KenjiE20 [] has quit [Read error: Connection reset by peer]
20:14:49  *** Kurimus [] has joined #openttd
20:16:39  *** itp [] has left #openttd []
20:18:01  *** Jensen1986 [] has joined #openttd
20:18:42  <Jensen1986> Can someone please help me with a problem?
20:20:05  <CIA-1> OpenTTD: terkhen * r23876 /trunk/src/subsidy.cpp: -Fix (r23408) [FS#5039]: Generate industry subsidies again. (Emmeran)
20:20:18  <Terkhen> @get -1
20:20:18  <DorpsGek> Terkhen: English only
20:20:21  <Terkhen> @get -2
20:20:21  <DorpsGek> Terkhen: 'Latest' is not a valid version, ever
20:20:23  <Terkhen> bah
20:20:27  <Terkhen> Jensen1986: just ask your question
20:20:51  <Jensen1986> how do i take control of an AI company in TTD?
20:21:05  <Terkhen> activate cheats and move yourself to the AI company
20:21:18  <Terkhen> that can be done in OpenTTD, no clue about TTD
20:21:24  <Jensen1986> not by buying their shares. I mean to take control and rearrange busses ect.
20:22:08  <Alberth> In OpenTTD, like Terkhen says
20:22:35  <Jensen1986> The difference between OpenTTD and TTD is?
20:22:48  <Alberth> different games?
20:22:52  <Rhamphoryncus> One has been worked on this millenium? ;)
20:23:08  <Alberth> 25 years?
20:23:17  * andythenorth ponders
20:23:26  <Rhamphoryncus> Alberth: eh?
20:23:41  <Alberth> Rhamphoryncus: wasn't it 1984?
20:23:54  <Rhamphoryncus> I was including windows versions
20:23:55  <Jensen1986> I'm using TTDX editor... Is that the same?
20:24:34  <Rhamphoryncus> And as long as it hasn't been touched in 2001 or later my statement is right
20:24:35  <Alberth> Jensen1986: not even close
20:24:46  * Alberth believes Rhamphoryncus
20:25:17  <Alberth> Jensen1986: both games may look the same, but internally they are totally different
20:25:24  <Jensen1986> hehe. You wouldn't believe me if i told you ive been playing this game for 10 years or so with my knowledge of it
20:25:45  <Alberth> yeah, it's addictive :)
20:26:06  <Alberth> wait until you try OpenTTD, and find all the nice additions that were made ;)
20:26:24  <Jensen1986> I dont want to start a new game over again :(
20:26:53  *** theholyduck [~holyduck@] has quit [Ping timeout: 480 seconds]
20:26:59  <Alberth> OpenTTD is quite compatible, I would not be surprised if your game loaded
20:27:43  <Jensen1986> really? If i try loading it and it doesnt work will the saved game still work in TTD?
20:28:13  *** Cybertinus [] has quit [Remote host closed the connection]
20:28:24  <Alberth> I would expect so, unless you save a new version over it
20:28:34  <Rhamphoryncus> Alberth: wikipedia says 94 and deluxe in 95
20:28:34  <Alberth> but make a copy beforehand, just to be safe
20:28:59  <Alberth> Rhamphoryncus: Ah, I was only 10 years off :D    Thanks for looking it up
20:29:28  <planetmaker> evening
20:29:34  * Alberth wonders what game was in 1984 then :p
20:29:38  <Alberth> evenink planetmaker
20:29:51  <planetmaker> Jensen1986: you'll surely want to keep a copy of the original savegame, don't you?
20:30:25  <Jensen1986> I better
20:31:23  *** theholyduck [~holyduck@] has joined #openttd
20:31:31  <Jensen1986> Can i change the same thing in OpenTT as with TTDX editor?
20:32:10  * andythenorth ponders a nap
20:32:55  <Alberth>  <-- that's what the wiki has on scenario editors, about 10 lines :p
20:34:26  <Alberth> but yes, I think you can. I have never done much with the editor though, but on general, OpenTTD is expanding on functionality, and very reluctant on throwing stuff out
20:36:34  *** itp [] has joined #openttd
20:36:36  *** itp [] has left #openttd []
20:36:40  <Jensen1986> nice. Gotta try that. I know this has been debated over and over. But why is it you cant have more than 4.3 billion in cash. Why dont the rewrite the game to 64 bit`?
20:37:19  <Alberth> it compiles and runs at 64bit
20:37:59  <Jensen1986> but you still cant have more than 4.3 billion? I thought it had something to do with that?
20:38:02  <Alberth> 'billion' is about 1,000,000,000 ?
20:38:28  <Alberth> oh, in that case, OpenTTD can do approximately:
20:38:33  <Alberth> @calc 2^60
20:38:33  <DorpsGek> Alberth: Error: Something in there wasn't a valid number.
20:38:40  <Alberth> @calc 2**60
20:38:40  <DorpsGek> Alberth: 1152921504606846976
20:38:49  <Alberth> give or take a few bits :)
20:39:14  <Jensen1986> yes it is. so in OpenTT you can have much more money`?
20:39:45  <Alberth> it's OpenTTD (with a D at the end), but yeah
20:40:07  <Alberth> I never even got at 2**32 though
20:40:34  *** Rhamphoryncus [] has quit [Read error: Operation timed out]
20:40:58  <Jensen1986> With my current game its not a problem. But one i used to play made me 3 billion a year. So i had to go to the edtitor and set my money to 0 in order to keep playing.
20:41:00  <Alberth>  <-- stuff that OpenTTD can do
20:41:43  *** valhallasw [~valhallas@] has joined #openttd
20:42:00  <Alberth> @calc 1152921504606846976 / 3000000000
20:42:00  <DorpsGek> Alberth: 384307168.203
20:42:30  <Alberth> enough to keep playing for the 5,000,000 years that OpenTTD allows :p
20:42:49  *** Rhamphoryncus [] has joined #openttd
20:43:13  *** KenjiE20 [] has joined #openttd
20:43:30  <Jensen1986> wow. I'll bet someone did. What a nerd:)
20:44:12  <Alberth> @calc 5000000 * 13 / 60 / 24
20:44:12  <DorpsGek> Alberth: 45138.8888889
20:44:17  <planetmaker> well. also then you can continue to play. Just the year won't advance ;-)
20:44:44  <Alberth> @calc 45138 / 365
20:44:44  <DorpsGek> Alberth: 123.665753425
20:44:57  <Alberth> kind of old nerd :p
20:44:59  <andythenorth> planetmaker: is it an easy change for me to disable cpp step of makefile?
20:45:04  <andythenorth> (to see what happens)
20:45:25  <Alberth> 'touch' the generated output file?
20:46:03  *** kkb110_ [] has quit [Quit: Leaving]
20:46:08  <Alberth> although 13 minutes is somewhat optimistic, in reality a game year takes a bit longer
20:46:11  <planetmaker> well... the dependency also relies on it. But you can edit-out that step. And you'll have to rewrite the rule for the nml file which uses cpp to generated it from the pnml file
20:46:30  <andythenorth> yup
20:46:37  <andythenorth> I should learn how to do that anyway
20:46:43  <andythenorth> it's good for me :P
20:46:47  *** Cybertinus [] has joined #openttd
20:46:48  <Alberth> make -n ?   then copy/paste what you want to run
20:46:56  <Jensen1986> how long is a year in TTD ?
20:47:19  <planetmaker> ~calc 30 * 74 / 60
20:47:25  <planetmaker> @calc 30 * 74 / 60
20:47:25  <DorpsGek> planetmaker: 37
20:47:28  <Alberth> I don't know about TTD
20:47:46  <Alberth> the number of ticks/day is probably different
20:47:47  <planetmaker> @calc 0.03 * 74 * 365
20:47:47  <DorpsGek> planetmaker: 810.3
20:47:51  <planetmaker> @calc 0.03 * 74 * 365 / 60
20:47:51  <DorpsGek> planetmaker: 13.505
20:47:57  <planetmaker> ^ minutes in OpenTTD
20:48:03  <planetmaker> TTD might be 10% faster
20:48:16  *** Elukka [] has quit []
20:48:30  <Jensen1986> ok. But thanks for all your help. Gotta go.
20:51:06  * andythenorth adventures in makefile
20:51:09  <andythenorth> it's pretty impressive
20:51:58  *** Jensen1986 [] has quit [Quit: ajax IRC Client]
20:54:51  <Alberth> You are at a rule that depends on another rule, what do you want to do?
21:01:44  *** Neon [] has joined #openttd
21:09:20  <Alberth> planetmaker: how is the closebox X defined in big GUI?
21:09:20  <Alberth> In the code, it computes maxdim(GetStringBoundingBox(STR_BLACK_CROSS), GetStringBoundingBox(STR_SILVER_CROSS)); as size, while the sticky box does maxdim(GetSpriteSize(SPR_PIN_UP), GetSpriteSize(SPR_PIN_DOWN));
21:09:20  <Alberth> It looks like the text-sizes are still not functioning
21:09:49  <Alberth> (while sprites do work)
21:10:58  <peter1138> i have a wip patch for all that stuff...
21:11:02  * Rubidium wonders what made Jensen think OpenTTD "only" supports 2**32 in money
21:11:15  <Alberth> he plays TTD ?
21:11:21  <peter1138> text-sizes are always based on the specified size, not the size of sprites
21:11:27  <Alberth> (and thinks both games are the same :) )
21:11:42  <Rubidium> Alberth: in TTD it was 2**31 (you can have negative money as well)
21:12:40  <planetmaker> Alberth: it's a font sprite iirc
21:13:04  <planetmaker> the text size calculation might ignore the special chars
21:13:19  <planetmaker> and... tbh, Alberth, IMHO the X for windows should be a normal sprite, not a font sprite
21:13:25  <planetmaker> would make it much easier
21:13:25  <peter1138> it never calculates height
21:13:56  <Alberth> planetmaker: that also holds for the arrows imho
21:14:02  <peter1138> problem with making it a sprite is it has a shadow
21:14:13  <peter1138> and it is recoloured for the news window
21:14:20  <peter1138> however, i did make all the arrows sprites
21:14:33  <planetmaker> Alberth: maybe... but the funny thing is: it's not always broken. Like for the sprite picker (newgrf debug)
21:14:34  <peter1138> "i have a patch for that...."
21:14:56  <planetmaker> peter1138: the adv. settings currently look ugly with it
21:15:16  <peter1138> it's never "broken"
21:15:37  <peter1138> for the windows where it's different, it's always because they have other buttons as well
21:15:44  <peter1138> so not so "funny"
21:16:24  <Alberth> planetmaker: it has a sticky button
21:16:47  <Alberth> planetmaker: I removed the sticky button from the airport toolbar, and it failed
21:17:39  <Alberth> ie the big size of the sticky button forces the whole titlebar to be high
21:18:53  <Alberth> (mostly as someone made the X not larger than the pin :p )
21:20:08  *** JVassie [~James@] has joined #openttd
21:21:11  *** pjpe [] has joined #openttd
21:21:34  <planetmaker> :-)
21:27:32  *** tensai_cirno [~cirno@] has joined #openttd
22:05:58  * andythenorth dismisses XML as a good data format :P
22:06:22  <Alberth> oh, for machines, it's very good :)
22:06:44  <Alberth> problem is that people think they are machines too :)
22:06:49  <Rubidium> for machines it's bad
22:06:56  <andythenorth> needless parsing
22:07:05  <andythenorth> machines like name / value pairs, without endless scaffolding :P
22:07:23  <Rhamphoryncus> How hard is it to add new windows and buttons and such?
22:07:29  <andythenorth> very very very hard
22:07:30  <andythenorth> for me
22:07:32  <Rubidium> for communication between independently developed systems that needs easy extensibility it's something else
22:08:05  <Rhamphoryncus> andythenorth: you have a lot of experience in openttd innards?
22:08:13  <andythenorth> only the industry bits
22:08:16  <andythenorth> otherwise not
22:08:17  <Alberth> Rhamphoryncus: new windows (ie making a new unique combinations of buttons and such that fills a rectangle) not so difficult
22:08:30  <Rhamphoryncus> Alberth: *nods*
22:08:39  <andythenorth> XML as an input to newgrf templating would be bonkers
22:08:45  <andythenorth> I'd just end up templating it :P
22:08:52  <Alberth> making a new button itself is harder, internally lots of size computations are performed
22:09:13  <Rhamphoryncus> ahh
22:09:28  <Alberth> although for elementary things like a close box it is pretty simple too :)
22:09:39  <Alberth> as they have a fixed size :)
22:09:39  <Rhamphoryncus> So I have it in for myself
22:10:02  <planetmaker> Rhamphoryncus: how hard is it to solve \int_{-\infty}^\infty e^{-x^2} dx ?
22:10:04  * Rubidium smells somewhat of a desync
22:10:13  * andythenorth ponders JSON
22:10:27  *** Brianetta [] has quit [Quit: TschÌß]
22:10:32  <Rhamphoryncus> planetmaker: well that doesn't render in xchat, so I'd say pretty hard is a safe bet ;)
22:10:42  <planetmaker> it's very hard for most people, I assume. But a minority will find it easy. Maybe a majority here
22:10:45  <Rubidium> Rhamphoryncus: it renders nicely ;)
22:10:52  <Rubidium> and it's easy to solve
22:11:05  <Rubidium> if you know the right tools
22:11:22  * Rubidium points at tungsten
22:11:30  <Alberth> it looks like something that is most likely easy :)
22:11:30  <planetmaker> :-)
22:11:39  <Rhamphoryncus> related: loading old savegames is critical, but otherwise it is possible to change what gets saved?
22:12:03  <Alberth> Rhamphoryncus: that's what savegame versions are for :p
22:12:04  <planetmaker> that's what savegame versions are for. yes
22:12:16  <planetmaker> :-)
22:13:17  <Rhamphoryncus> I worry I'd have to overcome a lot of inertia if I overhaul how orders/timetables are managed, since there's so much history in ttd
22:14:12  <Alberth> oh, it's  -(x^2)  and not (-x)^2, that makes it much easier :)
22:15:01  <andythenorth> oh
22:15:06  <andythenorth> this could use an update :|
22:15:16  <Rubidium> oh come on... still not pasted in wolfram?
22:16:20  <Rhamphoryncus> Couldn't remember the name, heh
22:17:50  <Rubidium> it's easy to remember
22:18:16  <Rubidium> want to see the light? -> old lamps were made with tungsten aka wolfram
22:18:45  <planetmaker> Alberth: not really nicer. But more often used ;-)
22:18:47  <Rhamphoryncus> Oh is that what it's named after..
22:20:34  <Alberth> Rhamphoryncus: what kind of new button do you have in mind?
22:20:49  <Rhamphoryncus> Alberth: all of them :P
22:20:53  <andythenorth> hmm interesting:
22:21:01  <andythenorth> so why would that fail to return a result?
22:21:19  <andythenorth> or rather, why would that return 0xFF?
22:21:21  <Rhamphoryncus> I haven't fully decided yet.  I've been playing with different approaches to maintaining a schedule
22:21:27  <planetmaker> 0xFF is no valid CB result, andy
22:21:31  <planetmaker> use the in-built constants
22:21:34  <andythenorth> oh
22:21:39  <andythenorth> wonder where I got that from :o
22:22:31  <planetmaker> like CB_FAILED
22:22:39  <Rhamphoryncus> But I need to handle the current timing in a different way, so I can easily compare across different points in the order list
22:22:46  <Alberth> Rhamphoryncus: with "button" I mean a really new type of button, like a maximize button or so. If you want variations of existing buttons (eg one with a different text), that's what I consider 'window'
22:23:07  <andythenorth> hmm
22:23:12  <andythenorth> also it's just bad logic no?
22:23:20  <andythenorth> a graphics chain should always end on graphics
22:23:30  <planetmaker> yes
22:23:37  <Rhamphoryncus> New elements might include a way to pick out delays with the mouse, rather than having to enter text for the number of days
22:23:45  <Rhamphoryncus> Mostly just window right now though
22:23:56  <andythenorth> but why would cargo_classes not return a result in range 0-255?
22:24:07  <Rubidium> you can already set the times without the keyboard
22:24:16  <Rubidium> (the physical keyboard that is)
22:24:22  <planetmaker> andythenorth: still, then return the default graphics
22:24:28  <andythenorth> I changed it
22:24:31  <andythenorth> just curious
22:24:38  <andythenorth> it's only happening for Wool cargo
22:24:40  <andythenorth> afaict
22:24:52  <andythenorth> wondered if the class bitmask was somehow odd?
22:25:02  <Rhamphoryncus> Rubidium: click order, click change time, click...
22:25:22  <planetmaker> depends on what you want to check, andythenorth
22:25:30  <planetmaker> if you want to check PAX, rather use
22:25:41  <planetmaker> cargo_classes & bitmask(CC_PASSENGERS)
22:25:59  <planetmaker> and then check for 1 and 0 (as default)
22:26:03  <andythenorth> ok so that's the equivalent of an nfo mask?
22:26:08  <planetmaker> yes
22:26:14  <andythenorth> k
22:26:35  <planetmaker> it's simply how boolean logic works in... python
22:28:55  *** Chris_Booth[ph] [] has joined #openttd
22:29:14  *** pugi [] has joined #openttd
22:29:52  <andythenorth> if I want to check a range of classes, can I & with a list? :P
22:30:47  * andythenorth guesses not
22:31:02  <Rubidium> depends whether the classes are a bitmask or not
22:32:15  <Rubidium> a & b simply returns the intersection of the bits, so you can then relatively easy check whether no bits intersect, at least one bit intersects or all bits intersect
22:32:52  <Alberth> andythenorth: iirc 'bitmask' is a function that takes a list of bit numbers, and produces a mask
22:32:53  <Rubidium> (all set bits that is, of 'a' or 'b')
22:33:14  * andythenorth explores NML docs more
22:33:14  * andythenorth guesses that bitmask(list) might be the case
22:34:18  * Alberth wonders how to create a bitmask with a one-liner in Python
22:37:29  <andythenorth> Alberth: are you playing the one line python game? :P
22:37:29  <andythenorth> doesn't always end well
22:37:29  <andythenorth> "just because you could, doesn't mean you should" :)
22:37:55  <Alberth> at IRC, everything is allowed :p
22:38:12  <andythenorth> feel free then
22:38:45  <andythenorth> Alberth: try rewriting my build script in one line?
22:38:47  *** TWerkhoven[l] [] has quit [Quit: He who can look into the future, has a brighter future to look into]
22:38:49  <andythenorth> probably possible
22:38:57  <andythenorth> might violate PEP 8 horribly :P
22:38:57  <Alberth> reduce(lambda x,y:x+y, [1 << n for n in bit_list], 0)
22:39:33  <Alberth> IRC line length is not sufficient :p
22:41:15  <Alberth> also I have not really looked at what you are writing, as it constantly says "skip this if you know it already" :)
22:41:28  <andythenorth> allowing for imports to be on another line, I think a grf can be templated and built with one line
22:41:28  <andythenorth> heh
22:41:30  <andythenorth> I keep trying not to do tutorial, then I do
22:41:57  <andythenorth> the actual build_script for BANDIT is here:
22:42:21  <Rhamphoryncus> Alberth: is this something a set would solve?
22:43:43  *** Chris_Booth[ph] [] has quit [Quit: Colloquy for iPhone -]
22:44:30  <Alberth> Rhamphoryncus: 'this' ?
22:44:39  <Rhamphoryncus> bitmasks
22:44:53  <Rhamphoryncus> I don't fully understand the discussion so I'm just throwing that out there
22:45:13  <Alberth> bitmasks are sets in fact, conveniently stored in an integer
22:45:37  <Alberth> so computers can easily work with it, move it around, etc
22:46:18  <Rhamphoryncus> that I know
22:46:29  <Rhamphoryncus> But you're talking about how to do it in python
22:46:50  *** frosch123 [] has quit [Remote host closed the connection]
22:47:31  <Alberth> if you want to go to NFO, you eventually have to go to integer format anyway
22:47:53  <Alberth> besides, also in Python, integers are faster than generic sets of arbitrary objects
22:48:05  <Rhamphoryncus> of course
22:48:42  <Alberth> andythenorth:  os.path.join" target="_blank">os.path.join" target="_blank">os.path.join" target="_blank">os.path.join(currentdir, "sprites/nml")   ---> os.path.join" target="_blank">os.path.join" target="_blank">os.path.join" target="_blank">os.path.join(currentdir, "sprites", "nml")       / placement is exactly what os.path.join" target="_blank">os.path.join" target="_blank">os.path.join" target="_blank">os.path.join is for :)
22:49:28  <andythenorth> I should replace those then?
22:49:44  <Alberth> if (len(sys.argv) > 1):   <-- no parentheses around conditions, they are not needed
22:50:00  <andythenorth> oh yes
22:50:08  <andythenorth> I pasted that from an example :P
22:50:11  * andythenorth ducks blame
22:50:20  <andythenorth> is this ok? sys.path.append('sprites/nml') # add to the module search path
22:50:20  *** Neon [] has quit [Quit: Python is way too complicated... I prefer doing it quickly in C.]
22:50:26  <andythenorth> seems to work
22:50:31  <Alberth> lines 25/27 have different indent than 30+
22:50:50  <Alberth> it is however very much not recommended
22:50:55  <andythenorth> fixed
22:51:14  <Alberth> you should do it with PYTHONPATH outside the script
22:51:24  <andythenorth> I'm mixing 2s and 4s on spaces.  dunno why
22:52:22  <andythenorth> PYTHONPATH -> command line args -m ?
22:52:27  <Alberth> python 2 or 3   ?
22:52:44  <andythenorth> 2.6.x for me
22:53:08  <Alberth> never used -m
22:53:15  <andythenorth> think I'm reading the docs wrong
22:53:33  <Alberth> class Trailer:  <-- needs inheriting from object then   class Trailer(object):
22:54:45  <Alberth>['refittable_classes'] = standard_class_refits['default']['allow']   <-- why not simple instance vars?   self.refittable_classes = ...  ?
22:55:23  <Alberth> # used for the purchase menu  <-- triple-quoted doc-strings?
22:55:56  <andythenorth> doc-strings for defs?
22:55:58  <andythenorth> ok
22:56:13  * Alberth uses epydoc standard for that
22:56:27  <Alberth> usually the text is longer than the code :)
22:56:38  <andythenorth> I'll read epydoc
22:57:10  <andythenorth> why not simple instance vars? <- for convenience when using them in the template
22:57:20  <andythenorth> it (nearly) everything is in, it's easier
22:57:24  <andythenorth> it / if /s
22:57:28  <Alberth> vehicles = [Truckid=i,properties=j for i,j in vehicles_dict.iteritems()]
22:57:50  <Alberth> oh missing parentheses with Truck, sorry
22:57:52  <andythenorth> oh the one line game :)
22:57:59  <andythenorth> ok
22:58:11  <Alberth> Truck(id=i,properties=j)
22:58:13  <andythenorth> let's use a comprehension :P
22:58:17  <andythenorth> they always make me feel smart
22:58:32  <Alberth> imho these cases make sense
22:58:37  *** TGYoshi [~TGYoshi@] has quit [Quit: Popidopidopido]
22:59:01  <andythenorth> yup
22:59:48  <andythenorth> class Trailer:  <-- needs inheriting from object then  class Trailer(object) <- this is the only thing I didn't understand so far...?
23:00:32  <Alberth> you could make constants   TRUCK_CAPACITY = 'truck_capacity'  and use the upper-case constant everywhere
23:00:47  <andythenorth> I could
23:00:54  <andythenorth> it's worth considering
23:01:30  <Alberth> class Trailer: is an old-style class, obsolete since 2.0 iirc    class Trailer(object): is a new-style class. It behaves nicer
23:01:36  <andythenorth> ok
23:01:47  <andythenorth> so it's just explicit what it inherits from?
23:02:10  <Alberth> no, it is really different, old-style don't inherit from object at all
23:02:16  <andythenorth> ok
23:03:31  <Alberth> in python3, 'object' inheriting is default I think, so there it is "classTrailer:" again :)    (but you need to check that, I am not sure)
23:03:37  <andythenorth> k
23:05:02  <andythenorth> thanks
23:05:11  <Alberth> your paths at the end also have /-es in them, which should be composed by os.path.join instead (so win* users also have good paths)
23:05:57  <Alberth> yw, if you want I can take another look at it this weekend or so; this was a quick one
23:06:02  <Alberth> just let me knwo
23:06:05  <Alberth> *kniow
23:06:07  <Alberth> *know
23:06:09  <Rhamphoryncus> Augh, FormatString is recursive?  And not just one way but multiple ways?  I can already hear the headache sneaking up on me
23:06:09  <andythenorth> ok thanks
23:06:14  <Alberth> time to go to bed :)
23:07:21  <Alberth> Rhamphoryncus: just make nice strings like in src/lang/english.txt :)
23:07:36  <Alberth> no need to dig in the details of rendering characters
23:07:41  <Alberth> good night all
23:08:02  <Rhamphoryncus> I was just exploring how the API works.  "a calls b, b calls c, c, calls d, d calls b, b calls b..."
23:08:17  <Rhamphoryncus> Actually that skips several steps I don't understand yet :P
23:08:42  *** sla_ro|master [~slaco@] has quit [Quit: - free first person shooter based of c&c 3]
23:08:51  <Alberth> which 'the' API?  I am sure there are more than one :)
23:08:54  *** DDR [~chatzilla@] has joined #openttd
23:10:30  *** Alberth [] has left #openttd []
23:11:03  <andythenorth> good night
23:11:43  * andythenorth just thought of something truly horrible
23:12:02  <andythenorth> write globals to a file while running the script, then have the templates import them :o
23:12:06  <Terkhen> going to sleep is not that horrible
23:12:07  <andythenorth> that's disgusting
23:12:31  <andythenorth> :)
23:12:50  * andythenorth will go to sleep and stop thinking of python abuses
23:12:55  <andythenorth> bye
23:12:57  *** andythenorth [] has quit [Quit: andythenorth]
23:15:57  <Rhamphoryncus> If you're using exec you can inject them directly, no need for an external file
23:19:00  <valhallasw> why use exec if you have globals()?
23:19:30  <valhallasw> and locals(), but in any case - you have a dict representing all local/global variables
23:22:39  *** MJP [] has quit [Ping timeout: 480 seconds]
23:24:00  <planetmaker> g'night
23:25:08  <Wolf01> 'night
23:25:11  *** Wolf01 [] has quit [Quit: Once again the world is quick to bury me.]
23:25:37  *** chester [] has quit [Read error: Connection reset by peer]
23:25:57  <Rhamphoryncus> exec lets you load the templates as a separate file
23:26:27  <Terkhen> good night
23:28:54  *** JVassie [~James@] has quit [Ping timeout: 480 seconds]
23:39:04  <Rhamphoryncus> Which "the" API would be whatever timetable_gui.cpp is using.. DrawString, SetDParam, that stuff
23:41:03  *** Progman_ [] has joined #openttd
23:46:37  *** Progman [] has quit [Ping timeout: 480 seconds]
23:46:43  *** Progman_ is now known as Progman

Powered by YARRSTE version: svn-trunk