Times are UTC Toggle Colours
10:31:31 <dP> rebuilding station doesn't explain other commenters having the same issue in 12.3 😜 10:36:25 <petern> It's nearly always due to rebuilding. 10:36:32 <petern> Perhaps not even nearly. 10:38:23 *** Samu has joined #openttd 10:41:38 <petern> More bike bits purchased, such expensive cheap hobby... 10:59:29 *** godbed is now known as debdog 11:18:00 *** Wormnest has quit IRC 11:46:46 *** moll has joined #openttd 11:54:23 <kamnet> dP: Crazy idea.... what if the devs stopped working on OpenTTD 1.14, and instead worked on making a better version from the ground-up? 11:55:17 <andythenorth> Like Voxel Tycoon? 11:55:28 *** Wormnest has joined #openttd 11:57:55 <petern> Urgh. 11:58:06 *** KiriDore has quit IRC 12:00:27 <kamnet> Voxel Tycoon doesn't sound like a better and improved OpenTTD to me. 12:00:41 <JGR> The Second System Effect should not be underestimated 12:03:13 <pickpacket> kamnet: what would you propose that a "better version" entails? 12:04:18 <JGR> Scrapping something that works in favour of a grand new system which will be ready any time real soon now often doesn't end well 12:04:52 <petern> My work did it, and it worked out 😄 12:05:34 <pickpacket> petern: many of my workplaces have done so too with successful results. And substantial man hours spent 🤪 12:05:58 <petern> Of course it was totally different prospect. 12:07:53 <pickpacket> yeah 12:08:37 <pickpacket> Openttd has 26,877 commits. And I'm guessing some history was lost when it moved from svn (was it?) 12:08:51 <pickpacket> imagine the hours involved in replacing that 12:08:53 <petern> No history was lost in that conversion. 12:09:14 <petern> There was some history lost with a crashed SVN repo in 2004? though. 12:10:48 <kamnet> JGR: Oh I'm not proposing something actually be ready within a year. Rather, since we have a somewhat functional team here that is experienced enough to know what's limiting them, experiment with creating a base that removes those limits. 12:11:30 <petern> It's not the existing codebase that limits us 🙂 12:11:50 <JGR> It easy to spend a huge amount of time/effort for a fairly modest gain doing that dirty of thing 12:11:59 <JGR> Sort of* 12:12:13 <pickpacket> kamnet: when you say "better version", do you mean in terms of features or in terms of betterment of the codebase? 12:12:35 <petern> "new map array!" 😄 12:15:40 <kamnet> @pickpacket, I'm going off of dp's statement, " in the context of compatibility problem is not as much in the format itself but the fact that a lot of the game behaviour got poorly specced and now can't be changed." 12:15:40 <kamnet> What would OpenTTD look like if those things could be changed? 12:16:04 <pickpacket> ah 12:17:39 <EmperorJake> we could focus all the effort on OpenLoco instead, give it things like bigger maps and path signals and it could replace OTTD 12:18:28 <JGR> There's nothing stopping people working on OpenLoco at the moment 12:18:58 <kamnet> (other than the time that they're currently giving to OpenTTD and other stuff) 12:20:03 <kamnet> Which might not be a bad idea either - how much of a jump in improvement would OpenLoco had if it had the group effort of OpenTTD devs for a year? 12:20:27 <JGR> Dev time is not really fungible like that 12:31:13 <andythenorth> “Functional team” is kinda true 12:31:14 <andythenorth> By results 12:31:27 <andythenorth> But it’s not particularly a team 12:31:32 <petern> NFT - Non-Functional Team 12:32:11 <andythenorth> Sell me some NFT 12:33:04 <andythenorth> Is it beer time? 12:33:21 *** reldred has joined #openttd 12:33:21 <reldred> Newgrf controllable farm paddocks. NewFarmTypes 12:33:24 <andythenorth> Half term holiday innit 12:33:34 <reldred> NFT’s in OpenTTD. Sky is falling. 12:34:01 <andythenorth> Paddocks is just a WASM function embedded in the tile 12:34:33 <andythenorth> Or a specific loop over tiles in a region… 12:34:37 *** urdh has quit IRC 12:34:51 <reldred> You’re just a WASM function 12:35:22 <andythenorth> Possibly yes 12:35:38 <andythenorth> High probability of that 12:35:41 <andythenorth> Just a sim 12:36:38 <andythenorth> Too early for beer then 12:37:30 <petern> Do it. 12:37:35 <petern> As long as you don't need to drive later. 12:41:10 *** urdh has joined #openttd 13:07:24 <FLHerne> kamnet: problem is that if you break grfs, you're not making a new OpenTTD version anymore so far as much of the player base cares 13:07:37 <FLHerne> and particularly the vocal dedicated part 13:08:34 <pickpacket> OpenLoco? 13:10:23 <FLHerne> Locomotion was Chris Sawyer's sequel to TTD 13:10:30 <andythenorth> BeerVariants? 13:10:32 <FLHerne> it had curves and things 13:10:44 <andythenorth> BeerVariant name callback? 13:10:47 <FLHerne> some people are doing the open-source-clone thing to it 13:11:05 <pickpacket> did it have anything that improved gameplay? 13:11:56 <petern> Nope. 13:13:04 <petern> Everything was dreary grey/brown, and usability of the nice features like bendy bridges and tunnels was bad. 13:14:57 <FLHerne> and the signals were somehow worse than the original 13:15:12 <FLHerne> building complex track layouts was a pain too 13:15:28 <FLHerne> isometric might not look pretty, but six track directions covers everything 13:16:03 <FLHerne> (four if you don't count the parallel ones) 13:20:50 <andythenorth> Maybe we should remake Dwarf Fortress instead of OpenTTD? 13:21:27 <andythenorth> Peter: 1138 Open Granny’s Garden? 13:21:52 <petern> They're probaby still selling that to schools... 13:22:21 <andythenorth> I was thinking of using a framework for it 13:22:37 <petern> Unity? 13:22:42 <andythenorth> GS 13:22:50 <andythenorth> Story pages 13:23:12 <petern> Oh no. 13:23:16 <andythenorth> Can we embed a WASM BeebEm? 13:28:48 <petern> You might hit your op code limit soon. 13:29:33 <andythenorth> Oh yes 😞 13:30:00 <petern> Silly gitea, giving me a 404 not found instead of unauthorised/login page. 13:32:02 <FLHerne> If wasm content interface, could the GRF API then be implemented in WASM instead of random hooks all through the code? 13:32:14 <FLHerne> that would be nice 13:33:29 <FLHerne> I wonder how caching would work 13:34:09 <FLHerne> with current grf API it's fairly obvious to statically determine which outputs depend on which inputs 13:34:43 <FLHerne> wasm would seem to make that quite a bit harder, because it's actual procedural code and not a bunch of switches 13:37:13 <petern> Good luck :p 13:37:51 <andythenorth> One API to rule them all 13:38:01 <andythenorth> Grf, GS, AI 13:38:10 <JGR> Using wasm doesn't by itself make complexity go away 13:39:15 <andythenorth> Does WASM provide anything beyond “forked Squirrel is very dead?” 13:39:27 <andythenorth> Plus it’s an interesting project… 13:40:08 <JGR> It's not too hard to analyse sprite chains/etc, it probably wouldn't be that difficult to do the same wasm 13:43:23 <FLHerne> JGR: yeah, I was just thinking it would concentrate the weird grf in one place 13:43:28 <FLHerne> *grf complexity 13:43:44 <JGR> I don't really see that it would 13:44:14 <JGR> In order for a mod to do anything useful it must interact with the rest of the game 13:44:44 <JGR> That interface has a large surface area 13:48:03 <Samu> my AI achilles' hills or whatever 13:48:07 <Samu> is large towns 13:49:37 <Samu> takes too much time to search for a suitable location for an airport, delaying execution of everything else, I end with vehicles 12 years awaiting in depot for a replacement 13:49:45 <FLHerne> Quite a bit of the current GRF code complexity is (a) interpreting action chains and (b) pointless legacy weirdness like all the different speed units 13:50:13 <FLHerne> for (a) wasm is at least as complex but some library devs' problem 13:53:58 <FLHerne> from what frosch was saying, I think the proposed wasm API would have a lot less role-specific surface than GRF 13:54:02 *** HerzogDeXtEr has joined #openttd 13:54:23 <FLHerne> rather than a hundred callbacks to 13:55:13 *** Wormnest has quit IRC 13:57:38 <FLHerne> *to determine what each vehicle looks like, give it an API to query the world state and have one "what sprites would you like to draw now" callback per train 13:58:24 <petern> Interpreting action chains is just an on-load thing, and it's done. 13:58:39 <FLHerne> evaluating action chains, then 14:00:30 <JGR> The GRF bitstream format is wacky and suboptimal, but there is a lot of existing infrastructure to read/write it 14:00:55 <JGR> Varaction2 evaluation is really not much code at all 14:01:24 <JGR> The main problem is again the strange bitstream format, and not enough operators 14:02:41 <JGR> Using wasm seems a big hammer to me 14:03:12 <andythenorth> I think it’s a question of what else could replace squirrel? 14:03:20 <andythenorth> Squirrel 3? 14:03:24 <andythenorth> Lua? 14:03:40 <andythenorth> Nobody ever embeds python 14:03:47 <JGR> Realistically squirrel/AI/GS is not that important 14:04:18 <JGR> NewGRF is though 14:04:42 <andythenorth> Self-fulfilling prophecy IMHO 14:04:53 *** WormnestAndroid has quit IRC 14:05:00 <kamnet> FLHerne: Oh, no doubt there would be some vocal users against that. I would hope that devs would not feel that they're being held hostage and prevented from exploring ideas which would be a positive benefit overall. 14:05:19 <andythenorth> Our script language is a very limited version with bad docs and poor discoverability 14:05:55 *** WormnestAndroid has joined #openttd 14:05:56 <andythenorth> And we forked it… because that’s what projects do 😛 14:07:55 <dP> GS is limited by design, if you make it useful it'll interfere with newgrfs 14:08:22 <andythenorth> Good 14:08:34 <andythenorth> That’s my intent 🦄 14:10:04 <andythenorth> Weird content API is weird 😛 14:10:12 <dP> at that point it's more reasonable to redo it all with wasm 14:10:34 <andythenorth> Horse has left the stable 🙂 14:10:54 <andythenorth> Wonder which grfs and GS will be lost on the way 🙃 14:11:01 <petern> All of them. 14:13:33 <petern> So I was digging steps down to create a mine and hit sculk sensors... scared. 14:17:25 <gebik> petern: /difficulty peaceful 😛 14:22:56 <andythenorth> Go North 14:25:19 *** sergbloim has quit IRC 14:25:42 *** Wormnest has joined #openttd 14:36:18 <petern> Fitting 3 new tyres... 14:36:52 <petern> Although I think the inner tubes are a bit fat now, forgot about them. 14:37:39 <petern> 20x1.75 tubes in 20x1.35 tyres, oops. 14:39:08 <andythenorth> What could go wrong? 14:39:36 <petern> More chance of pinching it I think? Dunno 14:40:28 <andythenorth> Buy the 1.35s then leave them on a shelf 14:40:42 <petern> £80 so no 🙂 14:40:52 <andythenorth> The 1.75s won’t pinch flat ubtil your 30 miles from home, in the rain 14:41:08 <andythenorth> Character building 14:41:23 <petern> Ooh, 55-95 psi instead of 30-65psi, that's gonna be hard. 14:41:35 <andythenorth> Every pebble 14:41:47 <petern> I've got 3 spare tubes, unfortunately all 1.75... 14:41:47 <andythenorth> The speed though 14:42:21 <andythenorth> Ok another beer, or design HEQS 2? 14:43:03 <andythenorth> Will probably finish HEQS 2 just in time for WASM to obsolete it 14:43:14 <petern> Yes 14:43:16 <andythenorth> NotGRF 14:43:35 <petern> Use WASM to inject pixels into the frame buffer. 14:43:41 <andythenorth> Ideal 14:43:49 <andythenorth> What happened to webGL? 14:46:27 <FLHerne> It's happened, everyone uses it 14:46:51 <FLHerne> soon to be obsoleted by WebGPU maybe 14:47:46 <andythenorth> Port OpenTTD 14:48:11 <andythenorth> Our 3D rendering will be much faster 14:59:08 *** WormnestAndroid has quit IRC 14:59:25 <Samu> what is {RAW_STRING} 14:59:39 *** WormnestAndroid has joined #openttd 15:09:56 <Samu> this is quite repetitive 15:09:58 <Samu> local rail_infrastructure_count = GSInfrastructure.GetInfrastructurePieceCount(company, GSInfrastructure.INFRASTRUCTURE_RAIL); 15:10:33 <bigyihsuan> is it even possible to compile ottd to wasm? 15:12:14 <LordAro> yup 15:12:22 <LordAro> that's what the preview builds are 15:17:18 *** nielsm has joined #openttd 15:24:14 <bigyihsuan> ~~ottd in the web browser when~~ 15:25:31 <TallTyler> Already exists, but missing some features like actually saving to a useful place (browser storage currently, which is easy to wipe) 15:28:20 <Samu> hey TallTyler i found the cause of river gen stalls 15:28:36 <Samu> i updated the issue 15:41:20 *** Smedles_ has joined #openttd 15:45:35 *** Smedles has quit IRC 15:58:59 <DorpsGek> [OpenTTD/OpenTTD] PeterN commented on issue #10477: [Bug]: Build bridge window truncates speed and cost https://github.com/OpenTTD/OpenTTD/issues/10477 15:59:10 *** Smedles has joined #openttd 16:01:45 *** supermop_toil has joined #openttd 16:06:38 *** Smedles_ has quit IRC 16:08:42 <andythenorth> Should vehicle info text include railtype (etc)? 16:13:44 <Xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1075812234464329819/UniTrans_1990-09-11.png 16:13:44 <Xarick> too much information, and it's using too much cpu 16:14:57 <andythenorth> Has your script got a sleep in the main loop? 16:15:10 <glx[d]> Samu: {RAW_STRING} something broken in GSText, it has been disabled by <https://github.com/OpenTTD/OpenTTD/commit/c02aabf1b837ba15ae2e2abc68570f0bf63aa190> (but looks like a side effect), and if I re-enable them they are enclosed with quotes 16:16:11 *** TROILUS4 has joined #openttd 16:17:01 <Samu> no sleep 16:18:11 <glx[d]> it should sleep 16:18:40 <glx[d]> well there's a sleep after each command call 16:18:59 <Samu> maybe this information is not that important 16:19:40 <glx[d]> but you don't have to constantly update the league window if there's no change 16:19:52 <Samu> it's the number of stations that have a vehicle heading to it / total number of stations of that type 16:20:06 <Samu> then the %, for each vehicle type, for all 15 companies 16:20:13 *** TROILUS has quit IRC 16:20:13 *** TROILUS4 is now known as TROILUS 16:20:40 <glx[d]> expensive data it seems 16:21:00 <Samu> it has to create lists, and valuate 16:21:22 <Samu> lists + valuate make it fast, but uses much cpu 16:21:30 <Samu> cpu spikes 16:22:59 <Samu> local vehicle_list = GSVehicleList_Station(station); i suspect this one is costly 16:23:18 <Samu> and i iterate over all stations, 4 times per company 16:23:36 <Samu> i could perhaps make it iterate 1 per company with a bit of boring code 16:24:17 <Samu> let me show 16:24:25 <dP> it would be nice to have RAW_STRING working in GS 16:24:41 <glx[d]> it's supposed to work in the doc 🙂 16:24:43 <dP> it's kinda ridiculous that it's not able to display any string that's not in lang file 16:25:38 <Samu> https://gist.github.com/SamuXarick/2c859fb291261ad1c01b8cc910762d5d#file-infrastructure_efficiency-nut-L15-L26 16:26:13 <Samu> i repeat that code 4 times in the function, and then the whole function is iterated over all 15 companies 16:26:18 <Samu> :( 16:35:36 <glx[d]> ah I think I know why RAW_STRING are disabled, if GS messes up its parameters it crashes openttd 16:36:08 <glx[d]> string args handling is not very safe 16:44:56 *** keikoz has joined #openttd 16:56:16 <dP> yeah, openttd doesn't keep the argument type so can't distinguish string from integer later 16:56:55 <dP> to do the safety check 17:27:14 <Samu> got a weird crash 17:29:51 <DorpsGek> [OpenTTD/OpenTTD] SamuXarick opened issue #10486: [Crash]: Loaded savegame, crashed https://github.com/OpenTTD/OpenTTD/issues/10486 17:30:59 *** TROILUS has quit IRC 17:31:25 *** TROILUS has joined #openttd 17:38:48 <DorpsGek> [OpenTTD/OpenTTD] James103 commented on issue #10486: [Crash]: Loaded savegame, crashed https://github.com/OpenTTD/OpenTTD/issues/10486 17:41:43 *** Flygon has quit IRC 17:42:38 <DorpsGek> [OpenTTD/OpenTTD] SamuXarick commented on issue #10486: [Crash]: Loaded savegame, crashed https://github.com/OpenTTD/OpenTTD/issues/10486 17:47:02 <Samu> i didn't wanna upload the script, it's not finished :(! 17:58:59 <Samu> https://gist.github.com/SamuXarick/2c859fb291261ad1c01b8cc910762d5d#file-infrastructure_efficiency-nut-L15-L60 17:59:13 <Samu> now it's slighly less spiky, but it's still slow 17:59:47 <Xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1075838921126182912/UniTrans_1990-12-28.png 18:00:33 <LordAro> Samu: uploading a GS to an issue is not the same as publishing it... 18:00:53 <LordAro> your only other option is to cut it down to a minimal example 18:06:45 <DorpsGek> [OpenTTD/OpenTTD] glx22 commented on issue #10486: [Crash]: Loaded savegame, crashed https://github.com/OpenTTD/OpenTTD/issues/10486 18:09:07 <glx[d]> but the dumps seems to show it's not related to the GS itself, ai_debug_company is 0 18:09:44 <Samu> let me try here 18:11:25 <DorpsGek> [OpenTTD/OpenTTD] SamuXarick commented on issue #10486: [Crash]: Loaded savegame, crashed https://github.com/OpenTTD/OpenTTD/issues/10486 18:12:32 <Samu> show_company = OWNER_DEITY (18 '\x12') 18:12:38 <Samu> it's the GS for me 18:13:53 <glx[d]> I just use the info available in dmp (it's not always correct) 18:15:13 <Samu> ah, it's iterating over all companies 18:15:37 <Samu> that's somewhat wrong indeed 18:15:52 <Samu> SelectValidDebugCompany 18:19:01 <Samu> i think it's initializing the debug window and selecting whatever comes first 18:19:16 <Samu> so it begins with AIs first 18:20:16 <Samu> then i guess the code that was meant to come after, was to point the GS error, which didn't execute, it already crashed openttd 18:20:39 <glx[d]> oh for GS to be valid it has to have an instance, but for AI ins