Times are UTC Toggle Colours
00:15:51 *** sla_ro|master has quit IRC 00:59:42 *** Wormnest has quit IRC 01:23:18 *** HerzogDeXtEr1 has quit IRC 01:41:43 *** WormnestAndroid has quit IRC 01:45:51 *** Wormnest has joined #openttd 01:59:13 *** WormnestAndroid has joined #openttd 02:56:58 *** discord_user_f4a0790 has joined #openttd 02:56:58 <discord_user_f4a0790> https://cdn.discordapp.com/attachments/1008473233844097104/1082497084751630436/image.png 02:57:01 <discord_user_f4a0790> sorry i dont think ill read all this 03:04:28 *** Wormnest has quit IRC 03:25:56 *** D-HUND has joined #openttd 03:29:22 *** debdog has quit IRC 03:36:08 *** D-HUND is now known as debdog 04:40:28 *** keikoz has joined #openttd 05:55:26 *** Flygon has joined #openttd 06:03:32 *** keikoz has quit IRC 06:31:04 <petern> Won't take long, it's less than 40 syllables. 06:35:40 *** Eddi|zuHause2 is now known as Eddi|zuHause 06:35:45 <Eddi|zuHause> per line? :p 06:38:50 <Eddi|zuHause> i'm fairly sure there are lines in the backlog that are more than 40 syllables 07:07:12 *** sla_ro|master has joined #openttd 07:53:58 <audigexJon> discord_user_f4a0790: This screenshot is gonna be my response whenever someone says "We discussed that" on a feature I had no idea existed 09:30:24 <andythenorth> GS, but you can have 2 in a game. 09:30:24 <andythenorth> And they can traverse each other's content (data, classes, methods). 09:30:39 <andythenorth> And they can be restarted without reloading the save. 09:30:58 <andythenorth> Then I can make a debugging / utility GS as a tool. And make FIRS GS separately. 09:53:49 <DorpsGek> [OpenTTD/OpenTTD] mrpenguinb commented on issue #9623: [Bug]: Vsync makes the game feels laggy and smoother & 2x game speed smooth game so much compared to 1x game speed!! https://github.com/OpenTTD/OpenTTD/issues/9623 09:56:03 <DorpsGek> [OpenTTD/OpenTTD] mrpenguinb commented on issue #9641: [Bug]: Hardware acceleration makes the game sutter and slower https://github.com/OpenTTD/OpenTTD/issues/9641 10:26:18 <petern> Want to get involved or see what future changes are on the cards, without getting bogged down in 2279 discord messages over 5 days? https://github.com/OpenTTD/OpenTTD/pulls 10:31:50 <Xarick> time to test for bugs 10:32:05 *** JacobD88 has joined #openttd 10:33:40 <DorpsGek> [OpenTTD/OpenTTD] PeterN commented on pull request #10548: Feature: Groups cache vehicle lists https://github.com/OpenTTD/OpenTTD/pull/10548#issuecomment-1457932674 11:14:05 <DorpsGek> [OpenTTD/OpenTTD] Kuhnovic updated pull request #10543: Feature: Region-based pathfinder for ships https://github.com/OpenTTD/OpenTTD/pull/10543 11:16:11 <LordAro> oh nice, i missed that PR 11:22:19 <petern> I wonder if it makes the ship pf cache unnecessary. 11:22:53 <petern> Although that is already in place and works, I guess. 11:31:56 *** JacobD88 has quit IRC 11:39:34 <LordAro> less code is good though 11:39:50 <LordAro> and caching of individual regions is probably unnecessary 11:42:24 *** Smedles_ has joined #openttd 11:42:33 *** Smedles has quit IRC 11:44:28 <Xarick> <https://gist.github.com/SamuXarick/e3e1e9d9556313d696e63a95dcfa2ffc> Am I being too assertive? 11:46:45 <Xarick> wagon handling scares me 11:46:59 <Xarick> there's a bit of witchcode 11:47:14 <Xarick> ah, nevermind 11:49:16 <Xarick> CmdMoveRailVehicle 11:49:28 <Xarick> fiddles with groups 11:55:30 <petern> That's not the usual meaning of "assertive" :p 12:00:48 <LordAro> petern: not wrong though! 12:01:10 <LordAro> though assert(false) is a bit of an oddism 12:02:16 <Xarick> debug is slow 12:02:24 <Xarick> so i test in release mode 12:03:52 <Xarick> and yet I'm not being thorough enough 12:04:45 <Xarick> i should iterate all companies to see if vehicles are listed in the other group_default/all 12:04:53 <Xarick> from other companies 12:11:08 <glx[d]> If number cache was fine, your list should be fine too as both are updated at the same time 12:27:59 <petern> Thanks 🙂 12:28:54 <petern> LordAro, somehow my legs are still telling me off 😦 12:30:41 <Kuhnovic> petern: IMO it still make sense to have a path cache for ships. Of course no cache would mean an instant response to changes on the map, but there is a very high change that the path that comes out of the pathfinder is going to be exactly the same as the previous time. Unless something significant has changed on the map of course, but then it's still ok to respond to this with a little delay induced by a small cache. 12:32:46 <petern> *nod* What distance did you use for the intermediate destinations? (I didn't get a far as reading that level of detail) 12:33:29 *** keikoz has joined #openttd 12:37:04 <LordAro> petern: mine too :( 12:37:59 <petern> Huh, we're pretty close for distance so far this year. 12:40:36 <petern> It's been snowing around here today. 12:40:49 <LordAro> freezing temps here 12:40:58 <LordAro> i had hoped for a lot more this weekend 12:41:17 <LordAro> also mildly concerned about what the weather's going to do in 2 weeks time 12:43:38 <DorpsGek> [OpenTTD/OpenTTD] cmcaine opened issue #10549: [Bug]: Default parameters in NewGRF not used when an active GRF is upgraded https://github.com/OpenTTD/OpenTTD/issues/10549 12:46:33 <Kuhnovic> petern: Right now it looks 3 water regions ahead. Those regions might all be in line or diagonal, so the actual distance fluctates. It also depends on where the ship is within it's current region when it starts the search. A more consistent distance is still on my TODO list, but the current solution already works pretty well. 12:51:48 <DorpsGek> [OpenTTD/OpenTTD] James103 commented on issue #10549: [Bug]: Default parameters in NewGRF not used when an active GRF is upgraded https://github.com/OpenTTD/OpenTTD/issues/10549 12:54:08 <petern> Probably doesn't need to be consistent really as long as it's always a good range for the tile pathfinder. 12:55:02 <petern> The high-level (and low-level) path should always be consistent for the same source and destination though. 12:57:08 <petern> Worst would be a path that flipflops back and forth 😄 13:01:01 <Kuhnovic> The high level search user A* and no random number, so it's deterministic 🙂 13:05:30 <petern> I also wonder if similar can be done for road pathfinding, although it's not as extreme. Large town grids layouts make a load of paths. 13:06:58 <petern> Dear Windows 11 start menu: Stop being stupid. 13:08:05 <debdog> praying to the wrong god 13:15:56 <Kuhnovic> petern: Probably possible, but not as easily. Water doesn't have one-way characteristics, so once you figure out which water is connected within a 8x8 region then you know you can reach any of it. Roads can be one-way roads, this makes things considerably more difficult. 13:27:15 <DorpsGek> [OpenTTD/OpenTTD] J0anJosep opened issue #10550: [Bug]: https://github.com/OpenTTD/OpenTTD/issues/10550 13:30:35 *** nielsm has joined #openttd 13:40:39 <dP> Kuhnovic: have you looked into conventional a* optimizations? 13:40:47 <dP> like jump-point search and stuff 13:41:02 <dP> your whole approach to me looks like reinventing the wheel tbh 13:42:14 *** Xaroth has quit IRC 13:47:04 <Kuhnovic> Ok, give me a minute, I need to write this down without going into full detail. The TL;DR is: yes, I tried JPS, but found it wasn't that suitable 13:47:17 *** Xaroth has joined #openttd 13:47:57 <LordAro> i'd be ideal if you did go into full detail somewhere, either in the PR or preferrably in the code itself 13:57:18 <Kuhnovic> JPS assumes that directions can be changed at will at any point. This isn't the case for openttd, where you get big penalties for 90 degree turns. So we at least need to explore a 5x5 area with the current position of the ship in the middle to allow for a smooth turning radius. I did this by using regular A* in this area and then switch to JPS the moment you get outside this 5x5 area. This results in many diagonal jumps, which in tur 13:57:18 <Kuhnovic> doing so check the same tile multiple times. I saw similar behavior around small islands, where the search frontier tends to "curl back on itself". 14:01:26 <Kuhnovic> Btw, the approach that I'm taking is not a novel one. What I'm doing is a form of HPA* as it's known in the literature, although the way I create the node graph is slightly different. The way I "regionize" the map is pretty similar to this https://webdocs.cs.ualberta.ca/~nathanst/papers/mmabstraction.pdf 14:16:21 <Xarick> <https://gist.github.com/SamuXarick/e3e1e9d9556313d696e63a95dcfa2ffc> I think I'm thorough enough 14:18:06 <Xarick> missing some asserts 14:30:34 *** Xaroth has quit IRC 14:31:54 <glx[d]> Of course all these asserts should not be in final version 14:33:42 *** sla_ro|master has quit IRC 14:36:20 <Kuhnovic> The compiler takes care of that 😛 14:36:34 <petern> Not in 13.0 🙂 14:42:47 <Xarick> the train_cmd.cpp code 14:42:52 <Xarick> is really scary 14:43:03 <Xarick> that's why I'm being over cautious 14:53:28 <Xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1082677404700508180/image.png 14:53:28 <Xarick> First vehicle that is bought is a wagon, and this is what happens 14:54:27 <Xarick> stats_all.num_vehicles: 0 - 1 = 65535, then it removes v->index of a wagon from the list, but the list is empty 14:56:34 <Xarick> next, it inserts a vehicle 14:56:38 <Xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1082678200028643460/image.png 14:57:06 <Xarick> 65535 + 1 = 0, but now the vehicle, still a wagon, gets inserted into the vehicle_list 14:57:41 <Xarick> num_vehicle is 0, but it now has a vehicle in the list, ... 15:02:52 <Xarick> im utterly confused 15:04:10 <Xarick> how can a wagon be a PrimaryVehicle? 15:05:02 <Xarick> oh, it's a single head now 15:05:06 <Xarick> not a wagon 15:05:11 <Xarick> I got lost again 15:05:20 <Xarick> this is hard to debug 15:06:59 <glx[d]> Wagon is built then moved to the train 15:13:46 <Xarick> okay so that id was already the id of a singe head 15:14:07 <Xarick> wagon doesn't run CountVehicle 15:17:05 <Xarick> the AI first builds a wagon, then builds an engine 15:19:25 <Xarick> wagon doesn't run CountVehicle, but the 2nd vehicle, the engine, runs NormalizeTrainVehInDepot which will do CountVehicle -1 and then CountVehicle +1, and when it gets out of there, back in CmdBuildVehicle, it runs CountVehicle +1 because it's a PrimaryVehicle 15:22:23 <Xarick> CountVehicle -1 puts the group with 65535 num_vehicle, removes vehicle from vehicle_list which isn't in it. Next, CountVehicle +1 puts the group with 0 num_vehicle, adds the vehicle to vehicle_list which isn't in it. And finally, the last CountVehicle +1 puts the group with 1 num_vehicle, and adds again the same vehicle to vehicle_list, but it's already there, so nothing changes. Everything corrects itself in the end 15:22:47 <Xarick> wow 15:22:54 <Xarick> so much magic 15:26:38 <glx[d]> btw 65535 is -1 with 16 bits 😉 15:31:31 <Xarick> not sure if by pure luck or clever existing code, but everything falling into place correctly for something that is added posteriorly is impressive 15:48:00 <Xarick> how do I compare the result of 2 lists in c++? I know how to do it in squirrel 15:48:28 <Xarick> but i wanted to assert the lists have exactly the same contents 15:51:11 <petern> Are they sorted? 15:52:13 <Kuhnovic> std::list or std::vector? Apparently vectors have a == operator https://stackoverflow.com/questions/6248044/how-to-compare-two-vectors-for-equality-element-by-element-in-c 15:53:17 <Kuhnovic> And another answer mentions the std::mismatch algorithm. Never used it myself. 15:54:49 <Xarick> it's a... i dunno list 15:55:15 <Xarick> the type of list AIs use is unknown to me 15:57:16 <glx[d]> it's an std::set, so it's sorted 15:58:22 <glx[d]> well ScriptList is a mix 16:01:36 <glx[d]> with 2 std::map, but that's sorted too 16:03:29 <dP> Kuhnovic: ok, that gives it some context but how did you compare your algorithm to jps or default pathfinder? I'd expect to see some kind of benchmark in a pr that deals with algorithms, like what I did with sprite sorter, for example: <https://github.com/OpenTTD/OpenTTD/pull/7962#issuecomment-586487781> Also not having some kind of isolated testing environment makes it very unapproachable. Like, I would like to try few ideas and see how they c 16:03:29 <dP> pathfinder but there is no way I'm implementing them as a full-blown ingame pathfinder, especially when there is no apparent way to compare them anyway. 16:08:38 <Kuhnovic> I am planning on doing a proper benchmark, although it is a little bit of an apples to oranges comparison. The current YAPF shipfinder just isn't suitable for large distances. I can crank up the max number of nodes which gives it a bigger range, but that's an advanced setting that I don't think most users tinker with since it's not accessible via the settings menu. 16:10:09 *** HerzogDeXtEr has joined #openttd 16:10:18 <dP> I don't think setting really matters, just pick whatever is better for comparison, I'd expect that ineffeciency with nodes to affect the time significantly anyway 16:10:53 <dP> but at least you'll have a reference point to compare to wrt time and distance (since you're doing sub-optimal paths) 16:12:16 <Kuhnovic> https://cdn.discordapp.com/attachments/1008473233844097104/1082697234476441752/48ab5efc-63fb-4784-8404-5da1535a1061.png 16:12:16 <Kuhnovic> This is the closest thing I have to a benchmark right now. Yesterday I created a 256x256 map with 500 Bakewell Hovercrafts traveling accross the entire map. I ran it in my browser (chrome) with the emscripten preview on my i7-3610QM from 2012. I had fast forward on and it was always running about 1,8x wall clock speed. I'm certainly not claiming that this is a good benchmark, but it does show this algorithm is orders of magnitude fas 16:13:30 <Kuhnovic> dP: Yes, I definitely have to measure how suboptimal these paths are 16:14:39 <dP> I don't think it's really a question whether it's better than default, anything that doesn't need boys would be at this point 😆 16:14:59 <dP> but it's hard to even fine-tune one algorithm without a proper benchark 16:15:59 <dP> for example, the simplest things, like you say you subdivide into 8x8 squares, why so, won't 16x16 be better or 4x4? 16:16:04 <dP> or sqrt(map_size) 16:16:27 <Kuhnovic> Did I mention the PR still has the "draft" label on it 😛 ? 16:19:59 <Kuhnovic> But these are all fair questions. As of right now I've mainly done performance profiling to eliminate some performance bottlenecks. I settled on the 8x8 mostly by experimenting a lot and looking at what was a good tradeoff between performance and suboptimality. But I have to admit these are quite subjective, it was based on "what looked good" (I added a ton of debug drawing to visualize things). 16:22:23 <petern> Try a 1024x1024 map 🙂 16:22:41 <Kuhnovic> Anyway, I'm far from done with this algorithm, I just wanted to show it to the world and get feedback. Right now I'm more in the phase of structuring the code better and making it less prototype-like 🙂 16:23:07 <Kuhnovic> petern: Will give that a go later today! 16:31:51 <dP> btw, do you run a new pf search on regions each time? imo should be possible to just run smth like floyd-warshall for all paths on regions and use that as a cache 16:33:40 <dP> though considering there aren't that many docks in a typical game simply caching the whole path one way or another would probably be better 16:52:49 <DorpsGek> [OpenTTD/OpenTTD] rubidium42 commented on pull request #10543: Feature: Region-based pathfinder for ships https://github.com/OpenTTD/OpenTTD/pull/10543#issuecomment-1458504927 16:59:23 *** sla_ro|master has joined #openttd 17:23:36 *** tokai has joined #openttd 17:23:36 *** ChanServ sets mode: +v tokai 17:30:22 *** tokai|noir has quit IRC 17:36:04 <Xarick> how do I initialize an empty list in c++ 17:37:25 <Xarick> ` ScriptVehicleList list = ScriptVehicleList(); 17:37:25 <Xarick> list.Clear();` 17:37:34 <Xarick> I'd rather just create it empty 17:39:07 <Rubidium> why would you want a script list, and not a std::list? 17:40:41 <Xarick> i need to compare its contents the way they're received in squirrel 17:40:49 <Rubidium> though something along the lines of `std::list my_list;` should be enough, or `ScriptList my_list;` 17:45:35 <Xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1082720717201756200/image.png 17:45:41 <Xarick> this is much harder in c++ than I anticipated 17:47:47 <Rubidium> smells like use-after-free-ish 17:48:57 <Xarick> i'm trying this... 17:49:17 <Xarick> https://gist.github.com/SamuXarick/bb25276e300a42f58e34400e64876a66 17:49:30 <Xarick> doesn't work 17:50:44 <Rubidium> I can imagine 17:51:23 <Rubidium> start with `ScriptVehicleList_DefaultGroup1 list1(vehicle_type);` and similar. 17:52:23 <Rubidium> what you did before was...well... declare a reference (something that points to something else) and then assign a temporary allocation to is, so basically after the assignment it's already invalid 17:53:27 <Rubidium> oh, that was a function 17:53:46 <Rubidium> not a constructor... yikes 17:54:53 <Rubidium> and ScriptList and all does not have move/copy constructors, so that's not going to work for many things 17:57:16 <Rubidium> `ScriptVehicleList &list = ScriptVehicleList();` -> `ScriptList *list = new ScriptList();`, returning pointers from the two new functions, changing some . to ->, `ScriptList &list` -> `ScriptList *list` and deleting. Or use std::unique_ptr 17:57:57 *** bigyihsuan has joined #openttd 17:57:57 <bigyihsuan> why do i have an obsession with rivers in this game 17:58:15 <bigyihsuan> why is it that i want them to be more bendy on flat ground 17:58:20 <bigyihsuan> what even goes into that even 17:58:44 <bigyihsuan> i see that it uses a* to find a path for the rivers, starting from the end point (ocean, or river join) 17:59:07 <bigyihsuan> and i keep seeing rivers that just *end* in a lake on flat ground that clearly can keep flowing 17:59:22 <Xarick> thanks 17:59:47 <Rubidium> or put list on the stack in the constructor, and pass those by reference to those functions and not return the list from there 17:59:55 <Rubidium> plenty of options to do it 18:00:45 <Xarick> too jargon 😦 18:00:48 <Xarick> hehe 18:00:54 <Xarick> sorry, I don't know what you said 18:01:33 <JGR> C++ is not a language where you can fumble along by trial and error 18:02:31 <JGR> There are online courses and things like that which cover the basics 18:03:05 <LordAro> JGR: we've been saying that for years 18:03:07 <LordAro> and yet. 18:04:27 <Xarick> gonna try 18:05:23 <Xarick> how to delete the lists? it's just delete list1;? 18:09:49 *** Flygon has quit IRC 18:23:02 <Xarick> im getting memory usage going up never down 😦 18:34:03 <Xarick> memory doesn't go down 18:34:06 <Xarick> <https://gist.github.com/SamuXarick/bb25276e300a42f58e34400e64876a66> 18:34:13 <Xarick> what am I missing 😐 18:34:50 <Xarick> yeah, I don't know what to ask 18:35:30 *** gelignite has joined #openttd 18:39:21 *** virtualrandomnumber has joined #openttd 18:39:36 *** virtualrandomnumber has quit IRC 18:44:36 <Kuhnovic> In your last two functions you are creating ScriptList called "list" on the heap (you are using new). Then you dereference the pointer to that ScriptList when you want to return it. Dereferencing results in a ScriptList&, so this leads to an implicit call to the copy constructor of ScriptList. So what happens is that you return a copy of the ScriptList "list", and "list" is never deleted. This is a memory leak, and that's why your me 18:45:57 <LordAro> i do believe the bridge is failing to split long messages correctly 18:46:16 <LordAro> that cuts off at "and that's why your me" for me 18:46:18 <Kuhnovic> The solution here is to not create your object on the heap in the first place. Replace "ScriptList *list = new ScriptList();" with "ScriptList list;" and remove all the dereferencing asterisks when you return 🙂 18:48:12 <Xarick> thanks, gonna try 18:49:26 <Kuhnovic> https://cdn.discordapp.com/attachments/1008473233844097104/1082736787794952313/image.png 18:49:26 <Kuhnovic> petern: 1024x1024 map with lots of chaoticly placed water, 500 ships traveling from the NE corner to the SW corner. And still running faster than wall clock time 🙂 18:49:40 <DorpsGek> [OpenTTD/OpenTTD] DorpsGek pushed 1 commits to master https://github.com/OpenTTD/OpenTTD/commit/df2b66ad5d998a6d8f83e2ee14f50cb75f04560f 18:49:41 <DorpsGek> - Update: Translations from eints (by translators) 18:51:23 <Xarick> fantastic! Kuhnovic memory under control 18:53:02 <Xarick> try 5000 ships 18:53:14 <Xarick> *15 companies 18:53:43 <Kuhnovic> Great! You might want to read up on stack vs heap in C++, as well as passing things by reference VS by value VS by pointer VS by rvalue reference (a &&). It is hard to grasp but it is truly what sets C++ apart from managed languages like java / C# / many others 18:55:22 <Kuhnovic> Xarick: My hand already hurts from creating 500 ships 😛 18:55:25 <Xarick> no buoys 5000 ships from a corner to the other, that's fantastic 18:55:51 <Xarick> 500* 18:58:15 <andythenorth> Kuhnovic: write a GS to do it for you 😛 18:58:35 <andythenorth> actually an AI to repeatably test this would be a thing 19:00:05 <Kuhnovic> Haha that would actually be quite cool! 19:00:29 <Kuhnovic> https://cdn.discordapp.com/attachments/1008473233844097104/1082739565929955458/image.png 19:00:29 <Kuhnovic> Alright here's a 1000 ships, still running smooth! 19:01:37 <andythenorth> Xarick: you seem to enjoy AI regression jobs 🙂 19:01:46 <andythenorth> repeatable ship testing AI? 19:01:59 <andythenorth> what do we do for logging? 19:02:29 <Kuhnovic> These ships now take multiple game years to reach the other side of the map, so this is quite a ridiculous test. But it is possible 😄 19:05:00 <LordAro> Kuhnovic: wouldn't the path cache just mean that the impact of the pathfinding to be minimal? 19:05:09 <LordAro> if all ships were started at different times, anyway 19:05:29 <LordAro> start 5000 ships at exactly the same time for real pathological behaviour :D 19:06:22 <Kuhnovic> Keep in mind that the path caches are at the tile level, the high-level path is not cached (yet) 19:06:29 <LordAro> ah right 19:09:23 <Kuhnovic> I stopped all 1000 ships and changed their (shared) orders... yeah that was noticable, but not nearly as bad as I thought. Some frame dropping, that's all. 19:13:35 <dP> how do path caches work? are they invalidated on terra? 19:19:39 <Kuhnovic> Path caches are not, but the regions are. If the high level pathfinder bumps into an invalidated region it will tell it to update first. 19:19:55 <dP> also, deque is probably not the fastest choice for a path cache... 19:20:56 <Kuhnovic> The path cache is under 100 elements in size and is emptied over quite some time... you are never going to notice any performance difference 19:24:50 <andythenorth> LordAro: can't do that with GS 😛 19:25:01 <andythenorth> unless there's a group stop/start command 😛 19:25:47 <dP> Kuhnovic: yeah, but you have many vehicles, also it may be emptied slowly but it's created at once. 19:25:47 <dP> so, never hurts to save performance where it not much work 19:26:05 <dP> also, few elements probably means it's also wasting memory :P 19:27:10 <LordAro> andythenorth: GS can interact with UI, can it press the "go" button in the depot gui? :p 19:28:01 <Kuhnovic> It's created at once but the memory grows with it's required size and it never shrinks unless you tell it to. It probably is a queue because stuff is added at the end and removed at the back, but technically a vector could do the job as long as you don't start removing items from the wrong end, causing tons of memcpy 19:28:39 <andythenorth> LordAro: I couldn't figure out the UI interaction, either I misunderstand the docs, or it's really limited 19:28:45 <andythenorth> I couldn't see any 'click' command 19:28:57 <andythenorth> and traversing windows looked possible, but difficult 19:29:07 <dP> ShipPathCache is std::deque which is basically a vector of vectors afact 19:29:09 <andythenorth> "Selenium, but for OpenTTD" would be a thing 19:32:21 <dP> players can start groups of vehicles and all vehicles in depots so I'd expect GS can too 19:32:58 <DorpsGek> [OpenTTD/OpenTTD] Kuhnovic commented on pull request #10543: Feature: Region-based pathfinder for ships https://github.com/OpenTTD/OpenTTD/pull/10543#issuecomment-1458711185 19:36:37 <JGR> CMD_MASS_START_STOP is not reachable by script at all 19:37:10 <JGR> If you're doing your own test build you could add it easily enough though 19:38:13 <DorpsGek> [OpenTTD/py-protocol] wooky opened pull request #22: Fix shield.io badges in README https://github.com/OpenTTD/py-protocol/pull/22 19:45:13 <pickpacket> I think I'm getting my gf hooked on the game... :D 19:45:40 <Eddi|zuHause> that can be a blessing or a curse 19:46:10 *** lobstarooo__ has joined #openttd 19:47:17 *** Wolf01 has joined #openttd 19:47:27 *** lobstarooo has joined #openttd 19:47:36 <discord_user_f4a0790> so what's the deal with the people speaking her who are not really here? is it some other channel elsewhere that is linked or something? 19:47:55 <Wolf01> Probably 19:48:12 <dwfreed> the discord channel is bridged with the IRC channel 19:48:20 <dwfreed> I'm on IRC, as an example 19:48:27 <LordAro> beep boop 19:48:43 <Wolf01> 😂 19:49:40 <discord_user_f4a0790> ahh 19:50:10 <discord_user_f4a0790> amazed i didnt know what IRC was, heard about it a lot before, what's the deal with the bridge, i mean why is it a thing? 19:50:32 <LordAro> because some of us are stubborn bastards that refuse to move 19:50:50 <dwfreed> https://m.xkcd.com/1782/ 19:50:51 <LordAro> IRC loooong predates discord 19:51:07 <LordAro> (this channel specifically, IRC itself is a given) 19:51:15 <discord_user_f4a0790> ahh fair 19:51:21 <discord_user_f4a0790> i came from skype to discord 19:51:41 <discord_user_f4a0790> sure i heard about IRC on the tt forums when i was little and just had no idea what people were on about 19:52:10 <andythenorth> JGR: I am favouring 'everything reachable by script' 😛 19:53:19 <JGR> This requires script authors to express a lot of restraint in not doing ridiculous things 19:54:12 *** lobstarooo__ has quit IRC 19:54:18 *** lobstarooo is now known as lobstarooo__ 19:54:48 <JGR> This is somewhat problematic when anyone can upload a script to bananas 19:55:20 <andythenorth> yes 19:55:33 <andythenorth> but I think we could open the magic box anyway 19:55:48 <andythenorth> I can already write a trivial DoS on the game client with GS 19:55:52 <andythenorth> or eat all your RAM 19:58:21 <petern> But can you write a trivial DOS emulator? 19:58:58 <pickpacket> discord_user_f4a0790: I use a self hosted IRC web client called thelounge.chat for all my IRC chatting. It's vastly superior to discord, imho :) Faster, sleeker, and not discord. 19:59:17 <JGR> Co-op proved that you can make NAND gates with trains and signals, therefore yes you can 19:59:22 <pickpacket> discord_user_f4a0790: https://lounge.warmedal.se/uploads/d9081de36d587fd9/image.png 20:00:12 <pickpacket> Doom on OpenTTD when? 20:00:14 <Xarick> <https://github.com/OpenTTD/OpenTTD/blob/master/src/script/api/script_vehiclelist.cpp#L21-L26> I wonder how many AIs need to have free wagons in this list 20:00:56 <Xarick> it's preventing me from using the cache list 20:00:58 *** HerzogDeXtEr has quit IRC 20:01:32 <pickpacket> Eddi|zuHause: why-not-both.gif ;) 20:02:05 <Xarick> also, being deity is another obstacle 20:02:11 <Xarick> but that one is manageable 20:02:27 *** lobstarooo__ has quit IRC 20:05:46 <andythenorth> petern: I can't no; someone else might 😛 20:06:03 <andythenorth> what was the clever mad RAM interleaving thing? DOS protected mode ? 20:06:11 <andythenorth> the one that offset into additional memory 20:07:46 *** lobstarooo__ has joined #openttd 20:08:05 <Rubidium> andythenorth: can't generate random GS code with python, and run that until it generates a GS that builds the emulator? ;) 20:08:53 <andythenorth> given enough typewriters and enough monkeys.... 20:09:09 <andythenorth> rubidium, have you heard of this thing called "chatGPT"? 20:09:13 <andythenorth> it's not very well known 20:09:46 <dP> given enough typewriters and enough monkeys and chatgpt?... 😆 20:12:25 <andythenorth> given enough chat AIs to ask other chat AIs 20:14:55 <discord_user_f4a0790> pickpacket: fair, i am quite content with discord, online i mostly use discord and facebook messenger for social media, even that is kinda "too much" for me 20:15:50 <discord_user_f4a0790> i am active in 1 messenger group and in 1 discord at a time, cant handle more xd 20:19:07 <DorpsGek> [OpenTTD/OpenTTD] J0anJosep updated pull request #8480: Feature: Extended depots https://github.com/OpenTTD/OpenTTD/pull/8480 20:33:07 <Xarick> loading a scenario is taking so much time for some reason 20:33:57 <DorpsGek> [OpenTTD/OpenTTD] J0anJosep updated pull request #8480: Feature: Extended depots https://github.com/OpenTTD/OpenTTD/pull/8480 20:34:00 <DorpsGek> [OpenTTD/OpenTTD] J0anJosep updated pull request #9577: Feature: Multi-tile depots https://github.com/OpenTTD/OpenTTD/pull/9577 20:46:55 *** Wormnest has joined #openttd 21:00:23 <DorpsGek> [OpenTTD/OpenTTD] rubidium42 commented on pull request #10543: Feature: Region-based pathfinder for ships https://github.com/OpenTTD/OpenTTD/pull/10543#issuecomment-1458867756 21:07:07 *** lobstarooo has joined #openttd 21:08:48 <DorpsGek> [OpenTTD/bananas-frontend-web] TrueBrain opened pull request #167: Fix: editing versions result in error due to missing region field https://github.com/OpenTTD/bananas-frontend-web/pull/167 21:09:17 <TrueBrain> I am so happy with sentry ... this broke BaNaNaS pretty bad, but it seems nobody reported it 😛 well, sentry did .. I ❤️ sentry 21:10:34 <DorpsGek> [OpenTTD/bananas-frontend-web] LordAro approved pull request #167: Fix: editing versions result in error due to missing region field https://github.com/OpenTTD/bananas-frontend-web/pull/167#pullrequestreview-1329538339 21:11:11 <DorpsGek> [OpenTTD/bananas-frontend-web] TrueBrain merged pull request #167: Fix: editing versions result in error due to missing region field https://github.com/OpenTTD/bananas-frontend-web/pull/167 21:13:52 *** lobstarooo__ has quit IRC 21:13:57 *** lobstarooo is now known as lobstarooo__ 21:16:04 <DorpsGek> [OpenTTD/bananas-frontend-web] TrueBrain created new tag: 1.3.1 https://github.com/OpenTTD/bananas-frontend-web/releases/tag/1.3.1 21:21:55 <DorpsGek> [OpenTTD/OpenTTD] PeterN opened pull request #10551: Fix: Network server highlight invisible with RTL layout. https://github.com/OpenTTD/OpenTTD/pull/10551 21:23:50 <DorpsGek> [OpenTTD/OpenTTD] LordAro approved pull request #10551: Fix: Network server highlight invisible with RTL layout. https://github.com/OpenTTD/OpenTTD/pull/10551#pullrequestreview-1329557587 21:24:19 <TrueBrain> LordAro is going for quickest-approval-of-the-month 21:24:50 <LordAro> gmail actually sending me notifications for a change 21:27:21 <petern> Need a quicker CI 🙂 21:29:13 <DorpsGek> [OpenTTD/OpenTTD] serg-bloim updated pull request #10476: Copy wagon configuration to all trains in shared orders/group. https://github.com/OpenTTD/OpenTTD/pull/10476 21:31:05 <TrueBrain> petern: we can! It just costs money ..... 😛 21:31:13 <andythenorth> do we have any? 21:31:28 <andythenorth> can we have a fundraiser? 😛 21:31:42 <TrueBrain> we run our CI on 2-core runners 21:31:51 <TrueBrain> but you can have up to 64-core runners these days 21:31:57 <TrueBrain> they just cost .. a lot more than 2-core 😛 21:32:53 <TrueBrain> their price is fair btw 21:38:56 *** nielsm has quit IRC 21:39:09 <frosch> ah, i also got the sentry mail, but i forgot that regions are not on the version page 🙂 21:53:37 *** keikoz has quit IRC 22:03:14 <glx[d]> oh of course py-protocol repo needs some bumps too 22:04:07 <DorpsGek> [OpenTTD/OpenTTD] rubidium42 opened pull request #10552: Fix 13528bfcd0: bank balance command allows int64, GS was limited to int32 https://github.com/OpenTTD/OpenTTD/pull/10552 22:05:26 <DorpsGek> [OpenTTD/OpenTTD] PeterN merged pull request #10551: Fix: Network server highlight invisible with RTL layout. https://github.com/OpenTTD/OpenTTD/pull/10551 22:08:16 <DorpsGek> [OpenTTD/OpenTTD] glx22 approved pull request #10552: Fix 13528bfcd0: bank balance command allows int64, GS was limited to int32 https://github.com/OpenTTD/OpenTTD/pull/10552#pullrequestreview-1329615640 22:08:31 <andythenorth> "Want OpenTTD features? Fund the CI" 22:08:47 <andythenorth> "Want major version releases more often? Fund the CI" 22:08:59 <andythenorth> 😛 22:09:21 <Rubidium> I think you're better off with funding someone doing the actual review/release work 22:09:28 *** lobstarooo has joined #openttd 22:09:39 <petern> I shall fund myself 😄 22:09:46 <andythenorth> fund lunch 22:13:02 *** gelignite has quit IRC 22:16:02 *** lobstarooo__ has quit IRC 22:16:09 *** lobstarooo is now known as lobstarooo__ 22:20:10 <DorpsGek> [OpenTTD/OpenTTD] rubidium42 merged pull request #10552: Fix 13528bfcd0: bank balance command allows int64, GS was limited to int32 https://github.com/OpenTTD/OpenTTD/pull/10552 22:30:50 <Xarick> question 22:31:04 <Xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1082792561149759508/image.png 22:31:04 <Xarick> should I be worried about that warning? 22:48:26 <Xarick> I can't stash two times? 22:49:30 <Xarick> I wanna stash 2 sets of changes in the same branch, how do i do it? 22:51:28 <Xarick> oh, that was easy 22:51:31 <Xarick> git stash 22:51:50 <Xarick> i see visual studio listing the 2 stashes 22:51:53 <Xarick> im good 22:52:46 *** sla_ro|master has quit IRC 23:00:57 <DorpsGek> [OpenTTD/OpenTTD] SamuXarick updated pull request #10548: Feature: Groups cache vehicle lists https://github.com/OpenTTD/OpenTTD/pull/10548 23:03:30 <DorpsGek> [OpenTTD/OpenTTD] SamuXarick updated pull request #10548: Feature: Groups cache vehicle lists https://github.com/OpenTTD/OpenTTD/pull/10548 23:05:29 <Xarick> i'm not sure how to test GUI 23:05:35 <Xarick> the speedup 23:11:15 *** lobstarooo__ has quit IRC 23:12:36 <petern> Profile 23:15:13 <andythenorth> 'valgrind' 23:15:17 <andythenorth> no that's not the one 😛 23:19:59 *** Wolf01 has quit IRC 23:26:41 <DorpsGek> [OpenTTD/OpenTTD] serg-bloim updated pull request #10476: Copy wagon configuration to all trains in shared orders/group. https://github.com/OpenTTD/OpenTTD/pull/10476