Log for #openttd on 15th January 2012:
Times are UTC Toggle Colours
00:04:24  *** TGYoshi [~TGYoshi@] has quit [Quit: Popidopidopido]
00:14:56  *** pjpe [] has quit [Quit: ajax IRC Client]
00:21:49  *** pjpe [] has joined #openttd
00:22:54  *** Devroush [] has quit []
00:32:01  *** Evilfreud [~Sorcerer@] has joined #openttd
00:32:24  <Evilfreud> anyone had issues with version 1.1.5 and multiplayer games? dropping when the save file is over 5mb?
00:34:30  <Eddi|zuHause> there is no such version
00:35:19  <Evilfreud> Latest release in stable is 1.1.5, released on 2012-01-14 14:04 UTC.
00:35:25  <Eddi|zuHause> and the server may drop you if your download takes too long (or you can't catch up with the lost time quickly enough)
00:35:29  <Evilfreud> according to
00:35:55  <Evilfreud> is there anyway to prevent the server from dropping?
00:36:48  <Eddi|zuHause> there are certain timeout settings to tweak
00:37:16  <Evilfreud> that can be accessed in ingame menues?
00:37:20  <Eddi|zuHause> and obviously someone forgot to update the topic
00:37:43  <Eddi|zuHause> i think only from the console, or openttd.cfg
00:38:15  <Evilfreud> well it was updated today
00:38:21  <Evilfreud> and topic was set a few days ago
00:46:49  *** sla_ro|master [~slaco@] has quit [Quit: Sla Mutant Co-Op for Renegade - coming back soon]
00:58:13  *** TomyLobo [] has joined #openttd
01:11:54  *** Zuu [] has quit [Ping timeout: 480 seconds]
01:17:59  *** MJP [] has quit [Ping timeout: 480 seconds]
01:29:48  *** coldgold [] has joined #openttd
01:30:52  <coldgold> how do you post a saved game onto here?
01:34:08  *** JVassie [~James@] has quit [Ping timeout: 480 seconds]
01:40:43  *** coldgold [] has quit [Quit: ajax IRC Client]
01:43:24  *** Yexo changed the topic of #openttd to: 1.1.5, 1.2.0-beta2 | Website: * (translator: translator, server list: servers, wiki: wiki, patches & bug-reports: bugs, revision log: vcs, release info: finger) | Don't ask to ask, just ask | 'Latest' is not a valid version, ever | English only
01:48:53  *** pugi [] has quit [Ping timeout: 480 seconds]
01:49:09  *** pugi [] has joined #openttd
01:51:50  *** KritiK [] has quit [Quit: Leaving]
02:03:06  *** lollercaust [] has quit [Quit: Leaving]
02:07:33  *** dnicholls [] has quit [Quit: ChatZilla 0.9.88 [Firefox 9.0.1/20111220165912]]
02:08:42  *** EyeMWing [] has quit [Read error: Connection reset by peer]
02:08:57  *** EyeMWing [] has joined #openttd
02:18:23  *** MagisterQuis1 [] has quit [Ping timeout: 480 seconds]
02:18:49  *** devilsadvocate [~quassel@] has joined #openttd
02:31:34  *** valhalla1w [~valhallas@] has quit [Ping timeout: 480 seconds]
02:35:56  *** pugi [] has quit []
02:38:13  *** Biolunar_ [] has joined #openttd
02:43:22  *** Biolunar_ [] has quit [Quit: All your IRC are belong to us!]
02:45:34  *** Biolunar [] has quit [Ping timeout: 480 seconds]
02:51:15  *** Brianetta [] has quit [Quit: TschÌß]
02:57:10  *** fjb|tab [] has quit [Ping timeout: 480 seconds]
02:59:53  *** Snail_ [] has joined #openttd
03:24:31  *** glx [glx@2a01:e35:2f59:c7c0:44bb:1622:48de:ed94] has quit [Quit: bye]
03:27:51  *** Snail_ [] has quit [Quit: Snail_]
03:33:45  *** segin [] has joined #openttd
03:34:09  <segin> Where's the proper place to report a bug?
03:34:29  <segin> I just downloaded 1.1.5 for OS X, and it failed to run on my Macintosh with 10.3.9
03:34:54  <segin> The supported versions listed on the download page are 10.3-10.7
03:37:26  <Eddi|zuHause> did you install a graphics set?
03:37:38  <segin> No
03:37:44  <segin> But that's not relevant
03:38:06  <segin> It's a dynamic linker error.
03:38:39  <segin> see
03:39:34  <Eddi|zuHause> right. then the site is
03:39:44  <segin> Thank you very much.
04:20:42  *** TomyLobo [] has quit [Quit: Standby mode...]
04:50:06  <segin> Eddi|zuHause: Thanks, I filed a bug report, along with the shell output. But to confirm, is Mac OS X 10.3 still a supported platform? It's listed as such on the downloads page.
04:50:54  <Eddi|zuHause> it was supported once, but it's largely untested, because none of the developers have any system capable of running it anymore
04:51:27  <Eddi|zuHause> so i'd expect they'll need some frequent feedback for testing, if it's possible to fix at all
04:51:38  <segin> Ah.
04:51:58  <segin> well, if they need a live system, I'd be more than happy to let them use mine.
04:52:23  <segin> It's older than dirt, but it can deliver two nines availability
05:01:37  *** Snail_ [] has joined #openttd
05:03:43  *** pjpe [] has quit [Quit: ajax IRC Client]
05:09:16  *** pjpe [] has joined #openttd
05:56:01  *** Eddi|zuHause [] has quit [Remote host closed the connection]
05:56:22  *** Eddi|zuHause [] has joined #openttd
06:00:57  *** DayDreamer [] has joined #openttd
06:04:12  *** DayDreamer [] has left #openttd []
06:08:51  *** segin [] has quit [Quit: ajax IRC Client]
06:54:43  *** kkb110__ [] has joined #openttd
06:58:01  *** kkb110 [] has quit [Quit: Leaving]
06:58:37  *** AD [] has quit [Read error: Connection reset by peer]
07:04:01  *** AD [] has joined #openttd
07:04:06  *** Snail_ [] has quit [Quit: Snail_]
07:04:32  *** AD is now known as Guest24086
07:21:31  *** andythenorth [] has joined #openttd
07:28:04  <andythenorth> morning
07:35:10  <planetmaker> moin
07:45:28  *** KouDy [~KouDy@] has joined #openttd
07:51:27  <Terkhen> good morning
08:19:14  *** Alberth [] has joined #openttd
08:19:17  *** mode/#openttd [+o Alberth] by ChanServ
08:23:47  *** Neon [] has joined #openttd
08:41:30  *** Devroush [] has joined #openttd
08:54:40  *** MJP [] has joined #openttd
08:57:59  *** sla_ro|master [slaco@] has joined #openttd
09:05:48  *** valhallasw [~valhallas@] has joined #openttd
09:09:42  <andythenorth> #define THIS_TRAILER_1_ID         veh_hackler_CD_trailer_1
09:09:46  <andythenorth> #define THIS_TRAILER_ID(...)            __VA_ARGS__ ## THIS_TRAILER_1_ID
09:10:02  <andythenorth> how do I get the second define to expand THIS_TRAILER_1_ID ?
09:10:10  <andythenorth> I need to wrap it in another macro somehow
09:10:35  <planetmaker> iirc that doesn't work
09:10:47  <Alberth> #define B(X, Y) X ## Y      and B(__VA_ARGS__, THIS_TRAILER_1_ID)   ?
09:11:02  <andythenorth> Alberth: seems plausible
09:12:31  <Alberth> although __VA_ARGS__ ## anything looks very fishy imho
09:13:20  <andythenorth> hmm
09:13:27  <andythenorth> the B() method doesn't work
09:13:38  <andythenorth> still not expanding THIS_TRAILER_1_ID
09:13:52  <andythenorth> think it needs another call
09:15:24  <Alberth> could you explain how this becomes easier to understand and maintain again, please?
09:15:47  <andythenorth> I'm not sure it does
09:15:59  * Alberth nods
09:16:04  <andythenorth> I might just duplicate the defines of identifiers several times
09:16:15  <andythenorth> copy + paste is easier than maintaining brainfuck cpp
09:16:41  <Alberth> cpp isn't designed for what you are trying to do, so duh :)
09:17:06  <andythenorth> it's all I've got right now ;)
09:18:09  *** LordAro [] has joined #openttd
09:18:28  <LordAro> good mornings
09:18:35  <Alberth> moin lord
09:20:25  * Alberth sees pictures of people hammering down screws in the wood
09:21:00  <planetmaker> andythenorth: in FIRS we use THIS_ID(whateverswitchname) in the templates
09:21:06  <planetmaker> but we don't template the templates
09:21:13  <planetmaker> thus we spell out the templates entirely
09:21:19  <LordAro> Alberth: wuh?
09:21:58  <Alberth> you are reading logs, weren't you?  :)
09:21:58  * andythenorth offers free chance to anyone else to try templating articulated trucks with nml + cpp
09:22:01  <andythenorth> good luck
09:22:10  * andythenorth nearly has it done without insane cpp
09:22:11  <planetmaker> it may occasionally come with a bit copying when differing similar templates
09:22:15  <planetmaker> but... that's acceptable
09:22:40  <planetmaker> first, andythenorth, I'd remove all those defines which read like
09:22:47  <planetmaker> #define THIS_TRUCK_COST 10
09:22:48  <planetmaker> and later
09:22:53  <planetmaker> you just use it as
09:23:02  <planetmaker> property { cost: THIS_TRUCK_COST; }
09:23:05  <andythenorth> hmm
09:23:13  <andythenorth> that's hardly the problem :)
09:23:23  <planetmaker> that's bloat and makes it not readable
09:23:23  *** macee [] has joined #openttd
09:23:43  <planetmaker> and obstructs the view on the real problem(s)
09:25:05  <LordAro> Alberth: still not getting you :)
09:26:08  <planetmaker> andythenorth: and in order to be able to do that in a good way, it'll need knowledge of what the code w/o template looks like ;-)
09:28:50  *** Zeknurn [] has quit [Read error: Connection reset by peer]
09:32:21  *** macee [] has quit [Remote host closed the connection]
09:32:43  <andythenorth> planetmaker: it looks very long
09:32:52  <andythenorth> I wouldn't bother writing it out tbh
09:32:57  *** Zeknurn [] has joined #openttd
09:33:12  <andythenorth> I could just switch to nfo and do this in the way I know how - but that's not so useful
09:34:02  <Alberth> and that is not long?
09:34:44  <andythenorth> not really no
09:34:59  <andythenorth> nml works fundamentally differently to nfo wrt varaction 2
09:35:41  <andythenorth> I have now achieved several working solutions, but they all suck wrt 'too much cpp' or 'too many hard coded identifiers'
09:36:00  <andythenorth> duplication of hard coded identifiers is a lesser evil by far though
09:36:51  <Alberth> can you give me an example of what you want to have and/or the cpp code, I could have a go with m4
09:37:42  <planetmaker> <-- Alberth
09:37:52  <planetmaker> that's already pre-processed, though
09:38:39  *** Progman [] has joined #openttd
09:39:40  <Alberth> how to guess what you want to have parameterized?
09:42:09  <andythenorth> repo? :P
09:42:21  <andythenorth> give me a couple of mins to commit something that works
09:46:43  <andythenorth> Alberth: pushed
09:47:00  <Alberth> thanks
09:47:04  <andythenorth> there's a bug with truck capacity, but I think it's an obiwan
09:47:36  <planetmaker> <-- a tentative template for the extra text
09:47:49  <planetmaker> it requires #define TRAILER_NUMBER 2
09:47:50  <Alberth> doesn't matter, I am only interested in the input -> output relation, not in the actual values
09:47:53  <planetmaker> (or 0,1,2,3)
09:48:41  <Alberth> line 40 is wrong :)
09:49:55  <planetmaker> indeed :-)
09:50:38  *** macee [] has joined #openttd
09:50:55  *** macee [] has left #openttd []
09:54:11  *** pjpe [] has quit [Quit: ajax IRC Client]
09:59:07  *** TWerkhoven[l] [] has joined #openttd
10:05:03  <andythenorth> planetmaker: the subtypes are best handled with (mostly) plain switches
10:05:16  <andythenorth> I abandoned the idea of making this extensible to n trailers automatically
10:05:25  <andythenorth> it's a much simpler problem after that
10:07:05  *** Zuu [] has joined #openttd
10:10:57  <Alberth> but those expansions are much easier in nml, as you can write loops and do computations :p
10:11:04  <Alberth> s/nml/m4/
10:11:05  <Alberth> :)
10:11:35  <andythenorth> not much cpp here ;)
10:11:44  <andythenorth> some of those ALL_CAPS are nml built ins
10:12:27  *** cornjuliox [cornjuliox@] has quit [Ping timeout: 480 seconds]
10:17:19  * andythenorth has to go bbl
10:17:50  <andythenorth> the only difficult problem is passing trailer identifiers to both the articulated building cb AND the graphics template without duplicating them
10:17:51  <andythenorth> bye
10:17:57  *** andythenorth [] has quit [Quit: andythenorth]
10:21:24  <planetmaker> he, Alberth :-) we were about equally fast ;-)
10:22:16  <Alberth> ok, who should finish it?
10:22:29  * Alberth is typing a reply in the FS
10:22:52  <planetmaker> I don't answer in FS
10:22:59  <planetmaker> I referred to the ogfx+rv issue
10:23:21  <planetmaker> and I just closed the issue I created ;-)
10:25:03  *** fjb|tab [] has joined #openttd
10:27:31  *** DDR [~chatzilla@] has quit [Quit: ChatZilla 0.9.88 [Firefox 9.0.1/20111221202647]]
10:31:27  *** Chris_Booth [] has joined #openttd
10:35:54  *** TWerkhoven[l] [] has quit [Quit: He who can look into the future, has a brighter future to look into]
10:38:15  *** Chris_Booth [] has quit [Quit: ChatZilla 0.9.88 [Firefox 10.0/20120111092507]]
10:38:26  *** Chris_Booth [] has joined #openttd
10:40:10  *** Chris_Booth [] has quit []
10:40:25  *** Chris_Booth [] has joined #openttd
10:41:36  <Zuu> Is that an experiment to release 1.1.5 but not post anything on the forums/website about it?
10:42:20  *** Chris_Booth [] has quit []
10:42:28  *** Chris_Booth [] has joined #openttd
10:42:34  <planetmaker> well... :-)
10:46:05  <LordAro> :P
10:46:15  *** Chris_Booth [] has quit []
10:46:26  *** Chris_Booth [] has joined #openttd
10:48:25  <planetmaker> I guess I could make a short announcement
10:49:20  *** Cybertinus [] has joined #openttd
11:02:05  <planetmaker> There, Zuu. I even travelled back in time ;-)
11:02:29  *** JVassie [~James@] has joined #openttd
11:02:52  *** Cybertinus [] has quit [Remote host closed the connection]
11:04:06  <TrueBrain> at least someone who cares abuot those things :D
11:13:42  *** pugi [] has joined #openttd
11:17:12  <Zuu> planetmaker: great! :-)
11:22:07  *** andythenorth [] has joined #openttd
11:26:25  *** LordAro [] has quit [Quit: "Time is an illusion. Lunchtime doubly so."]
11:26:48  *** LordAro [] has joined #openttd
11:27:50  <andythenorth> Alberth: any results with m4? :)
11:28:29  <Alberth> I had some things to finish first, and was about to start now :)
11:29:01  *** Zuu [] has quit [Ping timeout: 480 seconds]
11:31:35  <CIA-1> OpenTTD: yexo * r23801 /trunk/src/ (3 files in 3 dirs): -Fix: reading the utf-8 BOM from AI/GS files on big-endian machines failed
11:34:06  *** Elukka [] has joined #openttd
11:34:45  <Alberth> hmm, I should look at bandit code of course :)
11:35:20  *** Cybertinus [] has joined #openttd
11:35:45  *** TWerkhoven [] has joined #openttd
11:37:37  *** TGYoshi [~TGYoshi@] has joined #openttd
11:37:50  <andythenorth> Alberth: it's mostly pretty simple
11:39:41  *** Biolunar [] has joined #openttd
11:40:08  <andythenorth> trucks have 0 trailers (simple) or n trailers
11:40:40  <andythenorth> trailer trucks are 'drawbar' or 'fifth wheel'
11:40:41  <Alberth>  is the output of the summary?
11:41:02  <Alberth> what would you want to say as input here?
11:41:31  <andythenorth> that's just code
11:41:39  <andythenorth> templating that is bonkers imho :)
11:41:58  <andythenorth> there's a templated switch that chains into those switches
11:44:49  <Alberth> I am looking for input text + output text, and how they relate
11:45:23  <andythenorth> I guess the singel processed nml file is best output?
11:45:27  <andythenorth> single /s
11:47:10  <Alberth> I can produce that, I guess
11:47:24  <Alberth> but what should I try to convert?
11:48:10  <Alberth> entire bandit is too much too understand :p
11:48:25  <andythenorth> it's only two trucks in the output
11:48:31  <andythenorth> I can't reduce much further :)
11:48:45  <andythenorth> they show two different cases
11:49:11  <Alberth> ah, you don't use most of the files.  ok :)
11:49:29  <andythenorth> indeed
11:49:36  <andythenorth> I'm just working on example cases
12:01:23  <andythenorth> Alberth: realistically, the code doesn't need to scale trivially to n trailers either
12:01:28  <andythenorth> 3 is sufficient
12:01:45  <andythenorth> that was my first mistake, which I've sorted out now
12:01:47  <andythenorth> :P
12:04:19  *** snack2 [] has joined #openttd
12:13:45  *** KritiK [] has joined #openttd
12:14:23  *** Chris_Booth [] has quit [Ping timeout: 480 seconds]
12:17:53  <andythenorth> I considered recently removing farm clustering in FIRS
12:18:10  <andythenorth> replacing them with one large 'farm cluster' industry for each type of farm, with graphics for 4 or 5 'farms'
12:18:14  <andythenorth> and higher production
12:19:02  *** Chris_Booth [] has joined #openttd
12:20:12  *** LordAro [] has quit [Quit: "Time is an illusion. Lunchtime doubly so."]
12:23:37  <Yexo> Alberth: about FS#4973, it it's a tcp connection the order of the packets it guaranteed by the network protocol
12:24:21  <andythenorth> hmm
12:24:22  <Alberth> he said 'bot', I interpret that as IRC bot
12:24:30  *** cornjuliox [cornjuliox@] has joined #openttd
12:24:31  <andythenorth> can I make variadic macros chain with something silly like #?
12:24:34  <andythenorth> nvm
12:24:37  * andythenorth makes lunch
12:25:01  <Yexo> in that case ok, I thought he just named the program that connected to the admin port a "bot"
12:26:48  <Alberth> a valid 2nd explanation, but it is all just guessing
12:27:38  <Alberth> and the OP is not aware of such things himself, or he would have said so
12:27:53  <Yexo> I agree :)
12:35:16  *** Brianetta [] has joined #openttd
12:46:36  * Alberth is quite lost in the massive number of the files and #defines
12:49:09  *** DayDreamer [] has joined #openttd
12:49:43  *** DayDreamer [] has left #openttd []
12:51:42  <andythenorth> Alberth: in BANDIT?
12:51:51  * Alberth nods
12:52:18  <andythenorth> the over-use of #defines is a pattern I use nobody else likes.  It's overly abstracted
12:52:21  <andythenorth> but I like it...
12:52:44  <Alberth> if you know the structures, I am sure it makes sense
12:52:58  <andythenorth> the number of files...hmm
12:53:01  <andythenorth> some aren't used
12:53:09  <Alberth> but I just want to show an example, and instead I am looking for #defines all over the place
12:53:40  <andythenorth> hmm
12:53:47  <Alberth> not to mention the deep directory structure :)
12:53:57  <andythenorth> most of the defines relate to vehicle properties
12:54:13  <andythenorth> they could be substituted with the actual output nml
12:54:19  <andythenorth> but I'd probably need to do that for you :P
12:55:12  <Alberth> just a single file that contains all stuff for the example would be enough
12:55:34  <Alberth> the #define show what you try to abstract away
12:56:14  <CIA-1> OpenTTD: yexo * r23802 /trunk/src/network/network_client.cpp: -Fix [FS#4968] (r23601): game lobby gui not updated when new company information becomes available
12:56:23  <Alberth> perhaps I should copy all files into a single directory :)
12:59:46  <andythenorth> they're only deep because it's faster for me to navigate that way in my file browser
12:59:57  <andythenorth> no other reason :)
13:00:13  <Yexo> Alberth: if you compile bandit you get a single nml file with all contents in the root directory
13:00:41  *** glx [glx@2a01:e35:2f59:c7c0:c046:10c0:7dca:10dd] has joined #openttd
13:00:44  *** mode/#openttd [+v glx] by ChanServ
13:01:05  <Alberth> I know, but I want a single file with #defines in it
13:01:30  <Alberth> ie only eliminate #include
13:01:51  <Yexo> not sure there is an easy way to do that
13:02:12  <Alberth> otherwise I have to guess what andy wants to input
13:02:14  <andythenorth> copy and paste
13:02:20  <Eddi|zuHause> sed s/#define/XXXdefine/?
13:02:51  <Alberth> good idea Eddi|zuHause, let's try that
13:02:56  <andythenorth> a single file with only defines?
13:02:59  <andythenorth> he
13:03:35  <Eddi|zuHause> STAND BACK, I'm going to use REGEXP!
13:04:13  <andythenorth> Alberth: the file you need is the entire grf, or the entire template for one vehicle?
13:04:32  <Alberth> just one vehicle first
13:04:32  <andythenorth> or the entire template for one consist?
13:04:47  <Alberth> what you prefer
13:05:31  <andythenorth> because it's RVs, you're templating a consist
13:05:36  <andythenorth> so I guess that
13:06:11  <CIA-1> OpenTTD: yexo * r23803 /trunk/src/error_gui.cpp: -Fix [FS#4969]: newgrf textstack was not properly used when storing parameters for the error message window
13:07:16  <andythenorth> but as consists vary, I guess you might need 3 example consists
13:07:58  <Alberth> do the most complicated one? :)
13:11:10  <Alberth> Eddi|zuHause: that seems to work :)
13:12:38  <Alberth> hmm, it works mostly :)
13:14:47  *** Progman [] has quit [Remote host closed the connection]
13:17:05  <CIA-1> OpenTTD: yexo * r23804 /trunk/src/ (newgrf_text.cpp strings.cpp): -Fix: [NewGRF] Make string code 80 more secure by not crashing when it's used in strings where it's not supposed to be used
13:20:24  <andythenorth> Alberth: does it compile? :)
13:22:48  *** Knogle_ [] has joined #openttd
13:23:19  *** Knogle_ is now known as Knogle
13:28:25  *** Progman [] has joined #openttd
13:29:10  *** kais58 [] has joined #openttd
13:33:51  *** fjb|tab [] has quit [Ping timeout: 480 seconds]
13:43:25  *** frosch123 [] has joined #openttd
13:46:32  <Hirundo> andythenorth: Please keep farm clustering as-is
13:49:03  <andythenorth> it's known to have flaws :)
13:49:16  <andythenorth> but I think they can be fixed
13:51:48  *** EyeMWing [] has quit [Read error: Connection reset by peer]
13:52:04  *** EyeMWing [] has joined #openttd
13:57:24  *** Chris_Booth_ [] has joined #openttd
13:57:42  *** Chris_Booth [] has quit [Ping timeout: 480 seconds]
13:57:42  *** Chris_Booth_ is now known as Chris_Booth
13:59:40  <appe_> how do i save a server game?
14:02:32  *** andythenorth [] has quit [Quit: andythenorth]
14:02:33  <planetmaker> join and save locally
14:02:36  <planetmaker> or use rcon save
14:06:42  *** TdlQ [] has joined #openttd
14:10:46  <appe_> ah
14:10:57  <appe_> how do i load it on the dedicated server after a reboot?
14:12:11  *** MJP [] has quit [Ping timeout: 480 seconds]
14:14:48  *** TdlQ is now known as MJP
14:15:17  <kais58> from a terminal it's "/path/to/openttd -D -g /path/to/save/file"
14:22:05  *** fjb|tab [] has joined #openttd
14:39:30  *** tokai|mdlx [] has joined #openttd
14:40:12  <Hirundo> How do I disable autorefit on a given order?
14:42:29  <Hirundo> It may seem stupid, but I can only seem to change between 'autorefit to XX' and 'autorefit to available', not stop autorefitting
14:42:49  <frosch123> ctrl+click
14:43:18  <frosch123> what else? :p
14:43:45  <Hirundo> ah
14:44:07  <Hirundo> adding a 'no autorefit' option to the dropdown wouldn't hurt IMO, though
14:44:22  <frosch123> same for normal refit :)
14:44:34  *** fjb|tab [] has quit [Remote host closed the connection]
14:45:15  *** tokai|noir [] has quit [Ping timeout: 480 seconds]
14:46:03  <Hirundo> For depot orders there are now two refit buttons, one of which is greyed out
14:47:04  <frosch123> damn, svn is so annoying
14:47:20  <frosch123> it just cannot handle adding/removing directories
14:48:17  <frosch123> maybe i should use hg for bisecting :)
14:51:16  <frosch123> btw. you should all use integer parameters in action b more often :p
14:52:44  *** namad7 [] has quit []
14:54:45  *** mib_amna8v [] has joined #openttd
14:55:10  <mib_amna8v> hello all
14:55:16  <mib_amna8v> 14:47:20 < frosch123> it just cannot handle adding/removing directories
14:55:20  *** TGYoshi [~TGYoshi@] has quit [Quit: Popidopidopido]
14:55:34  *** TGYoshi [~TGYoshi@] has joined #openttd
14:55:39  <mib_amna8v> ?? I have done this plenty of times with cargodist
14:56:22  <frosch123> it fails if the directory is already present (unversioned) resp. has some (svn:ignored) files in there
14:56:29  <mib_amna8v> just "svn add src/directory/" should do the trick
14:56:42  <mib_amna8v> all files in there will be added automatically ...
14:56:45  <frosch123> i am talking about svn update :p
14:56:52  <mib_amna8v> ah ok
14:57:38  *** DOUK [] has quit [Read error: Connection reset by peer]
14:58:10  <mib_amna8v> Never tried with ignored files in there.
14:58:21  <Alberth> frosch123: hg does not even version directories :p
14:58:50  <frosch123> Alberth: yup, thus i beleive it would handle it better
14:59:54  <Alberth> I can recommend making a local mirror of the hg mirror, to use as clone-base for your patches :)
15:00:14  <frosch123> i have it, but i do not use it :p
15:00:23  *** namad7 [] has joined #openttd
15:01:19  <Alberth> your patches are too simple :D
15:01:58  <mib_amna8v> anyway ... have to take advantage of having a couple of hours of free time to mess with the code a bit :P
15:02:08  <mib_amna8v> good afternoon all.
15:02:13  <frosch123> i would not have to bisect back to r22000 if people would test better :p
15:02:32  *** mib_amna8v [] has quit [Quit: ajax IRC Client]
15:02:50  *** Jogio [] has joined #openttd
15:03:28  <Jogio> hi "_"
15:03:36  <Terkhen> hi
15:03:46  <frosch123> ah, i see, the bug has been present for ages, we just added better testing :p
15:06:07  *** Phoenix_the_II [] has quit [Read error: Connection reset by peer]
15:07:08  <Jogio> can somebody of the important openttd persons look on please? :-)
15:10:41  *** TGYoshi [~TGYoshi@] has quit [Quit: Popidopidopido]
15:10:55  *** TGYoshi [~TGYoshi@] has joined #openttd
15:15:53  *** TGYoshi [~TGYoshi@] has quit []
15:16:06  *** TGYoshi [~TGYoshi@] has joined #openttd
15:18:42  *** TGYoshi [~TGYoshi@] has quit []
15:18:55  *** TGYoshi [~TGYoshi@] has joined #openttd
15:20:28  *** TGYoshi [~TGYoshi@] has quit []
15:20:41  *** TGYoshi [~TGYoshi@] has joined #openttd
15:21:56  <JVassie> anyone able to help me with a little regex issue pls?
15:22:16  <JVassie> I have a string like this for example 'Client Reference: Vassie'
15:22:46  <JVassie> Vassie could be any name though
15:22:53  <JVassie> A-Za-z and hyphens
15:23:09  <JVassie> need to match the thing and wrap it in a h3 tag
15:23:17  <JVassie> so it would read
15:23:25  <JVassie> <h3>Client Reference: Vassie</h3>
15:24:16  <JVassie> preg_replace("#(Client Reference: )([A-Za-z]+)(<br />)#e","<h3></h3>",$regtext);
15:24:24  <JVassie> is what i have so far
15:24:58  <Alberth> and that will not ever work reliably, as RE is not powerful enough to handle a context-free language like html
15:25:29  <JVassie> hmm
15:25:43  <Alberth> oh, you are going to html. sorry
15:25:55  <JVassie> aye
15:26:47  <JVassie> i put the <br /> tag in the match too just so it doesnt start looking at next line
15:26:52  <JVassie> not sure if thats the best thing to do tho
15:27:11  <Rubidium> most ikely not
15:27:17  <Rubidium> unless it's html-ish
15:27:22  <Eddi|zuHause> that doesn't look right
15:27:30  <Alberth> it's not in your string, so it would fail to match
15:28:38  <Alberth> why not put your string as-is in the <h3> tags?
15:29:01  <JVassie> because my string contains a whole load of other lines of text
15:29:11  <JVassie> seperate by '<br /><br />'
15:29:24  <Alberth> you are READING html?
15:29:35  <JVassie> 2 secs i will do a pastebin
15:29:48  *** TomyLobo [] has joined #openttd
15:29:50  <Eddi|zuHause> use xsl :)
15:30:40  <Alberth> well, anything that can correctly deal with the input language would do :)
15:30:55  <JVassie>
15:31:05  <JVassie> thats what $regtext contains
15:31:22  <JVassie> hmm, theres a space after Vassie
15:31:32  <Alberth> looks like xml or html to me
15:32:23  <JVassie> contents of $regtext is just html
15:32:36  <Alberth> (16:29:30) Alberth: and that will not ever work reliably, as RE is not powerful enough to handle a context-free language like html
15:32:42  <Alberth> thus :)
15:32:44  <JVassie> hmm
15:32:47  *** DoubleYou [] has joined #openttd
15:33:25  <Alberth> ie you can get  Client reference:\nAlberth as input and your RE will fail
15:34:47  <JVassie> taking the html out of it then
15:34:48  <JVassie> $regtext = 'Client Reference: Vassie';
15:34:48  <JVassie> 		preg_replace("#(Client Reference: )([A-Za-z]+)#","<h3></h3>",$regtext);
15:35:06  *** lollercaust [] has joined #openttd
15:35:38  <JVassie> any ideas why that alone doesnt work?
15:36:00  <Eddi|zuHause> JVassie: that will fail as soon as you get arbitrary whitespace
15:36:20  <JVassie> need to replace the ' ' with \s{1} ?
15:36:39  <Eddi|zuHause> rather \s*
15:36:42  <Alberth> "<h3>" + $regtext + "</h3>" ?
15:37:04  <JVassie> heh Alberth, if I had just that string, then sure :p
15:37:56  <Eddi|zuHause> JVassie: well, you just take a random xml engine, and build the tree. then you go to the leaf containig the "client reference" string
15:38:25  <Eddi|zuHause> nest that in a <h3> node, and write out the xml again
15:38:29  <JVassie> hmm
15:38:44  <Eddi|zuHause> assuming you got valid xhtml
15:39:24  <JVassie> website being written in HTML 5
15:39:53  <JVassie> ok, taking it back a step further
15:39:58  <JVassie> might be a smarter way of doing it
15:40:06  <JVassie> users fill in a form
15:40:19  <JVassie> php generates a $regtext base on the input of the form
15:40:33  <JVassie> it then displays the $regtext ina <textarea>
15:40:38  <JVassie> which the user may wish to tweak
15:40:48  <JVassie> adding/removing ifnromation as they see fit
15:40:52  <JVassie> *information
15:40:57  <Eddi|zuHause> never ever allow users to submit xml/html
15:41:07  <JVassie> theyre not submitting html :)
15:41:09  <JVassie> just text
15:41:34  <JVassie> so the actual post result i get from the textarea contains a load of \n
15:41:42  <JVassie> which i str_replace to <br />
15:41:54  <TinoDidriksen> PHP has nl2br()
15:41:56  <Eddi|zuHause> don't do that
15:42:16  <JVassie> bah forgot about nl2br
15:44:40  <JVassie> urgh
15:45:38  <JVassie> what would be a better way of going about it then?
15:47:55  <appe_> hmz
15:48:08  *** snack2 [] has quit []
15:48:26  <appe_> when installing 1.1.5 onto a 1.1.4 version, does openttd.cfg get written over with 1.1.5's default config?
15:49:03  <CIA-1> OpenTTD: frosch * r23805 /trunk/src/ (4 files in 3 dirs): -Add: {STRING6} and {STRING7}.
15:50:01  <CIA-1> OpenTTD: frosch * r23806 /trunk/src/lang/english.txt: -Fix: [NewGRF] Integer parameters in ActionB did not quite work anymore.
15:50:02  <Eddi|zuHause> appe_: no, only the new values get default, all old values will be kept
15:50:27  <appe_> perfect!
15:50:37  <Ammler> appe_: you should split installdir and datadir
15:50:46  <appe_> i realized it already does
15:54:16  *** macee [] has joined #openttd
16:02:21  *** macee [] has quit [Remote host closed the connection]
16:13:13  *** Alberth [] has left #openttd []
16:13:44  *** Zuu [] has joined #openttd
16:16:31  *** TGYoshi [~TGYoshi@] has quit [Quit: Popidopidopido]
16:16:43  *** TGYoshi [~TGYoshi@] has joined #openttd
16:17:11  *** me_set [] has joined #openttd
16:25:15  *** me_set [] has quit [Quit: ajax IRC Client]
16:40:30  <cornjuliox> do tunnels still have implied signals at their entrance and exits?
16:41:11  *** namad7 [] has quit []
16:42:04  *** andythenorth [] has joined #openttd
16:42:49  <kais58> don't think they do
16:43:52  *** namad7 [] has joined #openttd
16:44:22  <Terkhen> cornjuliox: unless I understood your question wrong, they never did
16:51:35  <andythenorth> @seen alberth
16:51:35  <DorpsGek> andythenorth: alberth was last seen in #openttd 1 hour, 14 minutes, and 52 seconds ago: <Alberth> "<h3>" + $regtext + "</h3>" ?
16:52:14  <Jogio> @seen @DorpsGek
16:52:15  <DorpsGek> Jogio: I have not seen @DorpsGek.
16:52:55  <Jogio> you need a mirror
16:53:34  <__ln__> so do you
16:54:54  *** Chris_Booth_ [] has joined #openttd
16:57:03  <Jogio> hey , please give me rights for webtranslator someone. I have time now and can't do any useful.
16:58:07  *** Chris_Booth [] has quit [Ping timeout: 480 seconds]
16:58:21  *** Chris_Booth_ is now known as Chris_Booth
17:01:38  *** Snail_ [] has joined #openttd
17:04:57  <Eddi|zuHause> "please give me op, i'm an rl friend of DorpsGek"
17:06:21  *** andythenorth [] has quit [Quit: andythenorth]
17:07:42  <Terkhen> Jogio: if you sent an email, you will have to wait until the person(s) that take care of have time to check it
17:08:26  <Jogio> yes I sent it yesterday
17:10:45  *** DoubleYou [] has quit [Ping timeout: 480 seconds]
17:10:48  *** andythenorth [] has joined #openttd
17:11:01  *** DoubleYou [] has joined #openttd
17:19:03  *** DoubleYou [] has quit [Ping timeout: 480 seconds]
17:19:23  *** DoubleYou [] has joined #openttd
17:21:04  *** DoubleYou [] has quit []
17:23:38  *** Progman [] has quit [Remote host closed the connection]
17:26:44  *** mahmoud [] has joined #openttd
17:33:36  <CIA-1> OpenTTD: frosch * r23807 /trunk/src/ (newgrf.cpp newgrf_config.cpp newgrf_config.h newgrf_gui.cpp): -Codechange: GRFError::num_params is not needed, remove it.
17:36:13  *** andythenorth [] has quit [Quit: andythenorth]
17:38:31  *** andythenorth [] has joined #openttd
17:51:11  *** kkb110__ [] has quit [Quit: Leaving]
18:17:51  <CIA-1> OpenTTD: frosch * r23808 /trunk/src/lang/ (52 files in 2 dirs): -Codechange: Remove various translations which will be invalid with the next commit.
18:18:46  <CIA-1> OpenTTD: frosch * r23809 /trunk/src/ (lang/english.txt newgrf.cpp): -Feature: Enhance some fatal NewGRF errors with the spritenumber that caused the problem.
18:22:11  <Eddi|zuHause> now we only need the sprite number in the sprite aligner
18:24:32  <Eddi|zuHause> and also a debug-mode where i can not only view real sprites, but any pseudo sprites, and in case of action 2, see the last variables and return values it was accessed with
18:25:12  <frosch123> sorry, but christmas was 3 weeks ago
18:31:01  *** andythenorth [] has quit [Quit: andythenorth]
18:34:05  *** perk11 [~perk11@] has joined #openttd
18:40:13  <Eddi|zuHause> there's always the next christmas
18:40:15  <Eddi|zuHause> or easter
18:40:22  <Eddi|zuHause> or valentines day :p
18:43:07  *** Brianetta [] has quit [Quit: TschÌß]
18:44:33  *** Muxy [] has joined #openttd
18:44:53  <Muxy> Hello here
18:44:58  <Muxy> No Alberth, dommage
18:45:43  <CIA-1> OpenTTD: translators * r23810 /trunk/src/lang/ (8 files in 2 dirs): (log message trimmed)
18:45:43  <CIA-1> OpenTTD: -Update from WebTranslator v3.0:
18:45:43  <CIA-1> OpenTTD: dutch - 3 changes by Bennievv
18:45:43  <CIA-1> OpenTTD: english_US - 7 changes by Rubidium
18:45:43  <CIA-1> OpenTTD: german - 12 changes by NG, planetmaker
18:45:43  <CIA-1> OpenTTD: korean - 3 changes by telk5093
18:45:43  <CIA-1> OpenTTD: latvian - 54 changes by Parastais
18:47:57  <kais58> extract from a build.log, anyone know why it's breaking?
18:48:35  *** lollercaust [] has quit [Quit: Leaving]
18:50:43  <CIA-1> OpenTTD: rubidium * r23811 /extra/strgen/Makefile.sub: [strgen] -Fix: compilation
18:53:10  *** perk111 [~perk11@] has joined #openttd
18:53:24  <xQR> mh, it seems STR_NETWORK_ERROR_TIMEOUT_PASSWORD and STR_NETWORK_ERROR_TIMEOUT_COMPUTER are missing in 1.1.5, despite being used because of the backport of the timeout fixes
18:53:37  <xQR> missing from the lang files i mean
18:53:59  * TrueBrain looks at Rubidium with a face :P
18:54:03  *** kkb110_ [] has joined #openttd
18:54:14  <TrueBrain> kais58: with what patch applied?
18:54:22  <xQR> should i bother to create a bug tracker entry or will the next release be 1.2.0 anyway? :P
18:54:29  <xQR> beta has the texts
18:55:31  <frosch123> i would assume 1.2.0 to be the next one :)
18:55:39  <kais58> TrueBrain: 1.1.3 without patches as far as I know
18:55:46  <TrueBrain> kais58: which compiler?
18:55:54  <xQR> yeah so the problem will solve itself with 1.2.0 release, then i won't bother
18:56:14  <xQR> it's not causing any problems except that people leaving with a timeout are shown to leave due to a "general error"
18:56:23  <kais58> gcc-4.7
18:56:31  <TrueBrain> kais58: does it also happen with trunk?
18:56:59  <Rubidium> since 4.7 is a development version of gcc, it might very well be a gcc bug
18:57:05  <frosch123> TrueBrain: you fixed the "general error" bug in trunk
18:57:12  <TrueBrain> I did; before the backport
18:57:16  <frosch123> maybe it was not backported
18:57:18  <TrueBrain> so I assume Rubidium did backport it where needed
18:57:33  <kais58> I think it was gcc-4.7, I'll make sure
18:57:50  <TrueBrain> kais58: also check against latest trunk; we do fix GCC bugs when we find them
18:57:58  <TrueBrain> newer GCC tends to introduce bugs :P
18:58:46  *** Alberth [] has joined #openttd
18:58:49  *** mode/#openttd [+o Alberth] by ChanServ
18:58:50  <kais58> yeah, it was 4.7.0, I'll see if I can try trunk
18:59:26  <xQR> as i said, no need to bother anyway when it's ok in 1.2.0 beta already and that will be the next release, as it is only a text error
19:00:10  *** perk11 [~perk11@] has quit [Ping timeout: 480 seconds]
19:01:48  <xQR> hm, actually it isn't, i looked at the wrong file
19:06:36  *** HerzogDeXtEr1 [~Flex@] has joined #openttd
19:09:21  <xQR> ah, it's just english_US.txt where it is missing in - in english.txt it exists
19:09:34  <xQR> in beta it is also in english_US.txt
19:10:34  <xQR> but that's the message that is sent to the affected client - the message displayed to all other players would still show general error in beta, as the STR_NETWORK_ERROR_CLIENT_TIMEOUT_* strings don't exist, they are only in trunk
19:11:10  *** andythenorth [] has joined #openttd
19:11:21  <Rubidium> I didn't backport any translations, so they'll definitely be missing
19:11:51  <xQR> i see
19:12:12  <andythenorth> Eddi|zuHause: how much of the CETS compile time is the python stage?
19:12:20  <Rubidium> but then it uses the English (UK) string
19:12:25  <Eddi|zuHause> andythenorth: 1%?
19:12:30  <xQR> but at least in next 1.2.0 it would be good to have the actual messages and not just "general error" (shown to all other clients)
19:12:35  <frosch123> Rubidium: i think r23780 is missing in 1.1
19:12:42  <Alberth> andy !
19:12:42  <andythenorth> Eddi|zuHause: I'm considering a code generator :P
19:12:46  <frosch123> noone put it on the list for backports
19:12:46  <Eddi|zuHause> andythenorth: nml takes ridiculously long
19:12:58  <andythenorth> I know
19:13:30  *** HerzogDeXtEr [~Flex@] has quit [Ping timeout: 480 seconds]
19:14:01  <michi_cc> xQR: A string missing in english_US.txt only means that the string from english.txt is shown instead, not that won't be shown in any way.
19:14:02  <andythenorth> Eddi|zuHause: this is a set of defines composing a truck, it's pure CPP, no nml.  Could *this* be generated from source (.csv or similar)?
19:14:18  <Eddi|zuHause> real    0m2.808s <-- just the python
19:14:27  <xQR> yeah that was the strings shown to the client affected and i understood that
19:14:32  <Muxy> good evening Alberth
19:14:43  <xQR> but there is a second set of strings with messages shown to all other players (and i think on the console)
19:14:49  <Alberth> hi
19:14:50  <Eddi|zuHause> andythenorth: i use tsv, because csv has issues with commas in names, strings, etc.
19:14:59  <andythenorth> potato / potato :D
19:15:02  <xQR> and those aren't set for beta 1.2.0 - not in english.txt and not used in the code
19:15:11  <Alberth> I was just typing a reply to you.
19:15:17  <Eddi|zuHause> andythenorth: i can be fairly certain that there won't be a use for tabs in strings :)
19:15:19  <Muxy> thx
19:15:23  <xQR> so other players will still only see "general error" when another player leaves the server with a timeout in 1.2.0
19:15:55  <Alberth> So you are connecting to a plain TCP connection, and not some IRC or so, which is what I think of when hearing 'bot'.
19:16:23  <andythenorth> what I could use is "world's dumbest templating" (%s) and an array for each vehicle
19:16:26  <Muxy> Alberth, i'm using OpenTTD Admin Protocol. its running using tcp/3977
19:16:27  <Alberth> that makes the order problem vanish, as you already said
19:17:21  <andythenorth> anyone interested in writing a code generator? :D
19:17:40  <andythenorth> how about m4 -> cpp -> nml? :P
19:17:50  <Eddi|zuHause> andythenorth: i think my code generator should be really easy to adapt to that
19:18:16  <Alberth> the patch is still not good, I think, or do you really intend to make the 'if' statement and as->Send... statement conditional?
19:18:32  <Muxy> did you get last diff file ? (#3)
19:18:46  <andythenorth> Eddi|zuHause: I'm considering it because I think I'll introduce bugs by forgetting to change values of defines
19:18:52  <andythenorth> the actual work isn't arduous
19:18:56  <Muxy> sent just few minutes ago.
19:19:05  *** Chris_Booth [] has quit [Ping timeout: 480 seconds]
19:19:35  <andythenorth> could probably use just about any script or  macro language
19:19:50  <andythenorth> as long as it can substitute plain values and write a file :P
19:20:00  <andythenorth> I don't know how to start though :o
19:20:13  *** perk111 [~perk11@] has quit [Quit: Miranda IM! Smaller, Faster, Easier.]
19:20:14  <Alberth> yes,   includes statements at 5  and 7 which were no included before
19:20:39  <Alberth> aside from the fact that it does not comply with coding style ;)
19:20:43  <andythenorth> Alberth: when you've finished your current convo...I read the m4 ;)
19:21:19  <Alberth> andythenorth: what do you think?
19:21:27  <Muxy> ok, i will review the code.
19:21:44  <Muxy> and make some tests to check all possibles cases
19:21:54  <andythenorth> Alberth: I could read it without questions to you or reference to m4 docs
19:22:00  <andythenorth> I've read 0% of m4 docs
19:22:08  <andythenorth> it's intuitive to me
19:22:12  <Alberth> then you must be smarter than me :)
19:22:31  <andythenorth> I said 'read', not 'write' :P
19:22:45  <Muxy> yop, back to source code...
19:22:55  <Snail_> andythenorth: how about switching to m4nfo altogether? ;)
19:23:00  <Snail_> I've been using it for a year and love it
19:23:15  <andythenorth> Snail_: wouldn't help me learn nml + cpp
19:23:16  <andythenorth> :)
19:23:25  <andythenorth> I have to learn nml + cpp because that's what FIRS is written in
19:23:38  <andythenorth> the only reason I'm trying to force BANDIT into this shape is because I have to learn how
19:23:46  <Alberth> just use m4 instead of cpp :)
19:24:09  <Eddi|zuHause> andythenorth: if you want to use my generator, you probably have to come up with a (demo) table, then replace FEAT_TRAINS everywhere, and weed out some implicit assumptions that i have about my own table
19:24:41  <andythenorth> Eddi|zuHause: does your generator doing anything complex?
19:24:45  <andythenorth> I don't need complex
19:25:00  <andythenorth> all the switches and such are nml written out longhand, with cpp for values
19:25:09  <Eddi|zuHause> the two complex things are the graphics switches and the articulation
19:25:31  <Eddi|zuHause> everything else is simply looping over all vehicles
19:25:42  <andythenorth> is it easy to call from the makefile?
19:25:49  <andythenorth> that scares me :P
19:26:07  <andythenorth> if I change the makefile, I have to maintain it
19:26:13  <andythenorth> currently other people do that for me ;)
19:26:43  <Eddi|zuHause> we have local custom Makefile that is separate from the normal makefile, you can just update the rest without any changes
19:26:55  <Snail_> andythenorth: this sounds so complex to me... you'd have to use m4, cpp and then nml... with m4nfo you'd skip the two last steps (well, you'd have to rewrite FIRS in m4nfo, but that wouldn't be so complex)
19:27:41  <Alberth> using cpp after m4 is madness
19:27:45  <Eddi|zuHause> andythenorth: nothing scary in the makefile
19:27:46  <frosch123> noone knows m4nfo, so how to judge the conversion from nml to m4nfo?
19:27:49  <Alberth> just use m4 for everything
19:28:03  <andythenorth> using m4 doesn't help me learn how FIRS works ;)
19:28:29  <Alberth> and a python code generator does?  :o
19:28:47  <Eddi|zuHause> unlikely :)
19:28:52  <frosch123> making eddi do the work helps quite well
19:29:34  <Snail_> m4nfo is quite well documented though
19:29:50  <CIA-1> OpenTTD: yexo * r23812 /trunk/src/ (5 files in 2 dirs): -Fix [FS#4977] (r23804): custom ActionB messages were broken
19:29:55  <Eddi|zuHause> i have never actually seen it...
19:29:59  <Snail_> there is a online manual that explains a lot
19:30:07  <andythenorth> MB mailed me about it recently :)
19:30:15  <andythenorth> he was wondering if I would adopt it
19:30:31  <Eddi|zuHause> you rather need m4nml though :)
19:30:31  <andythenorth> I could switch HEQS to m4nfo to learn it
19:30:44  <CIA-1> OpenTTD: yexo * r23813 /trunk/src/lang/ (53 files in 2 dirs): -Codechange: fix other language files
19:31:02  *** TWerkhoven [] has quit [Quit: He who can look into the future, has a brighter future to look into]
19:31:09  <andythenorth> Alberth: anyway, yes m4 looked interesting + readable.  I wondered if it would get too complex when there are a lot of statements
19:31:17  <andythenorth> it was nice and easy in the example you sent
19:31:17  <Alberth> Snail_:  <- start of m4nml  :)
19:31:38  <Snail_> I think it would be a good idea ;) m4nfo is very powerful and MB is always helpful... also, my set gets compiled in about 2 seconds (it's got about 16,000 sprites)
19:31:58  <Alberth> andythenorth: only one way to find out :)
19:32:28  <andythenorth> intriguing
19:33:08  <Yexo> <Snail_> andythenorth: this sounds so complex to me... you'd have to use m4, cpp and then nml... with m4nfo you'd skip the two last steps (well, you'd have to rewrite FIRS in m4nfo, but that wouldn't be so complex) <- actually that is very complex
19:33:22  <andythenorth> I've probably learnt about as much cpp from BANDIT as I can.  I've learnt (1) cpp is limited for this case (2) don't try and make a templating language do general purpose code generation
19:33:32  <Yexo> nml is more powerful than m4nfo in for example automatically assigning temporary registers for advanced sprite layouts
19:33:41  <Yexo> m4nfo doesn't support that
19:34:01  <Snail_> what do you mean by temporary registers? like temporary variables?
19:34:39  <Yexo> var 7D and related operators
19:34:44  <Yexo>
19:35:06  <andythenorth> for vehicle sets, nml also offers a compelling way to handle tedious things like properties in buy menu
19:35:17  <andythenorth> and the switch expressions are laughably trivial to use
19:35:25  <Snail_> Yexo: yep m4nfo can do that to
19:35:27  <Snail_> too
19:35:32  *** kais58 [] has quit [Read error: Connection reset by peer]
19:35:40  <Snail_> MB proposed that to me some time ago, but I didn't use it because it didn't fit my needs
19:35:49  <andythenorth> Yexo: I know you're not planning to change it, but I hate that identifiers have to be globally unique
19:35:58  <Snail_> but he told me about those 256 registers
19:36:08  <andythenorth> I'm so used to templating where the chain is effectively scoped locally to the vehicle
19:36:20  *** perk11 [~perk11@] has joined #openttd
19:36:32  <Snail_> and the fact that they are globally unique is exactly the reason why I didn't use them ;)
19:36:36  <Yexo> Snail_: can you write a spritelayout like this in m4nfo?
19:36:44  <planetmaker> it's just a matter of proper code to also template NML locally, andythenorth
19:37:16  <Yexo> andythenorth: the THIS_ID() macro solves that nicely, so I still don't see the problem
19:37:16  <andythenorth> planetmaker: that would mean abandoning CPP
19:37:30  <andythenorth> it's the wrong tool for that problem
19:37:38  <Alberth> andythenorth: if you want another example, I can do that
19:37:39  <Yexo> you define it once for every vehicle and use it in all templates
19:37:47  <Snail_> well, this is to build industries... I never used m4nfo for that
19:37:48  *** kais58 [] has joined #openttd
19:38:01  <planetmaker> andythenorth: it may not be the ideal one, but it suits 99% I ever wanted to template
19:38:27  <planetmaker> it's a matter of using it properly. You must simply let go the idea to re-create the nfo templates 1:1 for NML
19:38:31  <planetmaker> *that* does not work
19:38:38  <Yexo> Snail_: I'm not trying to argue against m4nfo, it's a powerful tool and really fast. However nml can abstract some more complex parts away that m4nfo can't
19:38:38  <Eddi|zuHause> well, everything that andythenorth currently struggles with i solved in python...
19:39:09  <planetmaker> is there actually *anywhere* this mystical m4nfo?
19:39:26  <andythenorth>
19:39:27  <Alberth> Eddi|zuHause: I would hope so :)
19:39:27  <Yexo>
19:39:39  <Alberth> no the actual macros
19:39:42  <Yexo> there is also a topic on
19:39:52  <andythenorth>
19:39:56  <Snail_> Yexo: yep, perhaps for industries... I don't know about those. But as for trains, so far there was nothing I had in mind that m4nfo couldn't do (and believe me my ideas are quite complex ;) )
19:39:59  <Eddi|zuHause> Yexo: he meant the actual program to download
19:40:10  <andythenorth>
19:40:21  <andythenorth> bah frames :?
19:40:23  <andythenorth> :/
19:40:30  <Snail_> well, m4nfo is made of modules, there are some text files you have to download
19:40:36  <Yexo>
19:40:37  <planetmaker> yes, that's also there, Eddi|zuHause
19:40:39  <Snail_> then everything is ran through "make"
19:41:11  * andythenorth wonders what the conclusion is
19:41:14  <andythenorth> try more m4?
19:41:28  <frosch123> Snail_: does it supports terms like "5 + (2*varA + 5*varB)"?
19:41:29  <Yexo> Snail_: vehicles are (in nfo) one of the easiest features
19:41:41  <andythenorth> m4nfo vs. cppnfo I'm not bothered about .... cppnfo works for me
19:41:41  <frosch123> or do you have to break it down to single computations with an accumulator?
19:41:56  <andythenorth> I'm looking for an nml templating solution I guess
19:42:15  <Yexo> frosch123: you have to use temporary variables to compute that, which m4nfo won't do automatically
19:42:34  <Snail_> frosch123: you have to break it down in "cases"
19:42:35  <frosch123> hmm, i assume it cannot handle action6 either
19:42:52  <Eddi|zuHause> andythenorth: sadly nml "templates" only cover realsprites
19:42:59  <andythenorth> Alberth: can you use m4 to template the vehicle defines? :D I know it's insane...but it might just work...
19:43:21  <andythenorth> e.g.
19:43:31  <andythenorth> from a .tsv
19:44:04  <frosch123> i think the action6 stuff is the most useful feature of nml
19:44:05  <planetmaker> andythenorth: 75% of those defines are used one time: where the property is set
19:44:13  <frosch123> it has never been easier to add parameters to grfs :)
19:44:14  <planetmaker> thus... why define it?
19:44:23  <andythenorth> planetmaker: because 'one and only one way' applies
19:44:25  <Eddi|zuHause> andythenorth: if you want to experiment with my code generator, you should use the layout of this table as an example:
19:44:41  <andythenorth> setting properties with both defines and nml is more work for my brain to parse
19:44:48  <andythenorth> I know it's overly-abstracted, but I don't care :)
19:45:12  <Alberth> andythenorth: should work, I think
19:45:25  <planetmaker> well. you throw away the readability of NML, andythenorth
19:45:31  <Alberth> if not, you found something that cpp can do, and m4 cannot  :)
19:45:49  <Eddi|zuHause> andythenorth: the important columns are "short name" (= THIS_ID), potentially "company" (would in your case mean "continent/region"), "ID#" and "Graphics"
19:45:55  <andythenorth> planetmaker: readability was never my first goal (3 years of nfo...)
19:46:16  <planetmaker> ok, then don't complain about not understanding FIRS ;-)
19:46:21  <Snail_> btw frosch123: I think your idea to add a variable that counts the number of vehicles with a certain bit pattern would be *very* useful
19:46:24  <Eddi|zuHause> andythenorth: all other columns roughly correlate with the property of the same name
19:46:44  *** kkb110_ [] has quit [Ping timeout: 480 seconds]
19:46:48  <Hirundo> Assuming the code you write is bug-free, then all code can be write-only ;-)
19:46:50  <andythenorth> Eddi|zuHause: you have epoch too ;)
19:47:19  <Eddi|zuHause> andythenorth: i don't think you actually need that :)
19:47:30  <andythenorth> I used it to design the set
19:47:41  <frosch123> Snail_: can you set up some examples?
19:47:48  <Eddi|zuHause> andythenorth: read (company,epoch,set) as one column, defining the availability depending on parameter
19:47:56  <Alberth> andythenorth: is that bandit?   'Clipper' does not sound like truck :p
19:48:01  <frosch123> i was wondering about a 60+x variable which gives a mask of bits to test, and a value to check
19:48:06  <andythenorth> Alberth: made up names
19:48:17  <Alberth> ok
19:48:30  <Snail_> frosch123: ok, let's say my passenger coach have bit2 reserved for push-pull service: when bit2 is
19:48:31  <Snail_> "
19:48:37  <Eddi|zuHause> andythenorth: our "epoch" vaguely correlates with the model railway "epoch"
19:48:41  <frosch123> i.e. something like "number of vehicles with (user_data & MASK) == (VALUE & MASK)"
19:48:48  <Snail_> when bit2 is "0", the wagon can't do push=pull, when it's "1", it can
19:49:07  <Snail_> and I'd like to count the number of vehicles with a certain ID with bit2 set to "1"
19:49:16  <andythenorth> Alberth: only slightly made up name:
19:49:42  <Eddi|zuHause> Snail_: when the userbits are ORed, wouldn't it make sense to use "0" as "can" and "1" as "can't"?
19:49:48  <andythenorth> Snail_: don't torture me with your mention of userbits :(
19:49:57  * andythenorth forgot that openttd is a train game
19:49:59  <Alberth> I am only worried about find the right template files :)
19:50:10  <frosch123> i am also wondering what to do with vehicles from other newgrfs
19:50:28  <Snail_> yes but I'd also like to check if *all* the vehicles have the bit set to "0"
19:50:39  <andythenorth> Alberth: actually I have an outstanding commit, that will trip you up if I don't do it...
19:50:44  <frosch123> it is usually not useful to check for bits of unknown grfs, but it would make sense for add-on grfs with engine overrides
19:50:58  <Snail_> another example: bit is set to "0" if the wagon can do local service, "1" if it's a long-distance one
19:51:24  <Snail_> I'd need to check whether all vehicles have bit set to "0", or they all have it set to "1", or if it's a mixed consist
19:51:26  <andythenorth> Snail_: stop mentioning these things :)  Real coders handle that differently :P
19:51:40  <andythenorth> forget you get bits, and do it the hard way :P
19:51:49  <andythenorth> like I have to
19:52:12  <andythenorth> by writing constants into advanced varaction 2 with CPP
19:52:14  <Snail_> frosch123: I'd check for bits of my own grf's only
19:52:28  <Eddi|zuHause> andythenorth: i'm fairly convinced it would be trivial to allow userbits for rv, too
19:52:31  <Snail_> actually I'd check for bits only of vehicles with a certain ID
19:52:36  <Yexo> andythenorth: what Snail_ wants can't be solved that way
19:52:38  <frosch123> Snail_: and if you make an add-on grf for your grf? :p
19:52:57  <frosch123> ah, ok, filter for vehicles with certain id
19:53:06  <frosch123> so, that's something very different
19:53:16  <Snail_> frosch123: exactly, so other vehicles wouldn't be included in the check
19:53:16  <frosch123> like OR user_data of all vehicles with ID x
19:53:16  <Yexo> I think two variables are in oder
19:53:23  <andythenorth> Yexo: I might have been slightly trolling about rv bits :P
19:53:24  <Yexo> filter same grf and filter for some id
19:53:50  <Snail_> frosch123: yes, but sometimes OR is not sufficient. I'd like to check whether a certain bit is "1" for all, "0" for all, or mixed
19:54:17  <Eddi|zuHause> the easy solution would be to also allow "AND"
19:54:42  <Snail_> Eddi|zuHause: even that would be useful
19:54:48  <andythenorth>  Alberth I pushed BANDIT
19:55:01  <Eddi|zuHause> or "+", but that would need 64-bit result (8 times 8 bit)
19:55:20  <Yexo> all: use AND, 0 for all: NOT OR, mixed: AND and not OR
19:55:24  <Snail_> I think allowing AND and OR would be sufficient
19:55:28  <frosch123> Eddi|zuHause: concating numbers is not + :p
19:55:44  <Eddi|zuHause> frosch123: a vector "+"
19:56:05  <Eddi|zuHause> for each bit in the vector, you count the number of entries having this bit set
19:56:12  <Alberth> andythenorth: I should use that instead?
19:56:14  <frosch123> anyway, counting matching vehicles is something very different to ORing the data of all vehicles matching some criterion
19:56:31  <Eddi|zuHause> so for an 8-bit usermask, you get 8 integers
19:56:34  <andythenorth> Alberth: yes, use repo tip
19:56:39  <andythenorth> previous version had errors
19:56:45  <andythenorth> would have wasted your time :o
19:56:53  <Eddi|zuHause> where for precondition reasons you have a range of 0..255 for each integer
19:57:06  <Eddi|zuHause> hence a 64bit result
19:57:17  <Snail_> frosch123: so ORing and ANDing would be very different?
19:57:54  <frosch123> Snail_: i am just collecting what variables are needed, what would be their parameters, and what their results :)
19:58:05  <Snail_> thanks :)
19:58:13  <andythenorth> frosch123: valid for RVs too?
19:58:25  <frosch123> not in purchase list
19:58:26  <Eddi|zuHause> AND and OR are trivially interchangable
19:58:30  *** perk11 [~perk11@] has quit [Quit: Miranda IM! Smaller, Faster, Easier.]
19:58:52  <andythenorth> purchase list stuff has to be faked anyway
19:58:56  <andythenorth> how many bits are there?
19:58:58  <Eddi|zuHause> "+" (as in "count each bit") is slightly more complex
19:59:13  <Eddi|zuHause> you can make counting a 60+ var
19:59:17  <Eddi|zuHause> giving the bit as parameter
19:59:36  <Eddi|zuHause> so you say "count vehicles having bit X set"
20:00:06  <Eddi|zuHause> or potentially "count vehicles having both bit X and Y set"
20:00:17  * andythenorth needs more like 256 bits :P
20:00:21  <frosch123> Eddi|zuHause: i would give a mask and a value to check for
20:00:23  <frosch123> like said above
20:00:30  <Eddi|zuHause> three-way is a bit more problematic "count vehicles having bit X set, bit Y not set, others don't-care"
20:01:13  <frosch123> so, currently i have: filter for specific user mask patterns, vehicle id, same grf. and as result: number of matching vehicles, OR mask
20:01:27  <frosch123> i guess AND mask can be constructed from that
20:01:51  <Snail_> frosch123: that would be great
20:01:54  <andythenorth> planetmaker: possibly I've learnt enough about variadic macros to read FIRS now
20:02:07  <frosch123> Eddi|zuHause: check for (user_data & MASK) == (VALUE & MASK)
20:02:13  <frosch123> and give VALUE and MASK via the parameters
20:02:17  <frosch123> two 8 bit values
20:02:45  <Eddi|zuHause> yes. "a bit more problematic" :)
20:02:49  <Eddi|zuHause> not "unsolvable" :)
20:03:16  <frosch123> it's standard :p
20:04:01  <Eddi|zuHause> i know... i'm currently preparing for hardware design exam...
20:04:18  <Eddi|zuHause> lots of three-way-logic in there :)
20:04:27  <Snail_> :)
20:06:21  *** JVassie_ [~James@] has joined #openttd
20:12:39  *** JVassie [~James@] has quit [Ping timeout: 480 seconds]
20:14:16  <andythenorth> objectively, has FIRS fallen victim to new system fallacy?
20:14:38  <Eddi|zuHause> possibly
20:14:46  <planetmaker> as in convert and anbandon?
20:14:50  <planetmaker> *abandon
20:15:27  <frosch123> andythenorth: just sleep an hour, and ask the question again
20:15:50  <andythenorth> as in convert for good reasons, but rate of progress falls off dramatically
20:16:15  <planetmaker> yes... the main contributor contributes much less code ;-)
20:16:52  <andythenorth> but one of the reasons we converted was to make it possible for others to work on it?
20:17:12  <planetmaker> Sure.
20:17:13  <Eddi|zuHause> "work on" != "take over" :)
20:17:18  <planetmaker> ^^
20:18:06  *** pjpe [] has joined #openttd
20:18:29  <planetmaker> it's not like nothing new was added like 4/4 snow awareness or fences
20:18:42  <planetmaker> or easier translations
20:22:27  <Eddi|zuHause> but not "economies" and stuff
20:23:03  <andythenorth> some aspects are more maintainable.  The bug we fixed this morning was trivial to find and resolve.
20:23:40  *** Cybertinus [] has quit [Remote host closed the connection]
20:24:03  <andythenorth> by 'objectively' I mean, could we measure the number of commits / features against time for nfo / nml FIRS?
20:25:28  <Eddi|zuHause> andythenorth: that might also indicate that the project is "mature" :)
20:25:48  <andythenorth> first 90% takes 10% of the time :P
20:27:29  *** Cybertinus [] has joined #openttd
20:34:29  <Terkhen> such a measurement would prove what we already know, that the main contributor does not like working with nml :P
20:34:42  <Terkhen> besides that, I don't think it would be very relevant
20:36:38  <andythenorth> :)
20:36:44  <andythenorth> it's nml like this that troubles me:
20:36:49  <andythenorth> or this:
20:36:49  <andythenorth> TILE_ALLOW_PLAYER         (tile_player,                                                                  THIS_ID(tile_nearby_industry))
20:37:02  <Terkhen> that's not nml, those are templates
20:37:08  <andythenorth> yup
20:37:13  <Terkhen> if they trouble you they can be changed or removed
20:37:25  <planetmaker> quite so
20:37:43  <planetmaker> though I dare say it's not more complicated than the nfo templates it used ;-)
20:37:45  <andythenorth>  every time this last week I've asked for help with cpp function, people have beaten me with sticks for using the wrong tool :D
20:37:49  <Terkhen> but... you can just think about them as procedures, I don't see the problem
20:37:54  <Eddi|zuHause> andythenorth: these things are abstracted even more in my code generator :p
20:38:17  <andythenorth> now I know they're variadic macros I might get on with them better
20:38:25  <planetmaker> indeed, those macros can be used as functions kind of
20:39:01  <andythenorth> they are functions afaict
20:39:14  <planetmaker> they're a shortcut for a single switch
20:39:27  <Terkhen> or in some cases a chain of switches
20:39:38  <Terkhen> in which the only differences are the parameters of the macro
20:40:00  <andythenorth> brb
20:42:40  *** Xrufuian [] has joined #openttd
20:53:43  *** Jogio [] has quit [Quit: Page closed]
21:00:03  <appe_> im getting strange server errors when i play on my dedicated 1.1.5. a player (wan) connects, gets disconnected since it "takes more then 500 ticks" for him to join
21:00:26  <appe_> otherwise, both our connections are more then adequate, and an hour ago we played without problems.
21:00:29  <appe_> suggestions? :)
21:00:49  <Alberth> increase the time out?
21:00:56  <appe_> what is the command?
21:00:58  <appe_> :)
21:01:26  <planetmaker> appe_: you really should know it by now... rcon pw "set xy value"
21:01:38  <planetmaker> look into your openttd.cfg to find out what xy actually is
21:01:53  <planetmaker> an educated guess for a search will bring you there
21:03:40  *** Zuu [] has quit [Quit: Leaving]
21:05:04  *** Brianetta [] has joined #openttd
21:06:10  <appe_> thank you
21:13:44  *** FLHerne [] has joined #openttd
21:15:18  *** TWerkhoven[l] [] has joined #openttd
21:15:49  <CIA-1> OpenTTD: rubidium * r23814 /trunk/src/core/random_func.cpp: -Codechange: write the random-debug output directly to a file
21:19:20  *** Knogle [] has quit []
21:20:04  *** kkb110_ [] has joined #openttd
21:24:34  *** Muxy [] has quit [Quit: PACKET_CLIENT_QUIT]
21:25:45  *** macee [] has joined #openttd
21:30:45  <andythenorth> planetmaker: Terkhen so in something like TILE_ALLOW_PLAYER         (tile_player,                                                                  THIS_ID(tile_nearby_industry))
21:30:53  <andythenorth> is the whitespace significant, or accident?
21:31:11  <planetmaker> it's insignificant but intended
21:31:15  <planetmaker> for alignment issues
21:31:27  <planetmaker> s/issues/purposes/g
21:32:15  <andythenorth> k
21:32:33  <andythenorth> and to find what these expand to, I grep the project, which is kind of fine
21:33:09  <planetmaker> templates/ somewhere
21:33:21  <andythenorth> "TILE_ALLOW_PLAYER" I would read as something that inserted a tile, rather than a switch, but that's not very important
21:33:36  <andythenorth> constant names that work multi-lingual, multi-person are .... hard
21:34:07  <planetmaker> it allows the player to place the tile there. ID is THIS_ID(tile_player) and the next switch to branch to is THIS_ID(tile_nearby_industry)
21:34:14  *** FLHerne [] has left #openttd []
21:34:48  <planetmaker> thus these tile checks all are like
21:34:56  *** FLHerne [] has joined #openttd
21:35:06  <andythenorth> I can see a pattern to them now
21:35:23  <planetmaker> TEMPLATE_NAME( switchname, if-true-switch, if-false-switch)
21:35:40  <planetmaker> the latter is not in this particular one
21:35:49  <planetmaker> as its always then "DISALLOW"
21:36:45  <planetmaker> I actually tried to document them very well
21:36:50  <planetmaker> in the template file
21:37:38  <planetmaker> it's in sprites/nml/templates/tile_location.pnml
21:37:46  <andythenorth> hmm, that define is inserting the result of a variadic macro, which I couldn't figure out for BANDIT in less than about 4 loc
21:37:54  <andythenorth> but nvm
21:39:45  *** macee [] has quit [Remote host closed the connection]
21:39:56  *** macee [] has joined #openttd
21:42:18  *** Progman [] has joined #openttd
21:44:22  *** FLHerne [] has left #openttd []
21:46:30  *** FLHerne [] has joined #openttd
21:47:55  *** macee [] has quit [Remote host closed the connection]
21:48:07  *** macee [] has joined #openttd
21:51:39  *** FLHerne [] has left #openttd []
21:53:06  <andythenorth> planetmaker: I can't see any better alternative to the spritelayout templates
21:53:18  <andythenorth> in nfo FIRS they were all written out by hand, which is limited
21:53:25  <andythenorth> robust, but limited
21:53:36  <andythenorth> it was often the most tedious part of coding
21:54:23  *** FLHerne [] has joined #openttd
21:59:00  *** kkb110_ [] has quit [Remote host closed the connection]
21:59:53  *** kkb110_ [] has joined #openttd
22:03:14  *** macee [] has quit [Remote host closed the connection]
22:03:41  <Terkhen> good night
22:04:31  <andythenorth> bye Terkhen
22:05:09  <Alberth> andythenorth:
22:05:32  <Alberth> I must go to bed now
22:05:38  <Alberth> good night all
22:05:42  <andythenorth> bye :)
22:06:21  <Alberth> the THIS_VEHICLE_ID  magic is playing havoc, and I need to setup some sane naming conventions :)
22:06:53  *** Alberth [] has left #openttd []
22:08:59  *** TWerkhoven[l] [] has quit [Quit: He who can look into the future, has a brighter future to look into]
22:09:30  * andythenorth reads m4
22:12:08  <frosch123> `m4ÂŽ has the most weird quotes by default
22:25:46  <andythenorth> good night
22:25:49  *** andythenorth [] has quit [Quit: andythenorth]
22:30:27  *** frosch123 [] has quit [Remote host closed the connection]
22:32:49  *** FLHerne [] has left #openttd []
22:40:18  *** KouDy [~KouDy@] has quit [Quit: Leaving.]
22:43:27  *** Chris_Booth [] has joined #openttd
22:44:52  *** MJP [] has quit [Read error: Connection reset by peer]
22:47:21  *** Progman [] has quit [Remote host closed the connection]
23:01:01  *** DDR [~chatzilla@] has joined #openttd
23:02:51  *** TGYoshi [~TGYoshi@] has quit [Quit: Popidopidopido]
23:11:23  *** Chris_Booth [] has quit [Remote host closed the connection]
23:17:09  *** JVassie_ [~James@] has quit [Ping timeout: 480 seconds]
23:19:38  *** valhallasw [~valhallas@] has quit [Ping timeout: 480 seconds]
23:34:11  *** Cybertinus [] has quit [Remote host closed the connection]
23:35:27  *** sla_ro|master [slaco@] has quit [Quit: Sla Mutant Co-Op for Renegade - coming back soon]
23:37:16  *** Elukka [] has quit []
23:48:28  *** Neon [] has quit [Quit: Python is way too complicated... I prefer doing it quickly in C.]

Powered by YARRSTE version: svn-trunk