Log for #openttdcoop.devzone on 3rd February 2014:
Times are UTC Toggle Colours
00:13:53  *** yorick has quit IRC
01:12:36  *** gelignite_ has joined #openttdcoop.devzone
01:19:49  *** gelignite has quit IRC
01:36:44  *** gelignite_ has quit IRC
01:37:43  *** gelignite_ has joined #openttdcoop.devzone
01:38:26  *** KenjiE20 has quit IRC
01:39:46  *** KenjiE20 has joined #openttdcoop.devzone
01:45:51  *** gelignite_ has quit IRC
01:46:02  *** gelignite_ has joined #openttdcoop.devzone
01:56:36  *** gelignite_ has quit IRC
01:57:47  *** gelignite_ has joined #openttdcoop.devzone
02:31:41  *** gelignite_ has quit IRC
02:32:51  *** gelignite_ has joined #openttdcoop.devzone
03:14:48  *** gelignite_ has quit IRC
03:15:54  *** gelignite_ has joined #openttdcoop.devzone
03:44:07  *** gelignite_ has quit IRC
03:45:14  *** gelignite_ has joined #openttdcoop.devzone
04:44:17  *** gelignite_ has quit IRC
04:45:26  *** gelignite_ has joined #openttdcoop.devzone
04:53:37  *** gelignite_ has quit IRC
04:53:49  *** gelignite_ has joined #openttdcoop.devzone
05:29:48  <Elyon> how worried should I be about performance when performing, say, 64+ VarACtion2Advanced operations per tile for a station on every retrigger of my random nibble?
06:16:53  *** Elyon_ has joined #openttdcoop.devzone
06:18:40  *** Elyon has quit IRC
06:25:43  *** gelignite_ has quit IRC
06:27:07  *** Elyon_ is now known as Elyon
07:13:43  <Elyon> furthermore: there's 32 bits in property 0x12 (Cargo types for random triggers) bitmask, but what if I have defined more than 32 cargo IDs, and want all of them to trigger randomisation?
07:23:57  <Taede> isnt there only 32 cargoes per game?
07:24:18  <Taede> if so, why have random bits for cargoes which are unused, only use the bits for the cargoes that are actually active?
07:24:18  <V453000> at the same time
07:24:26  <V453000> oh :)
07:25:34  <Elyon> Taede: but I can't know at compile-time which of the 64-odd entries in my cargo table are actually in use. What if it's the latter 32, how can I enable triggers for /any/ of them?
07:27:56  <Elyon> given that they all have cargoIDs above 31
07:28:03  <Taede> i take it there is no action/callback or something where the newgrf gets told which cargoes are active during runtime? and then enable only those triggers?
07:28:13  <Taede> <-- knows nothing about newgrf coding
07:28:23  <Elyon> haha alright. I bet there is a callback somewhere maybe
07:28:48  <Elyon> but as it stands, I can't select cargoes 32-63 for triggers and those may be the only ones in use
09:22:34  <DevZone> Project ISR Industrial Station Renewal build #92-push: SUCCESS in 24 sec:
09:30:15  <planetmaker> Elyon, depends on what things cause the re-trigger
09:30:33  <planetmaker> and yes, there's only 32 cargoes per game
09:31:13  <planetmaker> and to deal with the issue of more cargoes than cargo slots - that's why we have a cargo translation table. Not sure how that works with stations, though
09:31:21  <planetmaker> or even if that works with stations, though
09:31:33  <V453000> :0
09:34:13  <Elyon> planetmaker: so if it doesn't, we will have to cherry-pick the 32 most used stations for rerandomisation to happen?
09:34:21  <Elyon> s/stations/cargoes
09:35:07  <Elyon> planetmaker: train loading/unloading is what I'm currently using, but why does it depend on this?
09:35:29  <Elyon> also: progress :D
09:37:06  <planetmaker> Elyon, did you try a cargo translation table?
09:37:27  <Elyon> planetmaker: we have one
09:38:03  <planetmaker> if you use a CTT you should be able to use the entry number in the CTT for the triggers there, thus re-randomize all used cargoes, no problem
09:38:03  <Elyon> planetmaker: but that translates beyond the 32 /first/ cargo IDs I can enable triggers for in the property
09:38:58  <Elyon> what if the entry number is 0x20?
09:39:06  <Elyon> I can't set bit 32 of a double word :p
09:39:28  <planetmaker> Either we talk past eachother or I think you mis-understand how a CTT works
09:39:37  <Elyon> very most likely the latter
09:39:49  <Elyon> the cargo translation table assigns new cargo IDs, as I understand it?
09:39:50  <planetmaker> The CTT makes sure that the available cargoes are always mapped to the bits available for the triggers
09:39:54  <Elyon> OH
09:40:01  <planetmaker> whereever they are in the CTT
09:40:09  <planetmaker> or so I think... hm
09:40:11  * Elyon headdesks
09:40:15  <planetmaker> or I mis-understand :)
09:40:17  <Elyon> sorry, I didn't realise that
09:40:19  <planetmaker> this is tricky
09:40:45  <planetmaker> the problem you'll have is, that you probably want to know which bit is which cargo
09:40:55  <Elyon> nah
09:41:07  <Elyon> well, that will be a problem probably
09:41:16  <planetmaker> if you don't care about the cargoes... just re-randomize all, I think
09:41:24  <Elyon> that's the plan :D
09:41:25  <planetmaker> and tell me if I'm wrong with what I just said :)
09:41:40  <Elyon> I will if it becomes an issue. I would test it but I'm in the middle of a huge codechange
09:41:45  <Elyon> or feature, actually
09:41:56  <Elyon> I could of course commit and branch out
09:42:17  <Elyon> planetmaker: nah, will do later. But I'll keep you posted!
09:42:18  <planetmaker> atomic commits make for easy understanding ;)
09:42:29  <Elyon> planetmaker: I'd like my commits to compile
09:42:38  <Elyon> and I usually compile after every action :)
09:42:43  <Elyon> or at least thereabouts
09:43:23  <Elyon> good rule of thumb, that, though
09:43:25  <Elyon> thanks :)
09:44:55  <planetmaker> well. having commits compile would seem sensible, yes :)
09:46:04  <V453000> nothing is needed if you have cats
09:46:05  <V453000> and beer
09:48:23  <planetmaker> miow
09:53:04  <DevZone> Project ISR Industrial Station Renewal build #93-push: SUCCESS in 22 sec:
10:54:00  <DevZone> Project ISR Industrial Station Renewal build #94-push: SUCCESS in 20 sec:
11:06:28  <Elyon> performance-wise, am I better off saving my reused variable lookups in temporary storage? (newgrf, nfo, etc.)
11:07:17  <V453000> oh yeah it would also be nice not to make the game eat cpu like crazy :D:D
11:07:57  <Elyon> OKAY SHIT
11:08:02  <Elyon> I can't not do that
11:08:05  <Elyon> :<
11:08:16  <planetmaker> Elyon, temporary storage is only valid during one call of the chain
11:08:16  <Elyon> (I kid :D so far it's running flawlessly but I haven't benchmarked
11:08:23  <Elyon> planetmaker: it only needs to be
11:10:01  <Elyon> I'm just wondering whether to do sequential `60 00` (read cargo waiting variable), or I'm better off doing a `sto 1A 20 \dxF0` to store it in register F0 and then check that with `7D F0` instead of `60 00`
11:10:14  <Elyon> it's minimal, just wondering what the best practice is :)
11:12:21  <Elyon> )
11:12:54  *** avdg has quit IRC
11:13:25  *** avdg has joined #openttdcoop.devzone
11:34:36  <planetmaker> use what suits you, I'd say. Probably depends :)
11:37:39  <Elyon> I saved a s operation by just using the variable again directly :)
11:38:45  *** yorick has joined #openttdcoop.devzone
11:39:10  <Elyon> but all these random bits I need to find :( Now I need to somehow shuffle 16 registers
11:39:21  <Elyon> shuf
12:30:33  *** Supercheese has quit IRC
12:31:10  *** Supercheese has joined #openttdcoop.devzone
15:21:04  <Elyon> I can properly shuffle 16 registers using 48 bytes, but that's (at least) 256 advanced varaction2 operations :/
15:23:41  <Elyon> err 48 bits
15:29:00  <planetmaker> what do you mean with 'shuffle 16 registers'? Why?
15:29:31  <planetmaker> if it's about displaying a random sprite, just use the tile-specific random bits and choose one of 16 from that. Is that not enough?
15:29:39  <planetmaker> Different tiles there are totally independent.
15:29:39  <Elyon> no, it isn't :p
15:29:49  <planetmaker> Or how many 'randomness' does it need?
15:29:52  <Elyon> many
15:29:55  <Elyon> I have 16 subtiles
15:30:02  <planetmaker> subtiles?
15:30:08  <Elyon> minitiles in the tile
15:30:19  <planetmaker> sounds totally over-engineered
15:30:39  <Elyon> could very well be
15:31:05  <planetmaker> 16 variations for a single tile type is quite enough. Give users a choice to more precisely place what they want
15:31:11  <planetmaker> They'll start asking for that anyway
15:31:17  <Elyon> why not both? :D
15:31:35  <planetmaker> because random and choose are the two opposite ends of what one can do
15:31:51  <Elyon> 16 variations is not enough when you have 32 cargoes and 16 zones for those cargoes per tile
15:32:22  <Elyon> :D
15:32:52  <Elyon> I agree it is completely unnecessary - but the finished result will speak for itself when the time comes :D
15:32:53  <planetmaker> difficult with cargoes.
15:33:14  <planetmaker> and I see the point in those
15:33:57  <Elyon> plus, 4 (or even 5) variations /per/ cargo type as well to choose from to avoid uniformity
15:34:15  <Elyon> there's lots of reasons for random here :D but yeah probably totally overengineered
15:34:18  <planetmaker> needs 7 bits
15:34:28  <planetmaker> 5+2
15:35:15  <Elyon> 16 zones each with a choice of 4 variations of the 8 most abundant cargoes, plus hide flags for each of those zones
15:36:11  <Elyon> of course you could make do with (a lot) less
15:36:28  <Elyon> but when it's possible to have pseudotrue variation, why not give it a shot?
15:36:45  <Elyon> :D :D
15:38:58  <planetmaker> that's way more variation then. 5 bit cargo, 4*16 = 6 bit tile
15:39:09  <planetmaker> that's 1.5 bytes randomness
15:39:27  <planetmaker> or 2048 choices
15:40:26  <Elyon> 5 bit cargo /per zone/
15:40:36  <Elyon> well, no, 3 bit cargo per zone
15:40:57  <planetmaker> you want to show different cargoes on *one* tile?
15:41:03  * Elyon nods
15:42:50  <Elyon> so 2 bits per variation * 16 zones = 32 bits, plus hide flags for each zone = 48 bits
15:42:56  <Elyon> and that's not even considering different cargoes
15:43:28  <Elyon> though some xor'ing and bitrotations can make adequately random-looking stuff :)
15:44:12  <planetmaker> ?
15:44:52  <planetmaker> I don't think that you can adequately show any cargo on 16x8 pixels
15:45:12  <planetmaker> which is the size you have when using a 4x4 grid for a tile
15:45:35  <Elyon> well, V453000 has generously provided exactly that
15:46:36  <planetmaker> I really suggest: get done first a variation by cargo, one per tile. Then deal with making it more diverse
15:46:39  <planetmaker> one step at a time
15:46:58  <Elyon> I did do that
15:47:04  <Elyon> now I'm making it more diverse
15:47:54  <Elyon> thanks for the suggestion to do one step at a time, though. I tend to get overly ambitious with my feature additions ^-^;
15:48:26  <planetmaker> I'm prone to that myself :P
15:48:33  <Elyon> ah :p
15:48:40  <Elyon> well you know from experience then!
15:49:10  * Elyon will probably hit some arbitrary limit to the number of adv. var2 operations per action
15:49:38  <planetmaker> the limit is 255
15:49:56  <planetmaker> there are 255 IDs you can use. you can re-use them. but not within one chain
15:50:16  <planetmaker> I *think*
15:50:51  <Elyon> oh, not IDs
15:50:58  <Elyon> just operations in a single var2 action
15:50:59  <Elyon> :D
15:51:29  <Elyon> also <3 for making num-entries for spritesets extended byte
15:51:30  <planetmaker> yes. but with NFO that's the case  that you need like one ID per varaction2
15:51:43  <planetmaker> or is that extended byte?
15:51:48  <Elyon> nah
15:52:23  <Elyon> one ID per varaction2 is fine but I only need like 5-10 varaction2s
15:52:30  <Elyon> however, each of them are pretty heavy
15:52:42  <Elyon> storing and reading from registers etc.
15:58:10  *** ODM has joined #openttdcoop.devzone
15:58:27  <Elyon> okay this approach is not good: I'd have to use ~2048 adv.varaction2 operations
15:59:01  <Elyon> I guess this is what the /p/ is for in pnfo :D
16:10:18  <Elyon> w
16:10:23  <Elyon> whoops
16:18:30  <DevZone> Project NML - NewGRF Meta Language build #239-nightlies: SUCCESS in 45 sec:
16:47:43  <DevZone> Project Dutch Tramset build #26-push: SUCCESS in 15 sec:
16:48:54  <DevZone> Project Dutch Trainset build #70-push: SUCCESS in 1 min 10 sec:
16:49:15  <DevZone> Project ISR Industrial Station Renewal build #95-push: SUCCESS in 20 sec:
16:49:44  <DevZone> Project 2ccts build #20-push: SUCCESS in 29 sec:
16:50:03  <DevZone> Project xussrset - Trains from Russia build #204-push: SUCCESS in 2 min 43 sec:
17:22:02  <DevZone> Project Japanese Buildings build #100-nightlies: SUCCESS in 16 sec:
17:33:52  *** frosch123 has joined #openttdcoop.devzone
17:33:55  <DevZone> Project Finnish Rail Infrastructure - Rails build #214-nightlies: SUCCESS in 8 min 8 sec:
17:48:14  <DevZone> Project Iron Horse build #661-nightlies: SUCCESS in 1 min 25 sec:
18:03:36  <DevZone> Project ISR Industrial Station Renewal build #96-push: FAILURE in 3.2 sec:
18:09:53  *** Alberth has joined #openttdcoop.devzone
18:15:07  *** gelignite has joined #openttdcoop.devzone
18:16:13  *** gelignite_ has joined #openttdcoop.devzone
18:33:28  <Alberth> zephyris seems quite busy in the industries :)
18:36:58  <planetmaker> quite, yeah :)
18:37:59  * Alberth needs a cunning plan to get the industries working
18:42:00  <Alberth> I figured out why my aquifer pump graphics are all broken, just stupid using the wrong pictures at the wrong place :p
18:43:19  <planetmaker> :)
18:43:28  <planetmaker> it's an easy mistake
18:43:58  <Alberth> aka don't use rows of pictures, when building stages are drawn in columns :)
18:44:17  <planetmaker> oh! haha :)
18:44:21  <Alberth> took me a day to realize it though :)
18:47:00  <Alberth> I suspect there is a bug in the cargos, tbh, and the closure only happens because the industries don't produce anything
18:50:35  <planetmaker> hm...
18:51:49  <Alberth> no error output in ./openttd -d grf=7   :(
18:53:56  <Alberth> nforenum also doesn't complain, other than about lack of string parameters
19:05:49  <Alberth> ha!
19:06:15  <Alberth> just add double quotes around the cargo name
19:06:21  <Alberth> stupid nml :(
19:07:27  <Alberth> ok, industries still close after one month, so it's something else
19:07:30  <planetmaker> oh... double vs single makes difference?
19:07:41  <Alberth> double versus nothing
19:08:11  <Alberth> -        cargo_label: GOOD;
19:08:11  <Alberth> +        cargo_label: "GOOD";
19:08:42  <Alberth> nml should have screamed about this, imho
19:10:43  <frosch123> aren't they the same?
19:10:59  <frosch123> " are required for non alphanumeric labels or somethin?
19:11:20  <Alberth> former doesn't give me cargoes in the industry after building, the latter does
19:12:45  <Alberth> it doesn't prevent openttd from closing all my new industries either way, after 1 month :)
19:14:16  <planetmaker> does that go for all industries?
19:14:43  <Alberth> only all my airmines and all aquifer pumps
19:14:49  <planetmaker> ah... I see what most industries look like :D
19:15:05  <Alberth> I have no other industries coded so far :)
19:19:53  <planetmaker> hm. No output cargo is not good :D
19:21:16  <planetmaker> Alberth, the cargoes don't have a label defined?!
19:21:35  <planetmaker> oh... they do. and I'm blind
19:24:46  <planetmaker> Alberth, still, try to put the labels in the cargo definitions in ""
19:24:57  <planetmaker> in the FEAT_CARGO property blocks
19:25:23  <Alberth> I did above, and that gives me cargos in the industries
19:25:25  <planetmaker> then my aquifer pump gets at least the water cargo
19:25:31  <planetmaker> but still 0 output
19:25:31  <Alberth> here too
19:25:50  <planetmaker> oh, you meant in cargo definition
19:26:23  <Alberth> newgrf debugger also gives water as output cargo, so that's good
19:27:54  <planetmaker>         min_cargo_distr: 16; <-- raising that increases output
19:28:48  <planetmaker> but still gone in March
19:32:08  <Alberth>   made one airmine survive at feb 1
19:32:15  <Alberth> possibly more
19:33:40  <Alberth> and one pump also survived (unchanged)
19:33:58  <Alberth> so it may be a matter of starting values and chance? :)
19:34:58  <Alberth> oh, all airmines survived even
19:35:37  <planetmaker> chance definitely plays a role there
19:38:42  <planetmaker> with default industries, usually all industries die within one or two decades
19:38:48  <planetmaker> (if you don't do a thing)
19:43:56  <Alberth> I can live with that :)
19:44:15  <Alberth> one month is just a tad too short to build a working station :)
19:56:20  *** skyem123 has joined #openttdcoop.devzone
19:57:01  <V453000> planetmaker: what do if tortoise says no suitable response from remote hg upon pushing to cats?
19:57:10  <V453000> iz it possible that the key needs to be added per projecT? :)
19:57:14  <V453000> I havent pushed to cats yet
19:58:40  <V453000> oh maybe this
19:58:52  <V453000> hm no not yet :d
20:00:29  <planetmaker> wrong URL?
20:00:36  <planetmaker> ssh://hg@hg.o.o/cats
20:00:58  <V453000> oh yeah I had something wrong :d no idea why didnt I copy it from nuts in the first place .. did now, sorry
20:01:03  <V453000> thanks (:
20:01:59  <planetmaker> np
20:11:41  *** andythenorth has joined #openttdcoop.devzone
20:11:48  <DevZone> Yippee, build fixed!
20:11:49  <DevZone> Project ISR Industrial Station Renewal build #97-push: FIXED in 24 sec:
21:00:33  *** ODM has quit IRC
21:05:55  *** skyem123 has quit IRC
21:21:35  <Alberth> hmm, it helps if you also include the file in the build :p
21:28:21  *** frosch123 has quit IRC
21:29:19  *** andythenorth has left #openttdcoop.devzone
21:38:25  *** Alberth has quit IRC
21:44:01  *** Alberth has joined #openttdcoop.devzone
21:44:19  <DevZone> Project opengfx-mars build #9-push: SUCCESS in 2 min 54 sec:
21:54:55  *** Alberth has left #openttdcoop.devzone
23:00:51  *** gelignite has quit IRC

Powered by YARRSTE version: svn-trunk