Log for #openttdcoop.devzone on 10th March 2012:
Times are UTC Toggle Colours
00:44:18  *** frosch123 has quit IRC
01:43:41  *** Nat_aS has left #openttdcoop.devzone
07:02:04  *** andythenorth has joined #openttdcoop.devzone
07:19:21  *** ODM has joined #openttdcoop.devzone
09:17:32  <Brot6> FIRS Industry Replacement Set - Feature #2296: Supplying Mechanism (rhamph) @
09:37:49  *** JVassie has joined #openttdcoop.devzone
09:54:51  <Brot6> Dutch Trains 2.0 - Feature #3746: Coaches (Voyager1) @
09:55:59  <Brot6> FIRS Industry Replacement Set - Code Review #2296: Supplying Mechanism (rhamph) @
10:10:23  *** Hirundo has left #openttdcoop.devzone
10:11:08  *** Hirundo has joined #openttdcoop.devzone
10:12:25  <Brot6> DACH Trains - Feature #3793 (Assigned): earlier liveries for BR 218 (officercrockey) @
10:42:26  <Brot6> DACH Trains - Feature #3794 (Assigned): Generic on-board restaurant (officercrockey) @
11:28:50  *** frosch123 has joined #openttdcoop.devzone
11:35:45  <Hirundo> Whoa, I have a massive speedup in NML (locally, that is)
11:36:33  <andythenorth> Hirundo: Can I haz?
11:36:57  <andythenorth>  I can test it compared to nml->nfo->grfcodec
11:37:05  <andythenorth> I'm not using 32bpp though
11:37:24  <Hirundo> You can haz, soon
11:38:24  * Rubidium hopes for double digits in the magnitude of the improvement ;)
11:38:52  <Hirundo> For my test grf I have achieved 16->1,4 seconds
11:39:12  <Hirundo> But that grf is basically a single large sprite, so results might be skewed
11:40:59  <Rubidium> is the output the same, or are you just not doing compression?
11:41:36  <Hirundo> Rubidium: I'm using a rather more efficient method of flattening a list of lists
11:42:37  <Hirundo> Previously it was done via reduce(list.__add__, somelist), which I guess is O(N^2)
11:43:06  <Hirundo> I have replaced that with python itertools lazy evaluation magic
11:44:23  <Hirundo> + some optimizations to keep track of the number of written bytes to determine tile compression offsets, instead of re-counting them each time
11:44:51  <Hirundo> airportsplus is 2m29->0m38
11:47:10  <planetmaker> woah!
11:47:16  <planetmaker> that sounds amazing, Hirundo
11:56:17  <Yexo> ^^ that indeed :)
11:57:06  *** Doorslammer has joined #openttdcoop.devzone
12:16:00  <Hirundo> Issue: the 'optimizations' seem to cause invalid grfs
12:34:58  <andythenorth> ach
12:35:09  <andythenorth> who cares if they work, faster is better
12:40:41  <Brot6> Dutch Trains 2.0 - Revision 306:34982c0f9712: Feature: capacity callback for SGM (foobar) @
12:54:44  <Brot6> NewGRF Meta Language - Revision 1878:3093d74c8f74: Codechange: Optimize tile compression by cachi... (Hirundo) @
12:54:44  <Brot6> NewGRF Meta Language - Revision 1879:0473003b6168: Codechange: Use itertools.chain instead of red... (Hirundo) @
12:55:45  <Hirundo> andythenorth: ^ could you tell me the difference between old nml, new nml and nml->nfo->grfcodec for bandit?
12:55:51  <andythenorth> yup
13:06:15  <Hirundo> Yexo: New profile of ogfx-airports here:, I can't find really obvious points of improvement
13:10:50  <Yexo> lz77 compression still
13:12:59  <Hirundo> That's the size<>build time tradeoff
13:17:29  <Ammler>
13:18:02  <Ammler> opengfx ^
13:18:13  <Hirundo> that's x2 ?
13:18:24  <Hirundo> x2 speedup, I mean
13:19:48  <Ammler> indeed, very well
13:22:01  <Ammler> and the grf seems to work
13:25:46  <Hirundo> Even with lz77 off (-u), realsprite writing takes a little more than half of the time
13:33:28  <planetmaker> wow
13:34:00  <Ammler> what is the reason -u isn't default?
13:38:21  *** Doorslammer has quit IRC
13:38:37  <Yexo> because it means the final grf will be bigger
13:38:53  <Yexo> creating the grf is done only once, it's distributed/used many more times
13:39:33  <Ammler> -u means bigger?
13:39:48  <Ammler> now I am confused :-)
13:40:39  <Yexo> -u means "disable lz77 compression"
13:40:53  <Yexo> or "save uncompressed data in the grf file" as --help puts it
13:42:25  <Ammler> but then it has to be faster, else it would be silly
13:42:37  <Yexo> it's indeed faster
13:42:37  <Hirundo> it is
13:43:05  <andythenorth> Hirundo:
13:43:24  <Hirundo> I think roughly 20-25% faster
13:43:58  <Ammler> Hirundo: again, shouldn't that be logical?
13:45:22  <Yexo> Ammler: nobody said it was not
13:45:25  <andythenorth> for nml tip, -u is ~13s, instead of ~15s
13:45:28  <andythenorth> for me
13:46:05  <Hirundo> andythenorth: your sprites are quite small, so the effect isn't as large compared to e.g. the tile sprites of ogfx
13:46:18  <Hirundo> or the full-size airport previews of ogfx-airports
13:46:22  <andythenorth> yup
13:46:22  <Ammler> I don't get it, why is -u important?
13:46:26  <andythenorth> faster
13:46:30  <andythenorth> speed is all
13:46:35  <Ammler> ok
13:46:59  <andythenorth> nmlc is borderline unbearably slow when developing a grf
13:47:02  <Yexo> Ammler: when debugging you want the fastest possible compilation time
13:47:06  <andythenorth> all faster is bester
13:47:19  <Yexo> but when making a release the compilation time doesn't matter so much, the final filesize matters more in that case
13:57:07  <andythenorth> Hirundo: for my results there is a consistent speed up when using pure nmlc
13:57:17  <andythenorth> no difference when using the makefile
13:57:45  <Hirundo> andythenorth: your results make sense to me
13:58:17  <Hirundo> speedup is not as large as for ogfx, because (I expect) your sprites are smaller on average
13:58:30  <andythenorth> still faster than before though
13:58:37  <andythenorth> I'd bank that as a win
13:58:55  <andythenorth> I won't be taking grfcodec out of my pipeline yet though :P
14:00:05  <Hirundo> I wonder, if real sprite data could be cached
14:00:43  <Ammler>  andythenorth, but you compared make with your own script
14:00:48  <andythenorth> yes also
14:01:16  <Ammler> did you also compare nml->grf to nml->nfo->grfcodec-grf?
14:01:17  <planetmaker> that's not a fair comparison
14:01:28  <andythenorth> Ammler: look in the pase ;)
14:01:30  <planetmaker> what ammler sais would need comparison
14:01:47  <Ammler> I see there just make and
14:01:58  <Ammler> make has dep checks and such
14:02:14  <andythenorth> you don't seem 'time nmlc bandit.nml' ? :O
14:02:31  <andythenorth> there are some interesting results btw
14:02:40  <andythenorth> the time with the makfile is same for both versions of nml
14:02:53  <andythenorth> yet for nmlc itself, the times change by ~6s
14:03:43  <Ammler> ah ok, true
14:06:22  <andythenorth> I haven't yet found a way to test just 'time make' with no prior 'make clean'
14:06:41  <Yexo> rm bandit.grf; time make
14:06:42  <andythenorth> last time I tried, I discovered that make doesn't really understand BANDIT structure
14:07:24  <andythenorth> k
14:07:42  <andythenorth> I'm getting ~15s, same as for 'time nmlc bandit.nml'
14:07:51  <Brot6> NewGRF Meta Language - Revision 1880:9404bd6a9426: Fix: some string industry properties didn't ac... (yexo) @
14:14:56  <andythenorth> -u should make *no* difference to nfo output, right?
14:15:07  <Yexo> yes
14:15:43  <andythenorth> it doesn't, so that's fine
14:15:51  <andythenorth> hmm
14:16:12  <andythenorth> should I continue using the grfcodec route (faster for me), or use pure nmlc, and complain a lot here...?
14:16:21  <andythenorth> does complaining incentivise working on it? :P
14:24:39  <Hirundo> I just committed some more optimization, that'll be all for today
14:25:15  <Brot6> NewGRF Meta Language - Revision 1881:ff3ced18bee8: Codechange: Some more optimizations in output_... (Hirundo) @
14:27:28  <andythenorth> :)
14:42:56  <michi_cc> Hirundo: No idea if this is a result of the recent changes, but "nmlc --nfo=cets.nfo cets.nml" exits with the message "Aborted" and exit code 134 for me. It *does* produce the NFO file though, and as far as I can see it seems to be complete.
14:47:28  <andythenorth> fwiw BANDIT doesn't have that issue for same process
14:55:29  <Yexo> michi_cc: it works for me. Also "Aborted" doesn't sound like an nml error message, and error code 134 can definitely not be produced by nml
15:30:13  <michi_cc> Whatever it is, it is very strange: Both lines execute the same nmlc, i.e. the bin dir is in my PATH.
16:10:10  <Brot6> Dutch Trains 2.0 - Revision 307:6d6b15b65174: Add: purchase menu sprite templates (foobar) @
16:11:21  <Brot6> Dutch Trains 2.0 - Support #3795 (New): Purchase menu sprites specification (foobar) @
16:13:04  <Brot6> Dutch Trains 2.0 - Support #3795 (New): Purchase menu sprites specification (foobar) @
16:13:04  <Brot6> Dutch Trains 2.0 - Support #3795: Purchase menu sprites specification (foobar) @
16:13:33  *** Zuu has joined #openttdcoop.devzone
16:19:55  <Brot6> Central European Train Set - Feature #3620: Use 32 bpp sprites (Eddi) @
16:24:09  <Ammler> michi_cc: what wrapper do you use?
16:24:36  <michi_cc> That's the nmlc directly from the repo (i.e. a symlink)
16:24:49  <michi_cc> It's cygwin though, and not Linux :)
16:25:14  <Ammler> so bin/nmlc is also a symlink, right?
16:25:42  <Ammler> ah, which is the nmlc from $PATH
16:26:05  <Brot6> BANDIT - Revision 391:64a5b4f17585: Codechange: prepare to render pixa pngs in a more decoupled way (andythenorth) @
16:35:27  <Brot6> BANDIT - Revision 392:93fd04cac0f5: Add: (not the previous (andythenorth) @
16:37:10  <Rubidium> andythenorth: doesn't the main have a busy loop? Wasting 100% CPU (or at least one core) which checking the active children length?
16:37:21  <Rubidium> maybe you should sleep in there for a few ms at a time
16:37:36  <andythenorth> ok
16:37:39  * andythenorth wonders how
16:37:48  <andythenorth> this was a dirty hack
16:39:07  <andythenorth> time.sleep(secs)
16:39:18  <Rubidium> time.sleep(0.01)
16:39:32  <Rubidium> or maybe more appropriate
16:39:36  <Rubidium> time.sleep(0.027)
16:39:54  <andythenorth> k
16:39:59  <andythenorth> why 0.027 ? :)
16:40:00  <Rubidium> you should check whether it improves performance ;)
16:40:13  <andythenorth> it makes no difference for the current run time
16:40:19  <andythenorth> over long run times it might
16:40:47  <Rubidium> in TTD ticks are 27ms
16:40:54  <andythenorth> ho
16:41:09  <andythenorth> it's ~1.3s to generate 30 pngs
16:41:28  <andythenorth> if anyone has >4 cores (or thread units), I'd be interested if it's faster
16:43:21  <Brot6> BANDIT - Revision 393:98547205e860: Add: (not the previous (andythenorth) @
16:43:21  <Brot6> BANDIT - Revision 394:4655b8e39694: Codechange: sleep the process check a bit (andythenorth) @
16:43:37  <andythenorth> hmm
16:43:39  <andythenorth> that's odd
16:43:45  <andythenorth> nvm
16:45:13  <Brot6> BANDIT - Revision 395:44fc8ca75500: Codechange: eliminate a print no longer needed (andythenorth) @
16:46:00  <Brot6> Dutch Trains 2.0 - Revision 308:7d9129bbdbbe: Feature: IRM-VI (graphics by Bastiaan) (foobar) @
16:50:04  <Brot6> Dutch Trains 2.0 - Revision 309:560164879468: Fix (r308): set the correct properties (foobar) @
17:00:49  *** Zuu has quit IRC
17:01:24  <Brot6> BANDIT - Revision 396:56762994d3aa: Codechange: move decoding filenames to common module (andythenorth) @
17:07:53  <Brot6> NewGRF Meta Language - Bug #3796 (New): DevZone compile failed (compiler) @
17:26:38  <Brot6> bandit: update from r389 to r396 done (1 warnings) -
17:27:34  <Brot6> BANDIT - Revision 397:189dce690c60: Codechange: fork bombs are undesirable, so follow the python ... (andythenorth) @
17:28:45  <Brot6> dutchtrains: update from r300 to r309 done -
17:29:33  <planetmaker> andythenorth, you should rather sleep 0.03 seconds :-P
17:30:18  *** welshdragon has quit IRC
17:30:33  *** welshdragon has joined #openttdcoop.devzone
17:31:12  <andythenorth> because?
17:31:28  <Brot6> opengfx: compile of r959 still failed (#3792) -
17:32:25  <Ammler> hmm
17:32:34  <planetmaker> OpenTTD uses ticks of 30 msec :-)
17:32:48  <Rubidium> planetmaker: which is why 27 is so much better ;)
17:32:58  <planetmaker> 11.1% :-P
17:33:12  <Brot6> make-nml: compile of r0 still failed (#3730) -
17:33:22  <Rubidium> 65536/74*27 is pretty much 2 seconds per game day
17:33:53  <planetmaker> I assign that error to you, Ammler :-)
17:33:54  <Rubidium> only 0.03%
17:34:08  <Rubidium> planetmaker: assign the nml bug then as well ;)
17:34:40  <Brot6> Dutch Trains 2.0 - Revision 310:0ad47f7d2d54: Feature: IRM-III (graphics by Bastiaan) (foobar) @
17:34:40  <Brot6> Dutch Trains 2.0 - Revision 311:546658682201: Feature: IRM-IV (graphics by Bastiaan) (foobar) @
17:34:47  <planetmaker> <-- is that NML?
17:34:48  * Rubidium always wonders why this CF seems to break so often
17:35:12  <Rubidium> planetmaker: compare with
17:35:35  <planetmaker> oh, I didn't notice.
17:36:30  <Rubidium> bah... gcc compile takes longer than doing groceries, making dinner and eating it :(
17:37:07  <Rubidium> now my computer's temperature is slightly elevated...
17:37:46  <planetmaker> :-) compiling gcc itself you mean?
17:37:55  <Rubidium> yes
17:43:24  <andythenorth> is it a CF, or a buildbot for testing whether deps work? :P :D
17:44:49  <Brot6> BANDIT - Revision 398:a6c193379be6: Codechange: abstract some of the things gestalts were doing l... (andythenorth) @
17:52:08  <planetmaker> both, andythenorth ;-)
18:01:00  <andythenorth> some days more one than the other :P
18:01:47  <andythenorth> some fraction of the time, I assume I've broken a set, and find it's upstream deps
18:04:44  <Rubidium> grr... so many people swapping its and it's makes it pretty hard to read that sentence correctly
18:05:15  <Rubidium> although I'm wondering how to contract 'its is
18:05:17  <Rubidium> '
18:05:21  <andythenorth> the use of ' is frankly a problem waiting to be solved
18:05:26  <andythenorth> it would reduce so much pain
18:05:34  <andythenorth> I might just stop contracting
18:05:44  <andythenorth> 'it is' or 'that it is' are so much clearer
18:05:58  <Rubidium> still leaves you with its
18:06:17  <Rubidium> which is ofcourse NOT following the general rule
18:31:10  <Ammler> devzone failed because I moved development from openttd packages to suse project games, which was yet not trusted
18:40:59  <Ammler> andythenorth: this gestalts thing you always talk about, does that need to be a installed too?
18:46:17  <Brot6> nml: update from r1877 to r1881 done -
18:48:56  <Brot6> NewGRF Meta Language - Bug #3796 (Closed): DevZone compile failed (compiler) @
18:48:56  <Brot6> NewGRF Meta Language - Bug #3796 (Closed): DevZone compile failed (Ammler) @
18:50:36  <andythenorth> Ammler: no gestalts are just code
18:50:53  <andythenorth> however eventually I hope pixa will be an installable module
18:51:27  <Ammler> is that on pypi?
18:51:41  <Ammler> making a package from pypi is work of 1min
18:51:48  <andythenorth> oh good :)
18:51:51  <andythenorth> I was wondering about that
18:51:57  <andythenorth> it's not ready for packaging yet
18:52:05  <andythenorth> but it would be a good place for it
18:52:20  <Ammler> well, if it's not missing runtime requires :-P
18:53:04  <Ammler> hmm, now I am confused, do you develop pixa?
18:53:15  <andythenorth> yes
18:53:25  <andythenorth> just not in the pixa repo yet
18:53:31  <andythenorth> currently it's in the BANDIT repo
18:53:35  <Ammler> :-D
18:54:05  <Ammler> devzone has also a automatic upload feature to pypi
18:54:25  <Ammler> if you tag something,it will be available via pip
18:54:28  <Brot6> BANDIT - Revision 399:bc757699bfcd: Codechange: disambiguate a variable name (andythenorth) @
18:54:28  <Brot6> BANDIT - Revision 400:2d7b8afb917c: Codechange: remove unneeded things (andythenorth) @
18:54:31  <andythenorth> Ammler: nice
18:54:55  <andythenorth> what we miss atm is a way to include the module into a newgrf, maintainably
18:55:17  <Ammler> isn't it like Chameleon?
18:55:29  <andythenorth> chameleon I have installed system-wide
18:55:38  <andythenorth> this makes me itch
18:55:41  <Ammler> and you would not like to install pixa systemwide?
18:55:57  <planetmaker> andythenorth, as said before, it's relatively easy to provide your own spec file (for the CF). Though if it's used here, we (or Ammler :-P) can make it default
18:56:23  <Ammler> I added Chameleon also to every nml project
18:56:25  <andythenorth> Ammler: installing systemwide is just so uncommon that I can't adjust to accepting it
18:56:28  <Ammler> it does not really hurt
18:56:36  <andythenorth> :)
18:56:46  <andythenorth> maybe more people will try Chameleon... :)
18:57:43  <Ammler> I would guess, you have many other python modules installed, you never use
18:58:30  <Rubidium> andythenorth: I only know Chameleon ;)
18:58:42  <andythenorth> that one is more exciting
18:59:54  <Brot6> opengfx: compile of r959 still failed (#3792) -
19:00:47  <Ammler> planetmaker: now this is valid error, check bottom
19:00:54  <Ammler> Hirundo: ^
19:01:13  <Brot6> bandit: update from r396 to r400 done (1 warnings) -
19:02:33  <planetmaker> hm :-(
19:03:06  <Ammler> planetmaker: and you cheated heavily, the error was already there yesterday, it seems
19:05:06  <Brot6> OpenGFX - Bug #3792: DevZone compile failed (Ammler) @
19:05:21  <Ammler> Hirundo: as the error seems not new, it might not be related to your addons today
19:06:30  <planetmaker> I cheated?
19:06:40  <Ammler> you assigned the ticket to me :-P
19:06:44  <planetmaker> ah
19:06:56  <planetmaker> it's not cheating :-P
19:07:02  <planetmaker> It's "management" :-P
19:07:11  <Ammler> hmm, but opengfx built well here this evening
19:07:29  <Ammler> as I made the test with hirundos improvements
19:07:32  <planetmaker> you used another nml version?
19:07:41  <Ammler> yes, old and tip
19:07:47  <Ammler> oh, maybe not that new
19:08:12  <Ammler> r1879
19:10:59  <Ammler> Hirundo: just confirmed, the opengfx error arises between after r1879
19:12:56  <Brot6> OpenGFX - Bug #3792: DevZone compile failed (Ammler) @
19:14:45  <Brot6> NewGRF Meta Language - Bug #3797 (New): opengfx fails to build with r1881 (Ammler) @
19:16:57  <Ammler> that is because bandit uses grfcodec?
19:33:13  <Brot6> BANDIT - Revision 401:d5fb506993ca: Codechange: update tank trailer gestalt to new methodology (andythenorth) @
19:49:44  <Brot6> BANDIT - Revision 402:84445cd44d15: Codechange: update flat trailer gestalt to use new methodology (andythenorth) @
19:53:12  <Brot6> Dutch Trains 2.0 - Feature #3798 (New): Mat '24 (foobar) @
20:13:38  <Brot6> Dutch Trains 2.0 - Bug #3799 (New): Name VIRM (Transportman) @
20:19:36  <Brot6> Dutch Trains 2.0 - Bug #3799: Name VIRM (Transportman) @
20:22:17  <Brot6> Dutch Trains 2.0 - Bug #3799: Name VIRM (Transportman) @
20:27:30  <Brot6> Dutch Trains 2.0 - Bug #3799: Name VIRM (foobar) @
20:29:21  <Brot6> Dutch Trains 2.0 - Revision 312:e0f41f9626b3: Docs: something on Mat '24 (foobar) @
20:29:21  <Brot6> Dutch Trains 2.0 - Revision 313:906208ddf538: Fix: names of IRM/VIRM (issue #3799) (foobar) @
20:49:17  <Brot6> Dutch Trains 2.0 - Support #3795: Purchase menu sprites specification (foobar) @
20:58:44  <Brot6> BANDIT - Revision 403:b4b62b1ea34d: Codechange: prepare for switching cargo or trailer generation (andythenorth) @
20:58:44  <Brot6> BANDIT - Revision 404:ee5acc13a696: Codechange: add some example cargo sprite output for referenc... (andythenorth) @
21:26:33  <Brot6> Dutch Trains 2.0 - Revision 314:a0892a9379ce: Feature: new purchase menu sprites for RET Type R (foobar) @
21:26:33  <Brot6> Dutch Trains 2.0 - Revision 315:2bbbca1f1b63: Feature: new purchase menu sprites for Mat '46 (foobar) @
21:59:44  *** frosch123 has quit IRC
22:05:12  <Brot6> Central European Train Set - Feature #3620: Use 32 bpp sprites (oberhuemer) @
22:18:30  <Brot6> BANDIT - Revision 405:4774359c19b3: Codechange: coil cargo gestalt uses updated methodology (andythenorth) @
22:18:32  *** ODM has quit IRC
22:22:50  <Brot6> BANDIT - Revision 406:92f35bddf21d: Codechange: restore white and copper coloured coil sprite gen... (andythenorth) @
22:35:12  <Brot6> BANDIT - Revision 407:adf962661fb2: Codechange: convert tarps gestalt to use updated methodology (andythenorth) @
22:41:50  *** Zuu has joined #openttdcoop.devzone
23:06:45  <Brot6> BANDIT - Revision 408:88aa93a255af: Codechange: use all filenames (andythenorth) @
23:09:53  <Brot6> BANDIT - Revision 409:e910812f08bf: Codechange: using direct pixel access instead of Draw.point a... (andythenorth) @
23:10:54  <Brot6> BANDIT - Revision 410:3719da678cb2: Codechange: remove deprecated method (andythenorth) @
23:11:35  <Brot6> Central European Train Set - Feature #3620: Use 32 bpp sprites (Eddi) @
23:19:50  <Brot6> BANDIT - Revision 411:66705a90eb0b: Codechange: fix tipping trailers - missing empty state (andythenorth) @
23:21:12  *** andythenorth has quit IRC
23:21:51  <Brot6> BANDIT - Revision 412:ad7562f5050f: Codechange: cleanup (andythenorth) @
23:21:55  *** Zuu has quit IRC

Powered by YARRSTE version: svn-trunk