Times are UTC Toggle Colours
00:04:54 <Wolf01> You were looking for "I need to do something similar to..." 00:09:45 <Wolf01> Also bed 00:09:47 <Wolf01> 'night 00:09:50 *** Wolf01 has quit IRC 00:17:47 *** Wormnest has quit IRC 00:21:05 *** supermop has quit IRC 00:21:17 *** supermop has joined #openttd 00:31:40 *** smoke_fumus has joined #openttd 00:34:23 *** frosch123 has quit IRC 00:37:10 *** Gja has quit IRC 00:40:07 *** Supercheese has quit IRC 00:52:27 *** Snail has joined #openttd 00:56:41 *** Samu has quit IRC 01:12:15 *** FLHerne has quit IRC 01:18:09 *** maciozo has quit IRC 01:20:04 *** HerzogDeXtEr1 has quit IRC 01:21:39 *** Biolunar has quit IRC 01:28:43 *** FLHerne has joined #openttd 02:38:51 *** Supercheese has joined #openttd 02:50:56 *** FLHerne has quit IRC 03:01:23 *** markasoftware has joined #openttd 03:37:36 *** glx has quit IRC 03:39:13 *** supermop__ has joined #openttd 03:44:32 *** supermop_ has quit IRC 03:50:29 *** markasoftware has quit IRC 03:54:02 *** Montana has quit IRC 05:05:42 <Supercheese> @calc 7 m/s mph 05:05:42 <DorpsGek> Supercheese: Error: invalid syntax (<string>, line 1) 05:05:47 <Supercheese> hmm 05:06:14 <Supercheese> Google it is then 05:07:40 <Supercheese> maybe it was @convert or something 05:24:19 *** Snail has quit IRC 05:53:56 *** Mazur has quit IRC 06:02:33 *** Mazur has joined #openttd 06:25:21 *** sla_ro|master has joined #openttd 06:28:52 *** Alberth has joined #openttd 06:28:52 *** ChanServ sets mode: +o Alberth 06:28:57 <Alberth> mon 06:29:00 <Alberth> +i 06:50:44 *** andythenorth has joined #openttd 06:51:26 <Alberth> o/ 06:52:10 <andythenorth> moin 06:52:57 <andythenorth> to my mind, the CPP approach of dumping constants into one global namespace 06:53:02 <andythenorth> is a mess 06:53:15 <andythenorth> but…it makes for very compact templating :P 06:53:42 <andythenorth> no obj.obj.property or obj.method(obj.property) stuff 06:54:06 * andythenorth removing CPP from FIRS slowly 06:56:11 <Alberth> it's not designed to do large scale complicated replacements 06:56:37 <andythenorth> it’s a powerful tool that goes a long way fast :) 06:56:49 <andythenorth> but when it hits the limit, it hits it quite hard 06:57:38 <Alberth> it is, but "working" and "the correct approach" are two different things, which are sometimes seemingly well aligned 06:58:34 <Alberth> I agree it's better to do without CPP, Python is a much more capable solution 06:58:39 <Alberth> at the cost of more work 06:58:59 <andythenorth> removing it from here is quite tricky http://dev.openttdcoop.org/projects/firs/repository/entry/src/templates/produce_secondary.pypnml#L15 06:59:13 <andythenorth> all of the ‘var_leftover_cargo_1’ etc are CPP defines, mostly global 06:59:34 <andythenorth> it’s technically trivial to do, but will make word soup :P 07:00:32 <Alberth> I'd keep it, probably 07:00:39 <andythenorth> var_leftover_cargo_1 -> ${industry.get_perm_storage_num[‘var_leftover_cargo_1’]} 07:00:50 <andythenorth> does not aid reading a complicated templated switch :) 07:01:21 <Alberth> yes, if you go all the way, things become unreadable 07:02:09 <Alberth> you could introduce new names in your ${} thingies 07:02:24 <Alberth> to make the templates more readable 07:02:59 <Alberth> but generated code is barely readable, and pretty much non-modifiable 07:03:25 <Alberth> keeping the #define improves things at that level 07:04:30 <Alberth> In C++, the general direction is to eliminate #define, and replace with "inline" functions and "const" variables 07:04:45 <Alberth> ie the C++ languages itself provides safer alternatives 07:06:13 <andythenorth> chameleon has template local defines, so they’re in the root namespace within a specific template block 07:06:14 *** DDR has quit IRC 07:06:33 <Alberth> I once looked into NML having better templates, but it became very messy very fast 07:06:33 <andythenorth> eg define=“var_leftover_cargo_1” and then use it as ${var_leftover_cargo_1} 07:06:41 <Alberth> too many hacks around the parser 07:06:48 <andythenorth> yes 07:07:02 <Alberth> local defines look nice 07:07:20 <andythenorth> they’re generally frowned up by chameleon users, it creates annoying local indirection 07:07:36 <andythenorth> it’s preferred to put them in the backing view / object 07:07:38 <andythenorth> but eh 07:08:02 <Alberth> and local indirection is bad for computation costs? 07:08:12 <andythenorth> bad for readability 07:08:17 <Alberth> ah, ok 07:08:33 <andythenorth> if FIRS production code was simpler, this problem would go away :D 07:08:46 <Alberth> you have to be careful what to #define as well :) 07:09:45 <Alberth> although at the point of using ##, I think you're a few miles beyond that :) 07:10:15 <andythenorth> :P 07:10:52 <Alberth> I think to some extent, NML code isn't really designed from the higher level 07:11:17 <Alberth> it basically mirrors the action codes, and leaves combining the primitives to the user 07:12:05 <andythenorth> I find it easy to template, because it’s exactly akin to templating html 07:12:11 <andythenorth> which has the same issue 07:12:27 <Alberth> perhaps the higher level isn't really possible, as you'd cut of parts of the available design space 07:12:29 <andythenorth> but the techniques for good html templating took 10 years to develop :P 07:13:02 <Alberth> ie you'd end up with grfmaker-ish solutions, in the extremely simple-ish case 07:13:22 <andythenorth> yes: at first glance it looks easy to move NML up one level. Could define a vehicle object etc, and hide away all the code 07:13:30 <andythenorth> but then the varaction2 chains.... 07:14:43 <andythenorth> I know how I’d re-design it, but I’m fairly certain I’d be wrong 07:15:35 <Alberth> tbh, I don't think 'switch' is a right primitive, an if-tree would be nicer 07:15:50 <Alberth> computer can generate switches 07:15:58 <andythenorth> I find the switch syntax non-intuitive 07:16:27 <Alberth> yep, it maps directly on action2 sequences 07:16:45 <andythenorth> tbh, if the complex FIRS switches hadn’t been written by pm, yxo, hirndo etc…I’d never have grokked how to do them 07:16:54 <Alberth> no code generation required there :) 07:17:46 <andythenorth> expressions [] have remarkable power :P 07:17:59 <Alberth> I can see that, there is a lot of combined functionality hidden in the switch 07:18:47 <Alberth> but you'd want to write code more like plain imperative programming, eg Python function or C statements 07:19:32 <andythenorth> +1 07:19:39 <andythenorth> it’s also a bit heavy on syntax 07:19:43 <andythenorth> ‘said the python programmer' 07:20:07 <Alberth> yeah, too much functionality packed in it 07:20:55 <andythenorth> putting aside the syntax… 07:21:09 <andythenorth> instead of FEAT_XXX and id 07:21:20 <andythenorth> I would rather have wrapped entire blocks of nml in a scope 07:21:27 <andythenorth> e.g. specific vehicle, industry, tile etc 07:22:08 <andythenorth> this actually mirrors how most of nfo works when it comes to variable access 07:22:29 <andythenorth> and it means the objects could be extend with props that aren’t in the nfo spec 07:22:48 <andythenorth> and trivial templating could then be used 07:23:34 * andythenorth should make a pate 07:23:35 <andythenorth> paste * 07:25:03 <Alberth> makes sense 07:25:43 *** zeknurn has quit IRC 07:30:16 <andythenorth> https://paste.openttdcoop.org/pgzr2xfsv 07:31:03 <andythenorth> it localises all switches etc; there would need to be a method to access global switches, as that’s an nfo feature which is occasionally very useful 07:37:04 *** tokai has joined #openttd 07:37:04 *** ChanServ sets mode: +v tokai 07:39:38 <Alberth> you just move FEAT_ROADVEHS up one level? or are the switch names now also limited in this scope? 07:39:47 <Alberth> (and other names, I guess) 07:40:05 <andythenorth> switch names are limited in this scope 07:40:14 <andythenorth> there would have to be a way to break out of that 07:40:25 <andythenorth> but eh, most people would never need it, especially in vehicle sets 07:40:37 <andythenorth> and people like MB who understand all this…have their own solutions 07:41:11 <andythenorth> I wonder if it would be more performant, because there was a half-idea that figuring out switch IDs in a global namespace is slow 07:41:22 <andythenorth> I dunno if that was profiled though 07:41:47 <Alberth> slow in nml, you mean? 07:42:12 <Alberth> wouldn't expect so, tbh 07:42:31 <Alberth> nml gets killed by too much copying of data 07:43:31 * andythenorth did consider going back to nfo, and templating it with chameleon :P 07:43:38 <andythenorth> it would be maybe 5x faster to compile 07:44:05 <Alberth> quite possibly a lot faster :) 07:44:10 *** tokai|noir has quit IRC 07:45:32 <andythenorth> somewhere my idea gets paired with simple ${name} templating 07:45:41 <andythenorth> but I can’t figure out why that’s useful 07:46:18 <Alberth> you may end up with something like m4nfo 07:46:26 <andythenorth> yup 07:46:30 <Alberth> which is basically also just a big set of templates 07:47:31 <andythenorth> ah, interesting. The majority of my chameleon use is something like ‘${vehicle.id}_some_switch_name’ 07:47:36 <andythenorth> because all switches must be named :P 07:47:44 <andythenorth> the scope idea eliminates that need 07:48:13 <Alberth> it would indeed 07:48:52 *** zeknurn has joined #openttd 07:48:57 <Alberth> it would also fix the need for ## in CPP :p 07:49:39 <andythenorth> e.g. http://dev.openttdcoop.org/projects/road-hog/repository/entry/src/templates/capacity_switches.pynml 07:50:00 <andythenorth> 7 uses of ${stuff} just to create switch ids 07:50:10 <andythenorth> 10 even 07:50:33 <andythenorth> 7 other uses 07:50:56 <andythenorth> ha if nml did ${some python code} 07:51:06 <andythenorth> then the parser could call eval() on it 07:51:12 <andythenorth> no risk there :P 07:52:18 <Alberth> there are ideas in newer pythons for doing such things with string formatting 07:52:43 <andythenorth> you mean Template(), or something else? o_O 07:56:44 *** czaks has quit IRC 07:57:00 <Alberth> https://www.python.org/dev/peps/pep-0498/ 07:58:06 <andythenorth> interesting :) 08:01:07 <andythenorth> still not sure why templating is useful inside vanilla nml 08:01:40 <andythenorth> now wondering if nml-native templating would make life more complicated for people applying their own templates 08:01:50 <Alberth> it eliminates CPP templating 08:02:33 *** czaks has joined #openttd 08:03:00 <Alberth> ie no need for CPP any more, thus no mingw 08:03:01 <andythenorth> in my example template here, nearly all the templating relates to managing IDs https://www.tt-forums.net/viewtopic.php?p=993849#p993849 08:03:08 <andythenorth> which would be eliminated by a scope 08:05:11 <Alberth> local/global could be done by defining global names outside any scope 08:05:20 <andythenorth> yes 08:06:55 <andythenorth> I’m not sure whether nml should go an extra step 08:07:22 <andythenorth> and introduce prototypes 08:08:01 <andythenorth> e.g. prototype (ROAD_VEHS, town_bus) { [properties and switches] } 08:08:18 <Alberth> isn't that just a template? 08:08:21 <andythenorth> yes it is 08:08:24 <andythenorth> precisely 08:08:43 <andythenorth> I would expect to handle all that myself, using my preferred templating tools 08:08:57 <andythenorth> but it might aid people who write out a lot of nml long-hand 08:09:10 <Alberth> add template facility to nml, and $someone can make a set of such templates 08:09:11 * andythenorth thinks of the FIRS forks 08:09:32 <andythenorth> GarryG and spiff are doing it the hard way, by modifying the nml output :P 08:09:38 <Alberth> yeah, your code generation is likely very much magic to a lot of people 08:09:38 <andythenorth> it’s not even nicely formatted for them :P 08:09:51 <andythenorth> 3iff / spiff /s 08:11:33 <Alberth> Well, it's easy to understand, it just takes time to change things 08:11:53 <andythenorth> it’s yak-shaving :) 08:11:54 <Alberth> We have not that much patience, so we resort to magics :) 08:12:16 <andythenorth> they get bugs because they are manually maintaining 40 identical switches :) 08:12:50 <Alberth> sure, and without even the basic understanding of what things do 08:13:17 <Alberth> so I think it's amazing they get anything done 08:13:35 <Alberth> not sure if a template would improve things there 08:14:10 <Alberth> I mean, if you don't know NML, adding a template language layer on top of it would improve things? 08:14:17 <andythenorth> it requires the understanding of what’s common and what’s not 08:14:38 <andythenorth> and if the templates can’t be broken up further into sub-templates / macros, then it’s hard to get proper reuse 08:14:39 <Alberth> somewhat, I think NML could do stuff there as well 08:14:48 <andythenorth> I think it’s hard to win 08:15:02 <Alberth> nfo is a complicated language 08:15:29 <Alberth> much more complicated than eg C or Python 08:15:50 <Alberth> all kinds of dedicated purpose constructs 08:16:06 <andythenorth> scopes, I see no downside; nml-native templating, might be a tarpit 08:16:27 <Alberth> nml-native templating just kills CPP, nothing more 08:16:54 <Alberth> and for people like you, it has no value, as you prefer your own stuff 08:16:58 <andythenorth> exactly 08:17:10 *** supermop_home has joined #openttd 08:17:28 <andythenorth> constant-subsitution (with local / global scope), might be useful 08:17:34 <Alberth> I wonder though, how much CPP would you need with scopes? 08:17:34 <andythenorth> it it can be made easy to understand 08:17:50 *** czaks_ has joined #openttd 08:18:01 <Alberth> it would mostly become a sequence of #include 08:18:02 *** czaks has quit IRC 08:18:05 <andythenorth> CPP tends to be useless for the id stuff, it requires variadic macros which are bad 08:18:35 <andythenorth> I think CPP is mostly being used for #include and constant substitution 08:19:44 <Alberth> so you'd need a "const myvalue = 1+3;" like thing? 08:19:46 <andythenorth> constant substitution is helpful for things like “self.label_refits_allowed = ['FRUT','WATR’]” where that is shared by 10 vehicles 08:20:09 <andythenorth> self.label_refits_allowed = {global_edibles_tankers} 08:20:15 <andythenorth> or something 08:20:23 *** supermop_ has joined #openttd 08:21:35 <Alberth> const edibles_cargoes = ['FRUT', 'WATR']; self.label_refits_allowed = edible_cargoes; 08:21:45 <andythenorth> yes 08:22:03 <andythenorth> w.r.t includes, I am agnostic 08:22:34 <andythenorth> I would always prefer to write my own compile, so I’m not a good person to specify 08:22:55 <andythenorth> but actually the #include format seems pretty straightforward, as long as circular refs are banned 08:23:32 *** supermop has quit IRC 08:23:42 <Alberth> CPP allows them, but runs out of stack space for circular references :) 08:24:09 <andythenorth> ha 08:24:22 <andythenorth> hmm, #include for e.g. an entire vehicle in one file is intuitive 08:24:27 <andythenorth> with one master file that assembles them 08:24:44 <andythenorth> it could also be used for fragments of code, by people who make that leap 08:24:54 <andythenorth> it wouldn’t be formalised templating, nor would it break 08:24:58 <Alberth> gives very loooooong error messages ("out of stack at line x of file bla, included from line y of file bla .....") 08:25:29 <andythenorth> so the problems seem to be: 08:25:33 <andythenorth> - switch syntax 08:25:40 <andythenorth> - managing IDs (yak-shaving) 08:25:47 <andythenorth> - constant substitution 08:25:49 <andythenorth> - templating 08:25:52 <andythenorth> - file inclusion 08:26:32 *** supermop_home has quit IRC 08:26:55 <Alberth> quite 08:27:09 *** Biolunar has joined #openttd 08:28:20 <andythenorth> templating I think is non-winnable 08:28:26 <andythenorth> and I am on the fence about file inclusion 08:29:26 <Alberth> is pretty simple to hook into the parser, normally 08:29:46 <Alberth> except it's currently useless, as CPP does it all 08:30:04 <Alberth> and current parser of NML has too much magic 08:30:17 <andythenorth> I find it magical :) 08:30:26 <andythenorth> the rest of nml is pretty easy 08:30:55 <andythenorth> it’s just a giant set of substitutions :P 08:34:04 <Alberth> :o I have the reverse experience :) 08:34:20 <Alberth> I can see how the parser works, everything else looks like magic :) 08:34:55 <andythenorth> I understand conceptually that it must build a tree of objects 08:35:40 *** Samu has joined #openttd 08:35:54 <Samu> hi to all~ 08:36:22 <Alberth> hi hi 08:36:42 <Alberth> don't try to understand how the parser internals work, it's magic :) 08:37:04 <Alberth> just understanding how the rules and the code attached to the rules work is enough 08:37:29 <Samu> what? me? 08:37:39 <Eddi|zuHause> parsers are a solved problem, they basically did not change since the 70s... 08:38:06 <Alberth> false, there are developments in stronger parser algorithms 08:38:07 <Eddi|zuHause> you just feed them a set of rules, and they build you a tree 08:38:46 <Alberth> LALR(1) does impose some limits that you don't always want 08:38:48 <Eddi|zuHause> Alberth: details :p 08:39:04 <Alberth> oh :) 08:39:36 <Alberth> let's talk again after you embedded eg SQL in C++ or so, eh? :D 08:39:50 <Eddi|zuHause> :) 08:40:36 <Alberth> switching between languages in the middle of programs is very useful, but standard parser technology can barely handle a single language 08:41:27 <Alberth> afaik that is where a lot of parsing research is aiming for 08:41:40 * andythenorth biab 08:41:42 *** andythenorth has quit IRC 08:41:52 *** ConductorCat has quit IRC 08:47:12 *** FLHerne has joined #openttd 08:47:25 *** ConductorCat has joined #openttd 09:05:36 *** Supercheese has quit IRC 09:07:06 *** synchris has joined #openttd 09:09:20 *** andythenorth_ has joined #openttd 09:15:10 *** smoke_fumus has quit IRC 09:15:11 *** Progman has joined #openttd 09:18:22 *** andythenorth_ has quit IRC 09:21:37 <Alberth> bbl 09:21:41 *** Alberth has left #openttd 09:29:47 *** andythenorth_ has joined #openttd 09:32:23 *** gelignite has joined #openttd 09:32:47 *** andythenorth_ has quit IRC 09:42:14 *** HerzogDeXtEr has joined #openttd 09:47:56 *** andythenorth_ has joined #openttd 09:50:57 *** andythenorth_ has quit IRC 09:51:35 <Samu> I did it! but a small issue 09:51:37 <Samu> http://imgur.com/YlsWYA3 09:51:57 <Samu> the line describing kirby paul is too big 09:52:15 <Samu> look at train 1 details 09:52:28 <Samu> running cost of kirby paul doesn't fit on a default sized window 09:52:31 <Samu> what can i do? 09:53:50 <Samu> and it looks like i have another problem, running cost of bus is £0 for some weird reason 10:00:42 *** Wolf01 has joined #openttd 10:00:55 <Wolf01> o/ 10:05:25 <Samu> plz explain me what is this doing exactly? 10:05:26 <Samu> virtual Money GetRunningCost(bool single_part = false) const { return 0; } 10:06:16 <Samu> when trying to get the running cost of a bus, I get this function doing a return 0 10:06:20 <Samu> why' 10:07:45 <Wolf01> Mmmh, html2text, how should I convert <p> vs <br/>? 10:08:35 <Samu> isn't <br> a enter or a paragraph? 10:08:38 <Samu> i forgot 10:08:46 <Wolf01> Enter 10:08:55 <Wolf01> <p> is paragraph 10:09:29 <Wolf01> I need to check what richtextbox allows 10:10:40 <Wolf01> Mmmh textBox1.Text = generatedCode.Replace("\n", Environment.NewLine); 10:11:29 <crem> Any german speakers online? "Wir haben genug Zeit, um den Zug zu bekommen." <- isn't "um" here a mistake? 10:11:32 <crem> Sorry for a bit of offtopic. :) 10:11:48 <Wolf01> Lol... this channel IS offtopc 10:13:57 <Samu> code expert needed 10:14:00 <Samu> https://paste.openttdcoop.org/ptvy7ysmq 10:14:58 <Samu> the problem that I have is that I wanted to make GetRunningCost() for trains to be different than the others (ship, aircraft, road vehicle) 10:15:27 <Samu> it appears to be working good for trains now, but all other vehicle types are getting a 0 in running costs, where did I fail 10:15:47 <Samu> ? 10:15:58 <Samu> http://imgur.com/a/NudRw 10:23:53 *** andythenorth has joined #openttd 10:24:50 *** sla_ro|master has quit IRC 10:25:40 <Wolf01> o/ 10:28:42 <Wolf01> Now the most difficult part... I need a name for a class which handles text manipulation 10:28:56 <Wolf01> Names are always the most difficult part for devlolopers 10:29:45 <andythenorth> write a name generator 10:29:53 <Wolf01> Already done :P 10:30:01 <andythenorth> name all classes starting at ‘a’ 10:30:02 <Wolf01> But not suitable for this 10:30:05 <andythenorth> ‘b’ 10:30:13 <andythenorth> then ‘aa’ 10:30:23 <andythenorth> when you get to z 10:30:23 <Wolf01> That's code obfuscations 10:30:36 <andythenorth> I have employed more than one person who wrote that way 10:30:41 <andythenorth> ‘it was more efficient’ 10:31:20 <Wolf01> Did you had to kill them? 10:32:18 <crem> TextManipulationHandler 10:35:05 <andythenorth> so are we re-writing nml? o_O 10:35:11 <Wolf01> Nah 10:36:12 <Wolf01> I would like a more evocative name, some verb transformed to noun maybe, like the classic "inflector" 10:36:33 <Wolf01> Textor is meh XD 10:36:58 <andythenorth> ah alberth left 10:37:04 <andythenorth> nml rewrite paused then :P 10:39:20 <Wolf01> Textinator? 10:40:03 <Wolf01> Stringulator (from strangulator)? 10:50:33 *** Stimrol has joined #openttd 10:52:36 <andythenorth> ManipulateText 10:52:54 <andythenorth> is it a simple method, or a complex tool? 10:57:10 <Wolf01> A class with a collection of static functions to manipulate text 10:57:45 <Wolf01> Like stripping html tags, replacing br to newlines... 10:57:55 <andythenorth> TextUtility 10:58:22 <andythenorth> if in doubt, add ‘utils’ :P 10:58:33 <andythenorth> every project has a ‘utils’ file of shame 10:58:54 <Wolf01> I have a Utils folder of shame 11:11:02 <Wolf01> Mmmh... textixulator... nah too weird 11:21:04 <Samu> Wolf01: http://imgur.com/a/laMHZ - pretty huh? 11:21:04 <andythenorth> I gave up novelty names 11:21:19 <andythenorth> VerbNoun 11:21:22 <andythenorth> Noun 11:21:33 <andythenorth> CollectiveNoun 11:22:06 <andythenorth> less brain on names, more brain for writing less code 11:22:27 <Samu> only the Armoured Van does not have a running cost by default, I calculated it for it 11:22:31 <Wolf01> Samu, I hope running costs don't change with length and engines, btw it seem good 11:22:45 <Samu> it does :( 11:22:55 <Samu> i'm mixing newgrfs 11:23:00 <Samu> see the end result 11:23:22 <Wolf01> Also why the running cost is 5 times the value of the wagon? 11:23:49 *** Progman has quit IRC 11:23:50 <Wolf01> I'll sell the wagon and wtf valuables 11:23:53 <Samu> it's exposing a flaw in my formula 11:24:13 <Wolf01> Because you insist on getting the cost from weird values 11:24:23 <Samu> yeah :( I notice 11:25:33 <Samu> on the right, the train is stopped (one of the newgrfs halves the running cost of stopped vehicles) 11:25:36 <Wolf01> Right values are: purchase price, value, refit (one cargo type might cost more than another because it ruins faster the wagon), age 11:26:13 <Wolf01> "7k -> 5k" halved... 11:27:32 <Samu> that's the wagon that doesn't specify a running cost 11:27:36 <Wolf01> Also try your change with 8k trains, let's see how good it performs with calculating ~8k wagons 11:27:44 <Samu> yeah, i'm wondering how i'm going to fix this 11:27:51 <Wolf01> By caching it 11:28:02 <Wolf01> But you don't want to cache it 11:29:18 <Samu> it's hard because a stopped "vehicle" with reduced costs is actually a property on the engine 11:29:25 <Samu> talking about nars 11:29:41 <Samu> nars wagons don't have reduced costs 11:29:41 <Wolf01> It's hard because you chose the hard and weird path to do it in a wrong way 11:29:54 <Samu> it's still full price 11:30:38 <Samu> my simulation of halved price is taking effect, but the results i'm seeing are not what I was looking for 11:30:46 <Samu> t.t 11:33:20 <Samu> i believe the flaw is that I'm summing the running costs of all parts regardless if they're wagons or not. I suppose I have to exclude running costs of wagons from the formula, only count it from engines 11:33:53 <Wolf01> But why? 11:36:24 <Wolf01> I already show you a possible right way to do it, I wont help you further on your nonsense as you are completely discarding my suggestions 11:37:28 <Samu> yeah, I'm a bit alone on this 11:37:32 <Samu> it's ok 11:43:40 <andythenorth> hmm 11:43:56 <andythenorth> why do nml + nfo docs refer to temp registers as ‘storage’ :P 11:44:11 <andythenorth> nvm 11:44:12 <Wolf01> My friends voted for Texticulator 11:44:19 <Wolf01> I should never ask friends 11:44:31 <andythenorth> that is definitely wrong sounding in English 11:44:38 <Wolf01> Even in italian 11:45:12 <andythenorth> ‘industry.perm_register_nums.var_ratio_cargo_1’ would be neater as ‘industry.storage_nums.var_ratio_cargo_1' 11:45:24 <andythenorth> but I have to piss around distinguishing temp and perm storage 11:48:23 <Wolf01> What are used for? 11:48:56 <andythenorth> industries have 16 registers that persist in savegames 11:49:18 <andythenorth> and varaction2 chains have registers that are transient, and exist whilst the chain is executed 11:50:31 <Wolf01> "saved and local"? 11:50:35 <Samu> looks like it's working as intended after all 11:51:20 <Samu> only a tiny fraction of the train doesn't have a running cost, and it is basing it on a big fraction 11:51:35 <Samu> it looks wrong though 11:52:19 <Samu> and i already know what you told me, you disagree with it 11:52:27 <Samu> t.t 11:56:25 *** Alberth has joined #openttd 11:56:25 *** ChanServ sets mode: +o Alberth 11:56:36 <Alberth> moin 11:57:01 *** JacobD88 has joined #openttd 11:57:09 <Wolf01> o/ 12:00:34 <Samu> http://imgur.com/zsSbNsp 12:00:58 <Samu> never higher than the sum of all the other parts 12:03:05 <Samu> i can see now why a user-defined parameter could be useful 12:03:49 <Samu> to adjust costs that "make no sense" 12:14:48 <andythenorth> Alberth: (FWIW) I replace the defines thus (with dumb class on the industry that stores register nums on properties) http://dev.openttdcoop.org/projects/firs/repository/entry/src/templates/produce_secondary.pypnml 12:14:58 <andythenorth> hardly news, but I felt the need to share :P 12:15:21 <andythenorth> “ain’t finished yet neither" 12:17:02 <Samu> Wolf01: http://imgur.com/a/WhJFy - it's currently based on _settings_game.vehicle.max_train_length 12:17:14 <Samu> from 1 to 64 12:17:22 <Samu> looks better now 12:17:27 <Alberth> looks much nicer than the dictionary access stuff, andy 12:18:29 <andythenorth> yup 12:18:38 <andythenorth> it’s over-engineered probably though :P 12:19:02 <Alberth> oh, clean code to work in also counts :) 12:19:26 *** FLHerne has quit IRC 12:51:58 <andythenorth> such compile times :P 12:51:59 <andythenorth> very wow 12:52:15 *** supermop has joined #openttd 12:52:20 <andythenorth> FIRS was 50s or so, then I added Steeltown 12:52:25 <andythenorth> and some extra switches too 12:52:29 <andythenorth> now it’s 1m15s or so 12:57:34 *** supermop__ has quit IRC 13:15:03 <Alberth> add another economy, and you can drink tea while waiting :) 13:16:19 <andythenorth> ach, I should use the single industry compile 13:16:21 <andythenorth> oops 13:20:54 <andythenorth> 15s :P 13:46:20 *** andythenorth has quit IRC 13:48:29 *** frosch123 has joined #openttd 13:48:36 *** Gja has joined #openttd 13:48:39 <Wolf01> Quak 13:48:40 <frosch123> https://1.f.ix.de/scale/geometry/695/q75/imgs/71/2/1/5/4/4/3/1/mwc-topsflops-top-c638d2cb4841addd.jpeg 13:48:48 <frosch123> moi 13:55:28 <crem> frosch123! 13:55:42 <crem> Are you a german speaker by any chance? 13:55:52 <Alberth> o/ 13:55:56 <frosch123> i can quak 13:56:24 <crem> quak 13:56:32 <Alberth> and translate them to english 13:56:52 <Alberth> ha, nice sign :) 14:09:40 <Samu> http://imgur.com/a/bMm6g - off and on, yay, it's werking 14:10:26 <Samu> help me at english 14:12:33 *** gelignite has quit IRC 14:13:17 <Alberth> s/at/with/ 14:15:29 <Samu> oki 14:15:47 <Samu> STR_CONFIG_SETTING_RUNNING_COSTS_TRAIN_EXTRA_HELPTEXT :When enabled, extra running costs are added for parts of a consist in a train that do not specify a running cost, such as wagons from the original game. 14:16:03 <Samu> is this good english, bad english, how would you fix it 14:17:35 <Alberth> why do people insist on trying to fix original game data? 14:18:09 <Samu> because they like the original game 14:18:36 <Alberth> obviously you don't, as you're modifying it 14:20:01 *** HerzogDeXtEr1 has joined #openttd 14:20:07 <Samu> :( 14:21:04 *** innocenat has quit IRC 14:21:11 <Alberth> but english seems good enough to me 14:21:27 *** innocenat has joined #openttd 14:21:45 <Alberth> somewhat pondering on the "a consist in", which seems a bit long and not adding much, but fair enough 14:22:08 <Samu> good idea 14:22:34 <Alberth> but really, make a newgrf, using the original vehicles, and overriding the wagon costs 14:22:49 <Alberth> that instantly works everywhere 14:23:44 <Samu> i'm not sure it would achieve the same goal 14:24:49 *** HerzogDeXtEr has quit IRC 14:25:10 <Samu> i don't know ... maybe it can 14:26:09 <supermop_> good morning 14:26:15 <Samu> the extra cost is based on the cost of other parts which do have a cost, dunno if the newgrf allows me to do this 14:27:11 <Samu> it's not a fixed value that I place on a table 14:29:46 <frosch123> do we have a static hashtable implementation in ottd? 14:31:58 <Eddi|zuHause> something hash-y was with vehicle collision detection 14:36:28 <Samu> Alberth: http://imgur.com/zsSbNsp - not a fixed value 14:39:41 <Samu> i'm happy that i made it this far 14:39:53 <Samu> 4 years ago was when I had the idea 14:40:48 <Samu> now i just need a user-defined variable for better customization 14:46:20 *** Wormnest has joined #openttd 14:56:02 *** sla_ro|master has joined #openttd 15:05:29 *** sim-al2 is now known as Guest179 15:05:30 *** sim-al2 has joined #openttd 15:10:29 *** Guest179 has quit IRC 15:27:54 *** maciozo has joined #openttd 16:03:40 *** JacobD88 has quit IRC 16:10:50 *** gelignite has joined #openttd 16:13:20 <Wolf01> Ha! frosch123, you called it https://www.tt-forums.net/viewtopic.php?f=29&t=75752&p=1183578#p1183578 16:15:15 <Wolf01> supermop https://www.tt-forums.net/viewtopic.php?f=26&t=75986 I think it would be better to add some info on how to use it, like "you need to download the RATT build (link)" 16:17:41 <supermop_> and some screenshots maybe 16:18:12 <supermop_> ill put some up/ make a release thread today after I do my taxes 16:43:36 <supermop_> Wolf01: ive been think a lot lately about tram overlays 16:44:03 <supermop_> abiut the various types of tramway people might want to see, without using up all 15 slots 16:46:08 <supermop_> basically for 'tramway' (that is light rail in a roadway), there is either the kind where the asphalt or stone blocks etc are build up over the trackbed, so you just see the rails set into the road surface. this seems to be what most people think of 16:47:20 *** czaks_ has quit IRC 16:47:34 <supermop_> there is also the kind where the track are set into a concrete slab, and that slab is the road surface between the rails, but it is asphalt outside of the rails, which seems to be common on most newly built or refurbished lines 16:48:16 <Eddi|zuHause> i suppose taking out the slab is easier in case of track maintenance 16:48:40 <supermop_> making the concrete part of the overlay then means that you must have the slab even when the light rail is not in a road 16:49:14 <supermop_> which some lines seem to have but not all 16:49:45 <Samu> my unglish, :( 16:50:14 <Eddi|zuHause> also i don't know about "newly built"... these concrete slabs definitely have been around in the 80s 16:50:44 <supermop_> Eddi|zuHause true, in melbourn about half of the track that is unrestored since the 80s also looks like that 16:50:50 <supermop_> but nits not universal 16:50:56 <supermop_> its not 16:51:20 <Samu> looking for english expert 16:51:22 <Samu> http://imgur.com/ALyXKXV 16:51:24 <Eddi|zuHause> i know lots of brand new lines that have been redone with asphalt, not a slab 16:51:34 *** czaks has joined #openttd 16:51:54 <supermop_> also pre-1960s in the us I never seen a photo of that concrete slab, but the newer light rails of the 90s and 00s seem to all have it here 16:52:04 <Samu> STR_CONFIG_SETTING_RUNNING_COSTS_TRAIN_EXTRA_DIVISOR_HELPTEXT :When the setting 'extra running costs for trains' is enabled, this divisor allows for better fine-tunning the desired running cost result. A lower divisor results in a higher cost. A higher divisor results in a lower cost. When set to Auto, the divisor will be based on the current game value set for 'maximum length of trains' instead. 16:52:13 <Samu> is this good englisho? 16:52:51 <supermop_> samu it is fine 16:53:14 <Eddi|zuHause> anyway, the concrete slab problem can only be solved if you have different overlays depending on whether there is a road or not 16:54:11 <supermop_> some less technically literate English speakers may be less familiar with the term 'divisor' but you aren't going to be able to explain such a technical concept to them in one string anyway 16:54:23 <supermop_> Eddi|zuHause yeah that's what I am thinking 16:54:53 <supermop_> also there are maybe several different user expectations for a light railway inside a town, without road 16:55:26 <supermop_> does it look like a light railway with ballast and ties, and maybe future fences when nrt supports them? 16:55:57 <supermop_> is it a tramway set in a bare concrete slab? is it a tramway set into a pedestrian mall? 16:56:10 <supermop_> is it a tramway set into grass? 16:56:42 <supermop_> all but one of those need the overlay to be just rails 16:57:05 <Eddi|zuHause> ... off-road trams also come in variants with wood sleepers, concrete sleepers sleeperless concrete or embedded in dirt or grass 16:57:17 <supermop_> yes 16:57:45 <Eddi|zuHause> and yes, pedestrian zones come in all shapes and colours 16:58:02 *** Biolunar has quit IRC 16:58:23 <supermop_> of course I can just pick whatever i want to draw and let other authors create newgrfs with their own preference 16:59:21 <supermop_> also 'pedestrian mall' could be a road type 16:59:51 <supermop_> so that type of tramway is created by superposition of pedestrian walkway and light rail 17:00:55 <Eddi|zuHause> pedestrian zone can only be travelled by rollerskate and segway vehicles? 17:01:16 <Eddi|zuHause> the "pizzabote" definitely needs to go there 17:01:28 <supermop_> those golf cart sized street sweepers too 17:01:46 <Samu> Extra running costs for trains' divisor 17:01:49 <Wolf01> To me the problem is when you want to make a roadtype without catenary and with catenary, you occupy 2 slots 17:01:50 <Eddi|zuHause> ("pizzabote" is some old eye-candy vehicle grf) 17:02:07 <supermop_> Wolf01yeah it's a pain 17:02:47 <Samu> supermop_: http://imgur.com/ALyXKXV what about the other line? 17:02:57 <Eddi|zuHause> Wolf01: uhm, sure, but whether you add a flag "with catenary" or you just extend the slots by 1 bit doesn't really matter 17:02:58 *** Snail has joined #openttd 17:02:58 <supermop_> to add a under-road conduit power takes a third type 17:02:58 <Wolf01> Also it makes really confusing when you place a non electric tramway over a trolleybus road 17:03:06 <supermop_> yes! 17:03:37 <Samu> "Extra running costs for trains' divisor" or "Divisor for extra running costs for trains" ugh... my english 17:03:40 <Eddi|zuHause> Wolf01: why is that confusing? 17:03:47 <supermop_> noticed that yesterday junction of tramway and elrd shouldn't draw the grand union catenary 17:03:49 <Wolf01> With the flag Eddi is talking about I tried to add catenary as infrastructure, so it could be used for both roadtypes at the same time 17:03:51 <supermop_> just a x 17:04:38 <supermop_> Wolf01 to be fair trams cannot use trolleybus wires and vis versa 17:04:43 <Samu> STR_CONFIG_SETTING_RUNNING_COSTS_TRAIN_EXTRA_DIVISOR :Extra running costs for trains' divisor: {STRING2} 17:04:47 <supermop_> one in 1 conductor, other is 2 17:05:27 <Wolf01> Actually, you can't run electric tram in ELRD+RAIL 17:05:44 <supermop_> Wolf01yes that is correct to real life though 17:06:05 <Wolf01> And the same happen for ROAD+ELRL for trolleybus 17:06:20 <Wolf01> Simply the game doesn't support it 17:06:36 <supermop_> trolleybus cannot use single wire catenary 17:06:51 <supermop_> because cannot use rails for DC return 17:07:10 <Wolf01> No, I'm not talking about realism, road vehicle can't use tram catenary 17:07:21 <supermop_> which is realistic 17:07:45 <supermop_> that's kind of why I made unspooled, so bus and tram wires look different 17:07:46 <Wolf01> But you can have ELRD+ELRL 17:08:00 <Eddi|zuHause> Wolf01: that's a problem that doesn't need solving. everything is fine 17:08:00 <Wolf01> With ELRD taking precedence 17:08:03 <supermop_> that exists on some streets in seattle 17:08:21 <supermop_> it creates quite a visual mess 17:09:31 <Wolf01> Eddi, you can't tell without infotool if your electric tram can run in that tile 17:09:43 <Wolf01> Because it might be ELRD+RAIL 17:09:56 <supermop_> that's why I made visually distinct sprites 17:10:13 <supermop_> ELRD wire in unspooled has two wires 17:10:26 <Wolf01> ELRD+ELRL use ELRD catenary 17:10:36 <Wolf01> So you need to change tracks 17:10:37 <supermop_> ideally it should draw both 17:10:43 <Eddi|zuHause> supermop_: but even with different sprites you can't distinguish ELRD+RAIL and ELRD+ELRL 17:11:00 <Eddi|zuHause> supermop_: drawing both causes too many glitches/corner cases 17:11:07 <supermop_> Eddi|zuHause I was hoping game would draw both 17:11:55 <Eddi|zuHause> supermop_: besides the wires, you would draw two sets of poles 17:12:21 <supermop_> at least in my sprites the poles overlap 17:15:38 <supermop_> i'd rather have to remember or use ? tool than have electric trams running on bus wire tho 17:18:42 <Wolf01> It's not even possible to make eltrams to run on bus wire, so the question is closed, the open question is "wtf my eltram does not run there?" 17:20:12 <supermop_> other than drawing both wires, is there any solution? 17:20:28 <Wolf01> Actually, no 17:20:39 <Wolf01> Only the infotool 17:22:16 <Eddi|zuHause> man, for months now i've been meaning to make a backup and update my system, but i'm never actually doing it... 17:23:57 <supermop_> brb 17:24:26 *** glx has joined #openttd 17:24:26 *** ChanServ sets mode: +v glx 17:25:10 *** Montana has joined #openttd 17:25:50 <Alberth> eddi: tonight seems like a good evening for it 17:41:29 <Samu> describing functions takes so much of my time t.t 17:41:32 <Samu> * @param single_part whether to return the cost of the current part or the whole 17:48:08 *** andythenorth has joined #openttd 17:48:14 <Wolf01> o/ 17:48:19 <andythenorth> lo 17:49:08 <andythenorth> so an nml rebuild? o_O 17:49:28 <Wolf01> Andy, do you have any suggestion about last hour log? 17:50:45 * andythenorth will read 17:53:39 <andythenorth> coloured wires 17:53:53 <andythenorth> an overlay for the map showing valid routes 17:54:07 <andythenorth> a transparency mode that palette shifts all tiles of a specific route type 17:54:22 <Wolf01> Any feasible things? 17:54:26 <andythenorth> an additional ‘high visibility’ sprite in the newgrf spec that can be toggled on and off 17:54:31 <andythenorth> srsly 17:54:40 <Wolf01> Remove the log? 17:54:40 <andythenorth> I want that for industry cargo acceptance and production also 17:54:55 <andythenorth> toggleable info sprites 17:55:06 <andythenorth> like a metadata layer 17:55:29 <andythenorth> TTRS does something like that with house acceptance I think 17:55:52 <Wolf01> I just want to show stations catchement areas for production and acceptance instead :( 17:56:29 <Wolf01> And fix station walking catchement areas, just to create havok 17:58:04 <andythenorth> bus != tram, so yes, the powered-or-not is moot 17:58:12 <andythenorth> it’s just a visual question about catenary sprites 18:00:29 <Wolf01> ELRD+ELRL is weird, we could implement that you can't have both, so you can at least recognize it by poles... but what about crossings? If it's possible ELRL(tram)+ELRL(train) crossing it should be possible also for ELRD+ELRL 18:01:02 <andythenorth> colour the road 18:01:06 <andythenorth> yellow 18:01:19 <andythenorth> then it’s obvious 18:01:37 <Wolf01> Paint something like a reserved lane? 18:02:30 <Wolf01> https://gta4bustransit.files.wordpress.com/2011/04/brt-1st-2nd-aves-nyc-dot-mta-lg.png?w=640&h=346 18:02:39 <andythenorth> yup 18:03:02 <Wolf01> Which is not really reserved... 18:03:19 <Wolf01> TL;DR color-coded roads 18:03:51 <Wolf01> Must go, my people needs me 18:03:56 <Wolf01> BBL 18:09:15 <andythenorth> so checks eh? http://dev.openttdcoop.org/projects/firs/repository/entry/src/templates/checks.pypnml 18:09:48 * andythenorth wonders why L80-98 exist http://dev.openttdcoop.org/projects/firs/repository/entry/src/templates/checks.pypnml#L80 18:16:16 *** ZirconiumX has joined #openttd 18:21:31 <Alberth> otherwise lines 80-98 would be missing :p 18:23:20 *** santzee has joined #openttd 18:23:32 <andythenorth> good answer 18:23:57 <andythenorth> I was hoping I could make a dict of incompatible grfs and template them trivially 18:24:06 <andythenorth> but eh, there’s magic, so no 18:24:17 <Alberth> apparently checks if eg 'CaCa' grf will become active, and check for some parameter value 18:24:38 <santzee> can anyone tell me how to allow udp and tcp packets 18:24:58 <Alberth> you'd have to check the docs of that grf to see what that parameter does 18:25:06 <andythenorth> yup 18:25:11 <Alberth> likely it messes with something industry-ish 18:25:16 <andythenorth> I wonder why not just ban those grfs :P 18:25:29 <andythenorth> planetmaker might know? 18:25:55 <Alberth> perhaps they are harmless if that parameter is not set in the indicated way 18:26:05 <andythenorth> probably :) 18:26:10 <andythenorth> (related) is it a makefile kind of day? 18:26:24 <Alberth> and some fans like to use that grf with firs 18:26:35 <Alberth> oh, it could be a makefile day 18:26:48 <Alberth> or rather, evening :) 18:26:51 <frosch123> what was again the command to make python3 determinsitic? 18:27:10 <Alberth> python3 --help doesn't say? 18:27:27 <frosch123> PYTHONHASHSEED 18:27:34 <andythenorth> http://stackoverflow.com/questions/27954892/deterministic-hashing-in-python-3 18:28:10 <Alberth> yeah, after typing the reply, I remembered it was a env var :) 18:28:49 <frosch123> the result of compile firs is indeterminstic 18:28:55 <frosch123> it seems to reorder translations or something 18:28:57 <andythenorth> ha 18:29:03 <andythenorth> Alberth was your idea to make a new generic makefile for devzone projects? o_O or just my projects? o_O 18:29:03 <frosch123> it thought we fixed that already 18:29:06 <Alberth> santzee: we can give you the port numbers, but how to configure your modem and firewall, no idea 18:29:36 <santzee> yes i know the portnumber 3979? 18:29:45 <frosch123> @ports 18:29:45 <DorpsGek> frosch123: OpenTTD uses TCP and UDP port 3979 for server <-> client communication, UDP port 3978 for masterserver (advertise) communication (outbound), and TCP port 3978 for content service, a.k.a. BaNaNaS (outbound) 18:29:46 <Alberth> it follows master language 18:30:15 <Alberth> so all translations use the same order of strings 18:32:02 <frosch123> https://paste.openttdcoop.org/pybhina4m <- it seems to reorder cases/genders/plurals 18:32:48 <andythenorth> which lang is that? o_O 18:33:00 <frosch123> many :) 18:33:04 <frosch123> i just picked one example 18:33:15 <andythenorth> ok 18:33:35 <frosch123> i also invoke nmlc directly, so it's not related to your python magic 18:33:41 <Alberth> I think they got sorted 18:34:20 <frosch123> andythenorth: btw: "nmlc info: DCxx strings: 233/2048" <- firs is again completely unfinished 18:34:21 <Alberth> oh, nml compiler rather than eints 18:34:43 <andythenorth> ha ha 18:34:55 <andythenorth> now I’ll have to keep going :P 18:35:03 <Alberth> andy, your makefile would be a good start I think 18:35:20 <andythenorth> I would suggest the Road Hog or Iron Horse one first 18:35:22 <frosch123> andythenorth: i think the idea of a "generic makefile" is silly 18:35:22 <Alberth> universal is so tricky due to all the weird stuff people do :p 18:35:26 <andythenorth> frosch123: +1 18:35:31 *** DDR has joined #openttd 18:35:33 <andythenorth> the FIRS makefile has baggage 18:35:45 <frosch123> if you want to make it work with everything, you make it that complicated that it works nowhere :p 18:35:46 <andythenorth> otoh, the FIRS one has an extra target for html_docs 18:36:08 <andythenorth> frosch123: this is why I never tried to make the python stuff reusable by other people :P 18:36:11 <Alberth> frosch123: nah, it works for exactly your cases :p 18:36:18 <andythenorth> in principle I’ve made an object framework for grfs 18:36:21 <andythenorth> but eh, no 18:36:28 <frosch123> i got used to Makefiles being broken on most devzone projects, i always run hg purge before compilation 18:37:09 <andythenorth> hmm did I branch Road Hog for NRT? 18:37:11 <Alberth> right, some hogs or horse thus 18:37:16 <andythenorth> I think Horse 18:37:18 <andythenorth> simpler 18:37:20 <Alberth> ok 18:37:50 <Alberth> likely it's simpler than generating c++ from Python :p 18:38:00 <andythenorth> likely :) 18:38:05 <andythenorth> http://dev.openttdcoop.org/projects/iron-horse/repository/entry/Makefile 18:38:31 <andythenorth> whether to reduce the current Makefile, or start afresh? 18:39:03 <andythenorth> I only use [no target], ’clean’, ‘install’, and ‘html_docs’ (if it exists) 18:39:10 <Alberth> first update, and try to build the horses :) 18:39:14 <andythenorth> ok 18:40:19 <andythenorth> ‘roster=pony’ will make it faster 18:41:10 <Alberth> clearly, "make distclean; make" doesn't work :p 18:41:40 <Alberth> target wasn't used much recently :) 18:41:47 *** santzee has quit IRC 18:42:33 <andythenorth> works for me o_O 18:43:01 <Alberth> iron horse has no DCxx strings at all, seems finished thus :p 18:43:08 <andythenorth> yup 18:43:30 <Alberth> 1542:5dda61867b1b <-- that revision? 18:43:52 <Alberth> not that it matters much with makefiles 18:44:24 <andythenorth> yup 1542 18:44:44 <andythenorth> not happy if do ‘make clean’ first though 18:45:09 <Alberth> what targets does it need to support, eg from compile farm? 18:45:33 <Alberth> or just use default gnu targets? 18:45:45 <DorpsGek> Commit by translators :: r27765 trunk/src/lang/russian.txt (2017-03-04 19:45:36 +0100 ) 18:45:45 <Alberth> iirc that's was you talked about last time 18:45:46 <DorpsGek> -Update from Eints: 18:45:47 <DorpsGek> russian: 4 changes by Lone_Wolf 18:45:48 <andythenorth> I would push a minimal set and see what breaks 18:45:50 *** FLHerne has joined #openttd 18:45:53 <andythenorth> jenkins will tell us / me 18:46:33 *** Montana has quit IRC 18:47:33 <andythenorth> seems that Makefile.config and Makefile.in could be folded together? 18:49:21 <Alberth> I had just decided to remove Makefile.config :) 18:49:39 <Alberth> I haven't opened Makefile.in yet 18:51:14 <Alberth> Interesting filenames do you use: 'SW9 .psd' a space before the "." 18:54:28 <andythenorth> fat fingers 18:57:40 <frosch123> https://paste.openttdcoop.org/pt8sdmz22?/pt8sdmz22 <- seems to fix it 19:00:24 <Alberth> that looks right 19:11:25 <Alberth> do you have projects that use CPP ? 19:13:23 <andythenorth> yes 19:13:27 <andythenorth> FIRS 19:13:35 <andythenorth> IH, RH, Sam don’t 19:13:39 <supermop_> yo 19:14:06 <supermop_> fyi Andy, I have to keep deleting newer trunk hog to use nrt hog 19:14:33 <supermop_> maybe give it a different ID or something? 19:14:45 <andythenorth> hmm 19:15:08 <andythenorth> that could work, but is liable to mistakes when I release it 19:15:24 <andythenorth> probably will ship it with wrong ID :P 19:15:28 <supermop_> heh 19:16:20 <supermop_> I want Xs between ELRD and ELRL to use a separate X catenary instead of union 19:16:44 *** Snail has quit IRC 19:17:11 *** Snail has joined #openttd 19:17:41 *** Snail has joined #openttd 19:18:41 *** Snail has joined #openttd 19:19:07 *** Snail has quit IRC 19:19:27 *** Snail has joined #openttd 19:20:25 *** Snail has joined #openttd 19:21:05 <andythenorth> such Snail 19:21:13 *** Snail has joined #openttd 19:21:27 <Alberth> pretty quick, for one :) 19:21:31 *** Snail has quit IRC 19:21:51 *** Snail has joined #openttd 19:22:51 <Alberth> wasn't there some script to derive repo revision, branch, modified flag, etc? 19:23:11 <supermop_> http://imgur.com/a/Kqryo 19:23:27 <Alberth> don't think that's the script :p 19:23:51 <Alberth> spiders have invaded the cities! 19:24:06 <andythenorth> Alberth: some of it goes in custom_tags.txt 19:24:10 <andythenorth> directly from Makefile iirc 19:24:39 <Alberth> I know, but there is a load of shell crap in the makefile to decide these things 19:24:47 <Alberth> I'd like to move that out of the makefile 19:24:49 <supermop_> if there are no ELRD bits to east and west of junction, and no ELRL bits to north and south, 19:25:23 <supermop_> it would be nice for game to either use a special X sprite, or to just overlay the ELRL \ and the ELRD / 19:26:31 *** Montana has joined #openttd 19:28:04 <Alberth> you change the makefile to set a roster? 19:28:29 <Alberth> or do you use a parameter, like make ROSTER=british 19:28:41 <supermop_> andy, any thoughts or sprites, speeds, or costs? 19:29:40 <frosch123> Alberth: other devzone projects moved to using the last-modified-date 19:29:48 <frosch123> instead of local hg revision 19:29:59 <Alberth> good point 19:31:12 <frosch123> https://dev.openttdcoop.org/projects/opengfx/repository/entry/Makefile#L198 19:32:26 <andythenorth> Alberth: roster is a parameter / option 19:32:31 <andythenorth> by default it builds all 19:32:45 <andythenorth> see Makefile.in and src/utils.py 19:33:12 <Alberth> yes, but how do you set it? 19:33:17 <Alberth> at the commandline? 19:33:17 <Samu> just posted v2! https://www.tt-forums.net/viewtopic.php?f=33&t=75982&p=1183448#p1183448 19:34:04 <Samu> hopefully my lines of code are fine with you 19:34:19 <andythenorth> Alberth: yes 19:34:19 <Samu> fine for you 19:34:22 <Samu> english 19:34:23 <andythenorth> make roster=pony 19:34:24 <andythenorth> or so 19:38:45 <Alberth> ok 19:41:12 *** supermop__ has joined #openttd 19:45:16 <Samu> Not downloaded yet - *insert sad face* 19:45:20 <Samu> oh well 19:46:07 <Samu> i'm excited that I finished it! But sad that no one likes it, heh... 19:46:29 *** supermop has quit IRC 19:52:02 <andythenorth> “Some will, some won’t, so what, next” :) 19:59:05 <Samu> meanwhile, I found a display bug for engine value 19:59:32 <Samu> if the engine is multiheaded, the value of the second engine is £0 19:59:44 <Samu> the first engine carries the entire value 20:00:25 <Samu> bug also present in 1.6.1 20:10:55 <supermop_> using surface pen to draw sleepers 20:19:11 *** synchris has quit IRC 20:20:08 *** ZirconiumX has quit IRC 20:25:28 *** Montana has quit IRC 20:35:56 *** Montana has joined #openttd 20:35:58 <Wolf01> Back 20:36:39 *** Stimrol has quit IRC 20:37:26 <Wolf01> supermop_, draw transparent wires? 20:37:53 <supermop_> how do you mean? 20:38:09 <Wolf01> Dunno :P 20:38:48 <Wolf01> Palette2Transparent just for wire part, always 20:40:13 <supermop_> is that the station roof thing? 20:40:27 <Wolf01> Might be 20:40:42 <supermop_> currently nrt only allows a front and back part 20:40:50 <supermop_> not a separate wire part 20:40:54 <Wolf01> Sure it would help with transparent 20:41:19 <supermop_> for rail, at least in stations, there is separation between pylons and wire 20:41:50 <supermop_> which would let one set wires to transparent while keeping poles solid 20:42:32 <supermop_> what's your thinking on nerfing dirt speed now? 20:42:50 <Wolf01> 30kmh max 20:42:51 <supermop_> or do you want to patch nrt to allow traction coefficients 20:43:35 <Wolf01> Eh, everybody should agree, it's not just my decision 20:43:44 <supermop_> new vehicle smoke effect of dust clouds for RVs travelling faster than some given speed on dirt 20:46:19 <andythenorth> I am -1 to traction coefficients 20:46:49 <andythenorth> my only rationale is ‘overkill’ 20:46:51 <andythenorth> nothing else 20:49:47 <supermop_> andythenorth: my only rationale in favor is 'rally cars' 20:50:09 <Wolf01> Niche feature ;) 20:50:09 <andythenorth> HEQS crawlers 20:50:19 <andythenorth> I had this idea very very long time ago 20:50:26 <andythenorth> long enough ago to let go of it :) 20:50:29 <andythenorth> also ice roads 20:50:31 <andythenorth> same though 20:50:50 <Wolf01> Change coefficient with season 20:51:01 <Wolf01> Sticky roads in summer on tropic 20:51:41 <supermop_> brb need to grab late lunch and a drywall saw 20:52:38 <Wolf01> Do you need some sandpaper towels too? 20:53:09 <supermop_> plenty of sandpaper here actually 20:53:33 <supermop_> I have the tools of a 70 year old suburban man in this tiny apartment 20:53:56 <supermop_> I am actually surprised to find I am missing a drywall saw tbh 20:54:27 *** Alberth has left #openttd 20:54:43 <Wolf01> And a gimlet, do you have a gimlet? 21:11:34 *** goodger has quit IRC 21:13:10 *** goodger has joined #openttd 21:16:27 *** Montana has quit IRC 21:17:41 <andythenorth> such macro 21:22:07 <supermop_> Wolf01: no gin in the house at the moment 21:22:18 <Wolf01> :D 21:22:56 <supermop_> TE multiplier could be interesting for some things 21:23:10 <supermop_> cable hauled vs adhesion tramways? 21:23:49 <supermop_> I guess cable trams could just get huge HP and the track have huge maintenance 21:25:36 *** Supercheese has joined #openttd 21:28:12 <andythenorth> TE coefficient: 1 21:29:33 <Eddi|zuHause> can it be higher than 1? 21:29:33 <supermop_> hmm the cc stripes on my poles are still just blue 21:30:07 <andythenorth> does NRT support company colour? 21:30:10 <Eddi|zuHause> cc is not available for every sprite 21:30:15 <supermop_> :( 21:30:32 <Eddi|zuHause> maybe you should open a feature request 21:30:36 <supermop_> I assumed it would because railtypes use it for fences 21:30:49 <Eddi|zuHause> fences are different to poles 21:30:50 <supermop_> but I also may have forgot to set a flag 21:31:13 <supermop_> Eddi|zuHause: what is a fence but a bunch of short poles? 21:31:37 <Wolf01> A different sprite 21:31:38 <Wolf01> :P 21:39:24 <Eddi|zuHause> supermop_: some sprites are created more equal than others 21:39:54 <Eddi|zuHause> supermop_: the game is totally spritist 21:40:15 <supermop_> wood sleepers only visible on grey ballast, and concrete sleepers only show up on brown dirt 21:42:48 *** Progman has joined #openttd 21:47:52 *** gelignite has quit IRC 21:58:06 <frosch123> andythenorth: no cc currently 21:58:31 <andythenorth> no surprise :) 21:59:23 <frosch123> we can enable it, if we want to 21:59:52 <frosch123> but we haves mixed road owners 22:00:04 <frosch123> so it would only really work for the underlay 22:00:37 <frosch123> (road depot has cc ofc) 22:01:24 <Wolf01> I would focus on making the base stuff work well first, then we should discuss on flag features 22:01:30 <andythenorth> I don’t see much benefit to cc 22:01:40 <andythenorth> other than not getting asked about it again :P 22:04:10 *** Gja has quit IRC 22:06:15 *** Montana has joined #openttd 22:07:02 *** taco has joined #openttd 22:10:50 *** Progman_ has joined #openttd 22:15:06 *** Progman has quit IRC 22:15:16 *** Progman_ is now known as Progman 22:16:15 <Samu> https://www.tt-forums.net/download/file.php?id=197176 22:18:52 *** czaks has quit IRC 22:18:53 *** Supercheese has quit IRC 22:19:38 *** Snail has joined #openttd 22:21:16 <andythenorth> bye 22:21:18 *** andythenorth has quit IRC 22:24:57 <Samu> Wolf01: end result, can u spot the differences? http://imgur.com/Z7ml00B 22:29:35 <Wolf01> Yes, running costs 22:30:18 *** czaks has joined #openttd 22:30:42 <Wolf01> Also totally unrealistic (between ingame prices) and with a low impact on income... 22:31:13 <Samu> you can set divisor to 64 for ultra cheap wagons 22:31:51 <Samu> let me check what it becomes 22:32:06 <Wolf01> Even more useless, just disable it 22:32:19 <Samu> £26/yr per wagon 22:32:22 <Samu> CHEAP 22:32:43 <Wolf01> I would raise purchase costs for trains and wagons by factor 10 22:34:10 <Samu> or you can disable it alltogether 22:34:19 <Samu> for £0/yr - 22:34:47 <Wolf01> Still can't understand where £1722 comes from 22:35:01 <Samu> formula 22:35:05 <Wolf01> Also, is it specified in purchase list? 22:35:27 <Samu> nope, impossible 22:35:30 <Samu> final_cost = cost_at_this_point + cost_at_this_point * length_of_parts_without_cost / (2 * divisor); 22:35:45 <Wolf01> Bad feature is bad 22:35:50 <Samu> :( 22:36:46 <Samu> purchase window cannot guess where you're attaching it to, can't generate a cost there 22:37:07 <Samu> because "bad feature" yada yada 22:37:16 <Samu> but I like it 22:37:16 <Wolf01> Still can't understand why a wagon running cost must depend to what is attached to 22:37:33 <frosch123> Wolf01: openttd is a game with exponentially growing income 22:37:43 <frosch123> the more you build the more money you get 22:38:05 <frosch123> making stuff more expensive makes the start slower (= boring), while changing nothing in the long run 22:38:17 <Wolf01> Then let's make incremental purchase price for things, more you purchase more you pay ;) 22:38:48 <frosch123> if you look at other games, you can see the same thing 22:39:17 <frosch123> there are different types of resources, some you get exponentially and become pointless, while the game/tec progression is usually tied to linear growing things 22:39:42 <frosch123> example starcraft: the number of workers mostly affects mineral income, but hardly gas income 22:39:53 <Wolf01> There's one thing, only one, which you can introduce to make exponential money growth: taxes 22:40:22 <Samu> @calc 3445 + 3445 * 6.5 / (2 * 1) 22:40:22 <DorpsGek> Samu: 14641.25 22:40:33 <frosch123> example eu 4: when time progresses you make exponentially much money, but most stuff is affected by monarch points, which you can only buy in very limited amounts 22:40:35 <Samu> orly? 22:41:00 <Samu> @calc 3445 * 6.5 22:41:00 <DorpsGek> Samu: 22392.5 22:41:33 <frosch123> the problem with ottd is that it is so old-fashoned, that it only has a single resource 22:42:21 <Samu> @calc 3445 + 3445 * 4.5 / (2 * 1) 22:42:21 <DorpsGek> Samu: 11196.25 22:42:22 <frosch123> Wolf01: how about adding "inefficient administration" 22:42:35 <frosch123> when your company grows, all actions become more inefficient 22:42:45 <Samu> this calc dude sucks or i fail with this calc 22:43:06 <Wolf01> The problem with ottd is that you control every aspect of transport, from infrastructure to vehicles and even fund industries to produce the right cargo where is more comfortable to your network 22:43:34 <Samu> @calc 3445 + 3445 * 4.5 / (8 * 2 * 1) 22:43:34 <DorpsGek> Samu: 4413.90625 22:43:51 <Wolf01> Samu, learn to use the parenthesis 22:44:28 <Samu> @calc 3445 + (3445 * 4.5) / (8 * 2 * 1) 22:44:28 <DorpsGek> Samu: 4413.90625 22:44:31 <Samu> meh 22:44:35 <Wolf01> Also "* 1"... you can leave this out as it can't affect the result 22:45:10 <Samu> it's funny that I can't fool proof my own formula now 22:46:12 <Samu> oh right, those unmentioned values t.t 22:47:08 <Samu> divisor = VEHICLE_LENGTH * 2 * _settings_game.vehicle.train_extra_runcost_divisor; 22:47:17 <Samu> VEHICLE_LENGTH is 8 22:48:51 *** Supercheese has joined #openttd 22:52:05 <Samu> @calc 3445 * 0.5 / (8 * 2 * 1) 22:52:06 <DorpsGek> Samu: 107.65625 22:52:07 <Wolf01> Btw frosch123, you won't solve the problem of money with running costs based on train length, as trains won't extend with time, it becomes just another fixed cost which could be easily calculated from wagon purchase price * factor 22:52:57 <Samu> @calc 3445 * (8 * 2 * 0.5) / (8 * 2 * 1) 22:52:57 <DorpsGek> Samu: 1722.5 22:53:01 <Samu> ah finally! 22:53:04 <Samu> there 22:53:08 <Samu> 1722.5 per wagon 22:53:17 <Wolf01> And in this way, one doesn't need blackmagic formulae 22:54:25 <Samu> @calc 3445 * (8 * 2 * 0.5) / (8 * 2 * 64) 22:54:25 <DorpsGek> Samu: 26.9140625 22:54:51 <Samu> yeah, the £26/yr per wagon i mentioned earlier 22:56:56 <Samu> I gave up trying to balance trains by the running cost 22:57:07 <Samu> I only wanted to get this feature done 22:58:20 <frosch123> why would i want to make running cost based on train length 22:58:36 <frosch123> though i think some r-based newgrf add running cost for food vans and stuff 22:59:04 <frosch123> both refridgerated vans and dinner vans 22:59:19 <Samu> r-based? what is r-based? 23:00:12 <Wolf01> "R" stands for Real 23:03:02 *** sla_ro|master has quit IRC 23:07:33 <Samu> openttd has inflation 23:07:47 <Samu> but no one really likes that 23:07:54 <Samu> not multiplayer friendly 23:08:11 <Samu> unless everyone starts exactly at the same time 23:08:13 <Wolf01> Inflation is only regarding prices and costs, it lacks taxes based on bank balance 23:08:19 <Wolf01> Or company value 23:08:58 <Samu> there's also infrastructure maintenance costs 23:09:00 <Wolf01> And even local authority rating imo 23:09:15 <Wolf01> Infrastructure maintenance is like running cost 23:09:32 <frosch123> not quite, infrastructure cost is quadratic 23:09:57 <frosch123> though it mostly punishes bad constructons 23:10:09 <frosch123> with too many signals, or generally too much track for too little vehicles 23:10:31 <Wolf01> Punishes eyecandy 23:10:38 <frosch123> or that :p 23:11:05 <frosch123> the most silly feature is airport noise though 23:11:13 <Wolf01> When you put >30% taxes, you will see how people will stop making money 23:11:23 <Wolf01> And blame government 23:11:33 <frosch123> i believe the original goal was to allow more than 2 airports per city, but usualy you ar enot allowed one 23:11:42 <Samu> inflation + infrastructure maintenance + freigth weight multiplier + forbid 90 degrees + steepness 23:12:03 <ST2> until someone create OpenTTD offshores and later similar to Panama papers appears xD 23:12:14 <Wolf01> Samu, practically my config 23:12:17 <Samu> and now + extra running costs 23:12:36 <Samu> + cargo dist too 23:12:36 <Wolf01> And I still repay the loan with 12 trucks in 6 years 23:12:50 *** maciozo has quit IRC 23:13:29 <Samu> + breakdowns 23:13:31 <Wolf01> What then, nerf trucks? You nerfed trains because too much superior to trucks, then now trucks are godly 23:14:16 <Dackus> Wolf01: Where do you see that? 23:14:46 <Wolf01> ? 23:14:49 <Samu> trucks got nerfed in one of my income formula adjustment patch, forgot exactly what 23:14:58 <Dackus> When you put >30% taxes, you will see how people will stop making money 23:15:03 *** OsteHovel has quit IRC 23:15:05 <Dackus> The thing with infrastructure costs would be much better if the actaul costs per unit of infra were visible somewhere. 23:15:29 <Samu> patch was aiming to nerf horizontal / vertical income formula 23:15:40 <Wolf01> I don't think that a detailed costs panel will affect something 23:15:42 <Samu> an universal nerf 23:16:07 <Samu> aircraft got the major nerf in that patch 23:16:42 *** OsteHovel has joined #openttd 23:16:47 <Wolf01> Taxes based on company value will evaporate a consistent slice of your earnings 23:18:06 <Dackus> Wolf01: The infrastructure units are already listed, adding the cost would be trivial and underline their importance. 23:18:23 <Wolf01> But it won't change the profit 23:18:31 <Wolf01> It's just a UI tweak 23:18:36 <Dackus> It will. If the player reacts to the information. 23:18:41 <Dackus> Currently you don't know how much a tile of bridge costs vs a tile of staight track. 23:19:08 <Dackus> You would make more single-track lines and possibly less useless lines etc. 23:19:24 <Wolf01> So one will start to carpet the map with useless infrastructure just to reduce the balance by paying more maintenance? 23:19:37 <Dackus> Also, with some scripts, airports are _really_ expensive to run. It would be good if this was more clearly visible. 23:19:52 <Dackus> Huh, didn't understand you now. 23:19:56 <Dackus> Could you rephrase? 23:19:58 *** Dackus is now known as Dakkus 23:20:40 <Wolf01> I wouln't build recklessly just to keep low profit 23:20:59 <Wolf01> It's not the objective of running a company 23:21:28 <Dakkus> ?! 23:21:33 <Wolf01> In fact, a company should reduce costs, and profit should be reduced by external costs 23:21:38 <Dakkus> Why would anybody try to keep low profit? 23:22:09 <Dakkus> I've never even thought somebody might want to do that. And I still can see no reason why they would., 23:22:40 <Dakkus> I am a bit of a question mark at the moment. 23:22:45 <Wolf01> Then I don't understand you, the discussion is to limit company huge profits in endgame 23:23:12 <Dakkus> Ah, ok, didn't know that. 23:23:21 <Dakkus> Only saw so and so many lines on my screen. 23:23:32 <Wolf01> Eh, just arrive at the middle of the talk 23:23:45 <Dakkus> Indeed. The IRC thing. 23:24:38 *** HerzogDeXtEr has joined #openttd 23:24:41 <Dakkus> My way of playing is such that huge profits aren't really relevant. 4k*4k map, very few cities, very few industry, xUSSR set, daylength patch. 23:24:57 <Dakkus> (well, actually the whole Reddit patch, not only the daylength) 23:25:16 <Dakkus> That way, it's about building an efficient network that is able to serve all the passengers. 23:25:46 <Eddi|zuHause> on a 4kx4k map, how do you have ever NOT huge profit? 23:25:53 <Dakkus> A rather small frog-up will already anger almost all of my passengers, causing a lot of compensations being paid for late arrival. 23:26:33 <Dakkus> And then I end up paying for the transportation (besides the transportation costs, I'm also handing money to my passengers...) 23:27:19 <Dakkus> Creating a seriously efficient system of feeder lines to train stations, different train lines, some regional and some long distance and timetabling eveything perfectly. Thaẗ́s fun :) 23:27:23 <Dakkus> That's* 23:27:34 <Samu> Wolf01: https://www.tt-forums.net/viewtopic.php?f=33&t=74253&start=20 the patch where i nerfed road vehicles, keks 23:28:53 <Dakkus> Hmm, time to go sleepingg... Already half past one and we were trying to get to sleep at latest at 22. 23:30:26 *** HerzogDeXtEr1 has quit IRC 23:39:21 <Eddi|zuHause> that never works :p 23:47:27 <Wolf01> https://www.youtube.com/watch?v=FmbmNp1RDCE this should work 23:52:46 *** frosch123 has quit IRC