Config
Log for #openttd on 7th March 2023:
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

Powered by YARRSTE version: svn-trunk