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