IRC logs for #openttd on OFTC at 2019-03-31
⏴ go to previous day
00:00:45 <Eddi|zuHause> (output shortened to the relevant parts)
00:09:03 <TrueBrain> glx: no, it is not. It is broken with the weekly dep rebuild
00:09:08 <TrueBrain> seem vcpkg changed something again
00:09:32 <glx> well less files archived since this one
00:09:49 <Eddi|zuHause> "State : clean, degraded, recovering"
00:10:15 <Eddi|zuHause> still dunno what went wrong
00:10:40 <TrueBrain> right .. vcpkg .. why are you such a pain .. hmm .. lets see ..
00:10:53 <TrueBrain> ah .. I see .. lol ..
00:11:00 <TrueBrain> vcpkg and the Windows images are a bit odd
00:11:08 <TrueBrain> it should always use the local copy .. but they made it so it picks the global
00:11:13 <glx> we install our own, it uses the global
00:11:19 <TrueBrain> most likely some env setting
00:11:58 <TrueBrain> meh; that is annoying .. hmm
00:12:20 <glx> but it's strange it happens only now in the CI
00:12:41 <glx> there's a delay between build and use ?
00:12:43 <TrueBrain> it broke between last week and this week
00:12:45 <TrueBrain> nothing really weird about
00:14:04 <Eddi|zuHause> in 2 hours my wall clock finally will show the correct time again
00:14:22 <TrueBrain> Eddi|zuHause: ugh, I almost forgot
00:15:43 <DorpsGek_II> [OpenTTD/CompileFarm] TrueBrain opened pull request #31: Fix: [AzurePipelines] Windows VMs now contain vcpkg out-of-the-box https://git.io/fjkuL
00:17:18 <DorpsGek_II> [OpenTTD/CompileFarm] TrueBrain updated pull request #31: Fix: [AzurePipelines] Windows VMs now contain vcpkg out-of-the-box https://git.io/fjkuL
00:17:26 *** erratic has joined #openttd
00:17:28 <DorpsGek_II> [OpenTTD/CompileFarm] glx22 requested changes for pull request #31: Fix: [AzurePipelines] Windows VMs now contain vcpkg out-of-the-box https://git.io/fjkuO
00:17:51 <peter1138> Hehe, beat me to it.
00:18:25 <DorpsGek_II> [OpenTTD/CompileFarm] glx22 dismissed a review for pull request #31: Fix: [AzurePipelines] Windows VMs now contain vcpkg out-of-the-box https://git.io/fjkuO
00:19:12 <DorpsGek_II> [OpenTTD/CompileFarm] glx22 approved pull request #31: Fix: [AzurePipelines] Windows VMs now contain vcpkg out-of-the-box https://git.io/fjkus
00:19:44 <Samu> does that description comply ?
00:20:24 <DorpsGek_II> [OpenTTD/CompileFarm] TrueBrain dismissed a review for pull request #31: Fix: [AzurePipelines] Windows VMs now contain vcpkg out-of-the-box https://git.io/fjkus
00:20:25 <DorpsGek_II> [OpenTTD/CompileFarm] TrueBrain updated pull request #31: Fix: [AzurePipelines] Windows VMs now contain vcpkg out-of-the-box https://git.io/fjkuL
00:20:33 <Eddi|zuHause> TrueBrain: well, we'll have two more years of discussion whether summer or winter time is the better one, before they finally decide to postpone it further
00:21:01 <TrueBrain> they should changing the clock constantly .. UTC is annoying enough :P
00:21:02 <Eddi|zuHause> maybe brexit happened until then :p
00:21:41 <Samu> however, getting the noise that is added to the nearest alone town is kinda lacking
00:22:04 <Samu> I don't know which town is nearest, nor wether it is allowed
00:22:20 <glx> winter time is definitely better for me
00:22:24 <TrueBrain> fuck me .. Windows did some nasty stuff with vcpkg ..
00:22:51 <Samu> I could get AIAirport.GetNearestTown afterwards, but that would be "expensively" repeating code
00:22:56 <DorpsGek_II> [OpenTTD/CompileFarm] TrueBrain updated pull request #31: Fix: [AzurePipelines] Windows VMs now contain vcpkg out-of-the-box https://git.io/fjkuL
00:22:57 <TrueBrain> time to debug with a lot of noise ... *sigh*
00:23:44 <Samu> meh, chat is busy, I guess I'm PR'ing it
00:24:42 <TrueBrain> nielsm: nice value :)
00:24:45 <Samu> i'm still gonna take half an hour writting the commit message, cus I never know how to write that kind of stuff
00:25:30 <peter1138> nielsm, trying to remove widgets?
00:25:44 <peter1138> nielsm, something about planes
00:26:17 <DorpsGek_II> [OpenTTD/CompileFarm] TrueBrain updated pull request #31: Fix: [AzurePipelines] Windows VMs now contain vcpkg out-of-the-box https://git.io/fjkuL
00:27:18 <nielsm> peter1138: trying to do two-step widget init so I can measure the multiline text properly too
00:27:30 <TrueBrain> "cd: /mnt/c/vcpkg: No such file or directory"
00:27:50 <TrueBrain> owh, no /mnt on this system
00:28:11 <peter1138> nielsm, UpdateWidgetSize() not good enough?
00:28:12 <DorpsGek_II> [OpenTTD/CompileFarm] TrueBrain updated pull request #31: Fix: [AzurePipelines] Windows VMs now contain vcpkg out-of-the-box https://git.io/fjkuL
00:29:52 <nielsm> peter1138 no because I want to break the text based on the width the window happens to get with the rest of the content
00:30:12 <nielsm> the layout system doesn't handle that at all
00:30:34 <nielsm> (the number of lines of text is unknown)
00:32:22 <peter1138> Hmm, maybe we need to rethink how that works.
00:32:41 <peter1138> "How wide is this text if we make it fill 2 lines?"
00:33:30 <peter1138> But yeah, I'm not entirely happy with how window scaling works :(
00:33:51 <nielsm> "how large will the window be without these controls? after that's known you can query those controls for their size"
00:35:02 <peter1138> Hmm, some way to have UpdateWidgetSize() called in multiple passes.
00:35:39 <nielsm> but yeah also something about how window widths are determined with large fonts but not large UI scale, like this is not aestethic: https://0x0.st/zPm8.png
00:35:40 <peter1138> Well, it's called multiple times anyway. So just some way to specify that some should come later.
00:35:46 <peter1138> Widget dependencies?
00:36:51 <peter1138> Or some numeric value as a new widget attribute hmm.
00:37:31 <nielsm> "widget sizing passes required"
00:38:09 <peter1138> I was thinking order, but okay.
00:39:13 <nielsm> I'm not going to get good results working further on this without some sleep
00:40:10 <glx> TrueBrain: you retrigger #7448 ?
00:40:27 <DorpsGek_II> [OpenTTD/CompileFarm] TrueBrain updated pull request #31: Fix: [AzurePipelines] Windows VMs now contain vcpkg out-of-the-box https://git.io/fjkuL
00:40:40 <TrueBrain> glx: no; it would still fail
00:41:11 <glx> ah it's not instantly available to CI
00:41:28 <TrueBrain> not before merge, no :)
00:41:35 <TrueBrain> would be a bit weird, if random PRs end up in the CI :P
00:41:57 <TrueBrain> right, this is ready for review now :)
00:43:51 <DorpsGek_II> [OpenTTD/CompileFarm] glx22 approved pull request #31: Fix: [AzurePipelines] Windows VMs now contain vcpkg out-of-the-box https://git.io/fjkuQ
00:46:40 <DorpsGek_II> [OpenTTD/OpenTTD] michicc approved pull request #7448: Change: Shorten engine rail type drop down in autoreplace window. https://git.io/fjkuF
00:47:28 <TrueBrain> 12 minutes takes for ever if you are waiting on it
00:47:55 <glx> then another 12 minute before the real test
00:48:07 <Eddi|zuHause> don't tell andy, he's going crazy at 1m compile times already
00:48:43 <Samu> kdtree is mighty impressive
00:49:17 <glx> lucky only 3 CI build failed and 2 were just merge checks
00:49:40 <TrueBrain> nobody would die from CI failures, as far as I am aware
00:49:56 <TrueBrain> this is why we rebuild everything weekly :) To catch these issues
00:50:15 <TrueBrain> again, nobody is going to die because of that :)
00:50:54 <TrueBrain> something that works 99 out of the 100 times .. that is still a very good score ;)
00:51:13 <DorpsGek_II> [OpenTTD/CompileFarm] TrueBrain merged pull request #31: Fix: [AzurePipelines] Windows VMs now contain vcpkg out-of-the-box https://git.io/fjkuL
00:51:15 <Eddi|zuHause> TrueBrain: imagine SYL came in here complaining his PR didn't go through
00:51:34 <TrueBrain> Eddi|zuHause: I can't imagine that. He is banned :P
01:00:27 <TrueBrain> 45 minutes to fix Microsoft bla .. meh :P
01:02:24 <TrueBrain> and now all the agents are busy .... bbbbbbbbbaaahhhhh
01:08:54 <TrueBrain> right, all fixed up again; retriggered master and the PR
01:09:07 <TrueBrain> can't wait till they fixed caching in Azure Pipelines
01:09:10 <TrueBrain> means we can remove this hack ..
01:20:14 <TrueBrain> well .. it should now be fixed no matter what they do
01:20:52 <TrueBrain> but in Q2 caching is added .. this means this becomes Microsoft's issue at that point :p
01:21:14 <TrueBrain> so we just have to hold it together till then
01:26:02 <Samu> CI reminds me of Chaos Innoculation
01:27:04 <Samu> is it ready to accept PRs?
01:29:05 <glx> oh with caching we can put vcpkg stuff directly in CI yaml directly
01:29:43 *** tokai|noir has joined #openttd
01:29:43 *** ChanServ sets mode: +v tokai|noir
01:42:22 *** Progman has joined #openttd
01:43:11 <Samu> rebasing and dropping and fixuping
01:44:57 <Samu> pick, drop, fixup, drop, fixup, should work
01:47:36 <Samu> must change commit message yet :( add a description
01:50:07 <Samu> oops, that AI changelog is wrong, why do I only notice issues when I post them
03:00:19 <Wolf01> Uhm, a hour has passed without noticing
03:02:22 <DorpsGek_II> [OpenTTD/OpenTTD] PeterN updated pull request #7446: Feature: Show coverage area for existing stations and towns https://git.io/fjksj
03:03:54 <glx> hmm seems I forgot to update AI/GS changelog in my build with refit PR
03:05:09 <glx> I noticed that when reading #7451
03:05:26 <DorpsGek_II> [OpenTTD/OpenTTD] PeterN merged pull request #7448: Change: Shorten engine rail type drop down in autoreplace window. https://git.io/fjkn9
03:14:58 <DorpsGek_II> [OpenTTD/OpenTTD] PeterN commented on pull request #7451: Add: AI/GS IsNoiseLevelIncreaseAllowed https://git.io/fjkz9
03:16:40 <DorpsGek_II> [OpenTTD/OpenTTD] SamuXarick commented on pull request #7451: Add: AI/GS IsNoiseLevelIncreaseAllowed https://git.io/fjkzH
03:17:35 <DorpsGek_II> [OpenTTD/OpenTTD] glx22 opened pull request #7452: Fix 6fc60d8c4f: forgot to update API changelog https://git.io/fjkzQ
03:18:45 <DorpsGek_II> [OpenTTD/OpenTTD] PeterN approved pull request #7452: Fix 6fc60d8c4f: forgot to update API changelog https://git.io/fjkz5
03:20:31 <Samu> yes, but I need to have sufficient money, I believe
03:21:32 <glx> in test mode you query cost
03:21:40 <glx> there's no money check IIRC
03:33:07 <DorpsGek_II> [OpenTTD/OpenTTD] glx22 merged pull request #7452: Fix 6fc60d8c4f: forgot to update API changelog https://git.io/fjkzQ
03:45:58 <peter1138> Hmm, why do we have functions with non-pointer/non-struct const parameters?
03:46:01 <Samu> if it returns 0, airport can be placed,
03:46:16 <Samu> if it returns 1, it errored
03:46:32 <Samu> shouldn't that be the opposite? hmm or is it returning -1? must check
03:52:16 <Samu> ERR_UNKNOWN is being returned some times
04:03:31 <Samu> IsBuildableRectangle is misleading...
04:03:47 <Samu> doesn't check for the flattyness of the rectangle
04:04:52 *** Supercheese has joined #openttd
04:09:52 <Samu> hmm directly test building the airport, I wonder if that's faster, non cpu intrusive, testing, brb
04:23:47 <Samu> ok, DoCommand is slow :(
04:24:14 <Samu> DoCommand slows down the whole thing
04:25:26 <Samu> by slow, I mean adds delay...
04:26:03 <Samu> it's easier on the cpu, but makes the AI feel like it's falling asleep in comparison
04:27:48 <Samu> with the test noise, I iterate 32 towns, without it, I iterate 5 towns
04:36:21 <DorpsGek_II> [OpenTTD/OpenTTD] SamuXarick commented on pull request #7451: Add: AI/GS IsNoiseLevelIncreaseAllowed https://git.io/fjkgA
04:37:44 <Samu> already a conflict? that was quick...
05:11:06 *** PackerDragon has joined #openttd
08:05:09 *** Alberth has joined #openttd
08:05:09 *** ChanServ sets mode: +o Alberth
08:17:15 *** bootmii has joined #openttd
08:18:04 <bootmii> is it freer than CC Sampling Plus?
08:22:36 <bootmii> Bandcamp wants my postcode -- can the FSF accept that, given it doesn't accept "you affirm you're in the US" clauses?
08:26:19 <peter1138> I'm gonna go with "no".
08:27:14 <bootmii> how are we gonna make a freely licensed alternative to OpenSFX then?
08:28:00 <peter1138> Go out and record some sounds?
08:35:09 *** Supercheese has joined #openttd
08:35:24 *** andythenorth has joined #openttd
08:37:28 <bootmii> so I found the license
08:43:04 <bootmii> I'm guessing 8:43 where you live?
08:43:27 <peter1138> Why did you try send me a 413MB file over IRC?
08:43:48 <bootmii> I thought I was sending the 47K license inside it
08:44:42 <peter1138> You shouldn't ever try sending files through IRC, especially without not asking.
08:44:50 <andythenorth> please don't spam me with files
08:45:10 <andythenorth> why would you send random files to random people in the channel? :o
08:45:40 <andythenorth> is today just going to be weird peter1138 ?
08:45:46 <andythenorth> shall I go back to sleep?
08:45:47 <bootmii> I mean I know why I did it
08:46:21 <bootmii> I wanted to send the license for a sound effect thing that could replace OpenSFX
08:46:28 <Alberth> day is all shifted anyway
08:46:37 <bootmii> yep almost midnight here
08:47:51 <peter1138> Why do you think we would want to see a random license file?
08:48:00 <bootmii> because we were taling about it?
08:48:10 <bootmii> we want to replace OpenSFX?
08:48:25 <bootmii> because I'm an American?
08:49:06 <andythenorth> is it lunch time yet?
08:49:11 <peter1138> You asked a specific question, I replied with "No", that's as far as that went.
08:49:11 <bootmii> an American who hasn't been taught social skills at that?
08:49:26 <peter1138> I have no desire to replace OpenSFX.
08:50:04 <planetmaker> bootmii, however, anyone is completely free to make an OpenSFX replacement
08:50:17 <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
08:50:31 <planetmaker> It's not like only one sound set can exist - they can be exchanged like any other content
08:50:52 <planetmaker> Yet when you (or anyone else) wants to create such set - create it by playing by the licenses of the sounds
08:51:34 <planetmaker> getting good sounds which you may freely distribute... is hard
08:52:06 <planetmaker> The copyright owners on the sounds of OpenSFX are listed in its license file
08:52:32 <planetmaker> CC-Sampling Plus was the common denominator which I could find when I compiled the soundset
08:52:49 <planetmaker> Having a GPL-licensed sound set would be very welcome
08:53:18 <bootmii> oh yeah. the lciense struggle is real
08:53:47 <bootmii> anyway I've spent 90 minutes talking about this here and on freenode/#parabola
08:54:14 <bootmii> on top of it's 11:54pm
08:59:38 <planetmaker> so I understand that one still has to buy the sounds?
09:01:38 <planetmaker> but seems like a fair license
09:03:44 <planetmaker> wow... the readme of OpenSFX is old :D
09:37:04 <andythenorth> bigger industries?
09:37:09 <andythenorth> bigger station catchments?
09:38:09 <andythenorth> or 'probably fine'?
09:44:33 <Alberth> I also often merge output stations for different cargoes
09:48:34 <planetmaker> it needs the logic for trains going to load stations as factorio :D
09:57:08 <DorpsGek_II> [OpenTTD/OpenTTD] TrueBrain commented on pull request #7451: Add: AI/GS IsNoiseLevelIncreaseAllowed https://git.io/fjkVW
09:57:43 <dwfreed> factorio trains will head to the closest enabled station with the name they're looking for
09:58:14 <andythenorth> if you merge pickup stations, how do you see the waiting cargos? o_O
09:58:16 <dwfreed> so you can name 5 stations "Iron Ore Out" and the train will pick the closest enabled one of those to go to
09:58:19 <andythenorth> only one type is shown
09:58:59 <Alberth> click on the station to open the station window?
09:59:02 <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)
10:00:06 <dwfreed> the wagons on the trains can also have filters set, so you can't accidentally put the wrong stuff in them
10:00:23 <Alberth> or if some types of trains are never waiting there, something is not right
10:00:55 <Alberth> many sets have dedicated wagons for each type of cargo
10:01:41 <andythenorth> conclusion: industry size is 'probably fine'
10:02:10 <andythenorth> bigger station catchments though... :P
10:02:20 <planetmaker> <Alberth> many sets have dedicated wagons for each type of cargo <-- that is the biggest problem often, I think
10:02:42 <planetmaker> it can be solved by a set with more generic wagons which support auto-refit at stations to the most abundant cargo
10:02:45 <DorpsGek_II> [OpenTTD/OpenTTD] TrueBrain updated pull request #7445: Update: Changelog for 1.9.0 and prepare for release https://git.io/fjkTe
10:03:24 <TrueBrain> right .. this PR needs an update at 20:00 for the latest eints ..
10:03:37 <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
10:04:52 <Alberth> and then auto-reroute the train to the correct destination eh?
10:05:14 <andythenorth> then if we do consist management...auto-length
10:05:38 <Alberth> then add an automatic train count handling, auto-depot
10:05:48 <Alberth> just add rail and stations.... done
10:05:52 <planetmaker> Alberth, auto-reroute is difficult. But feasible with the conditional orders
10:06:31 <Alberth> not sure if you can check for presence of cargo-type
10:06:50 <Alberth> or rather presence of cargo of a given type
10:06:54 <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
10:07:02 <planetmaker> yes, not sure either
10:07:31 <Alberth> and if you want it nicely, also the origin of that cargo
10:07:43 <planetmaker> that'd be asking a lot :D
10:08:22 <Alberth> obviously all cargo has to be moved to the other side of the map :p
10:08:59 <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
10:09:48 <Alberth> hmm, would be nice if factories would refuse to pay you if you try that :p
10:10:24 <Alberth> although openttd uses distance rather than the actual route
10:11:29 <planetmaker> well, it's solved by cargodist, somewhat
10:11:55 <planetmaker> and yes, payment is by actual distance, not any detour you make
10:13:00 <Alberth> I often reduce the distance effect, or it is quite impossible to make connections if you have few industry
10:13:31 <andythenorth> FIRS Steeltown has two ways to get steel cargo
10:14:42 <andythenorth> Coal -> Coke, Iron Ore, Limestone -> Pig Iron, Oxygen, Manganese, Quicklime -> Steel
10:14:54 <andythenorth> or Scrap Metal, Oxygen, Quicklime -> Steel
10:15:14 <andythenorth> in test games, I never bother with the scrap metal chain :|
10:16:34 <Alberth> oh, I did, scraping all the steel you can get :)
10:17:54 *** Progman has joined #openttd
10:26:23 <Alberth> EAF looks like a tire factory or car factory or so to me
10:32:09 <andythenorth> I have an idea to derive scrap yard production from town population
10:33:08 <andythenorth> ideally it would be from total population of nearby towns
10:33:17 <andythenorth> but perfection isn't necessary
10:36:23 <andythenorth> ideally newgrf would be able to influence town growth
10:36:44 <andythenorth> so that delivering, e.g. vehicles to town grows population, which increases scrap production
10:44:55 <Alberth> wouldn't just reading how much is delivered to a town be enough?
10:45:02 *** gelignite has joined #openttd
10:45:28 <Alberth> house set sounds like a better candidate to influence town growth
10:46:09 <Alberth> possibly by using the same delivery information
10:52:42 <andythenorth> yeah, the delivery information isn't available afaik
10:52:49 <andythenorth> we delegated that to GS
10:53:03 <andythenorth> but the contention for the single GS slot makes that problematic
10:53:29 <andythenorth> what if newgrf could ship with embedded GS? o_O
10:53:42 <Alberth> but then you'd need to push that information to newgrf in some way
10:54:14 <andythenorth> I was considering something like a scheduled cb against GS, with parameter
10:54:35 <andythenorth> and the facility to sandbox dedicated GS to each newgrf, thereby having multiple GS
10:55:27 <Alberth> why not just make some memory that they share?
10:56:02 <andythenorth> the new part of this idea is 'more than one GS'
10:56:14 <andythenorth> the rest has been discussed 99 different ways :)
10:56:15 <Alberth> cb data would need to be stored too
10:56:44 <Alberth> in STORE_PERM() I guess
10:58:15 <andythenorth> allowing a GS to be shipped in a bundle with a newgrf also solves the impedance mismatch
10:58:27 <andythenorth> that GS have no idea which grf is in use, except by testing for cargos
11:00:12 <Alberth> just add a "is <name> grf here?" call?
11:02:10 <Alberth> generic GSes can still exist, as they compatible with more grfs
11:02:53 <andythenorth> my hope is to figure out a solution where a generic GS co-exists in same game with a newgrf-GS :P
11:02:53 <Alberth> or you can test, and if fail, fall back on a generic case
11:03:42 <Alberth> it may need some form of border checking perhaps?
11:03:58 <Alberth> ie 2 town growth scripts would be a mess
11:04:41 <Alberth> claim write access to some area of the API?
11:04:50 <andythenorth> I wondered about that
11:05:02 <andythenorth> it starts to become quite complex eh :)
11:05:51 <andythenorth> seems like a $1 solution to a $0.20 problem
11:06:14 <Alberth> could be, relying on sanity of the user could work too :)
11:06:53 <andythenorth> the problem I want to solve is quite narrow
11:07:15 <andythenorth> FIRS should be able to specify that e.g. Bulding Materials is a town growth cargo, including in arbitrary climates
11:07:36 <Alberth> sounds like a plain newgrf problem
11:07:40 <andythenorth> it already *has* to specify appropriate town growth cargos for desert and snow
11:07:59 <andythenorth> so it's partially in newgrf domain, in a not-very-useful, legacy way
11:09:03 <Alberth> restart with actions numbered 0x40 and up :p
11:10:26 <andythenorth> some kind of flag on town cargos
11:10:44 <andythenorth> which GS could optionally consume as information also
11:10:58 <Alberth> 4 bits, one for each climate
11:11:03 <andythenorth> if no GS is running, the cargos are used in the default town growth mechanism
11:11:50 <andythenorth> I would like a bit more control over cargo requirements w.r.t population etc, but that's not essential to start with
11:11:51 <Alberth> in a more general case, you'd have several GSes running and openttd doing default for whatever is left
11:12:03 <andythenorth> co-operative GS :P
11:12:14 <andythenorth> pre-emptive co-operative multi-GS :P
11:12:26 <andythenorth> 1989 called and would like its operating systems back
11:13:08 <Alberth> you can do simple scheduling in GSes by passing all events to all sub-GSes
11:13:26 <Alberth> basically add a scheduler as highest level
11:14:03 <andythenorth> I have to go, might be on phone irc in a bit :)
11:32:20 *** sla_ro|master has joined #openttd
11:44:17 *** andythenorth_ has joined #openttd
11:44:40 * andythenorth_ had an odd idea
11:45:16 <andythenorth_> town growth cb that polls industries in the town catchment
11:45:29 <andythenorth_> industry returns allow/disallow
11:45:47 <andythenorth_> quite interesting possibilities
11:45:58 <andythenorth_> allow/disallow growth
11:46:35 <andythenorth_> so e.g. power plant, builders yard etc
11:46:44 <Alberth> probably use a range of growth rather than yes/no
11:46:58 <andythenorth_> yes, or thresholds
11:47:15 <nielsm> rather than allow/disallow, perhaps a growth rate modifier value
11:47:23 <andythenorth_> ideally only industries handling the cb would be polled
11:47:31 <nielsm> so if one industry in town returns +10 and another -10 the net effect is zero
11:48:24 <planetmaker> I like nielsm ' idea
11:48:39 <planetmaker> as parameter this CB could have a cargo
11:48:42 <andythenorth_> so e.g. *not* collecting waste could retard growth?
11:48:58 <Alberth> yacc: e - line 10 of "parser.y", syntax error
11:48:58 <Alberth> %require "3.0" <-- lol, the parser doesn't understand its own version requirement :p
11:49:01 <planetmaker> so that a GS / town can decide which cargoes it needs for growth. And query industries whether they get it
11:49:34 <andythenorth_> and the industry takes care of how much is ‘enough’
11:49:49 <andythenorth_> and how recently delivered etc
11:50:15 <planetmaker> well... the town decides on growth. The industry gives as feedback its satisfaction
11:50:44 <andythenorth_> yes, that’s another way of expressing it
11:51:28 <andythenorth_> satisfaction cb?
11:51:52 <andythenorth_> how do we normalise the sum of returned results?
11:52:02 <planetmaker> how does the town know which industries to query?
11:52:20 <andythenorth_> the ones in the town catchment
11:52:33 <planetmaker> or how does it decide which industries? Always all industries?
11:53:01 <andythenorth_> conditional on the industry handling the cb?
11:53:22 <planetmaker> well. that is obvious
11:53:41 <planetmaker> but won't the town have any choice to ask only industries which feel responsible for coal?
11:53:49 <planetmaker> and ignoring those pesky banks?
11:54:09 <andythenorth_> do you mean in context of a GS?
11:54:45 <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
11:55:49 <andythenorth_> this implies something is controlling town, other than default growth algo?
11:55:49 <planetmaker> (my POV is that towns should have control)
11:56:08 <planetmaker> the growth algo of towns should control... well town growth
11:56:29 <andythenorth_> I can’t see that anything other than GS is ever going to be accepted now
11:56:54 <andythenorth_> but in a blank canvas situation, what would be good?
11:57:22 <Alberth> why would town not be interested in happy non-coal industries?
11:57:48 <Alberth> maybe a GS is, but a town in the general sense?
11:58:29 <Alberth> you can of course make coal plants the only industries handling the cb :p
11:59:24 <Alberth> but sure, you could make some table with more information, and let a GS use that and set town growth
12:00:04 <andythenorth_> is there a need also for newgrf town control?
12:01:16 <andythenorth_> anyway normalising is interesting
12:01:35 <andythenorth_> 10 industries returning 10 satisfaction level
12:01:49 <andythenorth_> is different to 1 returning 10 :p
12:02:06 <andythenorth_> so how to know whether to grow or not?
12:02:08 <Alberth> well, even with a boolean you have that problem, one ind says yes, another says no
12:02:53 <Alberth> average it, and have some levels probably that you can move for making your life easier or more difficult
12:03:07 <andythenorth_> bool AND in the bool case
12:03:31 <Alberth> bulldoze all that disagree :p
12:03:48 <planetmaker> Alberth, a town might decide that it wants more heavy industry. Or rather focus on banks or whatever
12:03:55 <planetmaker> so that towns could have different interests
12:04:05 <planetmaker> as such they might decide to query one or another industry type
12:04:08 <andythenorth_> the bool route seems...inflexible :D
12:04:15 <Alberth> sure, under GS control right?
12:04:28 <andythenorth_> take avg of returned values?
12:04:29 <planetmaker> well... we don't change the default town growth, do we?
12:04:52 <planetmaker> then definitely not the average
12:05:09 <andythenorth_> changing default would be my primary aim :)
12:05:13 <Alberth> add a setting "improved town growth", and hide it in .cfg :)
12:05:32 <planetmaker> or what's wrong with it?
12:05:44 <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
12:06:01 <andythenorth_> it’s a nice theory :)
12:06:23 <Alberth> it makes sense, but 1 GS is very limiting
12:06:46 <andythenorth_> GS has failed because GS won
12:06:48 <planetmaker> if you break the option by unwilling newgrfs who concurrently stear it... then ofc it won't work
12:06:49 <Alberth> maybe write an OverLord gs :p
12:07:14 <andythenorth_> merge them all?
12:07:20 <planetmaker> and you write Newgrf because you write newgrf, so every solution is newgrf
12:07:34 <andythenorth_> I’ve also written GS
12:07:38 <planetmaker> ok, seems the discussion derails
12:07:49 <Alberth> but GS could get access to the industry cb data, and use that together with some info about the industries
12:08:12 <planetmaker> I never understood the limit of one GS only
12:08:24 <Alberth> then you could make Silicon Valley++
12:08:59 <andythenorth_> same argument as newgrf vs. GS: proper domain
12:09:18 <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"
12:09:38 <planetmaker> we don't know nor handle them properly with newgrfs either. We just handle both (or all)
12:09:50 <planetmaker> and rely on the newgrfs to interact nicely
12:10:05 <planetmaker> so that argument fails IMHO
12:10:22 <Eddi|zuHause> yes, but NewGRFs have less scope
12:11:14 <andythenorth_> what are multiple GS needed for? Utility stuff?
12:11:29 <planetmaker> one GS controlling town growth. One module handling goals
12:11:34 <Eddi|zuHause> as a NewGRF author you can go "hm, this is an Industry GRF, it
12:11:37 <planetmaker> so you can modularily add stuff
12:11:49 <Eddi|zuHause> 'll conflict with other industry GRF, let's list those"
12:11:56 <andythenorth_> so e.g industry closure
12:12:13 <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
12:12:30 <andythenorth_> newgrf can’t handle industry closure correctly so GS should do it...?
12:13:03 <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
12:13:04 <planetmaker> industry closures... it's a tricky thing.
12:13:20 <andythenorth_> ok so GS would take a lock on some parts of API
12:13:33 <andythenorth_> could it yield the lock during game?
12:13:50 <planetmaker> I guess not. Would it make sense to release the lock?
12:13:59 <planetmaker> on crash probably
12:14:16 <planetmaker> sounds suspiciously like grm :P
12:14:16 <Alberth> with more than one town GS
12:14:36 <andythenorth_> who wins when two GS both want same lock?
12:15:07 <Alberth> I once proposed you never have a lock permanently, you can get it, and extend it for some time
12:15:27 <andythenorth_> I think we end up with a de-facto one GS per game then
12:15:44 <andythenorth_> because scripts will lock swathes of the API
12:15:47 <planetmaker> per entity to control: yes
12:15:59 <Alberth> unless the GS can handle not having a lock on that town/industry/whatever
12:16:41 <planetmaker> andythenorth_, reading wouldn't require a lock. Just controlling it
12:17:03 <planetmaker> most GS don't do much, mostly just one thing
12:17:23 <andythenorth_> I don’t really use them, so I don’t know
12:17:45 <planetmaker> you said you programmed yourself... so ... that was like "create goal"
12:18:00 <andythenorth_> I use one of BB, NCG, or SV in every game, but other than that not really
12:18:13 <andythenorth_> I keep looking for all the others
12:18:26 <andythenorth_> like the ones that fix stuff
12:18:30 <planetmaker> Alberth, how would several GS work when they have to extend their grab on an API?
12:18:35 <andythenorth_> but I don’t know where they are
12:19:18 <Alberth> each extends it, for their part
12:19:31 <Alberth> but I can live with a static allocation too
12:20:47 <Alberth> only for write access at some part of the API, and perhaps even only for some parameter values
12:20:59 <andythenorth_> what are the other good GS?
12:22:02 <Alberth> I have yet to try the "villages is villages" and the "think global act local" GSes, they sound nice
12:23:02 <planetmaker> the latter is not bad
12:23:08 <andythenorth_> villages is ok, it doesn’t claim a large scope :)
12:23:20 <andythenorth_> it just stops towns growing much
12:25:04 <andythenorth_> so anyway ‘satisfaction’ could serve as a comms channel between industry and GS
12:25:37 <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?
12:25:44 <andythenorth_> use for closure also? put a ‘reason for call’ into cb var?
12:25:46 <planetmaker> I still believe the CB should have sth like a cargo input param. Which an industry can react to or not
12:26:36 <andythenorth_> I find that confused, but I can see the point
12:26:39 <planetmaker> though maybe... just use the output cargoes. Then no parameter is needed
12:27:18 <andythenorth_> my idea is to break the impedance mismatch between newgrf and and GS not sustain it :)
12:27:46 <andythenorth_> because GS can never know anything about which newgrf, nor cargos
12:28:12 <andythenorth_> so calling blindly against cargo seems odd
12:28:20 <nielsm> GS would benefit from being able to query about active newgrf
12:28:38 <Alberth> planetmaker: make the "happy" value available to the GS with an indication of the industry or industry type
12:28:57 <Eddi|zuHause> nielsm: i'd rather not have authors going "this GS only works when that NewGRF is loaded"
12:29:07 <andythenorth_> nielsm to what purpose? :)
12:29:16 <planetmaker> Alberth, yes, like "happy [COAL]" for a power plant which has all the coal it wants
12:29:31 <andythenorth_> GS I have always been told should be blind
12:29:57 <Eddi|zuHause> andythenorth_: not necessarily "blind", but "generic"
12:30:04 <Alberth> rather "happy[powerplant], where it can also query powerplant -- coal releation
12:30:47 <Alberth> or you get 64 cbs results or so
12:30:48 <planetmaker> Alberth, but powerplant is an industry name. so it differs wildly from newgrf to newgrf to no newgrf
12:30:48 <andythenorth_> also anyone maintaining a GS against FIRS will just rage quit
12:31:08 <Alberth> planetmaker: industry type
12:31:23 <planetmaker> what is "industry type"?
12:31:25 <Alberth> which has input/output cargoes
12:31:59 * andythenorth_ wonders about industry classes :p
12:32:04 <Alberth> the IndustryType object? :)
12:32:12 <andythenorth_> those community debates are fun :)
12:34:35 <planetmaker> Alberth, I think that is a *very crude* approximation
12:35:01 <planetmaker> indeed, it has GetProducedCargo and GetAcceptedCargo. So... would serve the purpose I had in mind
12:35:44 <andythenorth_> taxonomy ‘produces power’
12:36:05 <andythenorth_> probably goes about as well as railtype labels :p
12:36:48 <Alberth> clearly coal power is polluting, and eg nuclear power isn't, so town wants the latter, etc
12:37:25 <andythenorth_> level of detail we can probably never achieve :D
12:37:38 <Alberth> I am fine with taxanomies, code them in a GS library please
12:37:59 <andythenorth_> ha ha community taxonomies
12:38:11 <andythenorth_> let peope make arbitrary json or yaml
12:38:30 <andythenorth_> mapping specific newgrf industry IDs to their schema
12:38:40 <andythenorth_> and let GS read that
12:39:23 <planetmaker> well, the produced and accepted cargo already tells a lot
12:39:24 <andythenorth_> hash grfid and industry type ID
12:39:40 <andythenorth_> and action 14 version also in hash :p
12:39:45 <_dp_> GS compatibility with newgrfs has already been happening for a long time and there is no way around it
12:40:05 <_dp_> CB GS needs to know a log about industries it can't possible work with random industry set
12:40:36 <andythenorth_> “you’re doing it wrong” or something
12:40:44 <_dp_> and newgrfs know nothing about town growth so industry opinion/satisfaction/whatever means nothing for GS
12:41:14 <andythenorth_> because making good gameplay from undifferntiated generic crap is hard?
12:41:16 <planetmaker> an industry saying "I got all I need" or "I need more of X"... why would that not mean anything to a GS?
12:42:03 <_dp_> planetmaker, let's start with mapgen, or server (not gs but like it) places specific industries in specific areas in tow
12:42:44 <_dp_> that's especially important with yeti and its feedback loop
12:43:07 <_dp_> otherwise some industry combo may just break balance
12:43:23 <Alberth> those newgrfs aren't much designed with GS control in mind
12:43:56 <Alberth> which is fair of course, given that it doesn't exist yet
12:44:11 <_dp_> Alberth, and they shouldn't be, it's gs job to figure out how to make industry set work with a specific goal
12:44: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
12:44:44 <andythenorth_> how does that ever work with FIRS? :)
12:48:18 <_dp_> planetmaker, not sure what exactly you mean it's fine the way it is currently
12:49:06 <Alberth> they do make your life complicated with precise placement, or would that also happen with say, default industries ?
12:49:17 <planetmaker> basically what alberth said: a too complex industry newgrf is not well suitable for interaction with anything outside it
12:49:18 <_dp_> btw, all cb gamescripts currently sum all cargo delivered to a town regardless of specific industry first and only then make decisions
12:50:06 <Alberth> sounds like a fair way to go about it
12:50:22 <Alberth> ie averaging happyness of industries does the same, basically
12:51:26 <_dp_> Alberth, default set is no different, we custom place pp and factories in temperate for example
12:52:18 <planetmaker> ok... but how does that affect any interaction between GS and industry? I'd not recon much
12:52:38 <Alberth> and this is just to make the scenario interesting to play? or are there other factors here?
12:52:45 <_dp_> Alberth, except that you need understand first what that happines even means and if averaging it makes any sense for your goal
12:53:04 <_dp_> Alberth, for cb it's worthless as what you really need is cargo amounts anyway
12:53:39 <planetmaker> but delivered cargo to an industry is a very good prox
12:54:20 <_dp_> Alberth, mostly to make it "fair" so as you can get any town on any map and beat a highscore with it
12:54:55 <_dp_> Alberth, instead of waiting eternity for a perfect one to appear
12:54:57 <planetmaker> how is that score calculated (roughly)?
12:55:39 <Alberth> ok, could be done by a GS too I guess, altohugh it might need more information than is available currently
12:56:13 <_dp_> planetmaker, you mean cb score? either population after a set amount of time or time to get to a certain population
12:57:17 <planetmaker> ok. For a scenario with several equal starting points: no way around manual placement / creation. But that's independent of any interaction discussed
12:58:05 <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?
12:58:48 <Alberth> well, there is this concept "enough cargo" which isn't well-defined yet, currently, I think
12:58:49 <_dp_> planetmaker, depends on how that satisfaction it is calculated
12:59:08 <_dp_> planetmaker, if it's based on cargo then kinda yes, except for a precision loss
12:59:08 <Alberth> ie when do default industries have enough?
12:59:18 <_dp_> planetmaker, if it's some random bs then ofc no
13:00:30 <planetmaker> hm, I guess default industries are greedy, so a cargo amount delivered is more meaningful
13:01:18 <_dp_> precision loss is not a small thing btw, like we do adjust monthly cargo goals with amount of days in month
13:01:25 <_dp_> otherwise february is too brutal xD
13:04:45 <planetmaker> how do you get the cargo produced by whatever industry? GSIndustry:GetLastMonthProduction ?
13:07:06 <_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
13:07:19 <_dp_> planetmaker, you can check Simple City Builder, it mostly does the same stuff
13:08:25 *** andythenorth_ has joined #openttd
13:09:08 *** andythenorth has joined #openttd
13:09:18 <_dp_> planetmaker, or wait, you're asking about production, it's not needed for anything in cb
13:09:25 <andythenorth> oh logs are broken again :P
13:09:51 <_dp_> planetmaker, cb only counts delivered stuff, doesn't care how and where it was produced
13:10:09 <andythenorth> can anyone pastebin scrollback since about 11.45am?
13:10:17 <andythenorth> webster has given up :P
13:10:22 <_dp_> planetmaker, well, I guess it does care "where" sometimes but that's a different story
13:13:54 <andythenorth> CB is different to what I have in mind
13:15:34 <andythenorth> got it thanks :)
13:16:05 <andythenorth> _dp_: so what relevance does GS have to CB?
13:16:52 <planetmaker> what do you have in mind, andythenorth ?
13:17:50 <_dp_> andythenorth, erm, cb is a kind of gs?
13:18:17 <planetmaker> it's confusing that cb = callback and cb = citybuilder
13:18:27 <planetmaker> when discussing both concurrently :P
13:18:35 <andythenorth> I don't mean 'why the fuck?' I just mean 'why?'
13:18:38 <_dp_> yeah, cb = city-builder in everything I write)
13:19:27 <andythenorth> why isn't city-builder newgrf, or patched openttd?
13:19:37 <andythenorth> what is GS actually good at?
13:20:38 <_dp_> andythenorth, in our case of citymania it's all together
13:20:49 <_dp_> andythenorth, but should've been just gs tbh
13:21:02 <andythenorth> and you write dedicated newgrfs as well?
13:21:20 <_dp_> andythenorth, ofc, I have to
13:21:36 <andythenorth> so newgrfs for cargos / houses / industries?
13:22:40 <_dp_> andythenorth, yes and no, they're kind of configuration newgrfs mostly
13:23:19 <_dp_> andythenorth, but you need to redefine all industries or all houses to change any small thing
13:23:32 <_dp_> like stop them from closing :p
13:24:18 <Wolf01> But the real question is: which cardboard box contains the lego parts I need to finish what I'm trying to build?
13:25:04 <andythenorth> _dp_ why not just rely on them being generic though?
13:25:15 <Alberth> merge everything into one box, then it's simple
13:26:02 <andythenorth> I am seriously considering that
13:26:11 <andythenorth> if the nml compile times were shorter, I'd just make one grf
13:26:49 <andythenorth> if I could also bundle the GS in the same .tar, that would be ideal
13:26:53 <_dp_> andythenorth, eh... coz generic is not good enough ... or what do you mean?
13:27:19 <andythenorth> _dp_: it just sounds wrong tbh, the point of GS is generic undifferentiated gameplay
13:27:27 <andythenorth> why are you controlling everything preciselt?
13:27:29 <_dp_> andythenorth, there are always some things that don't go well for a certain game modes
13:27:44 <_dp_> andythenorth, like lumber mill are fine but without requiring to plant trees
13:27:58 <andythenorth> but why is that your choice, not player?
13:28:11 * andythenorth asking not criticising
13:28:12 <_dp_> andythenorth, and to disable that you need to redefine the whole set :p
13:28:26 <_dp_> andythenorth, because I'm configuring server, everything is my choice :p
13:28:41 <andythenorth> it's all quite confusing isn't it
13:29:53 <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
13:30:13 <planetmaker> (settings, newgrfs, ai and gs) All with proper config settings as needed
13:30:34 <planetmaker> you could click this "settings bundle" and press "generate map" and you'd have a map with that stuff
13:31:40 *** Sularken has joined #openttd
13:32: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
13:32:50 <_dp_> planetmaker, yeah, exactly
13:32:52 <planetmaker> by imposing their own idea of how they have to be used
13:33:26 <planetmaker> thus you can play what other people think is "good gameplay" or... create your own. Completely from ground zero. Basically
13:34:05 <_dp_> I'd be happy if I could just change config and be done
13:35:47 <_dp_> not writing gamescritps in c++ and newgrfs that seem to do nothing xD
13:37:01 <_dp_> TheDude tried to do something generic of our CB with Simple City Builder GS
13:39:45 <andythenorth> what are the limits?
13:40:25 <_dp_> andythenorth, oh, where do I even start...
13:40:43 <_dp_> andythenorth, for example GS can't stop player from destroying a house in competitor's town
13:41:08 <_dp_> andythenorth, basic stuff like 1 command/tick and server-side goes without saying
13:41:39 <_dp_> andythenorth, because gs can't do callbacks it only notices action after it is performed
13:41:47 <_dp_> andythenorth, so it can ban player but not stop him
13:42:06 <andythenorth> can newgrf prevent player doing that?
13:43:05 <_dp_> well, not currently but it may be implemented except that newgrf has no idea who to stop and why
13:43:09 <andythenorth> well give GS callbacks
13:43:19 <_dp_> andythenorth, needs to be client-side first
13:43:47 <nielsm> _dp_: I think you might be interested in the "zones" idea I have, except I haven't really gone anywhere past vague ideas
13:44:10 <_dp_> like sure, client-side multi-GS thing could possibly solve a lot if GS issues
13:44:12 <Samu> another closed PR; rip :(
13:44:44 <_dp_> nielsm, what zones? sounds interesting indeed)
13:45:09 <nielsm> adding another map array containing a byte, that specifies a "zone" for every tile
13:45:18 <andythenorth> nielsm: I had a zones idea earlier today, but might not be that
13:45:20 <nielsm> and each zone can have restrictions, global or per player
13:45:49 *** Speedy` has joined #openttd
13:45:58 <_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
13:45:59 <nielsm> and possibly also later local adjustments to costs and incomes
13:46:09 <planetmaker> <_dp_> andythenorth, needs to be client-side first <-- no. A server can simply forbid that
13:46:42 <_dp_> planetmaker, hm, yeah, what was I thinking
13:47:03 <planetmaker> I'm sure you have in your server-side patch such thing that a command you don't like is simply dropped
13:47:04 <_dp_> planetmaker, needs client-side for other useful callbacks
13:47:36 <Samu> oh no TrueBrain I guess I failed at explaining things again
13:47: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
13:48:07 <planetmaker> w/o that flag, the client only tests whether it can be executed
13:48:23 <planetmaker> as such it's thinkable that a GS can hook into this bit
13:48:47 <_dp_> planetmaker, yeah, I was thinking of other stuff, that one can be done on server
13:49:05 <Samu> when I said "With the test noise", I meant those 3 lines in the code, not my API addition
13:49:11 <nielsm> that would depend on the GS always being in an event loop state when it relinquishes control to the core game
13:49:22 <planetmaker> hm... interesting nielsm ... so zones with exclusive player access?
13:49:23 <nielsm> to let GS do some kind of client command filter
13:49:31 <nielsm> planetmaker for example yes
13:49:40 <Samu> my API addition is only mixing the 3 lines into 1 single command
13:49:41 <_dp_> planetmaker, things like production callbacks need to be client-side but that's kinda newgrf territory
13:49:58 <nielsm> e.g. a nature reserve zone
13:50:09 <_dp_> planetmaker, I was thinking of something like what andy said, GS instead of nml for newgrfs
13:51:29 <_dp_> planetmaker, well, nml is terrible for logic, would be nice to game GS do that
13:52:26 <_dp_> instead of fighting for api's xD
13:52:38 <Alberth> newgrf directly connects with eg the renderer, squirrel would be toooo slow
13:53:05 <Alberth> even for something "simple" as cargo payment, it's not fast enough
13:53:23 <Alberth> full map, lots of cargoes being moved
13:53:37 <_dp_> Alberth, doesn't it have cargo event already?
13:53:57 <andythenorth> oh actually moving newgrf to GS is a really good idea
13:54:03 <andythenorth> it would be much simpler
13:54:09 <Alberth> no, it has cargo monitor, ie query what happened since last query
13:54:34 <andythenorth> why *isn't* newgrf just ported to GS?
13:54:36 <Alberth> or do you mean something else?
13:54:41 <andythenorth> then I can just write one GS to do everything
13:54:53 <nielsm> andythenorth because squirrel is a bad VM
13:55:04 <Alberth> engine graphics are queried from newgrf for each frame afaik
13:55:34 <Alberth> ie switch with animation frames
13:55:41 <andythenorth> we could just not
13:56:09 <Alberth> would make a lot of sense to me, tbh, but it's not the current state
13:56:14 <andythenorth> but also maybe just move industries, cargos, houses to GS
13:56:19 <andythenorth> leave vehicles in newgrf
13:57:02 <_dp_> so, basically we need fast GS xD
13:57:26 <andythenorth> and we need to accept that the entire DLC for a specific map is from one author
13:57:44 <andythenorth> so you pick a pre-made scenario, rather than n newgrfs
13:58:09 <DorpsGek_II> [OpenTTD/OpenTTD] SamuXarick commented on pull request #7451: Add: AI/GS IsNoiseLevelIncreaseAllowed https://git.io/fjkrI
13:58:16 <_dp_> hm... have GS return nml for performance-critical parts?
13:59:46 <Samu> does it really make the AI do things a human can't? I mean, it could already do that then
14:00:16 <DorpsGek_II> [OpenTTD/OpenTTD] nielsmh commented on pull request #7451: Add: AI/GS IsNoiseLevelIncreaseAllowed https://git.io/fjkrL
14:00:23 <Alberth> we use that limit indeed Samu, AI can only query information that a human can get too
14:00:39 <andythenorth> so one mod script per map
14:00:44 <andythenorth> controls all content
14:01:19 <Alberth> too complicated, fails as soon as you have more than 1 author for some part, which is .... always
14:02:38 <Samu> i dont get the difference
14:03:00 <nielsm> you obviously haven't given up yet despite saying "I give up" ten times
14:03:25 <andythenorth> Alberth: not sure how else interface problems can be eliminated, except with sole author...?
14:03:27 <_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
14:03:50 <andythenorth> one person needs to control available cargo, industry, town buildings, vehicles
14:03:56 <andythenorth> otherwise how can it ever work?
14:04:00 <Samu> I don't actually try to build the airport with the noise test...
14:04:03 <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
14:04:12 <Alberth> andy: towns, industries, houses, vehicles now also happily live independently of each other
14:04:28 <Alberth> only if you want integrated control it gets complicated
14:04:39 <Alberth> but then you have to build it all from the ground up
14:05:08 <andythenorth> for example, offering vehicle tech tree advance as a reward for completing a town goal
14:05:10 <Alberth> Samu: so how do you know you can build an airport without trying?
14:05:18 <andythenorth> requires control over town, cargo, vehicles
14:05:27 <Alberth> that's one form of integrated control
14:05:43 <Alberth> openttd doesn't provide that currently
14:05:46 <_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
14:05:52 <Samu> with current API? I run those 3 lines of code
14:06:07 <Samu> exclude tiles that don't have acceptable noise
14:06:12 <Alberth> Samu: you, as person, using the mouse / keyboard
14:06:24 <andythenorth> this is all very confusing
14:06:39 <Alberth> it's quite complicated subject andy :)
14:06:41 <Samu> how is that hacking if it's already in API
14:06:55 <Alberth> Samu, today, with say 1.8.0
14:07:50 <Samu> I test place the airport in the map
14:08:07 <Alberth> ok, so that's what an AI MUST do as well
14:08:11 <Samu> but AIs have things such as IsBuildableRectangle
14:08:16 <Alberth> equal to what a human must doe
14:08:32 <Samu> AIs can get the exact numbers of cargo production
14:08:34 <Alberth> it can't sneakily query that info from an API
14:08:53 <Alberth> you can too, it's just very complicated to get it
14:10:25 <Alberth> AI is very bad at understanding what industries to connect and how, you are much better at it
14:11:16 <Alberth> so yes there are differences, but both human and AI must have the same information available
14:12:02 <andythenorth> the AI should also be folded in with GS and other content
14:13:17 <andythenorth> if there was just one content bundle active at once
14:13:25 <andythenorth> we could just move the API to C++ no?
14:13:51 <andythenorth> we'd only need an internal API, not external?
14:15:28 <_dp_> andythenorth, yeah, that's what citymania does xD
14:16:37 <_dp_> andythenorth, I literally have an C++ api for DocommandP among other things
14:17:37 <andythenorth> so instead of DLC, we need to distribute a C++ bundle, with sprites?
14:18:13 <andythenorth> why don't we drop all the content APIs and do that, it will be much simpler
14:18:22 <andythenorth> isn't that what Minecraft does?
14:18:55 <_dp_> minecraft is java you can hack into that somewhat easily
14:19:54 * andythenorth learning how Minecraft does it
14:20:02 <andythenorth> it appears that mods are java
14:20:09 <_dp_> btw, I'd rly like to see any modding api solution for a compiled language
14:22:12 <_dp_> rust+piston+dyon I guess is the best attempt at that I know of
14:23:11 <andythenorth> I am not going to suggest languages
14:23:18 <andythenorth> I don't know enough about the performance
14:23:27 <andythenorth> but node.js is probably the most widely understood
14:23:47 <andythenorth> and it is recommended for novice programmers because it's very performant
14:24:07 <andythenorth> node never blocks, so even inexperienced programmers can write endlessly scalable code with it
14:25:05 <Samu> I don't buy the whole argument about AI cheating
14:25:23 <Alberth> Samu: there is no option of buying it, it's already there
14:26:26 <Samu> how is making it avoid repetition "cheating"
14:26:50 <nielsm> how do you place an airport when you are a human player?
14:27:07 <Samu> I'm not placing the airport
14:27:07 <Alberth> what does "avoid repetition" mean?
14:27:30 <andythenorth> is it time for a fork of OpenTTD?
14:27:49 <andythenorth> one prong maintains the legacy, proven-not-to-work content APIs
14:27:57 <andythenorth> the other prong is the new content API
14:28:09 <Alberth> you'd need a better defined goal perhaps? how is it going to be done instead?
14:28:19 <andythenorth> I don't like to specify implementations if I can avoid it
14:28:24 <andythenorth> people don't like that
14:28:29 <Alberth> but yeah, if you want to dump old stuff, no other way, I think
14:28:31 <nielsm> why would you test for noise if you aren't building an airport?
14:29:00 <Alberth> the other option is to convince all devlopers
14:29:01 <nielsm> no I will not read your code
14:29:02 <andythenorth> I think it's done maybe by rewriting the game in javascript or similar
14:29:25 <andythenorth> and moving all the sprites to directly loaded from source files, not via newgrf
14:29:32 <_dp_> btw, I also think ai cheating is a bit superfluous concept
14:29:34 <andythenorth> didn't unity get banned?
14:29:38 <Samu> in neither of the tests I am testing for building the airport
14:29:42 <_dp_> openttd is complete info game already
14:29:48 <andythenorth> I thought unity had to go away, due to insane CVEs?
14:29:49 <Samu> which means, I am cheating already
14:29:52 <Alberth> newgrf is fine, but less closely involved in the graphics
14:29:54 <_dp_> also like make them not suck first then worry about cheating :p
14:30:05 <Samu> in your words, that means I'm cheating
14:30:22 <nielsm> Samu: isn't the END GOAL to build an airport in the town?
14:30:44 <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
14:30:45 <andythenorth> oh maybe it was only the browser plugins for unity that are banned
14:30:58 <nielsm> knowing noise level is useless for any other purpose
14:31:31 <planetmaker> hm... town growth affected by noise? :D
14:31:39 <Samu> you clearly don't understand my point.... I give up
14:31:44 <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
14:31:44 <Alberth> unity does have a riot on their hands with licenses, don't know the details
14:31:45 <andythenorth> ok so rewrite OpenTTD in Unity?
14:31:58 <andythenorth> and modding is via directly changing the game?
14:32:05 <andythenorth> and then make a system for distributing clients?
14:32:31 <nielsm> actually I think unity is C++ and uses mono for a C# runtime for adding "user code"
14:32:42 <andythenorth> Unreal engine is open source
14:32:48 <rubenwardy> this guy is a troll
14:32:51 <nielsm> and you could theoretically use something other than C# to extend unity
14:32:53 <Alberth> no, it's C#, possibly with a c++ layer on top of it
14:33:00 <Alberth> for C++ you'd use unreal
14:33:22 <milek7> unity also have c++ -> c# transpiler
14:33:33 <rubenwardy> OpenTTD is one of the few open source games which is actually decently polished
14:33:42 <rubenwardy> in like a 1999 kinda way
14:33:46 * andythenorth learning about Unreal engine
14:34:03 <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
14:34:09 <andythenorth> Unreal engine has voxels
14:34:20 <Samu> neither tests building the airport
14:34:30 <Alberth> it's a 3d engine, so yeah you can have voxels
14:34:36 <milek7> eh, no, i confused it with c# -> c++
14:34:55 <Alberth> but unity is a 3d engine too
14:34:56 <nielsm> Samu THE POINT IS NOT WHETHER HOW YOU TEST FOR NOISE THE POINT IS WHAT YOUR END GOAL IS
14:35:22 <nielsm> Samu is your END GOAL to know a noise level and then have a number and go happy home and do nothing more?
14:35:26 <Samu> the goal is to exclude tiles to iterate for, prevent them go through BuildAirport
14:35:27 <Alberth> niels: he is just refusing to accept that
14:35:33 <Samu> because DoCommands are slow
14:35:53 <andythenorth> Unreal includes MP, AI, animation
14:35:59 <andythenorth> and anyone could then mod OpenTTD
14:36:04 <Alberth> so be smarter in picking the right tile then
14:36:18 <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
14:38:54 <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
14:40:52 *** erratic has joined #openttd
14:46:01 <Samu> why do you think pathfinding in AI is slow
14:46:49 <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
14:47:03 <Samu> imagine YAPF going through that...
14:48:03 <andythenorth> I have an isometric world in Godot
14:48:13 <Alberth> asking too much information?
14:49:48 <Samu> why do you think there is a IsBuildableRectangle API function
14:50:03 <Samu> i mean i could just test placing the stuff
14:50:30 <Samu> IsBuildableRectangle doesn't run DoCommand
14:51:15 <Samu> meh nielsm... sometimes I wonder
14:51:21 <Samu> oh well, I better shup up
14:51:58 <andythenorth> meh I can't figure how to paste a texture onto an isometric block
14:52:01 <planetmaker> samu "IsBuildableRectangle" is easily visible to humans, too
14:52:56 <Alberth> andy: building openttd in a sunday afternoon? :)
14:53:20 <_dp_> there is no such thing as non-cheating ai, even alphastar cheats :p
14:54:18 <_dp_> andythenorth, that... doesn't look very openttd :p
14:54:35 <andythenorth> eh it's 10 mins work
14:54:45 <andythenorth> I could spend an hour on it, probably done?
14:56:40 <Alberth> yeah, it's a game engine, so it has all common stuff that games have
14:56:59 * andythenorth wonders about cross-compiling
14:59:01 <planetmaker> not even factorio... satisfactory is 3d
15:01:15 <andythenorth> there's locale support for languages also
15:01:44 <andythenorth> built-in pathfinders
15:03:55 <_dp_> I doubt generic pf would be useful for cpu-intensive game
15:04:04 <_dp_> also it likely can't signals so whatever
15:07:00 <andythenorth> well we could rewrite without a game engine
15:07:13 <andythenorth> but then it is much harder for people to mod
15:07:35 <andythenorth> the attraction of, e.g. Godot etc is they have a GUI for editing
15:08:04 <andythenorth> which means we wouldn't need a map generator or anything
15:08:10 <andythenorth> people could just design precise maps
15:11:53 <Alberth> engine only constains common infra structure, ie there is no implementation of features specific to a game
15:12:23 *** supermop_Home_ has joined #openttd
15:12:44 <Alberth> you'd still have to write editor contents at least
15:13:25 <andythenorth> yo supermop_Home_
15:14:09 <supermop_Home_> wife flying back from Amsterdam today, but no room in luggage for any oude genever
15:15:00 * andythenorth reads about Godot performance
15:18:13 <andythenorth> hmm, nothing conclusive
15:18:25 <_dp_> godot seems nice but if I were to rewrite openttd I wouldn't make it tile-based
15:18:48 <andythenorth> what are the alternatives?
15:19:25 <_dp_> andythenorth, not sure, I don't like 3d either which leaves it in a very weird spot
15:19:29 <_dp_> guess it's called unity)
15:19:36 <andythenorth> licensing is $$$ouch
15:20:22 <Alberth> performance depends a lot on game contents
15:21:00 <andythenorth> vector 2D for the map? Or for the art?
15:21:49 <Alberth> there are quite a lot of game engines actually
15:21:52 <_dp_> andythenorth, yeah, mostly for map but can you do vector map without vector art?
15:22:00 <_dp_> andythenorth, or, rather 3d art basically
15:22:09 <_dp_> as you need a lot of angles
15:22:50 <andythenorth> so the main point of a rewrite is to make modding easier
15:22:58 <andythenorth> does that actually need a rewrite?
15:23:22 <andythenorth> people could just be modding in the current code?
15:23:27 <andythenorth> the problem is MP?
15:23:54 <_dp_> andythenorth, oh, you mean patch-type modding?
15:24:06 <_dp_> that.. yeah, mp is a big issue
15:24:20 <andythenorth> and the art (sprites) all has to come in via grf
15:24:22 <_dp_> whole mp needs rewrite then
15:24:31 <_dp_> without strict client-state
15:24:40 <andythenorth> but we could just distribute patched clients
15:25:02 <andythenorth> OpenTTD is only like 40MB or something
15:26:55 <andythenorth> if we could just load pngs directly, it would all be fine
15:26:55 <_dp_> andythenorth, lol, server provides a client? i'd like that xD
15:27:01 <milek7> but that would be unsafe
15:27:13 <milek7> maybe run it in virtual machine? :P
15:27:14 <andythenorth> we have a downloader / OpenTTD manager client
15:27:29 <andythenorth> and that offers an MP lobby, and content browser, including downloading patched clients
15:28:17 <andythenorth> if we moved most of the logic to AWS lambdas, we could let people reconfigure the game by calling different AWS function
15:28:26 <andythenorth> it would require a network connection
15:30:13 <milek7> compile openttd to wasm with emscripten, and host clients on server list http server
15:30:40 <andythenorth> that also sounds plausible
15:30:59 <andythenorth> this avoids the need for NML 2
15:33:50 * _dp_ actually tried to do smth ttd-ish with rust and wasm at some point
15:34:18 * andythenorth tries to remember why we're rewriting
15:34:58 <andythenorth> oh it's so that FIRS can have cargo that affects towns, beyond desert and snow
15:36:16 <andythenorth> and for citybuilders
15:37:21 <Samu> oh no, my AI GUI overhaul is also closed :(
15:39:19 <_dp_> Samu, too much AI, humans feel threatened :p
15:40:01 <andythenorth> _dp_ do you have a document anywhere about why the current content API doesn't work?
15:40:08 <andythenorth> preferably TL;DR :P
15:40:29 <andythenorth> or is the problem so big that TL;DR is impossible?
15:40:47 <_dp_> andythenorth, ofc no, i suck at writing documents
15:41:25 <_dp_> also I abandoned the idea of using GS ages ago so don't even remember all the issues
15:41:48 <_dp_> well, I guess server patching still has half of those though
15:41:51 <andythenorth> well there must be some commonality
15:42:07 <andythenorth> GS doesn't do what I want, which is to control limited things
15:42:16 <andythenorth> and GS doesn't do what you want, which is to control everything
15:42:38 <andythenorth> and whenever I ask the point of GS, someone says it's for city builders
15:42:53 *** Progman has joined #openttd
15:43:24 <andythenorth> there must be like 3 bullet points or something that summarise this :P
15:44:42 <andythenorth> - newgrf is prevented from controlling things in case GS wants to
15:44:57 <andythenorth> - but GS doesn't want to, because it can't control everything
15:45:45 <_dp_> i'd replace second one with - gs is prevented from controlling things in case newgrfs wants to :p
15:45:54 <_dp_> coz it very much wants to xD
15:46:54 <_dp_> like I sure wanted production control in GS at some point, don't remember why though
15:46:58 <andythenorth> - gs is prevented from controlling things because performance
15:47:30 <andythenorth> so instead of rewriting the game, which is extreme, move industries to GS?
15:47:40 <andythenorth> cargos are just static anyway
15:48:02 <andythenorth> means GS could introduce new cargos etc
15:48:10 <andythenorth> and adjust payment rates over time
15:48:40 <_dp_> rates, sure, but I don't think introducing will ever work
15:48:44 <andythenorth> also houses would need to be GS
15:48:51 <andythenorth> so GS provides the economy
15:48:55 <_dp_> you need newgrfs to provide industries and vehicles for that cargo
15:49:22 <andythenorth> industry can be GS, it's event driven
15:50:32 <_dp_> btw, if we do client-side GS is it secure enough for server to provide it?
15:51:18 <_dp_> I guess it should be as noone moderates bananas anyway
15:53:29 <_dp_> but, yeah, it would be perfect if newgrf just did graphics and left all logic to gs
15:53:47 <andythenorth> well they'd have to be in one package somehow
15:54:15 <_dp_> performance-critical stuff can be done like in python "use c where you must"
15:54:29 <andythenorth> wonder if I could learn to program
15:54:44 <andythenorth> JGR manages to be a one-person remake of the entire game
15:54:54 *** m3henry has joined #openttd
15:55:09 <andythenorth> and JGR has absolutely won
15:55:09 <_dp_> yeah, in package and interaction between multiple packages needs to be solved somehow
15:55:45 * andythenorth makes realistic appraisal of own programming skills, comes up 'not good enough' :(
15:55:54 <andythenorth> been trying for 36 years, probably not changing now
16:00:57 <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
16:01:36 <_dp_> Eddi|zuHause, still better than rewriting a whole game :p
16:02:05 <TrueBrain> depends on your goal :D
16:02:26 <Eddi|zuHause> it's not like people never have written new games before
16:02:28 <TrueBrain> sorry andythenorth, didn't find time this weekend to work on doc-thingy
16:02:29 *** frosch123 has joined #openttd
16:02:39 <andythenorth> TrueBrain: nvm, I got distracted :P
16:02:43 <andythenorth> I played OpenTTD!
16:02:56 <TrueBrain> andythenorth: oh-oh .. how many bugs did you report? :P
16:03:07 <andythenorth> in OpenTTD, just one in a peter1138 PR
16:03:16 <andythenorth> in my newgrfs, bazillions :(
16:03:22 <andythenorth> I reported them to myself
16:03:37 <andythenorth> so shall we do a rewrite then?
16:04:11 <_dp_> Eddi|zuHause, I'm just saying that I know very well that it's not a small and easy change
16:04:19 <_dp_> Eddi|zuHause, if it was I would be doing pr already)
16:04:49 <andythenorth> can't be that hard
16:04:55 <TrueBrain> that;s what she said!
16:04:55 <andythenorth> industry just has produce() cb
16:05:08 <andythenorth> it'll be done by Christmas
16:05:18 <Eddi|zuHause> how is that an argument, there's loads of easy tasks that i'm still not doing
16:05:20 <_dp_> you kinda need to know a lot about everything to do it
16:05:30 <TrueBrain> or a lot about nothing :D
16:05:34 <andythenorth> you stole my line
16:05:36 <_dp_> which makes me wondering is there even any ttd dev that actively does GS anymore?
16:05:53 <TrueBrain> did any dev ever did GS?
16:06:01 <TrueBrain> GS was a bonus feature, not a goal :P
16:06:18 <_dp_> TrueBrain, idk, just someone wrote it I guess xD
16:06:26 <andythenorth> is newgrf a bonus feature TrueBrain ? o_O
16:06:27 <TrueBrain> "owh, look, I made a hammer. NOW EVERYTHING IS A NAIL" kinda solution :D
16:06:52 <TrueBrain> (with NoAI it was very easy to see that GS could be useful, so we extended NoAI to also do GS stuff)
16:06:59 <TrueBrain> at first, the idea was to have an 'hidden' AI
16:07:30 <TrueBrain> in some sorts it still is .. DEITY company and all :P
16:08:38 * andythenorth says random words
16:09:27 <andythenorth> how's this for a pitch?
16:09:35 <_dp_> anyway, having a sane scripting language to mod game is a very good idea
16:09:50 <TrueBrain> never begin with a technical solution; always define first what you want to solve :)
16:09:52 <_dp_> it's just that current implemetation is, well, underwhelming xD
16:10:22 <_dp_> TrueBrain, TL;DR: mod game :p
16:10:30 <TrueBrain> yeah; it would need more definition
16:11:12 <TrueBrain> as would the ability to make underground roads be in that 'mod game'
16:11:13 <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"
16:11:19 <TrueBrain> to just give a random example
16:12:04 <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"
16:12:09 <TrueBrain> as looking to NewGRFs, GS, etc etc, without a clear well defined goal is already a failed attempt to improve the situation :)
16:12:26 <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
16:12:26 <andythenorth> turn each feature on and off"
16:12:58 <andythenorth> No still not done :P
16:13:36 <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
16:13:37 <andythenorth> and the Iron Horse, AV9, Road Hog and Unsinkable Sam vehicle newgrfs"
16:14:21 <TrueBrain> does anyone know what andythenortht is smoking? :)
16:14:26 <_dp_> TrueBrain, having a full definition would be already like half of a solution
16:14:44 <TrueBrain> _dp_: yes. So don't start with a full definition :)
16:14:51 <_dp_> TrueBrain, currently there are just bunch of people doing various stuff
16:14:52 <TrueBrain> start with well defined ones :)
16:15:07 <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
16:15:08 <andythenorth> requires the FIRS industry newgrf, and the Iron Horse, AV9, Road Hog and Unsinkable Sam vehicle newgrfs."
16:15:11 <TrueBrain> for example, what can you currently not do that you do want to do
16:15:52 <andythenorth> shall I also post the pitch for Silicon Valley 2?
16:16:01 <DorpsGek_II> [OpenTTD/OpenTTD] nielsmh updated pull request #7351: Add: Warn players that company passwords are not truly secure https://git.io/fhhrD
16:16:21 <Samu> I made Company Value GS :p
16:16:27 <_dp_> TrueBrain, I guess I could make a list of what I'd like to see there
16:16:32 <_dp_> TrueBrain, will take time though
16:16:34 <Samu> it was inspired by ST2 servers
16:16:48 <TrueBrain> _dp_: at least that is a place to start
16:16:59 <TrueBrain> but the dialog: what technology to use, is not :D
16:17:11 <TrueBrain> (and this is not only you; we keep rotating around that issue over the last few weeks in this channel)
16:17:25 <TrueBrain> "we need to rewrite NewGRF" .. well .. WHY do we need that?
16:17:31 <_dp_> TrueBrain, I'd probably just start with citymania features as many of them aren't currently possible in GS
16:17:44 <TrueBrain> _dp_: sounds like a perfect starting point
16:17:54 <TrueBrain> write it somewhere that allows for collaboration
16:18:08 <TrueBrain> (so not on a 10 year old static forum bla .. or shit like that :P)
16:18:14 <DorpsGek_II> [OpenTTD/OpenTTD] nielsmh commented on pull request #7351: Add: Warn players that company passwords are not truly secure https://git.io/fjkoy
16:19:48 <TrueBrain> hahahaha; no nielsm :D
16:19:56 <TrueBrain> if you shoot yourself in the foot, it tends to hurt
16:22:07 <DorpsGek_II> [OpenTTD/OpenTTD] nielsmh updated pull request #7351: Add: Warn players that company passwords are not truly secure https://git.io/fhhrD
16:23:44 *** Progman has joined #openttd
16:24:02 *** Progman has joined #openttd
16:24:17 *** Wormnest has joined #openttd
16:25:07 <Samu> Just tested nielsm other suggestion for AirportGetNearestTown: 1, 2 or 4 center tiles only. It asserts yet when comparing with the original code
16:25:24 <Eddi|zuHause> doesn't that just need a "resize all windows" call on font change?
16:29:06 <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
16:29:10 <TrueBrain> but ... yeah ... paid blablabla
16:30:07 <andythenorth> there is etherpad
16:30:34 <andythenorth> we use it at work, very helpful during crises, e.g. production outages etc
16:33:16 <TrueBrain> that is an invalid structure :)
16:33:41 <frosch123> andythenorth: btw. i put the "fear" article on my office wall at work :)
16:33:56 <TrueBrain> I still want to make an MMO version of OpenTTD, with a seemless "endless" map you can play on
16:35:10 <andythenorth> frosch123: do you think he went back and refactored it though? o_O
16:35:14 <andythenorth> I want enlightenment
16:36:16 <TrueBrain> well, an endless map is not that difficult I guess
16:36:26 <TrueBrain> just requires storage, basically
16:36:49 <Samu> does anyone know of a airport newgrf with irregular layout? non rectangular?
16:37:14 <Samu> other than that intercontinental on opengfx+ airports
16:38:41 <frosch123> andythenorth: i only achieved the onion so far
16:38:59 <frosch123> i build a consistent api on top of the old
16:39:20 <andythenorth> I think that's probably fine
16:39:23 <frosch123> young people use the new one, old people continue to use the old one
16:39:28 <frosch123> when i retire, i can remove the old one
16:39:37 <andythenorth> newgrf doesn't worry me very much
16:40:10 <andythenorth> [don't look anybody]
16:40:50 <frosch123> no new api will solve that one :p
16:40:56 <andythenorth> what I'd like to see change is the retarding of newgrf development in some areas "because GS"
16:41:06 <andythenorth> when GS has had quite long enough to solve the problems and has failed
16:41:14 <andythenorth> GS needs to get off the pot :P
16:41:17 <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"
16:42:48 *** Progman has joined #openttd
16:47:39 <milek7> oh, it's early 1st april on stackoverflow?
16:47:52 <TrueBrain> random remark being random :D
16:49:53 <TrueBrain> at least give us a link! :P
16:49:57 <frosch123> nah, that's just the unicorns taking over
16:50:57 <milek7> is there any recent emscripten build of openttd?
16:51:15 <milek7> TrueBrain: it's visible on any question
16:52:14 <DorpsGek_II> [OpenTTD/OpenTTD] SamuXarick commented on pull request #7424: Add: Kdtree for AirportGetNearestTown https://git.io/fjkKJ
17:01:37 <andythenorth> nielsm: regions...I had the idea of trying to make FIRS designate 'metal industry region', 'coal region' etc
17:01:52 <andythenorth> it currently clusters individual industry types, but not chains
17:02:46 <andythenorth> I wondered about defining regions as "town_id modulu num regions" or something
17:02:55 <andythenorth> seems quite crude though
17:03:11 <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
17:03:22 <nielsm> which is probably a bad idea all in all
17:03:31 <andythenorth> might be better to define arbitrary regions, and expose them to newgrf etc
17:04:05 <andythenorth> make them roughly hexagonal, with some jitter :P
17:04:49 <andythenorth> or let the newgrf request n arbitrary regions
17:04:54 <andythenorth> for whatever purpose
17:04:55 <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
17:06:17 <andythenorth> I want something like
17:06:49 <andythenorth> "for whatever regions exist, assign an arbitrary number to each region, based on a random range I supply from grf"
17:07:11 <andythenorth> "when grf is constructing industry, each type must be in a region with number in [list]"
17:07:46 <andythenorth> so steel mill and related industry might require regions with number 5
17:07:58 <andythenorth> coal mines might allow 5 and 2
17:08:14 <andythenorth> farms might allow any number
17:09:20 <andythenorth> if region size is e.g. 64x64, and I ask for 8 region types
17:09:23 <nielsm> how are the regions formed? throwing random dots on the map and simultaneously filling out from them until the entire map is coloured?
17:09:36 <andythenorth> and the map size is 64x64
17:09:39 <nielsm> scenario editor control?
17:09:41 <andythenorth> then I get 8 overlapping regions :P
17:09:55 <nielsm> hmm overlapping regions even...
17:10:16 <andythenorth> well one way might be that each number I request has a tile map
17:10:22 <andythenorth> rather than each tile being assigned a number
17:10:39 <andythenorth> I could draw it better than explain it but eh
17:10:49 <andythenorth> there will be structures for this stuff :P
17:11:05 <andythenorth> 8 bits is 8 regions :P
17:11:11 <andythenorth> not that much per tile?
17:11:26 <andythenorth> 8 bits is 8 region *types*
17:11:39 <nielsm> I still wonder if an RLE bitmap wouldn't be a useful way to map this
17:12:15 <nielsm> for every row of tiles, store a list of alternating "number outside", "number inside" values
17:12:15 <andythenorth> is that just compression in the form of 'count n entries'?
17:12:51 <andythenorth> the ouch thing is that this ought to be available to at least industry newgrf and GS
17:13:04 <nielsm> since that kind of regions would usually be contiguous
17:13:34 <nielsm> GS would mostly concern itself with political zones I think
17:13:41 <andythenorth> so they probably don't overlap?
17:14:03 <nielsm> while industry and town buildings would be more concerned with natural zones
17:14:40 <andythenorth> the overlapping just seems to be essential due to small maps :P
17:14:46 <andythenorth> there's a minimum viable region size
17:15:31 <nielsm> do you imagine regions being rectangular or arbitrary shaped?
17:16:10 <andythenorth> for my purpose they could be either
17:16:14 <nielsm> since that could be one way to generate them
17:16:31 <michi_cc> Eddi, your entrance ^^ :p
17:16:33 <andythenorth> any of rects, hexagons, or arbitrary shapes by pathfinding / flooding
17:17:03 <andythenorth> so TL;DR for industry construction
17:17:25 <andythenorth> - query the zone, if it's acceptable zone for this type, construct, otherwise disallow
17:17:30 <nielsm> how about for newgrf purposes have natural regions identified by four-letter codes like cargo labels, i.e. region labels
17:17:54 <andythenorth> that might permit communication, not sure if that's needed
17:18:09 <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
17:18:20 <andythenorth> I'll try a draft schema for a FIRS economy
17:18:21 <nielsm> there might be one or a few regions pre-defined by the game (grassland, desert, snow, water, perhaps deep ocean)
17:18:39 <nielsm> and a newgrf could define its own, and put requirements on where they can be located
17:21:19 <nielsm> and if newgrf trees ever happen, regions like this could also be useful in controlling where tree types can appear
17:25:03 <_dp_> damn, my input is stuck on remote side with wrong encoding, gg synergy :(
17:25:16 <_dp_> how do I even fix it I wonder
17:26:12 <peter1138> Hmm, so much chat today, I can't be bothered to read the scroll back.
17:27:15 <andythenorth> it's mostly hot air
17:29:59 <peter1138> Maybe thinner tile highlight sprites?
17:30:04 <peter1138> Or just additional colours?
17:30:48 <_dp_> nielsm, rle sucks for querying but you can store zone change tile and do binsearch
17:32:34 <andythenorth> peter1138: for the catchments?
17:32:44 <nielsm> hmm, store pairs of "first tile, num tiles" in a list sorted by first tile, and binsearch that?
17:32:51 <andythenorth> I thought they worked fine already tbh peter1138 :)
17:32:59 <andythenorth> better is nice, but they're quite good
17:33:07 <_dp_> nielsm, first tile, zone type
17:33:56 <nielsm> yeah for overlapping you need multiple maps
17:35:23 <_dp_> well it still makes sense just store combination change instead
17:35:40 <_dp_> unless they change every few tiles and simple map array would be better
17:35:58 <Samu> Assertion failed at line 66 of d:\openttd\openttd github\openttd\src\network\core\tcp.cpp: packet != NULL
17:36:40 <frosch123> peter1138: with the new station coverage areas: do acceptance and production area match now'? or are they still different?
17:36:49 <peter1138> frosch123, they match now
17:39:57 <peter1138> I thought about updating the wiki page but, eh, it's not released yet.
17:40:23 <TrueBrain> reminds me, who is going to prepare a release news message for tomorrow?
17:40:38 <TrueBrain> if we can already line that up in a PR, that would be great
17:41:00 <TrueBrain> also, we have the dev-post we need to finish up :)
17:41:07 <TrueBrain> maybe they can be combined?
17:44:36 <Samu> what does the AI GUI window has to do with tcp.cpp
17:45:40 <DorpsGek_II> [OpenTTD/OpenTTD] stale[bot] commented on pull request #7290: Change: Disallow taking over AI companies in multiplayer https://git.io/fjkKd
17:45:41 <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
17:45:42 <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
17:46:26 <Samu> dbg: [net] [tcp/game] received illegal packet type 2 from client 2
17:46:50 <Samu> I'm clicking stuff on the gui window, why does it send "packets"...
17:47:59 <_dp_> Samu, all gui works by sending packets in mp
17:50:22 <Samu> wondering if it's the override effect...
17:51:22 *** supermop_Home_ has quit IRC
17:52:00 <Samu> now the network is suddenly messing up
17:52:20 <Samu> it's not even supposed to be related
17:55:46 <Samu> textfile window now has a "network attached" to it, it didn't use to
17:55:58 <Samu> dont know how to explain it
17:58:32 <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
18:06:19 <Samu> ok, i see where it fails (I think)
18:08:54 <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
18:18:45 <peter1138> I dunno, it kinda makes buoys pointless.
18:19:15 <TrueBrain> so why did you make the PR? :P :D
18:19:19 <frosch123> people also use waypoints
18:19:19 <peter1138> Well, the thing is even though we have route caching now, and performance is better, it's still better to have buoys.
18:19:39 <frosch123> they like if a ship takes one canal instead of the other, to make ships not collide
18:20:10 <frosch123> also, why did noone vote for the titlegame that i liked most :p
18:20:27 <TrueBrain> frosch123: says more about you than us :D
18:20:56 <andythenorth> I would be +1 to 7279
18:20:59 <andythenorth> and leave bouys in place
18:21:13 <Samu> thx TrueBrain, that fixed it!
18:21:31 <TrueBrain> and now think really really really really hard how you messed that one up :P
18:21:41 <TrueBrain> use after free .... we did that in 1995 :P
18:21:49 <peter1138> andythenorth, I'd never remove buoys!
18:22:27 <TrueBrain> peter1138: just merge it; we can always revert
18:22:33 <TrueBrain> do you want me to merge it? So your name is not alone there? :D
18:22:58 <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
18:23:43 <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
18:30:17 <Samu> the 'this' it was using afterwards was probably from something else, I suppose
18:30:26 <Samu> network packets or whatever
18:33:43 <peter1138> What are you saying?
18:37:36 <_dp_> feels like live coding stream xD
18:37:55 *** gareppa has joined #openttd
18:37:59 * peter1138 turns on twitch, for exactly that ;p
18:38:17 <peter1138> Is that a healthy breakfast do you think?
18:38:44 <_dp_> oh snap, do you actually watch that?
18:38:48 <LordAro> peter1138: i had a full english for breakfast
18:39:07 <peter1138> but i'm broadcasting.
18:39:17 <peter1138> LordAro, that was my breakfast, at 2:30pm.
18:39:31 <peter1138> Couldn't eat anything this morning due to the massive chinese last night.
18:40:00 <peter1138> LordAro, 3 platefuls! On top of starters and dessert.
18:40:26 <peter1138> So I did 45 miles today, on an empty stomach, and had that when I got back.
18:40:33 <peter1138> (45 MTB miles, that is)
18:41:22 <LordAro> peter1138: hap bifday
18:42:22 * andythenorth considers streaming FIRS dev
18:42:36 <peter1138> We'd cry as you write tons of code and then delete it again.
18:42:40 <andythenorth> 2s to change industry map colour, 1min to compile, 10s to test, repeat
18:42:50 <andythenorth> I don't write much code, the code generator does that
18:45:53 *** sla_ro|master has joined #openttd
18:47:44 <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
18:47:48 <_dp_> actually goes surprisingly well considering I haven't bothered to read azure docs and only use openttd files as reference
18:47:53 <nielsm> so you can modify and compile from NFO directly
18:47:58 <nielsm> (for small changes like that)
18:48:18 * nielsm is now waiting for lasagna to cook
18:48:22 <andythenorth> it's certainly an optimisation :P
18:48:37 <andythenorth> I could extend it to all newgrf programming?
18:48:51 <andythenorth> what if I wrote something to then parse back the nfo and create nml from it?
18:49:01 <nielsm> well it's probably most worth it for small changes with lots of iteration
18:49:29 <andythenorth> or if I could just change map colour in game, via newgrf debug :D
18:49:31 <nielsm> and not structural changes
18:49:58 <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?
18:50:26 <nielsm> planetmaker, well you'd need more ground types then
18:51:16 <nielsm> what if you wanted deep ocean, shallow ocean, shallow ocean with coral reef...
18:52:43 <_dp_> nielsm, feels a bit too much for a game that only has one water level :p
18:53:49 <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
18:54:03 <_dp_> and btw, wth are political regions?
18:55:04 <nielsm> countries, counties, metropolitan areas encompassing multiple towns
18:55:21 <_dp_> nielsm, that sounds like something you put into map array not some arbitrary zones
18:55:33 <_dp_> nielsm, I mean deep ocean
18:55:55 <nielsm> yeah it probably should be
18:56:48 <_dp_> I can't think of any use for counries in openttd tbh
18:57:14 <_dp_> like I get newgrf areas for industries or no build zones for scripts
18:57:30 <_dp_> but areas that don't do anything may as well not exist
18:57:56 <andythenorth> imagine areas you have to complete goals to unlock
18:57:58 <nielsm> political zones are exactly for GS managed rules
18:58:02 <andythenorth> or areas where payment rate is dumped
18:58:44 <_dp_> andythenorth, so, basically custom goal areas?
18:58:51 <nielsm> countries/metropolitan areas are just examples of what they can represent
18:59:26 <_dp_> that sounds potentially useful
18:59:44 <_dp_> btw, areas exclusive for certain company would be nice
18:59:55 <_dp_> for claimed town in cb and h2h stuff
19:00:46 <_dp_> I'm actually thinking of making h2h server
19:18:14 <andythenorth> station name for a carbon black plant?
19:20:14 <andythenorth> Soot Furnace then
19:22:59 <andythenorth> now that I've set all the map colours to be nicely spaced
19:23:03 <andythenorth> I should add some more industries :P
19:25:34 <andythenorth> so after massive digression....can we spec an industry 'happiness' callback?
19:25:47 <andythenorth> and how default town growth could consume it?
19:27:06 <peter1138> Samu, can you provide a savegame/AI where AirportGetNearest town is the bottleneck?
19:29:12 <peter1138> Oooh, should I open my birthday whisky?
19:29:43 <andythenorth> any more easy questions? o_O
19:30:48 <TrueBrain> gratz btw peter1138 :)
19:35:04 <andythenorth> right, let's rek new FIRS
19:39:40 <peter1138> Maybe I should have a kebab tonight?
19:42:24 <Eddi|zuHause> peter1138: that'll surely balance out the chinese from yesterday?
19:42:42 <peter1138> Eddi|zuHause, I've got to eat something?
19:46:18 <peter1138> Hmm, so I should make roadtype/roadsubtype consistent.
19:46:34 <peter1138> RoadTypes are ROADTYPE_ROAD and ROADTYPE_TRAM.
19:46:58 <andythenorth> it was nearly LIGHTRAIL_TYPE but meh
19:49:45 <Eddi|zuHause> i never liked that "subtype" thing
19:53:27 <andythenorth> is there any reason not to?
19:53:38 <andythenorth> also Polymers or Plastics
19:53:41 <peter1138> Yeah, that would need a lot of duplication.
19:54:09 <andythenorth> ROADORTRAMTYPE :P
19:54:10 <peter1138> Maybe make them all RoadTypes, remove RoadSubTypes, and ... oh, no.
19:54:26 <andythenorth> label for Polymers, how about POLY? :P
19:55:09 <Eddi|zuHause> i'd maybe flip roadtype and roadsubtype
19:55:33 <LordAro> road vs tram does seem like it should be an attribute
19:55:38 <Eddi|zuHause> so roadtype will be the thing with the label, analogue to railtype
19:55:45 <LordAro> or perhaps "can overlay" and "can be overlayed"
19:55:53 <LordAro> but this is probably rewriting the whole thing
19:55:54 <peter1138> Well, with 64 types... it's less of an issue using one list.
19:55:57 <Eddi|zuHause> and roadsubtype will be a binary property, whethere it's more like road or more like tram
19:56:05 <peter1138> With only 16 types, I guess it was more of a problem.
19:56:18 <peter1138> LordAro, yes, but if it's rewriting to make it better, that's no issue
19:56:27 <peter1138> It would get rid of ALL of the rtid bullshit.
19:56:57 <peter1138> And newgrfs should be fine.
19:57:08 <peter1138> Hmm, unless someone defined the same label.
19:57:17 <peter1138> But that would be silly.
19:57:35 <Eddi|zuHause> yeah, nobody wuld ever do silly things
19:57:52 <peter1138> Doesn't matter, there's no official spec as it's not released.
19:58:35 <peter1138> /** bitmask to the OTHER roadtypes on which a vehicle of THIS roadtype generates power */
19:58:38 <peter1138> RoadSubTypes powered_roadtypes;
19:58:41 <peter1138> That kinda bullshit is there
19:58:52 <peter1138> where it says roadtypes everywhere, but actually it's a roadsubtype.
19:59:22 <peter1138> RoadTypeLabel is actually a RoadSubTypeLabel...
19:59:27 <Eddi|zuHause> peter1138: that's exactly what i mean
19:59:44 <Eddi|zuHause> the thing with the label should be called roadtype
19:59:59 <nielsm> andythenorth: how are polymers different from plastic (PLAS)?
19:59:59 <andythenorth> the 64 types should unblock the clunk
20:00:04 <Eddi|zuHause> because every newgrf author will be calling it that
20:00:26 <peter1138> 64 types means this is unnecessary, I'm sure.
20:00:30 <milek7> i tried compiling with emscripten
20:00:37 <milek7> displays nothing, but sfx works
20:00:55 <andythenorth> nielsm: not sure, trying it anyway :)
20:01:44 <LordAro> 666 files changed, 23383 insertions(+), 14326 deletions(-)
20:01:51 <LordAro> i've not updated this checkout in a while
20:02:25 <andythenorth> I suspect graphviz is about to make this idea impossible
20:02:40 <andythenorth> FIRS design is mostly driven by the graphviz layout algorithm
20:02:51 <andythenorth> which sounds awful, but apparently mostly works
20:03:44 <Eddi|zuHause> that's somewhat like hardwaredesign :p
20:03:55 <andythenorth> so the first problem with polymers
20:04:04 <andythenorth> the industry producing them also produces rubber
20:04:08 <andythenorth> and rubber is a polymer :P
20:04:14 <Eddi|zuHause> "if the layout algorithm can't turn your code into a sane layout, you've written bad code"
20:04:58 <andythenorth> well maybe plastic it is then
20:05:10 <andythenorth> seems odd to have a polymer plant that doesn't produce polymers :P
20:06:30 <Eddi|zuHause> well, you could still call it "polymers" but use the "PLAS" label internally?
20:06:53 <andythenorth> I suspect calling it Plastic is ok now
20:20:20 <andythenorth> plastic or plastics?
20:20:25 <andythenorth> this is like raw beads of the stuff
20:20:36 <andythenorth> and softer compounds like pvc also
20:20:48 <andythenorth> it's not just your lunch box
20:22:24 <peter1138> Hmm, this would also allow cross-powering of road/tram types.
20:22:32 <andythenorth> peter1138: potato/potato
20:23:48 <andythenorth> polymers looks best, but it's too weird because rubber is also clearly a polymer
20:36:39 *** gelignite has joined #openttd
20:38:37 <Samu> oh, sorry, I was playing
20:39:04 <Samu> my AI with v10, which isn't uploaded yet to bananas, let me upload
20:44:06 *** Supercheese has joined #openttd
20:47:32 <Samu> making a v11, because that v10 was for testing
20:55:44 <Samu> nevermind, i uploaded the correct version after all
20:56:32 *** Progman has joined #openttd
20:57:09 <Samu> so confusing, it's because I got a .tar and a folder, both with v10
20:57:47 <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
21:09:11 <Samu> anyway, I'm creating a savegame, just in case
21:11:21 <DorpsGek_II> [OpenTTD/OpenTTD] SamuXarick commented on pull request #7424: Add: Kdtree for AirportGetNearestTown https://git.io/fjkPz
21:44:40 <andythenorth> can I split steel cargo?
21:50:06 <nielsm> steel plates, steel beams, steel rods...?
21:51:14 <andythenorth> stainless, galvanised, tinplate
21:51:19 *** mczapkie has joined #openttd
21:55:04 *** supermop_Home has joined #openttd
21:58:51 <andythenorth> how much are textiles a factor for vehicle assembly? :P
21:59:04 <andythenorth> current input cargos are:
21:59:39 <andythenorth> tyres, vehicle engines, vehicle bodies, vehicle parts (manufactured from plastic, glass, steel, electrical machines)
22:05:08 *** Supercheese has joined #openttd
22:15:23 <andythenorth> plastic seats :P
22:24:29 <peter1138> This no longer compiles ;)
22:26:11 <peter1138> I'm nowhere near completing it.
22:26:41 <peter1138> It's already looking simpler, though.
22:27:51 <andythenorth> do the tests still pass? o_O
22:28:27 <peter1138> It doesn't compile, so that's unlikely.
22:34:00 *** Speedy` has joined #openttd
22:38:10 <peter1138> You'll see where I am on my twitch stream ;)
22:38:42 <andythenorth> I should get a tablet for watching things
22:39:53 * andythenorth waits for compile to fail
22:49:12 * andythenorth adds to the pony list
22:51:10 <andythenorth> - town growth industry cb
22:51:32 <andythenorth> - force industries into every town mechanic
22:55:10 <andythenorth> nielsm: project? :P
22:55:50 <andythenorth> oh I have a stupid pony as well
22:56:16 <andythenorth> I can get population of the town an industry belongs to
22:57:01 <andythenorth> BUT I would like to know the population of a group of towns within n tiles of an industry
22:57:13 <andythenorth> and not overlapping with another industry of the same type :P
22:58:36 <frosch123> isn't that the same as the "city" flag in var40?
22:59:12 <frosch123> i think you are derailing into micro management
22:59:48 <andythenorth> the stupid pony is
23:00:33 <frosch123> well, write a gs for the rest
23:00:40 <frosch123> gs can track cargo delivered to industries
23:00:49 <andythenorth> see previous n conversations about that :P
23:00:56 <frosch123> they can count industries, and they can check whether cargo are delivered equally
23:01:26 <andythenorth> nah I'll wait it out, eventually we'll stop pretending GS can do this :)
23:01:33 <andythenorth> or I'll merge all the GS into one
23:01:35 <frosch123> write a patch to include squirrel scripts into newgrf via action14 (is that the number?)
23:01:36 <andythenorth> one or the other
23:01:54 <andythenorth> yes that hideous idea :D
23:02:20 <andythenorth> I proposed GS-inside-newgrf earlier today
23:02:24 <andythenorth> but don't read those logs :P
23:02:29 <andythenorth> it's a lot of hot air
23:04:26 * andythenorth wonders if industry var 60 can count population? :P
23:06:44 <andythenorth> it's quite a nice lolz problem, I could just ignore it
23:07:08 <andythenorth> there is an existing production mechanic in FIRS for some industries to produce depending on town popn.
23:07:16 <andythenorth> I updated it to new cb format
23:07:28 <andythenorth> and noticed that it might really want to account for other nearby towns :D
23:07:34 <supermop_Home> andythenorth makes more sense
23:07:37 <andythenorth> or alternatively just not care :)
23:08:17 <supermop_Home> than more sense than sending bulldozers straight to the junkyard to be scrapped
23:08:29 <andythenorth> ideally that production would be more like ~100t
23:08:35 <andythenorth> based on the two towns :)
23:08:43 <andythenorth> ain't no way I can see to do that :D
23:11:22 <andythenorth> population of regions :P
23:15:19 <DorpsGek_II> [OpenTTD/OpenTTD] TrueBrain updated pull request #7445: Update: Changelog for 1.9.0 and prepare for release https://git.io/fjkTe
23:16:22 <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
23:16:31 <TrueBrain> frosch123 has a nice checklist of things to do for a real release
23:16:58 <andythenorth> first big release in ages :)
23:17:00 <andythenorth> so much good stuff
23:17:23 <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
23:17:59 <TrueBrain> so feel free to ping me etc
23:18:05 <TrueBrain> now, time for some wel deserved sleep!
23:23:37 *** andythenorth has left #openttd
23:25:18 <DorpsGek_II> [OpenTTD/OpenTTD] frosch123 approved pull request #7445: Update: Changelog for 1.9.0 and prepare for release https://git.io/fjk1k
23:36:59 <TrueBrain> runs smooth, even on mobile :o
23:42:14 *** yegjog[m] has joined #openttd
23:44:13 <peter1138> You'll see where I am on my twitch stream ;)
23:48:13 <Samu> did u check the savegame?
23:48:38 <Samu> try it in 1.9.0-RC2 vs master
23:49:15 <DorpsGek_II> [OpenTTD/OpenTTD] michicc opened pull request #7453: Remove AutoDeleteSmallVector and AutoFreeSmallVector https://git.io/fjk1R
23:52:43 <DorpsGek_II> [OpenTTD/OpenTTD] michicc updated pull request #7453: Remove AutoDeleteSmallVector and AutoFreeSmallVector https://git.io/fjk1R
continue to next day ⏵