Back to Home / #openttd / 2019 / 03 / Prev Day | Next Day
#openttd IRC Logs for 2019-03-31

---Logopened Sun Mar 31 00:00:35 2019
02:05-!-Alberth [~alberth@00015f9e.user.oftc.net] has joined #openttd
02:05-!-mode/#openttd [+o Alberth] by ChanServ
02:05-!-Alberth is "purple" on @#openttd
02:05<@Alberth>moin
02:17-!-bootmii [~bootmii@142-254-60-43.dsl.dynamic.fusionbroadband.com] has joined #openttd
02:17-!-bootmii is "realname" on #openttd
02:17<bootmii>https://freetousesounds.com/train-sound-effects-usa-freight-passenger-trains/ -- possible basis for an alternative to OpenSFX?
02:18<bootmii>is it freer than CC Sampling Plus?
02:22<bootmii>Bandcamp wants my postcode -- can the FSF accept that, given it doesn't accept "you affirm you're in the US" clauses?
02:26<@peter1138>I'm gonna go with "no".
02:27<bootmii>how are we gonna make a freely licensed alternative to OpenSFX then?
02:28<@peter1138>Go out and record some sounds?
02:28<bootmii>oh o
02:34-!-Supercheese [~Superchee@cpe-98-146-230-183.natnow.res.rr.com] has quit [Read error: Connection reset by peer]
02:35-!-Supercheese [~Superchee@cpe-98-146-230-183.natnow.res.rr.com] has joined #openttd
02:35-!-Supercheese is "Caseum" on #openttd
02:35-!-andythenorth [~andytheno@cpc87219-aztw31-2-0-cust178.18-1.cable.virginm.net] has joined #openttd
02:35-!-andythenorth is "andythenorth" on #openttd
02:37<@peter1138>hi
02:37<bootmii>so I found the license
02:38<bootmii>https://ufile.io/kf5rt
02:41<andythenorth>moin
02:42<bootmii>moin moin
02:43<bootmii>I'm guessing 8:43 where you live?
02:43<bootmii>I found those sounds' license: https://ufile.io/kf5rt
02:43<@peter1138>Why did you try send me a 413MB file over IRC?
02:43<bootmii>I thought I was sending the 47K license inside it
02:43<bootmii>sorry mr
02:44<@peter1138>You shouldn't ever try sending files through IRC, especially without not asking.
02:44<andythenorth>please don't spam me with files
02:44<bootmii>oh okay sorry
02:45<andythenorth>why would you send random files to random people in the channel? :o
02:45<bootmii>oh
02:45<andythenorth>is today just going to be weird peter1138 ?
02:45<andythenorth>shall I go back to sleep?
02:45<bootmii>I mean I know why I did it
02:46<bootmii>I wanted to send the license for a sound effect thing that could replace OpenSFX
02:46<@Alberth>day is all shifted anyway
02:46<bootmii>yep almost midnight here
02:47<@planetmaker>moin
02:47<@peter1138>Why do you think we would want to see a random license file?
02:48<bootmii>because we were taling about it?
02:48<bootmii>we want to replace OpenSFX?
02:48<bootmii>because I'm an American?
02:49<andythenorth>is it lunch time yet?
02:49<@peter1138>You asked a specific question, I replied with "No", that's as far as that went.
02:49<bootmii>an American who hasn't been taught social skills at that?
02:49<bootmii>@peter1138, oh sorr
02:49<@peter1138>I have no desire to replace OpenSFX.
02:50<@planetmaker>bootmii, however, anyone is completely free to make an OpenSFX replacement
02:50<bootmii>who owns the copyright on that? maybe we can ask them to relicense it because right now it's under CC Sampling Plus which is nonfree
02:50<@planetmaker>It's not like only one sound set can exist - they can be exchanged like any other content
02:50<@planetmaker>Yet when you (or anyone else) wants to create such set - create it by playing by the licenses of the sounds
02:51<@planetmaker>getting good sounds which you may freely distribute... is hard
02:52<@planetmaker>The copyright owners on the sounds of OpenSFX are listed in its license file
02:52<@planetmaker>CC-Sampling Plus was the common denominator which I could find when I compiled the soundset
02:52<@planetmaker>Having a GPL-licensed sound set would be very welcome
02:53<bootmii>oh yeah. the lciense struggle is real
02:53<bootmii>anyway I've spent 90 minutes talking about this here and on freenode/#parabola
02:53<bootmii>it's a bit tiring
02:54<bootmii>on top of it's 11:54pm
02:54<bootmii>bye
02:55-!-nielsm [~nielsm@176-23-103-56-cable.dk.customer.tdc.net] has joined #openttd
02:55-!-nielsm is "Niels Martin Hansen" on #openttd
02:58<bootmii>hey nielsm
02:59<@planetmaker>so I understand that one still has to buy the sounds?
03:01<@planetmaker>but seems like a fair license
03:02<@planetmaker>bootmii, if you feel like, start playing around with our soundset. Get the sound compiler https://www.openttd.org/downloads/catcodec-releases/latest.html
03:03<@planetmaker>and if you want the source for OpenSFX as starting ground https://github.com/OpenTTD/OpenSFX
03:03<@planetmaker>wow... the readme of OpenSFX is old :D
03:12<@Alberth>o/
03:36<andythenorth>running out of places I can put stations :P https://dev.openttdcoop.org/attachments/download/9354/bigger_industries_maybe_1.png
03:36<andythenorth>https://dev.openttdcoop.org/attachments/download/9353/bigger_industries_maybe_2.png
03:37<andythenorth>bigger industries?
03:37<andythenorth>bigger station catchments?
03:37-!-Supercheese [~Superchee@cpe-98-146-230-183.natnow.res.rr.com] has quit [Quit: Valete omnes]
03:38<andythenorth>or 'probably fine'?
03:43<@Alberth>merge a few?
03:44<@Alberth>ie all drop stations
03:44<@Alberth>I also often merge output stations for different cargoes
03:48<@planetmaker>it needs the logic for trains going to load stations as factorio :D
03:57<DorpsGek_II>[OpenTTD/OpenTTD] TrueBrain closed pull request #7451: Add: AI/GS IsNoiseLevelIncreaseAllowed https://git.io/fjkzu
03:57<DorpsGek_II>[OpenTTD/OpenTTD] TrueBrain commented on pull request #7451: Add: AI/GS IsNoiseLevelIncreaseAllowed https://git.io/fjkVW
03:57<dwfreed>factorio trains will head to the closest enabled station with the name they're looking for
03:58<andythenorth>if you merge pickup stations, how do you see the waiting cargos? o_O
03:58<dwfreed>so you can name 5 stations "Iron Ore Out" and the train will pick the closest enabled one of those to go to
03:58<andythenorth>only one type is shown
03:58<@Alberth>click on the station to open the station window?
03:59<dwfreed>(and then you can make complicated designs that enable and disable stations based on specific criteria, like having enough material to fill a train)
04:00<dwfreed>the wagons on the trains can also have filters set, so you can't accidentally put the wrong stuff in them
04:00<@Alberth>or if some types of trains are never waiting there, something is not right
04:00<@Alberth>many sets have dedicated wagons for each type of cargo
04:01<andythenorth>conclusion: industry size is 'probably fine'
04:02<andythenorth>bigger station catchments though... :P
04:02<@planetmaker><Alberth> many sets have dedicated wagons for each type of cargo <-- that is the biggest problem often, I think
04:02<@planetmaker>it can be solved by a set with more generic wagons which support auto-refit at stations to the most abundant cargo
04:02<DorpsGek_II>[OpenTTD/OpenTTD] TrueBrain updated pull request #7445: Update: Changelog for 1.9.0 and prepare for release https://git.io/fjkTe
04:03<TrueBrain>right .. this PR needs an update at 20:00 for the latest eints ..
04:03<TrueBrain>as far as I can tell, 1.9.0 is otherwise ready for release. If not, now is kinda the time to mention it :P
04:03<andythenorth>:)
04:04<@Alberth>and then auto-reroute the train to the correct destination eh?
04:05<andythenorth>auto-orders
04:05<andythenorth>then if we do consist management...auto-length
04:05<@Alberth>then add an automatic train count handling, auto-depot
04:05<@Alberth>just add rail and stations.... done
04:05<@planetmaker>Alberth, auto-reroute is difficult. But feasible with the conditional orders
04:06<@planetmaker>I think
04:06<@Alberth>not sure if you can check for presence of cargo-type
04:06<@Alberth>or rather presence of cargo of a given type
04:06<@planetmaker>if not: just load and go to all possible drop-off stations. Bundled with the condition (if cargo == 0). Then jump back to load
04:07<@planetmaker>yes, not sure either
04:07<@planetmaker>would be nice
04:07<@Alberth>and if you want it nicely, also the origin of that cargo
04:07<@planetmaker>that'd be asking a lot :D
04:08<@Alberth>obviously all cargo has to be moved to the other side of the map :p
04:08<@planetmaker>hehe
04:08<@planetmaker>works like taxi: you pay per distance and time. So they choose the longest possible route they can sell you as 'not a fraud' :P
04:09<@Alberth>hmm, would be nice if factories would refuse to pay you if you try that :p
04:10<@Alberth>although openttd uses distance rather than the actual route
04:11<@planetmaker>well, it's solved by cargodist, somewhat
04:11<@planetmaker>and yes, payment is by actual distance, not any detour you make
04:13<@Alberth>I often reduce the distance effect, or it is quite impossible to make connections if you have few industry
04:13<andythenorth>oof
04:13<andythenorth>FIRS Steeltown has two ways to get steel cargo
04:14<andythenorth>Coal -> Coke, Iron Ore, Limestone -> Pig Iron, Oxygen, Manganese, Quicklime -> Steel
04:14<andythenorth>or Scrap Metal, Oxygen, Quicklime -> Steel
04:15<andythenorth>in test games, I never bother with the scrap metal chain :|
04:16<@Alberth>oh, I did, scraping all the steel you can get :)
04:16<andythenorth>maybe it's just because Blast Furnace looks cooler than EAF http://bundles.openttdcoop.org/firs/push/LATEST/docs/html/industries.html#blast_furnace http://bundles.openttdcoop.org/firs/push/LATEST/docs/html/industries.html#electric_arc_furnace
04:17<andythenorth>or because Scrap Yard is ugly, and quite low production http://bundles.openttdcoop.org/firs/push/LATEST/docs/html/industries.html#junk_yard
04:17-!-Progman [~progman@p548D98F6.dip0.t-ipconnect.de] has joined #openttd
04:17-!-Progman is "Peter Henschel" on #openttdcoop.dev #openttd
04:26<@Alberth>EAF looks like a tire factory or car factory or so to me
04:26<@Alberth>nice, clean tidy
04:27<@Alberth>should be smokin' :p
04:32<andythenorth>I have an idea to derive scrap yard production from town population
04:33<andythenorth>ideally it would be from total population of nearby towns
04:33<andythenorth>but perfection isn't necessary
04:35<@Alberth>sounds good
04:36<andythenorth>ideally newgrf would be able to influence town growth
04:36<andythenorth>so that delivering, e.g. vehicles to town grows population, which increases scrap production
04:44<@Alberth>wouldn't just reading how much is delivered to a town be enough?
04:45-!-gelignite [~gelignite@55d4a635.access.ecotel.net] has joined #openttd
04:45-!-gelignite is "gelignite" on #openttd
04:45<@Alberth>house set sounds like a better candidate to influence town growth
04:46<@Alberth>possibly by using the same delivery information
04:52<andythenorth>yeah, the delivery information isn't available afaik
04:52<andythenorth>we delegated that to GS
04:53<andythenorth>but the contention for the single GS slot makes that problematic
04:53<andythenorth>hmm
04:53<andythenorth>what if newgrf could ship with embedded GS? o_O
04:53<@Alberth>but then you'd need to push that information to newgrf in some way
04:54<andythenorth>I was considering something like a scheduled cb against GS, with parameter
04:54<andythenorth>and the facility to sandbox dedicated GS to each newgrf, thereby having multiple GS
04:55<@Alberth>why not just make some memory that they share?
04:55<andythenorth>that could work
04:56<andythenorth>the new part of this idea is 'more than one GS'
04:56<andythenorth>the rest has been discussed 99 different ways :)
04:56<@Alberth>cb data would need to be stored too
04:56<@Alberth>in STORE_PERM() I guess
04:58<andythenorth>allowing a GS to be shipped in a bundle with a newgrf also solves the impedance mismatch
04:58<andythenorth>that GS have no idea which grf is in use, except by testing for cargos
05:00<@Alberth>just add a "is <name> grf here?" call?
05:02<@Alberth>generic GSes can still exist, as they compatible with more grfs
05:02<@Alberth>+are
05:02<andythenorth>indeed
05:02<andythenorth>my hope is to figure out a solution where a generic GS co-exists in same game with a newgrf-GS :P
05:02<@Alberth>or you can test, and if fail, fall back on a generic case
05:03<@Alberth>it may need some form of border checking perhaps?
05:03<@Alberth>ie 2 town growth scripts would be a mess
05:04<@Alberth>claim write access to some area of the API?
05:04<andythenorth>I wondered about that
05:05<andythenorth>it starts to become quite complex eh :)
05:05<@Alberth>very fast even
05:05-!-bootmii [~bootmii@142-254-60-43.dsl.dynamic.fusionbroadband.com] has quit [Quit: Leaving]
05:05<andythenorth>seems like a $1 solution to a $0.20 problem
05:06<@Alberth>could be, relying on sanity of the user could work too :)
05:06<andythenorth>the problem I want to solve is quite narrow
05:07<andythenorth>FIRS should be able to specify that e.g. Bulding Materials is a town growth cargo, including in arbitrary climates
05:07<@Alberth>sounds like a plain newgrf problem
05:07<andythenorth>it already *has* to specify appropriate town growth cargos for desert and snow
05:07<andythenorth>so it's partially in newgrf domain, in a not-very-useful, legacy way
05:09<@Alberth>restart with actions numbered 0x40 and up :p
05:09<@Alberth>will fail, probably
05:10<andythenorth>some kind of flag on town cargos
05:10<andythenorth>which GS could optionally consume as information also
05:10<@Alberth>4 bits, one for each climate
05:11<andythenorth>if no GS is running, the cargos are used in the default town growth mechanism
05:11<andythenorth>I would like a bit more control over cargo requirements w.r.t population etc, but that's not essential to start with
05:11<@Alberth>in a more general case, you'd have several GSes running and openttd doing default for whatever is left
05:12<andythenorth>co-operative GS :P
05:12<andythenorth>pre-emptive co-operative multi-GS :P
05:12<andythenorth>1989 called and would like its operating systems back
05:13<@Alberth>you can do simple scheduling in GSes by passing all events to all sub-GSes
05:13<@Alberth>basically add a scheduler as highest level
05:13<andythenorth>interesting
05:14<andythenorth>I have to go, might be on phone irc in a bit :)
05:14-!-andythenorth [~andytheno@cpc87219-aztw31-2-0-cust178.18-1.cable.virginm.net] has quit [Quit: andythenorth]
05:17-!-Wolf01 [~wolf01@0001288e.user.oftc.net] has joined #openttd
05:17-!-Wolf01 is "Wolf01" on #openttd
05:17<Wolf01>o/
05:24<@Alberth>moin
05:25-!-Progman [~progman@p548D98F6.dip0.t-ipconnect.de] has quit [Remote host closed the connection]
05:32-!-sla_ro|master [slamaster@84.117.88.126] has joined #openttd
05:32-!-sla_ro|master is "slamaster" on #sla #openttd
05:44-!-andythenorth_ [~andytheno@2a01:4c8:1f:d460:85f6:b89e:6e9:67dc] has joined #openttd
05:44-!-andythenorth_ is "andythenorth_" on #openttd
05:44*andythenorth_ had an odd idea
05:45<andythenorth_>town growth cb that polls industries in the town catchment
05:45<andythenorth_>industry returns allow/disallow
05:45<@Alberth>allows what?
05:45<andythenorth_>quite interesting possibilities
05:45<andythenorth_>allow/disallow growth
05:46<@Alberth>oh, nice :)
05:46<andythenorth_>so e.g. power plant, builders yard etc
05:46<@Alberth>probably use a range of growth rather than yes/no
05:46<andythenorth_>yes, or thresholds
05:47<nielsm>rather than allow/disallow, perhaps a growth rate modifier value
05:47<andythenorth_>ideally only industries handling the cb would be polled
05:47<nielsm>so if one industry in town returns +10 and another -10 the net effect is zero
05:47<andythenorth_>yes
05:48<andythenorth_>oh
05:48<@planetmaker>I like nielsm ' idea
05:48<@planetmaker>as parameter this CB could have a cargo
05:48<andythenorth_>so e.g. *not* collecting waste could retard growth?
05:48<@Alberth>yacc: e - line 10 of "parser.y", syntax error
05:48<@Alberth>%require "3.0" <-- lol, the parser doesn't understand its own version requirement :p
05:49<@planetmaker>so that a GS / town can decide which cargoes it needs for growth. And query industries whether they get it
05:49<andythenorth_>and the industry takes care of how much is ‘enough’
05:49<andythenorth_>and how recently delivered etc
05:50<@Alberth>sounds good
05:50<@planetmaker>well... the town decides on growth. The industry gives as feedback its satisfaction
05:50<andythenorth_>yes, that’s another way of expressing it
05:51<andythenorth_>satisfaction cb?
05:51<andythenorth_>how do we normalise the sum of returned results?
05:52<@planetmaker>how does the town know which industries to query?
05:52<andythenorth_>the ones in the town catchment
05:52<@planetmaker>or how does it decide which industries? Always all industries?
05:52<andythenorth_>k-d tree!! :p
05:52<@planetmaker>unconditionally?
05:53<andythenorth_>conditional on the industry handling the cb?
05:53<@Alberth>obviously
05:53<@planetmaker>well. that is obvious
05:53<@planetmaker>but won't the town have any choice to ask only industries which feel responsible for coal?
05:53<@planetmaker>and ignoring those pesky banks?
05:54<andythenorth_>do you mean in context of a GS?
05:54<@planetmaker>well... generally. Town can ofc always decide to not query industries. But if it does... it should have some means to not query all industries in its range
05:55<andythenorth_>this implies something is controlling town, other than default growth algo?
05:55<@planetmaker>(my POV is that towns should have control)
05:55<@planetmaker>yes
05:56<@planetmaker>the growth algo of towns should control... well town growth
05:56<andythenorth_>I can’t see that anything other than GS is ever going to be accepted now
05:56<andythenorth_>but in a blank canvas situation, what would be good?
05:57<@Alberth>why would town not be interested in happy non-coal industries?
05:57<@Alberth>maybe a GS is, but a town in the general sense?
05:58<@Alberth>you can of course make coal plants the only industries handling the cb :p
05:59<@Alberth>but sure, you could make some table with more information, and let a GS use that and set town growth
06:00<andythenorth_>is there a need also for newgrf town control?
06:00*andythenorth_ is unclear
06:00<@Alberth>quite
06:01<andythenorth_>anyway normalising is interesting
06:01<andythenorth_>10 industries returning 10 satisfaction level
06:01<andythenorth_>is different to 1 returning 10 :p
06:02<andythenorth_>so how to know whether to grow or not?
06:02<@Alberth>well, even with a boolean you have that problem, one ind says yes, another says no
06:02<@Alberth>average it, and have some levels probably that you can move for making your life easier or more difficult
06:03<andythenorth_>bool AND in the bool case
06:03<andythenorth_>all must agree
06:03<@Alberth>bulldoze all that disagree :p
06:03<andythenorth_>yes
06:03<andythenorth_>or serve
06:03<@planetmaker>Alberth, a town might decide that it wants more heavy industry. Or rather focus on banks or whatever
06:03<@planetmaker>so that towns could have different interests
06:04<@planetmaker>as such they might decide to query one or another industry type
06:04<andythenorth_>the bool route seems...inflexible :D
06:04<@planetmaker>or types
06:04<@Alberth>sure, under GS control right?
06:04<andythenorth_>take avg of returned values?
06:04<@planetmaker>well... we don't change the default town growth, do we?
06:04<andythenorth_>yes we do
06:04<@planetmaker>then definitely not the average
06:05<andythenorth_>changing default would be my primary aim :)
06:05<@Alberth>add a setting "improved town growth", and hide it in .cfg :)
06:05<@planetmaker>nah
06:05<@planetmaker>or what's wrong with it?
06:05<nielsm>I guess the way I see it, newgrf can create and manage entirely local data: one vehicle type, one industry, one town building, but any control above that level (economy) should be in GS domain
06:05<@planetmaker>^^
06:06<andythenorth_>it’s a nice theory :)
06:06<@Alberth>it makes sense, but 1 GS is very limiting
06:06<andythenorth_>GS has failed because GS won
06:06<@planetmaker>if you break the option by unwilling newgrfs who concurrently stear it... then ofc it won't work
06:06<@Alberth>maybe write an OverLord gs :p
06:07<andythenorth_>GS Patchpack?
06:07<andythenorth_>merge them all?
06:07<@planetmaker>and you write Newgrf because you write newgrf, so every solution is newgrf
06:07<andythenorth_>I’ve also written GS
06:07<@planetmaker>ok, seems the discussion derails
06:07<@Alberth>but GS could get access to the industry cb data, and use that together with some info about the industries
06:08<@planetmaker>I never understood the limit of one GS only
06:08<@Alberth>then you could make Silicon Valley++
06:08<andythenorth_>same argument as newgrf vs. GS: proper domain
06:09<Eddi|zuHause>"<planetmaker> I never understood the limit of one GS only" <- it's basically a "i don't know how to detect or handle conflicts"
06:09<@planetmaker>we don't know nor handle them properly with newgrfs either. We just handle both (or all)
06:09<@planetmaker>and rely on the newgrfs to interact nicely
06:10<@planetmaker>so that argument fails IMHO
06:10<Eddi|zuHause>yes, but NewGRFs have less scope
06:11<andythenorth_>what are multiple GS needed for? Utility stuff?
06:11<andythenorth_>Small fixes?
06:11<@planetmaker>one GS controlling town growth. One module handling goals
06:11<@planetmaker>etc
06:11<Eddi|zuHause>as a NewGRF author you can go "hm, this is an Industry GRF, it
06:11<@planetmaker>so you can modularily add stuff
06:11<Eddi|zuHause>'ll conflict with other industry GRF, let's list those"
06:11<andythenorth_>so e.g industry closure
06:12<@planetmaker>so maybe a solution is to define scopes for GS. And a GS can announce that it handles X. Then it has a handle on that
06:12<andythenorth_>newgrf can’t handle industry closure correctly so GS should do it...?
06:13<Eddi|zuHause>the "1 GS rule" makes sure a programmer must look at it, take the responsibility of compatibility, and combine them into a GSpack
06:13<@planetmaker>industry closures... it's a tricky thing.
06:13<andythenorth_>ok so GS would take a lock on some parts of API
06:13<@planetmaker>kinda
06:13<andythenorth_>could it yield the lock during game?
06:13<@planetmaker>I guess not. Would it make sense to release the lock?
06:13<@planetmaker>on crash probably
06:14<@planetmaker>sounds suspiciously like grm :P
06:14<@Alberth>with more than one town GS
06:14<andythenorth_>who wins when two GS both want same lock?
06:14<andythenorth_>order loaded?
06:15<@Alberth>I once proposed you never have a lock permanently, you can get it, and extend it for some time
06:15<@planetmaker>probably @ andy
06:15<andythenorth_>I think we end up with a de-facto one GS per game then
06:15<andythenorth_>because scripts will lock swathes of the API
06:15<@planetmaker>per entity to control: yes
06:15<@Alberth>unless the GS can handle not having a lock on that town/industry/whatever
06:16<@planetmaker>andythenorth_, reading wouldn't require a lock. Just controlling it
06:17<@planetmaker>most GS don't do much, mostly just one thing
06:17<andythenorth_>I don’t really use them, so I don’t know
06:17<@planetmaker>you said you programmed yourself... so ... that was like "create goal"
06:18<andythenorth_>I use one of BB, NCG, or SV in every game, but other than that not really
06:18<andythenorth_>I keep looking for all the others
06:18<andythenorth_>like the ones that fix stuff
06:18<@planetmaker>Alberth, how would several GS work when they have to extend their grab on an API?
06:18<andythenorth_>but I don’t know where they are
06:19<@Alberth>each extends it, for their part
06:19<@Alberth>but I can live with a static allocation too
06:19<@Alberth>much simpler
06:20<@Alberth>only for write access at some part of the API, and perhaps even only for some parameter values
06:20<andythenorth_>what are the other good GS?
06:22<@Alberth>I have yet to try the "villages is villages" and the "think global act local" GSes, they sound nice
06:23<@planetmaker>the latter is not bad
06:23<andythenorth_>villages is ok, it doesn’t claim a large scope :)
06:23<andythenorth_>it just stops towns growing much
06:25<andythenorth_>so anyway ‘satisfaction’ could serve as a comms channel between industry and GS
06:25<andythenorth_>hmm
06:25<Eddi|zuHause>how do you confine "modular GS" to their "module"? have a list of "exclusive-only" functions (like, setting growth speed), and if that GS didn't list the function, it can't call it?
06:25<andythenorth_>use for closure also? put a ‘reason for call’ into cb var?
06:25<@planetmaker>I still believe the CB should have sth like a cargo input param. Which an industry can react to or not
06:26<andythenorth_>I find that confused, but I can see the point
06:26<@planetmaker>though maybe... just use the output cargoes. Then no parameter is needed
06:27<andythenorth_>my idea is to break the impedance mismatch between newgrf and and GS not sustain it :)
06:27<@planetmaker>better :)
06:27<andythenorth_>because GS can never know anything about which newgrf, nor cargos
06:28<andythenorth_>so calling blindly against cargo seems odd
06:28<nielsm>GS would benefit from being able to query about active newgrf
06:28<@Alberth>planetmaker: make the "happy" value available to the GS with an indication of the industry or industry type
06:28<Eddi|zuHause>nielsm: i'd rather not have authors going "this GS only works when that NewGRF is loaded"
06:29<Eddi|zuHause>and vice versa
06:29<andythenorth_> nielsm to what purpose? :)
06:29<@planetmaker>Alberth, yes, like "happy [COAL]" for a power plant which has all the coal it wants
06:29<andythenorth_>GS I have always been told should be blind
06:29<Eddi|zuHause>andythenorth_: not necessarily "blind", but "generic"
06:30<@Alberth>rather "happy[powerplant], where it can also query powerplant -- coal releation
06:30<@Alberth>or you get 64 cbs results or so
06:30<@planetmaker>Alberth, but powerplant is an industry name. so it differs wildly from newgrf to newgrf to no newgrf
06:30<andythenorth_>also anyone maintaining a GS against FIRS will just rage quit
06:31<@Alberth>planetmaker: industry type
06:31<@planetmaker>what is "industry type"?
06:31<@Alberth>which has input/output cargoes
06:31*andythenorth_ wonders about industry classes :p
06:32<@Alberth>the IndustryType object? :)
06:32<andythenorth_>those community debates are fun :)
06:32<andythenorth_>taxonomies
06:33-!-gelignite [~gelignite@55d4a635.access.ecotel.net] has quit [Quit: Good fight, good night!]
06:34<@Alberth>planetmaker: https://nogo.openttd.org/api/trunk/classGSIndustryType.html
06:34<@planetmaker>Alberth, I think that is a *very crude* approximation
06:35<@planetmaker>indeed, it has GetProducedCargo and GetAcceptedCargo. So... would serve the purpose I had in mind
06:35-!-Markk [mark@90-230-222-77-no552.tbcn.telia.com] has quit [Remote host closed the connection]
06:35<andythenorth_>taxonomy ‘produces power’
06:35<@Alberth>https://nogo.openttd.org/api/trunk/classGSIndustry.html would work too with "happy/non-happy" info
06:36<andythenorth_>probably goes about as well as railtype labels :p
06:36<@Alberth>clearly coal power is polluting, and eg nuclear power isn't, so town wants the latter, etc
06:37<andythenorth_>level of detail we can probably never achieve :D
06:37<@Alberth>I am fine with taxanomies, code them in a GS library please
06:37<andythenorth_>ha ha community taxonomies
06:38<andythenorth_>let peope make arbitrary json or yaml
06:38<andythenorth_>mapping specific newgrf industry IDs to their schema
06:38<andythenorth_>and let GS read that
06:39<@planetmaker>well, the produced and accepted cargo already tells a lot
06:39<andythenorth_>hash grfid and industry type ID
06:39<andythenorth_>and action 14 version also in hash :p
06:39<_dp_>GS compatibility with newgrfs has already been happening for a long time and there is no way around it
06:40<_dp_>CB GS needs to know a log about industries it can't possible work with random industry set
06:40<@planetmaker>why not?
06:40<andythenorth_>“you’re doing it wrong” or something
06:40<_dp_>and newgrfs know nothing about town growth so industry opinion/satisfaction/whatever means nothing for GS
06:41<andythenorth_>because making good gameplay from undifferntiated generic crap is hard?
06:41<@planetmaker>an industry saying "I got all I need" or "I need more of X"... why would that not mean anything to a GS?
06:42<_dp_>planetmaker, let's start with mapgen, or server (not gs but like it) places specific industries in specific areas in tow
06:42*andythenorth_ biab
06:42<_dp_>that's especially important with yeti and its feedback loop
06:43<_dp_>otherwise some industry combo may just break balance
06:43<@Alberth>those newgrfs aren't much designed with GS control in mind
06:43<@Alberth>which is fair of course, given that it doesn't exist yet
06:44<_dp_>Alberth, and they shouldn't be, it's gs job to figure out how to make industry set work with a specific goal
06:44<@planetmaker>_dp_, yes. And no. They need to be to some extend. And not exert all the control you'd want on a global level themselves
06:44<andythenorth_>how does that ever work with FIRS? :)
06:48<_dp_>planetmaker, not sure what exactly you mean it's fine the way it is currently
06:48-!-andythenorth_ [~andytheno@2a01:4c8:1f:d460:85f6:b89e:6e9:67dc] has quit [Remote host closed the connection]
06:49<@Alberth>they do make your life complicated with precise placement, or would that also happen with say, default industries ?
06:49<@planetmaker>basically what alberth said: a too complex industry newgrf is not well suitable for interaction with anything outside it
06:49<_dp_>btw, all cb gamescripts currently sum all cargo delivered to a town regardless of specific industry first and only then make decisions
06:50<@Alberth>sounds like a fair way to go about it
06:50<@Alberth>ie averaging happyness of industries does the same, basically
06:51<_dp_>Alberth, default set is no different, we custom place pp and factories in temperate for example
06:52<@planetmaker>ok... but how does that affect any interaction between GS and industry? I'd not recon much
06:52<@Alberth>and this is just to make the scenario interesting to play? or are there other factors here?
06:52<_dp_>Alberth, except that you need understand first what that happines even means and if averaging it makes any sense for your goal
06:53<_dp_>Alberth, for cb it's worthless as what you really need is cargo amounts anyway
06:53<@planetmaker>not necessarily
06:53<@planetmaker>but delivered cargo to an industry is a very good prox
06:53<@planetmaker>proxy
06:54<_dp_>Alberth, mostly to make it "fair" so as you can get any town on any map and beat a highscore with it
06:54<_dp_>Alberth, instead of waiting eternity for a perfect one to appear
06:54<@planetmaker>how is that score calculated (roughly)?
06:55<@Alberth>ok, could be done by a GS too I guess, altohugh it might need more information than is available currently
06:56<_dp_>planetmaker, you mean cb score? either population after a set amount of time or time to get to a certain population
06:57<@planetmaker>ok. For a scenario with several equal starting points: no way around manual placement / creation. But that's independent of any interaction discussed
06:58<@planetmaker>if the CB-script could simply query the industry "how well are you served" and it returns a number -100 ... +100, it would basically be the same thing as now querying the cargoes delivered. Wouldn't it?
06:58<@Alberth>well, there is this concept "enough cargo" which isn't well-defined yet, currently, I think
06:58<_dp_>planetmaker, depends on how that satisfaction it is calculated
06:59<_dp_>planetmaker, if it's based on cargo then kinda yes, except for a precision loss
06:59<@Alberth>ie when do default industries have enough?
06:59<_dp_>planetmaker, if it's some random bs then ofc no
07:00<@planetmaker>hm, I guess default industries are greedy, so a cargo amount delivered is more meaningful
07:01<_dp_>precision loss is not a small thing btw, like we do adjust monthly cargo goals with amount of days in month
07:01<_dp_>otherwise february is too brutal xD
07:03<@planetmaker>he
07:04<@planetmaker>how do you get the cargo produced by whatever industry? GSIndustry:GetLastMonthProduction ?
07:07<_dp_>planetmaker, I'm not rly using GS so I'm just counting cargo unloading within certain radius of town, not idea what GS equivalent is
07:07<_dp_>planetmaker, you can check Simple City Builder, it mostly does the same stuff
07:08-!-andythenorth_ [~andytheno@cpc87219-aztw31-2-0-cust178.18-1.cable.virginm.net] has joined #openttd
07:08-!-andythenorth_ is "andythenorth_" on #openttd
07:09-!-andythenorth [~andytheno@cpc87219-aztw31-2-0-cust178.18-1.cable.virginm.net] has joined #openttd
07:09-!-andythenorth is "andythenorth" on #openttd
07:09-!-andythenorth_ [~andytheno@cpc87219-aztw31-2-0-cust178.18-1.cable.virginm.net] has quit []
07:09<_dp_>planetmaker, or wait, you're asking about production, it's not needed for anything in cb
07:09<andythenorth>oh logs are broken again :P
07:09<andythenorth>oof
07:09<_dp_>planetmaker, cb only counts delivered stuff, doesn't care how and where it was produced
07:10<andythenorth>can anyone pastebin scrollback since about 11.45am?
07:10<andythenorth>webster has given up :P
07:10<_dp_>planetmaker, well, I guess it does care "where" sometimes but that's a different story
07:13<andythenorth>CB is different to what I have in mind
07:15<@Alberth>andy: https://paste.openttdcoop.org/pqbay36f3
07:15<andythenorth>got it thanks :)
07:16<andythenorth>_dp_: so what relevance does GS have to CB?
07:16<@planetmaker>what do you have in mind, andythenorth ?
07:17<_dp_>andythenorth, erm, cb is a kind of gs?
07:18<andythenorth>why?
07:18<@planetmaker>it's confusing that cb = callback and cb = citybuilder
07:18<_dp_>ah xD
07:18<@planetmaker>when discussing both concurrently :P
07:18<andythenorth>I don't mean 'why the fuck?' I just mean 'why?'
07:18<_dp_>yeah, cb = city-builder in everything I write)
07:19<andythenorth>why isn't city-builder newgrf, or patched openttd?
07:19<andythenorth>what is GS actually good at?
07:20<_dp_>andythenorth, in our case of citymania it's all together
07:20<_dp_>andythenorth, but should've been just gs tbh
07:21<andythenorth>and you write dedicated newgrfs as well?
07:21<_dp_>andythenorth, ofc, I have to
07:21<_dp_>not that I want to :p
07:21<andythenorth>so newgrfs for cargos / houses / industries?
07:22<_dp_>andythenorth, yes and no, they're kind of configuration newgrfs mostly
07:23<_dp_>andythenorth, but you need to redefine all industries or all houses to change any small thing
07:23<_dp_>like stop them from closing :p
07:24<Wolf01>But the real question is: which cardboard box contains the lego parts I need to finish what I'm trying to build?
07:25<andythenorth>_dp_ why not just rely on them being generic though?
07:25<@Alberth>merge everything into one box, then it's simple
07:26<andythenorth>I am seriously considering that
07:26<andythenorth>if the nml compile times were shorter, I'd just make one grf
07:26<andythenorth>if I could also bundle the GS in the same .tar, that would be ideal
07:26<_dp_>andythenorth, eh... coz generic is not good enough ... or what do you mean?
07:27<andythenorth>_dp_: it just sounds wrong tbh, the point of GS is generic undifferentiated gameplay
07:27<andythenorth>why are you controlling everything preciselt?
07:27<_dp_>andythenorth, there are always some things that don't go well for a certain game modes
07:27<_dp_>andythenorth, like lumber mill are fine but without requiring to plant trees
07:27<andythenorth>but why is that your choice, not player?
07:28*andythenorth asking not criticising
07:28<_dp_>andythenorth, and to disable that you need to redefine the whole set :p
07:28<_dp_>andythenorth, because I'm configuring server, everything is my choice :p
07:28<andythenorth>it's all quite confusing isn't it
07:29<@planetmaker><andythenorth> if I could also bundle the GS in the same .tar, that would be ideal <-- I think what would be nice would be a way to exchange a bundle of
07:30<@planetmaker>(settings, newgrfs, ai and gs) All with proper config settings as needed
07:30<@planetmaker>you could click this "settings bundle" and press "generate map" and you'd have a map with that stuff
07:31-!-Sularken [~Sulark@it206d.it.su.se] has joined #openttd
07:31-!-Sularken is "Bjum Subjum" on #openttd #bitlbee
07:32<@planetmaker>andythenorth, he's designing / maintaining a server. With a specific gameplay idea in mind. And the NewGRF / GS / ... do not provide the flexibility he needs in their settings
07:32<_dp_>planetmaker, yeah, exactly
07:32<@planetmaker>by imposing their own idea of how they have to be used
07:33<@planetmaker>thus you can play what other people think is "good gameplay" or... create your own. Completely from ground zero. Basically
07:34<_dp_>I'd be happy if I could just change config and be done
07:35<_dp_>not writing gamescritps in c++ and newgrfs that seem to do nothing xD
07:37<_dp_>TheDude tried to do something generic of our CB with Simple City Builder GS
07:37<_dp_>but it turned out meh
07:37<_dp_>GS is too limited
07:38-!-Samu [~Ricardo@pa4-84-91-142-34.netvisao.pt] has joined #openttd
07:38-!-Samu is "realname" on #openttd
07:39-!-Markk [~Mark@h-9-121.A357.priv.bahnhof.se] has joined #openttd
07:39-!-Markk is "Bjum Bjumfors" on #openttd #bitlbee
07:39<andythenorth>what are the limits?
07:40<_dp_>andythenorth, oh, where do I even start...
07:40<_dp_>andythenorth, for example GS can't stop player from destroying a house in competitor's town
07:40<andythenorth>why not?
07:41<andythenorth>for example
07:41<_dp_>andythenorth, basic stuff like 1 command/tick and server-side goes without saying
07:41<_dp_>andythenorth, because gs can't do callbacks it only notices action after it is performed
07:41<_dp_>andythenorth, so it can ban player but not stop him
07:42<andythenorth>can newgrf prevent player doing that?
07:42<nielsm>no
07:42<nielsm>nothing can
07:43<_dp_>well, not currently but it may be implemented except that newgrf has no idea who to stop and why
07:43<andythenorth>well give GS callbacks
07:43<andythenorth>job done?
07:43<_dp_>andythenorth, needs to be client-side first
07:43<nielsm>_dp_: I think you might be interested in the "zones" idea I have, except I haven't really gone anywhere past vague ideas
07:44<_dp_>like sure, client-side multi-GS thing could possibly solve a lot if GS issues
07:44<Samu>another closed PR; rip :(
07:44<_dp_>nielsm, what zones? sounds interesting indeed)
07:44<nielsm>https://github.com/OpenTTD/OpenTTD/compare/master...nielsmh:mapzones
07:45<nielsm>adding another map array containing a byte, that specifies a "zone" for every tile
07:45<andythenorth>nielsm: I had a zones idea earlier today, but might not be that
07:45<nielsm>and each zone can have restrictions, global or per player
07:45-!-Speedy` [~speedyn@85-76-51-85-nat.elisa-mobile.fi] has joined #openttd
07:45-!-Speedy` is "Speedy's my name." on #openttd #sd
07:45<_dp_>nielsm, that's a lot of c++ to read) I'll check it out, so far seems like something our server does as well
07:45<nielsm>and possibly also later local adjustments to costs and incomes
07:46<@planetmaker><_dp_> andythenorth, needs to be client-side first <-- no. A server can simply forbid that
07:46<_dp_>planetmaker, hm, yeah, what was I thinking
07:47<@planetmaker>I'm sure you have in your server-side patch such thing that a command you don't like is simply dropped
07:47<_dp_>planetmaker, needs client-side for other useful callbacks
07:47<Samu>oh no TrueBrain I guess I failed at explaining things again
07:47<@planetmaker>for that reason commands have the DC_EXEC flag. If set, the command is sent via server to all clients and only then executed
07:48<@planetmaker>w/o that flag, the client only tests whether it can be executed
07:48<@planetmaker>as such it's thinkable that a GS can hook into this bit
07:48<_dp_>planetmaker, yeah, I was thinking of other stuff, that one can be done on server
07:49<Samu>when I said "With the test noise", I meant those 3 lines in the code, not my API addition
07:49<nielsm>that would depend on the GS always being in an event loop state when it relinquishes control to the core game
07:49<@planetmaker>hm... interesting nielsm ... so zones with exclusive player access?
07:49<nielsm>to let GS do some kind of client command filter
07:49<nielsm>planetmaker for example yes
07:49<Samu>my API addition is only mixing the 3 lines into 1 single command
07:49<_dp_>planetmaker, things like production callbacks need to be client-side but that's kinda newgrf territory
07:49<@planetmaker>_dp_, sure
07:49<nielsm>e.g. a nature reserve zone
07:50<_dp_>planetmaker, I was thinking of something like what andy said, GS instead of nml for newgrfs
07:50<@planetmaker>hu?
07:51<_dp_>planetmaker, well, nml is terrible for logic, would be nice to game GS do that
07:51<_dp_>*have
07:52<_dp_>instead of fighting for api's xD
07:52<@Alberth>newgrf directly connects with eg the renderer, squirrel would be toooo slow
07:53<@Alberth>even for something "simple" as cargo payment, it's not fast enough
07:53<@Alberth>full map, lots of cargoes being moved
07:53<_dp_>Alberth, doesn't it have cargo event already?
07:53<andythenorth>oh actually moving newgrf to GS is a really good idea
07:54<andythenorth>it would be much simpler
07:54<@Alberth>no, it has cargo monitor, ie query what happened since last query
07:54<andythenorth>why *isn't* newgrf just ported to GS?
07:54<@Alberth>or do you mean something else?
07:54<andythenorth>then I can just write one GS to do everything
07:54<nielsm>andythenorth because squirrel is a bad VM
07:55<@Alberth>engine graphics are queried from newgrf for each frame afaik
07:55<@Alberth>ie switch with animation frames
07:55<andythenorth>we could just not
07:56<@Alberth>would make a lot of sense to me, tbh, but it's not the current state
07:56<andythenorth>but also maybe just move industries, cargos, houses to GS
07:56<andythenorth>leave vehicles in newgrf
07:57<Samu>brb
07:57<_dp_>so, basically we need fast GS xD
07:57<andythenorth>yes
07:57<andythenorth>and we need to accept that the entire DLC for a specific map is from one author
07:57<andythenorth>so you pick a pre-made scenario, rather than n newgrfs
07:58<DorpsGek_II>[OpenTTD/OpenTTD] SamuXarick commented on pull request #7451: Add: AI/GS IsNoiseLevelIncreaseAllowed https://git.io/fjkrI
07:58<_dp_>hm... have GS return nml for performance-critical parts?
07:59<Samu>does it really make the AI do things a human can't? I mean, it could already do that then
08:00<DorpsGek_II>[OpenTTD/OpenTTD] nielsmh commented on pull request #7451: Add: AI/GS IsNoiseLevelIncreaseAllowed https://git.io/fjkrL
08:00<@Alberth>we use that limit indeed Samu, AI can only query information that a human can get too
08:00<andythenorth>so one mod script per map
08:00<andythenorth>controls all content
08:00<andythenorth>no newgrfs
08:01<@Alberth>too complicated, fails as soon as you have more than 1 author for some part, which is .... always
08:01<Samu>nielsm, :|
08:02<Samu>i dont get the difference
08:02<Samu>i give up
08:03<nielsm>you obviously haven't given up yet despite saying "I give up" ten times
08:03<nielsm>(or however many)
08:03<andythenorth>Alberth: not sure how else interface problems can be eliminated, except with sole author...?
08:03<_dp_>andythenorth, it's like in mp where you have modules as newgrfs and gs but there is one admin that binds them all together
08:03<andythenorth>one person needs to control available cargo, industry, town buildings, vehicles
08:03<andythenorth>otherwise how can it ever work?
08:04<Samu>I don't actually try to build the airport with the noise test...
08:04<nielsm>a player can _guess_ at which town an aiport will count towards noise level for, by looking at which towns are near a tile, but for edge cases it will be difficult to know which one it really is
08:04<Samu>either
08:04<@Alberth>andy: towns, industries, houses, vehicles now also happily live independently of each other
08:04<@Alberth>only if you want integrated control it gets complicated
08:04<@Alberth>but then you have to build it all from the ground up
08:05<andythenorth>for example, offering vehicle tech tree advance as a reward for completing a town goal
08:05<@Alberth>Samu: so how do you know you can build an airport without trying?
08:05<andythenorth>requires control over town, cargo, vehicles
08:05<@Alberth>that's one form of integrated control
08:05<@Alberth>openttd doesn't provide that currently
08:05<_dp_>Alberth they aren't rly independent even now, e.g. you need towns to accept same cargo that industry produces and vehicles that support it
08:05<Samu>with current API? I run those 3 lines of code
08:05<Samu>for the noise
08:06<Samu>exclude tiles that don't have acceptable noise
08:06<@Alberth>Samu: you, as person, using the mouse / keyboard
08:06<@Alberth>not hacking the code
08:06*andythenorth tanks for a bit
08:06<andythenorth>this is all very confusing
08:06<@Alberth>it's quite complicated subject andy :)
08:06<Samu>how is that hacking if it's already in API
08:06<Samu>I fail
08:06<@Alberth>Samu, today, with say 1.8.0
08:07<Samu>I test place the airport in the map
08:08<@Alberth>ok, so that's what an AI MUST do as well
08:08<Samu>but AIs have things such as IsBuildableRectangle
08:08<@Alberth>equal to what a human must doe
08:08<@Alberth>*do
08:08<Samu>AIs can get the exact numbers of cargo production
08:08<@Alberth>it can't sneakily query that info from an API
08:08<@Alberth>you can too, it's just very complicated to get it
08:10<@Alberth>AI is very bad at understanding what industries to connect and how, you are much better at it
08:10<@Alberth>can't be avoided
08:11<@Alberth>so yes there are differences, but both human and AI must have the same information available
08:11<andythenorth>oh
08:12<andythenorth>the AI should also be folded in with GS and other content
08:12<andythenorth>single author
08:12<Samu>brb
08:13<andythenorth>wait
08:13<andythenorth>if there was just one content bundle active at once
08:13<andythenorth>we could just move the API to C++ no?
08:13<andythenorth>we'd only need an internal API, not external?
08:13<andythenorth>no toolchains
08:15<_dp_>andythenorth, yeah, that's what citymania does xD
08:16<_dp_>andythenorth, I literally have an C++ api for DocommandP among other things
08:17<andythenorth>so instead of DLC, we need to distribute a C++ bundle, with sprites?
08:17<@planetmaker>...
08:18<andythenorth>why don't we drop all the content APIs and do that, it will be much simpler
08:18<andythenorth>isn't that what Minecraft does?
08:18<_dp_>minecraft is java you can hack into that somewhat easily
08:19<andythenorth>yes
08:19*andythenorth learning how Minecraft does it
08:20<andythenorth>it appears that mods are java
08:20<_dp_>btw, I'd rly like to see any modding api solution for a compiled language
08:22<_dp_>rust+piston+dyon I guess is the best attempt at that I know of
08:23<andythenorth>I am not going to suggest languages
08:23<@Alberth>lua?
08:23<andythenorth>I don't know enough about the performance
08:23<andythenorth>but node.js is probably the most widely understood
08:23<andythenorth>and it is recommended for novice programmers because it's very performant
08:24<Samu>no... I don't get it
08:24<andythenorth>node never blocks, so even inexperienced programmers can write endlessly scalable code with it
08:24<@Alberth>while True: pass :p
08:25<Samu>I don't buy the whole argument about AI cheating
08:25<@Alberth>Samu: there is no option of buying it, it's already there
08:25<Samu>it's already there
08:26<Samu>how is making it avoid repetition "cheating"
08:26<Samu>:(
08:26<nielsm>how do you place an airport when you are a human player?
08:27<Samu>I'm not placing the airport
08:27<@Alberth>what does "avoid repetition" mean?
08:27<Samu>Im testing for noise
08:27<nielsm>what for?
08:27<andythenorth>is it time for a fork of OpenTTD?
08:27<andythenorth>one prong maintains the legacy, proven-not-to-work content APIs
08:27<andythenorth>the other prong is the new content API
08:28<@Alberth>you'd need a better defined goal perhaps? how is it going to be done instead?
08:28<andythenorth>I don't like to specify implementations if I can avoid it
08:28<andythenorth>people don't like that
08:28<@Alberth>but yeah, if you want to dump old stuff, no other way, I think
08:28<nielsm>why would you test for noise if you aren't building an airport?
08:28<Samu>https://paste.openttdcoop.org/pwvjchy87
08:29<@Alberth>the other option is to convince all devlopers
08:29<nielsm>no I will not read your code
08:29<andythenorth>I think it's done maybe by rewriting the game in javascript or similar
08:29<nielsm>explain with words
08:29<@Alberth>unity?
08:29<andythenorth>and moving all the sprites to directly loaded from source files, not via newgrf
08:29<_dp_>btw, I also think ai cheating is a bit superfluous concept
08:29<andythenorth>didn't unity get banned?
08:29<Samu>in neither of the tests I am testing for building the airport
08:29<_dp_>openttd is complete info game already
08:29<andythenorth>I thought unity had to go away, due to insane CVEs?
08:29<Samu>which means, I am cheating already
08:29<andythenorth>like Flash
08:29<@Alberth>newgrf is fine, but less closely involved in the graphics
08:29<_dp_>also like make them not suck first then worry about cheating :p
08:30<Samu>in your words, that means I'm cheating
08:30<nielsm>Samu: isn't the END GOAL to build an airport in the town?
08:30<nielsm>you aren't testing for noise for the purpose of testing for noise, you are doing it because you want to build an airport somewhere
08:30<andythenorth>oh maybe it was only the browser plugins for unity that are banned
08:30<nielsm>knowing noise level is useless for any other purpose
08:31<@planetmaker>hm... town growth affected by noise? :D
08:31<Samu>you clearly don't understand my point.... I give up
08:31<nielsm>and my argument is leading into this conclusion: DO NOT TRY HUNDREDS OF LOCATIONS FOR AIRPORTS, pick a single one that looks good and just build the fucking thing
08:31<@Alberth>unity does have a riot on their hands with licenses, don't know the details
08:31<andythenorth>ok so rewrite OpenTTD in Unity?
08:31<andythenorth>and modding is via directly changing the game?
08:32<andythenorth>and then make a system for distributing clients?
08:32<@Alberth>it's C# then
08:32<nielsm>actually I think unity is C++ and uses mono for a C# runtime for adding "user code"
08:32<nielsm>?
08:32<andythenorth>Unreal engine is open source
08:32<rubenwardy>this guy is a troll
08:32<nielsm>and you could theoretically use something other than C# to extend unity
08:32<@Alberth>no, it's C#, possibly with a c++ layer on top of it
08:33<@Alberth>for C++ you'd use unreal
08:33<milek7>unity also have c++ -> c# transpiler
08:33<rubenwardy>OpenTTD is one of the few open source games which is actually decently polished
08:33<rubenwardy>in like a 1999 kinda way
08:33*andythenorth learning about Unreal engine
08:34<Samu>I made GetNoiseLevelIncrease + GetNearestTown + GetAllowedNoise into a single function IsNoiseLevelIncreaseAllowed, and now you say this is cheating... if this is cheating, then what's already in the code is also cheating
08:34<andythenorth>Unreal engine has voxels
08:34<Samu>neither tests building the airport
08:34<@Alberth>it's a 3d engine, so yeah you can have voxels
08:34<milek7>eh, no, i confused it with c# -> c++
08:34<andythenorth>https://www.unrealengine.com/en-US/features
08:34<@Alberth>but unity is a 3d engine too
08:34<nielsm>Samu THE POINT IS NOT WHETHER HOW YOU TEST FOR NOISE THE POINT IS WHAT YOUR END GOAL IS
08:35<nielsm>Samu is your END GOAL to know a noise level and then have a number and go happy home and do nothing more?
08:35<Samu>the goal is to exclude tiles to iterate for, prevent them go through BuildAirport
08:35<@Alberth>niels: he is just refusing to accept that
08:35<Samu>because DoCommands are slow
08:35<andythenorth>Unreal includes MP, AI, animation
08:35<Samu>slow line... sneeze
08:35<Samu>like*
08:35<andythenorth>and anyone could then mod OpenTTD
08:36<Samu>snooze
08:36<@Alberth>so be smarter in picking the right tile then
08:36<nielsm>Samu shut the fuck up you have absolutely no idea what you are doing and way too little experience with software enginerring to make any kind of useful or good decision about this
08:36<Samu>o?
08:36-!-nielsm [~nielsm@176-23-103-56-cable.dk.customer.tdc.net] has left #openttd []
08:37<andythenorth>oh Godot is recommended for retro-gaming https://godotengine.org/
08:38<Samu>what the heck?
08:38<Samu>have you ever tried making an AI? If I were to run DoCommands everywhere, the AI would sleep for years before actually having build anything
08:40-!-erratic [~paige@95.158.153.67] has joined #openttd
08:40-!-erratic is "I need better friends :(" on #osm-ru #openttd
08:41<andythenorth>Godot https://www.youtube.com/watch?v=KzibhXeOa68
08:44*andythenorth installs Godot
08:46<Samu>why do you think pathfinding in AI is slow
08:46<Samu>it's because it runs DoCommands for almost every tile, trying to see if it can place the road, while YAPF on the other hand doesn't do as such
08:47<Samu>imagine YAPF going through that...
08:47<andythenorth>wow
08:48<andythenorth>I have an isometric world in Godot
08:48<@Alberth>asking too much information?
08:49<Samu>why do you think there is a IsBuildableRectangle API function
08:50<Samu>i mean i could just test placing the stuff
08:50<Samu>IsBuildableRectangle doesn't run DoCommand
08:50<Samu>speeds things up
08:51<Samu>meh nielsm... sometimes I wonder
08:51<Samu>oh well, I better shup up
08:51<andythenorth>meh I can't figure how to paste a texture onto an isometric block
08:52<@planetmaker>samu "IsBuildableRectangle" is easily visible to humans, too
08:52<@Alberth>andy: building openttd in a sunday afternoon? :)
08:53<_dp_>there is no such thing as non-cheating ai, even alphastar cheats :p
08:53<andythenorth>https://dev.openttdcoop.org/attachments/download/9355/Godot-FIRS.png
08:54<_dp_>andythenorth, that... doesn't look very openttd :p
08:54<andythenorth>eh it's 10 mins work
08:54<_dp_>more like factorio xD
08:54<andythenorth>I could spend an hour on it, probably done?
08:55<@Alberth>almost there :D
08:56<andythenorth>Godot has networking API https://docs.godotengine.org/en/3.1/tutorials/networking/high_level_multiplayer.html
08:56<@Alberth>yeah, it's a game engine, so it has all common stuff that games have
08:56*andythenorth wonders about cross-compiling
08:59<@planetmaker>not even factorio... satisfactory is 3d
09:01<andythenorth>there's locale support for languages also
09:01<andythenorth>built-in pathfinders
09:03<_dp_>I doubt generic pf would be useful for cpu-intensive game
09:04<_dp_>also it likely can't signals so whatever
09:07<andythenorth>well we could rewrite without a game engine
09:07<andythenorth>but then it is much harder for people to mod
09:07<andythenorth>the attraction of, e.g. Godot etc is they have a GUI for editing
09:08<andythenorth>which means we wouldn't need a map generator or anything
09:08<andythenorth>people could just design precise maps
09:11<rubenwardy>sigh
09:11<@Alberth>engine only constains common infra structure, ie there is no implementation of features specific to a game
09:12-!-supermop_Home_ [~user@pool-71-105-225-37.nycmny.fios.verizon.net] has joined #openttd
09:12-!-supermop_Home_ is "Guest" on #openttd
09:12<@Alberth>you'd still have to write editor contents at least
09:12<supermop_Home_>yo
09:13<@Alberth>hello super mop
09:13<andythenorth>yo supermop_Home_
09:14<supermop_Home_>wife flying back from Amsterdam today, but no room in luggage for any oude genever
09:15*andythenorth reads about Godot performance
09:18<andythenorth>hmm, nothing conclusive
09:18<_dp_>godot seems nice but if I were to rewrite openttd I wouldn't make it tile-based
09:18<andythenorth>what are the alternatives?
09:19<_dp_>andythenorth, not sure, I don't like 3d either which leaves it in a very weird spot
09:19<_dp_>guess it's called unity)
09:19<andythenorth>licensing is $$$ouch
09:19<_dp_>vector 2d
09:20<@Alberth>performance depends a lot on game contents
09:21<andythenorth>vector 2D for the map? Or for the art?
09:21*andythenorth assumes the map
09:21<@Alberth>there are quite a lot of game engines actually
09:21<_dp_>andythenorth, yeah, mostly for map but can you do vector map without vector art?
09:22<_dp_>andythenorth, or, rather 3d art basically
09:22<andythenorth>I don't know :)
09:22<_dp_>as you need a lot of angles
09:22<@Alberth>:o vertical walls :)
09:22<andythenorth>so the main point of a rewrite is to make modding easier
09:22<andythenorth>does that actually need a rewrite?
09:23<_dp_>andythenorth, no)
09:23<andythenorth>people could just be modding in the current code?
09:23<andythenorth>the problem is MP?
09:23<_dp_>andythenorth, oh, you mean patch-type modding?
09:23<andythenorth>yes
09:24<_dp_>that.. yeah, mp is a big issue
09:24<andythenorth>and the art (sprites) all has to come in via grf
09:24<_dp_>whole mp needs rewrite then
09:24<_dp_>without strict client-state
09:24<andythenorth>but we could just distribute patched clients
09:24<andythenorth>as content
09:25<andythenorth>OpenTTD is only like 40MB or something
09:26<andythenorth>if we could just load pngs directly, it would all be fine
09:26<_dp_>andythenorth, lol, server provides a client? i'd like that xD
09:27<milek7>but that would be unsafe
09:27<milek7>maybe run it in virtual machine? :P
09:27<andythenorth>we have a downloader / OpenTTD manager client
09:27<andythenorth>and that offers an MP lobby, and content browser, including downloading patched clients
09:28<andythenorth>if we moved most of the logic to AWS lambdas, we could let people reconfigure the game by calling different AWS function
09:28<andythenorth>it would require a network connection
09:29<andythenorth>https://aws.amazon.com/lambda/
09:30<milek7>compile openttd to wasm with emscripten, and host clients on server list http server
09:30<andythenorth>that also sounds plausible
09:30<andythenorth>this avoids the need for NML 2
09:33*_dp_ actually tried to do smth ttd-ish with rust and wasm at some point
09:34*andythenorth tries to remember why we're rewriting
09:34<andythenorth>oh it's so that FIRS can have cargo that affects towns, beyond desert and snow
09:36<andythenorth>and for citybuilders
09:37<Samu>oh no, my AI GUI overhaul is also closed :(
09:39<_dp_>Samu, too much AI, humans feel threatened :p
09:40<andythenorth>_dp_ do you have a document anywhere about why the current content API doesn't work?
09:40<andythenorth>preferably TL;DR :P
09:40<andythenorth>or is the problem so big that TL;DR is impossible?
09:40<_dp_>andythenorth, ofc no, i suck at writing documents
09:41<andythenorth>bullet points?
09:41<_dp_>also I abandoned the idea of using GS ages ago so don't even remember all the issues
09:41<_dp_>well, I guess server patching still has half of those though
09:41<andythenorth>well there must be some commonality
09:42<andythenorth>GS doesn't do what I want, which is to control limited things
09:42<andythenorth>and GS doesn't do what you want, which is to control everything
09:42<andythenorth>and whenever I ask the point of GS, someone says it's for city builders
09:42-!-Progman [~progman@p548D98F6.dip0.t-ipconnect.de] has joined #openttd
09:42-!-Progman is "Peter Henschel" on #openttdcoop.dev #openttd
09:43<andythenorth>there must be like 3 bullet points or something that summarise this :P
09:44<andythenorth>hmm is it this?
09:44<andythenorth>- newgrf is prevented from controlling things in case GS wants to
09:44<DorpsGek_II>[OpenTTD/OpenTTD] SamuXarick commented on issue #7131: Possible GS issues in Scenario Editor https://git.io/fjkoI
09:44<andythenorth>- but GS doesn't want to, because it can't control everything
09:45<andythenorth>??
09:45<Samu>I feel... useless
09:45<_dp_>i'd replace second one with - gs is prevented from controlling things in case newgrfs wants to :p
09:45<_dp_>coz it very much wants to xD
09:46<andythenorth>or
09:46<_dp_>like I sure wanted production control in GS at some point, don't remember why though
09:46<andythenorth>- gs is prevented from controlling things because performance
09:47<andythenorth>so instead of rewriting the game, which is extreme, move industries to GS?
09:47<andythenorth>and cargos
09:47<andythenorth>cargos are just static anyway
09:48<andythenorth>means GS could introduce new cargos etc
09:48<andythenorth>and adjust payment rates over time
09:48<_dp_>rates, sure, but I don't think introducing will ever work
09:48<andythenorth>also houses would need to be GS
09:48<andythenorth>so GS provides the economy
09:48<_dp_>you need newgrfs to provide industries and vehicles for that cargo
09:49<andythenorth>industry can be GS, it's event driven
09:50<_dp_>btw, if we do client-side GS is it secure enough for server to provide it?
09:51<_dp_>I guess it should be as noone moderates bananas anyway
09:53<_dp_>but, yeah, it would be perfect if newgrf just did graphics and left all logic to gs
09:53<andythenorth>well they'd have to be in one package somehow
09:54<_dp_>performance-critical stuff can be done like in python "use c where you must"
09:54<andythenorth>wonder if I could learn to program
09:54<andythenorth>JGR manages to be a one-person remake of the entire game
09:54-!-m3henry [~m3henry@host-212-139-212-35.static.as9105.net] has joined #openttd
09:54-!-m3henry is "realname" on #openttd
09:55<andythenorth>and JGR has absolutely won
09:55<_dp_>yeah, in package and interaction between multiple packages needs to be solved somehow
09:55*andythenorth makes realistic appraisal of own programming skills, comes up 'not good enough' :(
09:55<andythenorth>been trying for 36 years, probably not changing now
10:00-!-nielsm [~nielsm@176-23-103-56-cable.dk.customer.tdc.net] has joined #openttd
10:00-!-nielsm is "Niels Martin Hansen" on #openttd
10:00<Eddi|zuHause><_dp_> but, yeah, it would be perfect if newgrf just did graphics and left all logic to gs <-- that has two problems. a) you can't take the logic out now that it is already in, and b) you'd have to do serious architectural change to scripts to allow callbacks and stuff
10:01<_dp_>Eddi|zuHause, still better than rewriting a whole game :p
10:02<TrueBrain>depends on your goal :D
10:02<Eddi|zuHause>it's not like people never have written new games before
10:02<TrueBrain>sorry andythenorth, didn't find time this weekend to work on doc-thingy
10:02-!-frosch123 [~frosch@00013ce7.user.oftc.net] has joined #openttd
10:02-!-frosch123 is "frosch" on +#openttd.dev #openttd
10:02<nielsm>yay automatically line broken! https://0x0.st/zPS9.png
10:02<andythenorth>TrueBrain: nvm, I got distracted :P
10:02<andythenorth>I played OpenTTD!
10:02<TrueBrain>nielsm: nice :D
10:02<TrueBrain>andythenorth: oh-oh .. how many bugs did you report? :P
10:03<andythenorth>in OpenTTD, just one in a peter1138 PR
10:03<nielsm>not yet yay: https://0x0.st/zPSf.png
10:03<andythenorth>in my newgrfs, bazillions :(
10:03<andythenorth>I reported them to myself
10:03<andythenorth>so shall we do a rewrite then?
10:03<nielsm>not good box: https://0x0.st/zPSO.png
10:03<TrueBrain>me personally? no
10:04<_dp_>Eddi|zuHause, I'm just saying that I know very well that it's not a small and easy change
10:04<_dp_>Eddi|zuHause, if it was I would be doing pr already)
10:04<andythenorth>can't be that hard
10:04<TrueBrain>that;s what she said!
10:04<andythenorth>industry just has produce() cb
10:05<andythenorth>it'll be done by Christmas
10:05<Eddi|zuHause>how is that an argument, there's loads of easy tasks that i'm still not doing
10:05<_dp_>you kinda need to know a lot about everything to do it
10:05<TrueBrain>or a lot about nothing :D
10:05<andythenorth>you stole my line
10:05<_dp_>which makes me wondering is there even any ttd dev that actively does GS anymore?
10:05<andythenorth>'no'
10:05<TrueBrain>did any dev ever did GS?
10:05<andythenorth>is my bet
10:06<TrueBrain>GS was a bonus feature, not a goal :P
10:06<_dp_>TrueBrain, idk, just someone wrote it I guess xD
10:06<andythenorth>is newgrf a bonus feature TrueBrain ? o_O
10:06<TrueBrain>"owh, look, I made a hammer. NOW EVERYTHING IS A NAIL" kinda solution :D
10:06<TrueBrain>(with NoAI it was very easy to see that GS could be useful, so we extended NoAI to also do GS stuff)
10:07<TrueBrain>at first, the idea was to have an 'hidden' AI
10:07<TrueBrain>in some sorts it still is .. DEITY company and all :P
10:08<andythenorth>GS 2.0
10:08*andythenorth says random words
10:09<andythenorth>how's this for a pitch?
10:09<_dp_>anyway, having a sane scripting language to mod game is a very good idea
10:09<TrueBrain>never begin with a technical solution; always define first what you want to solve :)
10:09<_dp_>it's just that current implemetation is, well, underwhelming xD
10:10<_dp_>TrueBrain, TL;DR: mod game :p
10:10<TrueBrain>yeah; it would need more definition
10:11<TrueBrain>as would the ability to make underground roads be in that 'mod game'
10:11<andythenorth>"BusyBee continuously gives you new goals for transportation. It's meant for long-term fun. It also adjusts town growth, so that towns won't grow unless specific cargos are delivered. BusyBee requires the FIRS industry newgrf"
10:11<TrueBrain>to just give a random example
10:11<andythenorth>hmm
10:11<andythenorth>no
10:11<_dp_>o_O BB does towns now?
10:11<@Alberth>?
10:12<andythenorth>"BusyBee continuously gives you new goals for transportation. It's meant for long-term fun. BusyBee also adjusts town growth, so that towns won't grow unless specific cargos are delivered. BusyBee also controls the closure of industries. BusyBee also controls the placement of industries when the map is generated. BusyBee requires the FIRS industry newgrf"
10:12<TrueBrain>as looking to NewGRFs, GS, etc etc, without a clear well defined goal is already a failed attempt to improve the situation :)
10:12<andythenorth>oh wait
10:12<andythenorth>: "BusyBee continuously gives you new goals for transportation. It's meant for long-term fun. BusyBee also adjusts town growth, so that towns won't grow unless specific cargos are delivered. BusyBee also controls the closure of industries. BusyBee also controls the placement of industries when the map is generated. BusyBee requires the FIRS industry newgrf. BusyBee is highly configurable, with settings to
10:12<andythenorth>turn each feature on and off"
10:12<andythenorth>No still not done :P
10:13<andythenorth>: "BusyBee continuously gives you new goals for transportation. It's meant for long-term fun. BusyBee also adjusts town growth, so that towns won't grow unless specific cargos are delivered. BusyBee also controls the closure of industries. BusyBee also controls the placement of industries when the map is generated. BusyBee also introduces a tech ladder for vehicles. BusyBee requires the FIRS industry newgrf
10:13<andythenorth>and the Iron Horse, AV9, Road Hog and Unsinkable Sam vehicle newgrfs"
10:13<andythenorth>closer
10:14<TrueBrain>does anyone know what andythenortht is smoking? :)
10:14<_dp_>TrueBrain, having a full definition would be already like half of a solution
10:14<TrueBrain>_dp_: yes. So don't start with a full definition :)
10:14<_dp_>TrueBrain, currently there are just bunch of people doing various stuff
10:14<TrueBrain>start with well defined ones :)
10:15<andythenorth>"NoCarGoal is a GameScript which challenges you to transport a certain amount of 3 cargos in a certain timespan.  NoCarGoal also adjusts town growth, so that towns won't grow unless specific cargos are delivered.  NoCarGoal also controls the closure of industries.  NoCarGoal also controls the placement of industries when the map is generated.  NoCarGoal also introduces a tech ladder for vehicles. NoCarGoal
10:15<andythenorth>requires the FIRS industry newgrf, and the Iron Horse, AV9, Road Hog and Unsinkable Sam vehicle newgrfs."
10:15<TrueBrain>for example, what can you currently not do that you do want to do
10:15<andythenorth>shall I also post the pitch for Silicon Valley 2?
10:16<DorpsGek_II>[OpenTTD/OpenTTD] nielsmh updated pull request #7351: Add: Warn players that company passwords are not truly secure https://git.io/fhhrD
10:16<Samu>I made Company Value GS :p
10:16<_dp_>TrueBrain, I guess I could make a list of what I'd like to see there
10:16<_dp_>TrueBrain, will take time though
10:16<Samu>it was inspired by ST2 servers
10:16<TrueBrain>_dp_: at least that is a place to start
10:16<TrueBrain>but the dialog: what technology to use, is not :D
10:17<TrueBrain>(and this is not only you; we keep rotating around that issue over the last few weeks in this channel)
10:17<TrueBrain>"we need to rewrite NewGRF" .. well .. WHY do we need that?
10:17<_dp_>TrueBrain, I'd probably just start with citymania features as many of them aren't currently possible in GS
10:17-!-Flygon [~Flygon@58-6-72-156.dyn.iinet.net.au] has quit [Quit: A toaster's basically a soldering iron designed to toast bread]
10:17<TrueBrain>_dp_: sounds like a perfect starting point
10:17<TrueBrain>write it somewhere that allows for collaboration
10:18<TrueBrain>(so not on a 10 year old static forum bla .. or shit like that :P)
10:18<DorpsGek_II>[OpenTTD/OpenTTD] nielsmh commented on pull request #7351: Add: Warn players that company passwords are not truly secure https://git.io/fjkoy
10:19<nielsm>it breaks if you change font size while the window is open, but I think that's not worth paying attention to: https://0x0.st/zPSw.png
10:19<TrueBrain>hahahaha; no nielsm :D
10:19<TrueBrain>if you shoot yourself in the foot, it tends to hurt
10:22<DorpsGek_II>[OpenTTD/OpenTTD] nielsmh updated pull request #7351: Add: Warn players that company passwords are not truly secure https://git.io/fhhrD
10:23-!-Progman [~progman@p548D98F6.dip0.t-ipconnect.de] has quit [Remote host closed the connection]
10:23-!-Progman [~progman@p548D98F6.dip0.t-ipconnect.de] has joined #openttd
10:23-!-Progman is "Peter Henschel" on #openttdcoop.dev #openttd
10:23-!-Progman [~progman@p548D98F6.dip0.t-ipconnect.de] has quit [Remote host closed the connection]
10:24-!-Progman is "Peter Henschel" on #openttdcoop.dev #openttd
10:24-!-Progman [~progman@p548D98F6.dip0.t-ipconnect.de] has joined #openttd
10:24-!-Wormnest [~Wormnest@35.136.176.177] has joined #openttd
10:24-!-Wormnest is "Wormnest" on #openttd
10:25<Samu>Just tested nielsm other suggestion for AirportGetNearestTown: 1, 2 or 4 center tiles only. It asserts yet when comparing with the original code
10:25<Eddi|zuHause>doesn't that just need a "resize all windows" call on font change?
10:29<TrueBrain>is there a tool in the github universe or closely to it that allows for collaborating like that? I am used to things like SharePoint and Confluence
10:29<TrueBrain>but ... yeah ... paid blablabla
10:30<andythenorth>there is etherpad
10:30<andythenorth>it's simple and reliable (enough) https://etherpad.org/
10:30<andythenorth>we use it at work, very helpful during crises, e.g. production outages etc
10:31<andythenorth>also, this is OpenTTD content API: http://thecodelesscode.com/case/33
10:32-!-Progman [~progman@p548D98F6.dip0.t-ipconnect.de] has quit [Ping timeout: 480 seconds]
10:32<TrueBrain>tldr, sorry :P
10:32<andythenorth>no just the picture will do http://thecodelesscode.com/pages/case-33/hermitage.jpg
10:33<TrueBrain>that is an invalid structure :)
10:33<frosch123>andythenorth: btw. i put the "fear" article on my office wall at work :)
10:33<TrueBrain>I still want to make an MMO version of OpenTTD, with a seemless "endless" map you can play on
10:35<andythenorth>frosch123: do you think he went back and refactored it though? o_O
10:35<andythenorth>I want enlightenment
10:36<TrueBrain>well, an endless map is not that difficult I guess
10:36<TrueBrain>just requires storage, basically
10:36<Samu>does anyone know of a airport newgrf with irregular layout? non rectangular?
10:37<Samu>other than that intercontinental on opengfx+ airports
10:38<frosch123>andythenorth: i only achieved the onion so far
10:39<frosch123>i build a consistent api on top of the old
10:39<andythenorth>I think that's probably fine
10:39<frosch123>young people use the new one, old people continue to use the old one
10:39<frosch123>when i retire, i can remove the old one
10:39<andythenorth>newgrf doesn't worry me very much
10:40<andythenorth>as long as nobody looks at https://newgrf-specs.tt-wiki.net/wiki/VehicleRefitting#Flow_chart
10:40<andythenorth>[don't look anybody]
10:40<frosch123>no new api will solve that one :p
10:40<andythenorth>what I'd like to see change is the retarding of newgrf development in some areas "because GS"
10:41<andythenorth>when GS has had quite long enough to solve the problems and has failed
10:41<andythenorth>GS needs to get off the pot :P
10:41<frosch123>it's fundamental "i want to control everything, and if not it shall not happen" vs "i want some default behaviour for undefined things"
10:42-!-Progman [~progman@p548D98F6.dip0.t-ipconnect.de] has joined #openttd
10:42-!-Progman is "Peter Henschel" on #openttdcoop.dev #openttd
10:43-!-Progman [~progman@p548D98F6.dip0.t-ipconnect.de] has quit [Remote host closed the connection]
10:47<milek7>oh, it's early 1st april on stackoverflow?
10:47<TrueBrain>random remark being random :D
10:49<milek7>yes
10:49<TrueBrain>at least give us a link! :P
10:49<frosch123>nah, that's just the unicorns taking over
10:50<milek7>is there any recent emscripten build of openttd?
10:51<milek7>TrueBrain: it's visible on any question
10:52<DorpsGek_II>[OpenTTD/OpenTTD] SamuXarick commented on pull request #7424: Add: Kdtree for AirportGetNearestTown https://git.io/fjkKJ
10:52<TrueBrain>riiiggghhhhtttttt
11:01<andythenorth>nielsm: regions...I had the idea of trying to make FIRS designate 'metal industry region', 'coal region' etc
11:01<andythenorth>it currently clusters individual industry types, but not chains
11:02<andythenorth>I wondered about defining regions as "town_id modulu num regions" or something
11:02<andythenorth>seems quite crude though
11:03<nielsm>there's a problem with my current draft for "zones" in that it tries to merge natural and political regions into a single concept
11:03<nielsm>which is probably a bad idea all in all
11:03<andythenorth>might be better to define arbitrary regions, and expose them to newgrf etc
11:04<andythenorth>make them roughly hexagonal, with some jitter :P
11:04<andythenorth>or let the newgrf request n arbitrary regions
11:04<andythenorth>for whatever purpose
11:04<nielsm>have something to define a cargo as "raw material" extracted from nature, and then regions/zones can be abundant, normal, or sparse in each raw material cargo
11:06<andythenorth>I want something like
11:06<andythenorth>"for whatever regions exist, assign an arbitrary number to each region, based on a random range I supply from grf"
11:07<andythenorth>"when grf is constructing industry, each type must be in a region with number in [list]"
11:07<andythenorth>so steel mill and related industry might require regions with number 5
11:07<andythenorth>coal mines might allow 5 and 2
11:08<andythenorth>farms might allow any number
11:09<andythenorth>some caveats
11:09<andythenorth>if region size is e.g. 64x64, and I ask for 8 region types
11:09<nielsm>how are the regions formed? throwing random dots on the map and simultaneously filling out from them until the entire map is coloured?
11:09<andythenorth>and the map size is 64x64
11:09<nielsm>scenario editor control?
11:09<andythenorth>then I get 8 overlapping regions :P
11:09<nielsm>hmm overlapping regions even...
11:10<andythenorth>well one way might be that each number I request has a tile map
11:10<andythenorth>rather than each tile being assigned a number
11:10-!-sla_ro|master [slamaster@84.117.88.126] has quit []
11:10<nielsm>that's a lot of data
11:10<andythenorth>I could draw it better than explain it but eh
11:10<andythenorth>there will be structures for this stuff :P
11:11<andythenorth>8 bits is 8 regions :P
11:11<andythenorth>not that much per tile?
11:11<andythenorth>8 bits is 8 region *types*
11:11<andythenorth>sorry
11:11<nielsm>I still wonder if an RLE bitmap wouldn't be a useful way to map this
11:12<nielsm>for every row of tiles, store a list of alternating "number outside", "number inside" values
11:12<andythenorth>is that just compression in the form of 'count n entries'?
11:12<nielsm>yep
11:12<andythenorth>the ouch thing is that this ought to be available to at least industry newgrf and GS
11:12<andythenorth>maybe towns
11:13<nielsm>since that kind of regions would usually be contiguous
11:13<andythenorth>maybe railtypes
11:13<nielsm>GS would mostly concern itself with political zones I think
11:13<andythenorth>so they probably don't overlap?
11:14<nielsm>while industry and town buildings would be more concerned with natural zones
11:14<andythenorth>hmm
11:14<andythenorth>the overlapping just seems to be essential due to small maps :P
11:14<andythenorth>there's a minimum viable region size
11:15<nielsm>do you imagine regions being rectangular or arbitrary shaped?
11:15<nielsm>https://en.wikipedia.org/wiki/File:Manhattan_Voronoi_Diagram.svg
11:16<andythenorth>for my purpose they could be either
11:16<nielsm>since that could be one way to generate them
11:16<+michi_cc>Eddi, your entrance ^^ :p
11:16<andythenorth>any of rects, hexagons, or arbitrary shapes by pathfinding / flooding
11:17<andythenorth>so TL;DR for industry construction
11:17<andythenorth>- query the zone, if it's acceptable zone for this type, construct, otherwise disallow
11:17<nielsm>how about for newgrf purposes have natural regions identified by four-letter codes like cargo labels, i.e. region labels
11:17<andythenorth>possibly
11:17<andythenorth>that might permit communication, not sure if that's needed
11:18<DorpsGek_II>[OpenTTD/OpenTTD] SamuXarick updated pull request #7094: Fix #7088: Retrieve an appropriate name for a non-existant AI/GS when displaying a textfile https://git.io/fhrqY
11:18<andythenorth>I'll try a draft schema for a FIRS economy
11:18<nielsm>there might be one or a few regions pre-defined by the game (grassland, desert, snow, water, perhaps deep ocean)
11:18<nielsm>and a newgrf could define its own, and put requirements on where they can be located
11:21<nielsm>and if newgrf trees ever happen, regions like this could also be useful in controlling where tree types can appear
11:23*peter1138 returns
11:25<_dp_>damn, my input is stuck on remote side with wrong encoding, gg synergy :(
11:25<_dp_>how do I even fix it I wonder
11:26<@peter1138>Hmm, so much chat today, I can't be bothered to read the scroll back.
11:27<andythenorth>it's mostly hot air
11:27<andythenorth>I made it
11:29<@peter1138>Maybe thinner tile highlight sprites?
11:30<@peter1138>Or just additional colours?
11:30<_dp_>nielsm, rle sucks for querying but you can store zone change tile and do binsearch
11:32<andythenorth>nielsm: https://paste.openttdcoop.org/pynizppqk/ajveaf/raw
11:32<andythenorth>peter1138: for the catchments?
11:32<@peter1138>Yeah
11:32<nielsm>hmm, store pairs of "first tile, num tiles" in a list sorted by first tile, and binsearch that?
11:32<nielsm>yeah that would work
11:32<andythenorth>I thought they worked fine already tbh peter1138 :)
11:32<andythenorth>better is nice, but they're quite good
11:33<_dp_>nielsm, first tile, zone type
11:33<_dp_>not for overlapping tho
11:33<nielsm>yeah for overlapping you need multiple maps
11:35<_dp_>well it still makes sense just store combination change instead
11:35<Samu>got a crash
11:35<_dp_>unless they change every few tiles and simple map array would be better
11:35<Samu>Assertion failed at line 66 of d:\openttd\openttd github\openttd\src\network\core\tcp.cpp: packet != NULL
11:36<frosch123>peter1138: with the new station coverage areas: do acceptance and production area match now'? or are they still different?
11:36<@peter1138>frosch123, they match now
11:36<frosch123>nice :)
11:39<@peter1138>I thought about updating the wiki page but, eh, it's not released yet.
11:40<TrueBrain>reminds me, who is going to prepare a release news message for tomorrow?
11:40<TrueBrain>if we can already line that up in a PR, that would be great
11:41<TrueBrain>also, we have the dev-post we need to finish up :)
11:41<TrueBrain>maybe they can be combined?
11:44<Samu>what does the AI GUI window has to do with tcp.cpp
11:44<Samu>something's wrong
11:45<DorpsGek_II>[OpenTTD/OpenTTD] stale[bot] commented on pull request #7290: Change: Disallow taking over AI companies in multiplayer https://git.io/fjkKd
11:45<DorpsGek_II>[OpenTTD/OpenTTD] stale[bot] commented on pull request #7078: Feature: Raise a corner of land automatically when building aqueducts https://git.io/fjkKF
11:45<DorpsGek_II>[OpenTTD/OpenTTD] stale[bot] commented on pull request #7104: Fix #5405: Aircraft could route to depots outside their range https://git.io/fjkKb
11:46<Samu>dbg: [net] [tcp/game] received illegal packet type 2 from client 2
11:46<Samu>I'm clicking stuff on the gui window, why does it send "packets"...
11:47<_dp_>Samu, all gui works by sending packets in mp
11:50<Samu>wondering if it's the override effect...
11:51<Samu>nope
11:51-!-supermop_Home_ [~user@pool-71-105-225-37.nycmny.fios.verizon.net] has quit [Ping timeout: 480 seconds]
11:51<Samu>my fix used to work
11:52<Samu>now the network is suddenly messing up
11:52<Samu>it's not even supposed to be related
11:55<Samu>textfile window now has a "network attached" to it, it didn't use to
11:55<Samu>dont know how to explain it
11:58<DorpsGek_II>[OpenTTD/OpenTTD] SamuXarick commented on pull request #7094: Fix #7088: Retrieve an appropriate name for a non-existant AI/GS when displaying a textfile https://git.io/fjk6J
12:06<Samu>ok, i see where it fails (I think)
12:07<Samu>re-testing
12:07<Samu>nop, :( didn't work
12:08<DorpsGek_II>[OpenTTD/OpenTTD] TrueBrain commented on pull request #7094: Fix #7088: Retrieve an appropriate name for a non-existant AI/GS when displaying a textfile https://git.io/fjk6l
12:16<Samu> if (textfile == NULL) {
12:16<Samu> delete this;
12:16<Samu> } else {
12:16<Samu>trying
12:18<TrueBrain>peter1138: https://github.com/OpenTTD/OpenTTD/pull/7279 <- shouldnt you just merge that? :D
12:18<@peter1138>I dunno, it kinda makes buoys pointless.
12:19<TrueBrain>haha :D
12:19<TrueBrain>so why did you make the PR? :P :D
12:19<frosch123>people also use waypoints
12:19<@peter1138>Well, the thing is even though we have route caching now, and performance is better, it's still better to have buoys.
12:19<@peter1138>So I dunno.
12:19<frosch123>they like if a ship takes one canal instead of the other, to make ships not collide
12:19<@peter1138>Heh
12:20<frosch123>also, why did noone vote for the titlegame that i liked most :p
12:20<TrueBrain>frosch123: says more about you than us :D
12:20<andythenorth>I would be +1 to 7279
12:20<andythenorth>and leave bouys in place
12:21<Samu>thx TrueBrain, that fixed it!
12:21<TrueBrain>and now think really really really really hard how you messed that one up :P
12:21<TrueBrain>use after free .... we did that in 1995 :P
12:21<@peter1138>andythenorth, I'd never remove buoys!
12:22<TrueBrain>peter1138: just merge it; we can always revert
12:22<TrueBrain>do you want me to merge it? So your name is not alone there? :D
12:22<DorpsGek_II>[OpenTTD/OpenTTD] SamuXarick updated pull request #7094: Fix #7088: Retrieve an appropriate name for a non-existant AI/GS when displaying a textfile https://git.io/fhrqY
12:23<DorpsGek_II>[OpenTTD/OpenTTD] PeterN merged pull request #7279: Fix #7062: Remove ship max order distance. https://git.io/fhbXW
12:23<TrueBrain>w00p
12:23<DorpsGek_II>[OpenTTD/OpenTTD] PeterN closed issue #7062: Ship pathfinders ignore the max order distance https://git.io/fhcuR
12:23<TrueBrain>peer pressure!!
12:23<DorpsGek_II>[OpenTTD/OpenTTD] SamuXarick commented on pull request #7094: Fix #7088: Retrieve an appropriate name for a non-existant AI/GS when displaying a textfile https://git.io/fjk6K
12:30<Samu>the 'this' it was using afterwards was probably from something else, I suppose
12:30<Samu>network packets or whatever
12:33<@peter1138>What are you saying?
12:34<Samu>nonsense, probably :(
12:37<_dp_>feels like live coding stream xD
12:37<@peter1138>Oh yeah!
12:37-!-gareppa [~gareppa@151.29.75.147] has joined #openttd
12:37-!-gareppa is "gareppa" on #llvmlinux #ext4 #mm #moocows #oftc #openttd #scilab #C
12:37*peter1138 turns on twitch, for exactly that ;p
12:38<@peter1138>https://www.instagram.com/p/BvrNr5Rn6yv/
12:38<@peter1138>Is that a healthy breakfast do you think?
12:38<_dp_>oh snap, do you actually watch that?
12:38<@LordAro>peter1138: i had a full english for breakfast
12:39<@peter1138>twitch? no.
12:39<@peter1138>but i'm broadcasting.
12:39<@peter1138>LordAro, that was my breakfast, at 2:30pm.
12:39<_dp_>ha)
12:39<@peter1138>Couldn't eat anything this morning due to the massive chinese last night.
12:39-!-gareppa [~gareppa@151.29.75.147] has quit []
12:39<@LordAro>peter1138: haha
12:40<@peter1138>LordAro, 3 platefuls! On top of starters and dessert.
12:40<@peter1138>Birthday meal FTW.
12:40<@peter1138>So I did 45 miles today, on an empty stomach, and had that when I got back.
12:40<@peter1138>(45 MTB miles, that is)
12:41<@LordAro>peter1138: hap bifday
12:41<@peter1138>Thanks
12:42*andythenorth considers streaming FIRS dev
12:42<@peter1138>We'd cry as you write tons of code and then delete it again.
12:42<andythenorth>2s to change industry map colour, 1min to compile, 10s to test, repeat
12:42<andythenorth>I don't write much code, the code generator does that
12:45-!-sla_ro|master [slamaster@84.117.88.126] has joined #openttd
12:45-!-sla_ro|master is "slamaster" on #sla #openttd
12:45*_dp_ writing azure configs http://i.imgur.com/xVyoSl.jpg
12:47<nielsm>andythenorth: try changing the map colour, export to NFO, set the generated NFO aside, change map colour again, export to NFO again, diff the two NFO's, figure out which bit to modify
12:47<_dp_>actually goes surprisingly well considering I haven't bothered to read azure docs and only use openttd files as reference
12:47<nielsm>so you can modify and compile from NFO directly
12:47<nielsm>(for small changes like that)
12:48*nielsm is now waiting for lasagna to cook
12:48<andythenorth>it's certainly an optimisation :P
12:48<andythenorth>I could extend it to all newgrf programming?
12:48<andythenorth>what if I wrote something to then parse back the nfo and create nml from it?
12:49<nielsm>well it's probably most worth it for small changes with lots of iteration
12:49<andythenorth>or if I could just change map colour in game, via newgrf debug :D
12:49<nielsm>and not structural changes
12:49<nielsm>that's cheating!
12:49<@planetmaker>there's a problem with my current draft for "zones" in that it tries to merge natural and political regions into a single concept <-- can't the natural region be better defined by sth like ground or base tiles?
12:50<nielsm>planetmaker, well you'd need more ground types then
12:51<nielsm>what if you wanted deep ocean, shallow ocean, shallow ocean with coral reef...
12:52<_dp_>nielsm, feels a bit too much for a game that only has one water level :p
12:53<nielsm>_dp_ the idea with deep ocean at least is to make a zone for oil fields and the like, and prevent players from filling in the ocean
12:54<_dp_>and btw, wth are political regions?
12:55<nielsm>countries, counties, metropolitan areas encompassing multiple towns
12:55<nielsm>etc
12:55<_dp_>nielsm, that sounds like something you put into map array not some arbitrary zones
12:55<_dp_>nielsm, I mean deep ocean
12:55<nielsm>yeah it probably should be
12:56<_dp_>counries huh
12:56<_dp_>I can't think of any use for counries in openttd tbh
12:57<_dp_>like I get newgrf areas for industries or no build zones for scripts
12:57<_dp_>but areas that don't do anything may as well not exist
12:57<andythenorth>imagine areas you have to complete goals to unlock
12:57<nielsm>political zones are exactly for GS managed rules
12:58<andythenorth>or areas where payment rate is dumped
12:58<andythenorth>or spiked
12:58<_dp_>andythenorth, so, basically custom goal areas?
12:58<nielsm>countries/metropolitan areas are just examples of what they can represent
12:58<nielsm>yes
12:59<_dp_>ok
12:59<_dp_>that sounds potentially useful
12:59<_dp_>btw, areas exclusive for certain company would be nice
12:59<nielsm>yes that's it
12:59<_dp_>for claimed town in cb and h2h stuff
13:00<_dp_>I'm actually thinking of making h2h server
13:01<_dp_>with elo ratings
13:02-!-Wormnest [~Wormnest@35.136.176.177] has quit [Quit: Leaving]
13:18<andythenorth>station name for a carbon black plant?
13:19<nielsm>soots
13:19<nielsm>(no idea)
13:20<andythenorth>Soot Furnace then
13:21<frosch123>Clown Furnace
13:22<andythenorth>now that I've set all the map colours to be nicely spaced
13:23<andythenorth>I should add some more industries :P
13:25<andythenorth>so after massive digression....can we spec an industry 'happiness' callback?
13:25<andythenorth>and how default town growth could consume it?
13:27<@peter1138>Samu, can you provide a savegame/AI where AirportGetNearest town is the bottleneck?
13:29<@peter1138>Oooh, should I open my birthday whisky?
13:29<andythenorth>yeah
13:29<andythenorth>any more easy questions? o_O
13:30<TrueBrain>gratz btw peter1138 :)
13:35<andythenorth>right, let's rek new FIRS
13:37<@peter1138>Mmm, that's nice
13:39-!-erratic [~paige@95.158.153.67] has quit []
13:39<@peter1138>Maybe I should have a kebab tonight?
13:41<@peter1138>Samu, Samu Samu
13:41<andythenorth>https://paste.openttdcoop.org/pdct3fzq9/20atus/raw
13:42<Eddi|zuHause>peter1138: that'll surely balance out the chinese from yesterday?
13:42<@peter1138>Eddi|zuHause, I've got to eat something?
13:43<andythenorth>mmm kebab
13:46<@peter1138>Hmm, so I should make roadtype/roadsubtype consistent.
13:46<@peter1138>RoadTypes are ROADTYPE_ROAD and ROADTYPE_TRAM.
13:46<andythenorth>yair
13:46<@peter1138>Not the subtypes.
13:46<andythenorth>it was nearly LIGHTRAIL_TYPE but meh
13:49<Eddi|zuHause>i never liked that "subtype" thing
13:51<@peter1138>I...
13:52<@peter1138>RoadTypes
13:52<@peter1138>TramTypes?
13:53<andythenorth>is there any reason not to?
13:53<andythenorth>also Polymers or Plastics
13:53<andythenorth>?
13:53<@peter1138>Yeah, that would need a lot of duplication.
13:53<@peter1138>Hmm
13:54<andythenorth>ROADORTRAMTYPE :P
13:54<@peter1138>Maybe make them all RoadTypes, remove RoadSubTypes, and ... oh, no.
13:54<@peter1138>It's clunky
13:54<andythenorth>label for Polymers, how about POLY? :P
13:54<andythenorth>too silly?
13:55<@peter1138>Thing is...
13:55<Eddi|zuHause>i'd maybe flip roadtype and roadsubtype
13:55<@LordAro>road vs tram does seem like it should be an attribute
13:55<Eddi|zuHause>so roadtype will be the thing with the label, analogue to railtype
13:55<@LordAro>or perhaps "can overlay" and "can be overlayed"
13:55<@LordAro>but this is probably rewriting the whole thing
13:55<@peter1138>Well, with 64 types... it's less of an issue using one list.
13:55<Eddi|zuHause>and roadsubtype will be a binary property, whethere it's more like road or more like tram
13:56<@peter1138>With only 16 types, I guess it was more of a problem.
13:56<@peter1138>LordAro, yes, but if it's rewriting to make it better, that's no issue
13:56<@peter1138>It would get rid of ALL of the rtid bullshit.
13:56<@peter1138>And newgrfs should be fine.
13:57<@peter1138>Hmm, unless someone defined the same label.
13:57<@peter1138>But that would be silly.
13:57<@peter1138>Shall I try it>
13:57<Eddi|zuHause>yeah, nobody wuld ever do silly things
13:57<@peter1138>Doesn't matter, there's no official spec as it's not released.
13:58<@peter1138> /** bitmask to the OTHER roadtypes on which a vehicle of THIS roadtype generates power */
13:58<@peter1138> RoadSubTypes powered_roadtypes;
13:58<@peter1138>That kinda bullshit is there
13:58<@peter1138>where it says roadtypes everywhere, but actually it's a roadsubtype.
13:59<@LordAro>indeed
13:59<@peter1138>RoadTypeLabel is actually a RoadSubTypeLabel...
13:59<@peter1138>I'm gonna do this
13:59<Eddi|zuHause>peter1138: that's exactly what i mean
13:59<@peter1138>Let's clean it up.
13:59<@LordAro>hype
13:59<Eddi|zuHause>the thing with the label should be called roadtype
13:59<andythenorth>it was clunky
13:59<nielsm>andythenorth: how are polymers different from plastic (PLAS)?
13:59<andythenorth>the 64 types should unblock the clunk
14:00<Eddi|zuHause>because every newgrf author will be calling it that
14:00<@peter1138>64 types means this is unnecessary, I'm sure.
14:00<milek7>i tried compiling with emscripten
14:00<milek7>displays nothing, but sfx works
14:00<andythenorth>nielsm: not sure, trying it anyway :)
14:01<@LordAro> 666 files changed, 23383 insertions(+), 14326 deletions(-)
14:01<@LordAro>i've not updated this checkout in a while
14:02<andythenorth>I suspect graphviz is about to make this idea impossible
14:02<andythenorth>FIRS design is mostly driven by the graphviz layout algorithm
14:02<andythenorth>which sounds awful, but apparently mostly works
14:03<Eddi|zuHause>that's somewhat like hardwaredesign :p
14:03<andythenorth>so the first problem with polymers
14:04<andythenorth>the industry producing them also produces rubber
14:04<andythenorth>and rubber is a polymer :P
14:04<Eddi|zuHause>"if the layout algorithm can't turn your code into a sane layout, you've written bad code"
14:04<andythenorth>well maybe plastic it is then
14:05<andythenorth>seems odd to have a polymer plant that doesn't produce polymers :P
14:05<andythenorth>at first glance
14:05<andythenorth>'probably fine'
14:06<Eddi|zuHause>well, you could still call it "polymers" but use the "PLAS" label internally?
14:06<andythenorth>I suspect calling it Plastic is ok now
14:20<andythenorth>plastic or plastics?
14:20<andythenorth>this is like raw beads of the stuff
14:20<andythenorth>and softer compounds like pvc also
14:20<andythenorth>it's not just your lunch box
14:21<nielsm>"Raw plastic"?
14:22<andythenorth>maybe
14:22<@peter1138>Hmm, this would also allow cross-powering of road/tram types.
14:22<@peter1138>Win?
14:22*andythenorth tries options
14:22<andythenorth>peter1138: potato/potato
14:23<andythenorth>polymers looks best, but it's too weird because rubber is also clearly a polymer
14:23<andythenorth>oof
14:36-!-gelignite [~gelignite@55d4a635.access.ecotel.net] has joined #openttd
14:36-!-gelignite is "gelignite" on #openttd
14:38<Samu>oh, sorry, I was playing
14:39<Samu>my AI with v10, which isn't uploaded yet to bananas, let me upload
14:44-!-Supercheese [~Superchee@cpe-98-146-230-183.natnow.res.rr.com] has joined #openttd
14:44-!-Supercheese is "Caseum" on #openttd
14:45<Samu>snap
14:45<Samu>uploaded wrong stuff
14:47<Samu>pff,
14:47<Samu>making a v11, because that v10 was for testing
14:55<Samu>nevermind, i uploaded the correct version after all
14:55<Samu>download v10 peter1138
14:56-!-Progman [~progman@p548D98F6.dip0.t-ipconnect.de] has joined #openttd
14:56-!-Progman is "Peter Henschel" on #openttdcoop.dev #openttd
14:57<Samu>so confusing, it's because I got a .tar and a folder, both with v10
14:57<Samu>i thought i had uploaded the wrong stuff to bananas, but it's not the case, the folder contains the testing code, the .tar not
15:04-!-Alberth [~alberth@00015f9e.user.oftc.net] has left #openttd []
15:09<Samu>anyway, I'm creating a savegame, just in case
15:11<DorpsGek_II>[OpenTTD/OpenTTD] SamuXarick commented on pull request #7424: Add: Kdtree for AirportGetNearestTown https://git.io/fjkPz
15:44<andythenorth>can I split steel cargo?
15:44<andythenorth>:P
15:50<nielsm>steel plates, steel beams, steel rods...?
15:51<andythenorth>coils, strips
15:51<andythenorth>stainless, galvanised, tinplate
15:51<andythenorth>inox
15:51-!-mczapkie [~mczapkie@217.96.204.139.ipv4.supernova.orange.pl] has joined #openttd
15:51-!-mczapkie is "McZapkie" on #openttd
15:52-!-mczapkie [~mczapkie@217.96.204.139.ipv4.supernova.orange.pl] has quit []
15:55-!-supermop_Home [~user@pool-71-105-225-37.nycmny.fios.verizon.net] has joined #openttd
15:55-!-supermop_Home is "Guest" on #openttd
15:58<andythenorth>how much are textiles a factor for vehicle assembly? :P
15:59<andythenorth>current input cargos are:
15:59<andythenorth>tyres, vehicle engines, vehicle bodies, vehicle parts (manufactured from plastic, glass, steel, electrical machines)
16:02-!-gelignite [~gelignite@55d4a635.access.ecotel.net] has quit [Quit: Good fight, good night!]
16:04-!-Supercheese [~Superchee@cpe-98-146-230-183.natnow.res.rr.com] has quit [Read error: Connection reset by peer]
16:05-!-Supercheese [~Superchee@cpe-98-146-230-183.natnow.res.rr.com] has joined #openttd
16:05-!-Supercheese is "Caseum" on #openttd
16:15<andythenorth>plastic seats :P
16:15<andythenorth>fine
16:24<@peter1138>This no longer compiles ;)
16:24<nielsm>nylon
16:26<andythenorth>peter1138 :(
16:26<@peter1138>I'm nowhere near completing it.
16:26<@peter1138>It's already looking simpler, though.
16:27<andythenorth>do the tests still pass? o_O
16:28<@peter1138>It doesn't compile, so that's unlikely.
16:30-!-Speedy` [~speedyn@85-76-51-85-nat.elisa-mobile.fi] has quit [Ping timeout: 480 seconds]
16:34-!-Speedy` [~speedyn@82-181-245-62.bb.dnainternet.fi] has joined #openttd
16:34-!-Speedy` is "Speedy's my name." on #openttd #sd
16:38<@peter1138>You'll see where I am on my twitch stream ;)
16:38<andythenorth>I should get a tablet for watching things
16:38<andythenorth>while I code
16:39<Samu>I'm bored, so I'm listening to music https://www.youtube.com/watch?v=N9XKLqGqwLA&index=4&list=RDZ45en1UBEw4
16:39*andythenorth waits for compile to fail
16:40-!-sla_ro|master [slamaster@84.117.88.126] has quit []
16:49*andythenorth adds to the pony list
16:51<andythenorth>- town growth industry cb
16:51<andythenorth>- force industries into every town mechanic
16:54<andythenorth>- regions also
16:55<andythenorth>nielsm: project? :P
16:55<andythenorth>oh I have a stupid pony as well
16:56<andythenorth>I can get population of the town an industry belongs to
16:57<andythenorth>BUT I would like to know the population of a group of towns within n tiles of an industry
16:57<andythenorth>and not overlapping with another industry of the same type :P
16:57<andythenorth>pony much?
16:58<frosch123>isn't that the same as the "city" flag in var40?
16:59<frosch123>i think you are derailing into micro management
16:59<andythenorth>the stupid pony is
17:00<frosch123>well, write a gs for the rest
17:00<frosch123>gs can track cargo delivered to industries
17:00<andythenorth>see previous n conversations about that :P
17:00<andythenorth>'no' :)
17:00<frosch123>they can count industries, and they can check whether cargo are delivered equally
17:01<andythenorth>nah I'll wait it out, eventually we'll stop pretending GS can do this :)
17:01<andythenorth>or I'll merge all the GS into one
17:01<frosch123>write a patch to include squirrel scripts into newgrf via action14 (is that the number?)
17:01<andythenorth>one or the other
17:01<andythenorth>yes that hideous idea :D
17:02<andythenorth>I proposed GS-inside-newgrf earlier today
17:02<andythenorth>but don't read those logs :P
17:02<andythenorth>it's a lot of hot air
17:04*andythenorth wonders if industry var 60 can count population? :P
17:04<andythenorth>don't think so
17:06<andythenorth>it's quite a nice lolz problem, I could just ignore it
17:06<andythenorth>https://dev.openttdcoop.org/attachments/download/9356/town_production_lolz.png
17:07<andythenorth>there is an existing production mechanic in FIRS for some industries to produce depending on town popn.
17:07<andythenorth>I updated it to new cb format
17:07<andythenorth>and noticed that it might really want to account for other nearby towns :D
17:07<supermop_Home>andythenorth makes more sense
17:07<andythenorth>or alternatively just not care :)
17:08<supermop_Home>than more sense than sending bulldozers straight to the junkyard to be scrapped
17:08<andythenorth>ideally that production would be more like ~100t
17:08<andythenorth>based on the two towns :)
17:08<andythenorth>ain't no way I can see to do that :D
17:11<andythenorth>population of regions :P
17:15<DorpsGek_II>[OpenTTD/OpenTTD] TrueBrain updated pull request #7445: Update: Changelog for 1.9.0 and prepare for release https://git.io/fjkTe
17:15<andythenorth>\o/
17:16<TrueBrain>that PR is ready to be merged; who ever wants to handle the release, I did as much work for you as I could, without really doing anything
17:16<TrueBrain>frosch123 has a nice checklist of things to do for a real release
17:16<andythenorth>first big release in ages :)
17:17<andythenorth>so much good stuff
17:17<TrueBrain>I doubt I really have time tomorrow to help, but I will be here to check if things like the website picked up the stable correctly etc
17:17<TrueBrain>so feel free to ping me etc
17:18<TrueBrain>now, time for some wel deserved sleep!
17:18<TrueBrain>nn :)
17:23<andythenorth>super!
17:23*andythenorth also
17:23-!-andythenorth [~andytheno@cpc87219-aztw31-2-0-cust178.18-1.cable.virginm.net] has left #openttd []
17:25<DorpsGek_II>[OpenTTD/OpenTTD] frosch123 approved pull request #7445: Update: Changelog for 1.9.0 and prepare for release https://git.io/fjk1k
17:26-!-nnyby [~nik@li490-134.members.linode.com] has joined #openttd
17:26-!-nnyby is "nik" on #openttd
17:29<milek7>https://milek7.pl/openttd-wasm/
17:30<nielsm>nice
17:32<milek7>https://gist.github.com/Milek7/391554b342d301a3ddb18a9d0a6435a1
17:35<Samu>openttd-wasm?
17:36<TrueBrain>runs smooth, even on mobile :o
17:42-!-yegjog[m] [~yegjogfen@2001:470:1af1:101::3577] has joined #openttd
17:42-!-yegjog[m] is "@yegjog:feneas.org" on #openttd #debian-ruby #Qubes_OS #debian-xfce #debian-riscv #mm #virt #debian-nginx
17:44<@peter1138>You'll see where I am on my twitch stream ;)
17:44<@peter1138>Erm
17:44<@peter1138>w/w
17:47-!-m3henry [~m3henry@host-212-139-212-35.static.as9105.net] has quit [Quit: Leaving]
17:48<Samu>did u check the savegame?
17:48<Samu>try it in 1.9.0-RC2 vs master
17:48<Samu>big difference
17:49<DorpsGek_II>[OpenTTD/OpenTTD] michicc opened pull request #7453: Remove AutoDeleteSmallVector and AutoFreeSmallVector https://git.io/fjk1R
17:52<DorpsGek_II>[OpenTTD/OpenTTD] michicc updated pull request #7453: Remove AutoDeleteSmallVector and AutoFreeSmallVector https://git.io/fjk1R
18:02-!-Wolf01 [~wolf01@0001288e.user.oftc.net] has quit [Quit: Once again the world is quick to bury me.]
18:05<Samu>where is your stream link
18:06<DorpsGek_II>[OpenTTD/OpenTTD] michicc updated pull request #7453: Remove AutoDeleteSmallVector and AutoFreeSmallVector https://git.io/fjk1R
18:06<Samu>i used to stream, but got bored quickly, it's a waste of time pretty much
18:08<Samu>peter1138,
18:08<@peter1138>?
18:08<Samu>link
18:09<@peter1138>https://www.twitch.tv/peter1138
18:09<Samu>ah ok, i'm gonna sub or follow or whatever they call it
18:12<Samu>Live developing! barely gaming related
18:13<Samu>twitch shouldn't allow such
18:13<Samu>but wtv, not my channel
18:17<@peter1138>Uh huh
18:17-!-frosch123 [~frosch@00013ce7.user.oftc.net] has quit [Quit: be yourself, except: if you have the opportunity to be a unicorn, then be a unicorn]
18:26<DorpsGek_II>[OpenTTD/OpenTTD] michicc updated pull request #7453: Remove AutoDeleteSmallVector and AutoFreeSmallVector https://git.io/fjk1R
18:32<Samu>oh no, offline?
18:32<Samu>now that it was getting exciting, build errors!
18:33<Samu>ah, it's back
18:33<@peter1138>Yup, my connection went off.
18:33<@peter1138>Lots of build errors, I'm rewriting NRT :D
18:34-!-supermop_Home [~user@pool-71-105-225-37.nycmny.fios.verizon.net] has quit [Remote host closed the connection]
18:41-!-Progman [~progman@p548D98F6.dip0.t-ipconnect.de] has quit [Remote host closed the connection]
18:41<Samu>random image displaying AirporGetNearestTown with kdtree https://imgur.com/IUdAMjB
18:41<nielsm>michi_cc: can we use more std::string for next thing?
18:42<+michi_cc>We can probably use std::string in lots of places, but PRs with 10000 changed lines are hard to review :)
18:45<nielsm>yeah just taking a few bits at a time would be the way to go :P
18:49-!-Speedy` [~speedyn@82-181-245-62.bb.dnainternet.fi] has quit [Ping timeout: 480 seconds]
18:49<DorpsGek_II>[OpenTTD/OpenTTD] michicc updated pull request #7453: Remove AutoDeleteSmallVector and AutoFreeSmallVector https://git.io/fjk1R
18:50<Samu>random image displaying AirportGetNearestTown with master https://imgur.com/34MuYNe
18:50<Samu>executing the same task
18:51<Samu>48 seconds vs 57 seconds
18:52<+michi_cc>Especially since this modern C++ stuff always seems to be some kind of tug-of-war with the CI. clang-3.8 needs a std::move where it is not supposed to be needed, clang-3.9 doesn't need it like all other compilers.
18:52<+michi_cc>And OSX is always special.
18:53-!-Speedy` [~speedyn@85-76-51-85-nat.elisa-mobile.fi] has joined #openttd
18:53-!-Speedy` is "Speedy's my name." on #openttd #sd
18:55<Samu>hmm just noticed I didn't rebase the kdtree :(
18:56<DorpsGek_II>[OpenTTD/OpenTTD] michicc updated pull request #7453: Remove AutoDeleteSmallVector and AutoFreeSmallVector https://git.io/fjk1R
18:56<+michi_cc>Okay, might have found it.
18:56<DorpsGek_II>[OpenTTD/OpenTTD] SamuXarick updated pull request #7424: Add: Kdtree for AirportGetNearestTown https://git.io/fjU1d
19:11<DorpsGek_II>[OpenTTD/OpenTTD] michicc updated pull request #7453: Remove AutoDeleteSmallVector and AutoFreeSmallVector https://git.io/fjk1R
19:11<Samu>how much seconds is 8,97% of 48,371s?
19:12<DorpsGek_II>[OpenTTD/OpenTTD] michicc commented on pull request #7453: Remove AutoDeleteSmallVector and AutoFreeSmallVector https://git.io/fjkM4
19:12<_dp_>@calc 0.0897 * 48.371
19:12<@DorpsGek>_dp_: 4.3388787
19:12<Samu>ty
19:13<Samu>@calc 0.2182 * 57.409
19:13<@DorpsGek>Samu: 12.5266438
19:13<Samu>@calc 48.371 - 4.3388787
19:13<@DorpsGek>Samu: 44.032121
19:14<Samu>@calc 57.409 - 12.5266438
19:14<@DorpsGek>Samu: 44.882356
19:16-!-nielsm [~nielsm@176-23-103-56-cable.dk.customer.tdc.net] has quit [Ping timeout: 480 seconds]
19:20-!-supermop_Home__ [~user@pool-71-105-225-37.nycmny.fios.verizon.net] has joined #openttd
19:20-!-supermop_Home__ is "Guest" on #openttd
19:27<_dp_>hmmm... 1.9.0 seems to lag a lot on trains
19:28<_dp_>like 1000 trains is already unplayable
19:28<_dp_>well 15 fps I mean
19:28<_dp_>doesn't happen in 1.8.0
19:28<Samu>it's the zoom thing
19:28<Samu>i think
19:29<Samu>dont zoom out the world too much
19:29<_dp_>doesn't matter it wastes 30 ms on trains in coop#288 for example
19:30<_dp_>not sure where it wastes another 35 since game loop is 55 and everything else shows 0z
19:30<_dp_>*25
19:30<@peter1138>Probably the PerformanceAccumulator
19:31<@peter1138>https://github.com/OpenTTD/OpenTTD/issues/7247
19:31<@peter1138>Maybe. 1000 trains isn't a lot.
19:32<@peter1138>But, it wasn't tagged 1.9, so isn't going to be fixed for 1.9
19:32<_dp_>peter1138, definitely isn't, even regular reddit game is already laggy
19:32<@peter1138>Definitely isn't what?
19:32<_dp_>you'll get a lot of complaints for sure :p
19:32<_dp_>isn't a lot)
19:33<_dp_>how to disable it?
19:35<_dp_>oh, it's in the bug, nvm
19:35<_dp_>not easy tho :(
19:36<@peter1138>There's a PR that references it.
19:36<@peter1138>https://github.com/OpenTTD/OpenTTD/pull/7248
19:36<@peter1138>Marked 1.10 ;o
19:36<Samu>https://imgur.com/a/m6Qtzgz
19:37<Samu>took me a while to get them results
19:37<_dp_>yeah, much better without it
19:38<Samu>@calc 0.0461 * 45.184
19:38<@DorpsGek>Samu: 2.0829824
19:38<_dp_>should be disabled in release imo tbh
19:38<_dp_>I'm definitely disabling it in cmclient
19:38<Samu>@calc 45.184 - 2.0829824
19:39<@DorpsGek>Samu: 43.101018
19:39<DorpsGek_II>[OpenTTD/OpenTTD] michicc updated pull request #7453: Remove AutoDeleteSmallVector and AutoFreeSmallVector https://git.io/fjk1R
19:40<Samu>from 57,409 seconds to 45,184 seconds hadn't it been closed
19:41<Samu>actually, to 49,499s, without kdtree
19:41<_dp_>like srsly, what's even the point of measurements when it takes more time than stuff it's measuring :p
19:43<DorpsGek_II>[OpenTTD/OpenTTD] michicc updated pull request #7453: Remove AutoDeleteSmallVector and AutoFreeSmallVector https://git.io/fjk1R
19:44<Samu>rename it to PerformanceDegradator :p j/k
19:46<Samu>it's really useful to me. pintpoints problems on Ais rather quickly
19:47-!-Supercheese [~Superchee@cpe-98-146-230-183.natnow.res.rr.com] has quit [Read error: Connection reset by peer]
19:47-!-Supercheese [~Superchee@cpe-98-146-230-183.natnow.res.rr.com] has joined #openttd
19:47-!-Supercheese is "Caseum" on #openttd
19:49-!-APTX [~APTX@2001:470:24:137f:2ff:ffff:fe00:1] has quit [Quit: Farewell]
20:07<_dp_>it's rly massive, 55ms game loop with PerformanceAccumulator vs 9ms without on coop#288
20:07-!-Thedarkb-X40 [~beno@51-171-49-156-dynamic.agg3.kny.prp-wtd.eircom.net] has joined #openttd
20:07-!-Thedarkb-X40 is "realname" on #openttd #/r/openttd #oolite
20:29-!-tokai [~tokai@00012860.user.oftc.net] has joined #openttd
20:29-!-tokai is "Christian Rosentreter" on #openttd
20:29-!-mode/#openttd [+v tokai] by ChanServ
20:32<DorpsGek_II>[OpenTTD/OpenTTD] SamuXarick commented on pull request #7451: Add: AI/GS IsNoiseLevelIncreaseAllowed https://git.io/fjkDC
20:36-!-tokai|noir [~tokai@00012860.user.oftc.net] has quit [Ping timeout: 480 seconds]
20:38-!-HerzogDeXtEr [~farci@ip923425f9.dynamic.kabel-deutschland.de] has quit [Read error: Connection reset by peer]
20:41<Samu>how is that disabled?
20:41<Samu>openttd.cfg setting?
20:42<Samu>wanted to test
20:52-!-APTX [~APTX@2001:470:24:137f:2ff:ffff:fe00:1] has joined #openttd
20:52-!-APTX is "APTX" on #kernelnewbies #openttd
20:53<_dp_>Samu, you mean PerformanceAccumulator?
20:53<_dp_>Samu, Edit source to disable the PerformanceAccumulator for vehicles. Comment out the PerformanceAccumulator lines in src/roadveh_cmd.cpp, src/aircraft_cmd.cpp, src/ship_cmd.cpp, and src/train_cmd.cpp
20:54<Samu>oh, I actually have to mess with the code t.t
20:55<Samu>https://9gag.com/gag/aermXOW
21:02-!-supermop_Home__ [~user@pool-71-105-225-37.nycmny.fios.verizon.net] has quit [Ping timeout: 480 seconds]
21:06<Samu>yes, it makes a difference, that wentbourne save went from 4,5 fps to 11 fps
21:24-!-Flygon [~Flygon@58-6-72-156.dyn.iinet.net.au] has joined #openttd
21:24-!-Flygon is "Flygon" on #openttd
21:52-!-Wormnest [~Wormnest@35.136.176.177] has joined #openttd
21:52-!-Wormnest is "Wormnest" on #openttd
22:06<DorpsGek_II>[OpenTTD/OpenTTD] SamuXarick commented on pull request #7290: Change: Disallow taking over AI companies in multiplayer https://git.io/fjkDb
22:07-!-Wormnest [~Wormnest@35.136.176.177] has quit [Quit: Leaving]
22:43<DorpsGek_II>[OpenTTD/OpenTTD] SamuXarick updated pull request #7078: Feature: Raise a corner of land automatically when building aqueducts https://git.io/fhgwk
22:45-!-debdog [~debdog@2a00:79c0:608:9500:7a24:afff:fe8a:d04d] has joined #openttd
22:45-!-debdog is "Wowbagger" on #bitlbee #openttd
22:49-!-D-HUND [~debdog@2a00:79c0:659:1200:7a24:afff:fe8a:d04d] has quit [Ping timeout: 480 seconds]
22:52<DorpsGek_II>[OpenTTD/OpenTTD] SamuXarick updated pull request #7104: Fix #5405: Aircraft could route to depots outside their range https://git.io/fhKsL
22:58<DorpsGek_II>[OpenTTD/OpenTTD] SamuXarick updated pull request #7290: Change: Disallow taking over AI companies in multiplayer https://git.io/fhNDM
23:21-!-tycoondemon [~ashnohoe@217-123-140-212.cable.dynamic.v4.ziggo.nl] has quit [Ping timeout: 480 seconds]
23:58-!-Hexus_One [~oftc-webi@uniwide-pat-pool-129-94-8-242.gw.unsw.edu.au] has joined #openttd
23:58-!-Hexus_One is "OFTC WebIRC Client" on #openttd
23:59<Hexus_One>is anybody here a dev for the CityMania client?
---Logclosed Mon Apr 01 00:00:03 2019