IRC logs for #openttd on OFTC at 2023-01-20
            
00:28:04 *** Etua has joined #openttd
00:28:27 *** Etua has quit IRC ()
02:10:31 *** tokai|noir has joined #openttd
02:10:31 *** ChanServ sets mode: +v tokai|noir
02:17:38 *** tokai has quit IRC (Ping timeout: 480 seconds)
02:40:10 *** Wormnest has quit IRC (Quit: Leaving)
03:11:03 *** D-HUND has joined #openttd
03:14:26 *** debdog has quit IRC (Ping timeout: 480 seconds)
04:13:13 *** Flygon has joined #openttd
04:16:38 *** supermop_toil has quit IRC (Read error: Connection reset by peer)
04:16:51 *** supermop_toil has joined #openttd
04:23:59 *** _aD has quit IRC (Quit: leaving)
04:43:12 *** keikoz has joined #openttd
05:09:15 *** HerzogDeXtEr has joined #openttd
06:06:32 *** D-HUND is now known as debdog
06:10:16 *** keikoz has quit IRC (Ping timeout: 480 seconds)
07:10:08 <andythenorth[d]> oof
07:10:16 <andythenorth[d]> failing to adult properly here
07:14:59 *** HerzogDeXtEr has quit IRC (Read error: Connection reset by peer)
07:23:32 *** sla_ro|master has joined #openttd
08:18:47 <andythenorth[d]> ok how to find all areas of sea
08:19:03 <andythenorth[d]> and map them into a structure with a tile list for each contiguous area
08:19:16 <andythenorth[d]> rivers do not need to be included
08:19:31 <andythenorth[d]> coast tiles also
08:19:39 <andythenorth[d]> in GS
08:32:42 <andythenorth[d]> tile indexes are sequential I assume?
08:33:27 <andythenorth[d]> so if tile x, y is water
08:33:44 <andythenorth[d]> then x..(x+n) in the same row are water
08:34:05 <andythenorth[d]> that's contiguous
08:34:18 <andythenorth[d]> or maybe there's a flood fill routine that can find them
08:34:29 <andythenorth[d]> or path find in 8 directions?
08:36:37 <andythenorth[d]> seems flood fill is recommended solution https://www.gdquest.com/tutorial/godot/2d/tactical-rpg-movement/lessons/06.game-board-and-flood-fill/
08:57:56 <DorpsGek> [OpenTTD/OpenTTD] andythenorth updated pull request #10375: Change: improve legibility of AI/GS errors https://github.com/OpenTTD/OpenTTD/pull/10375
09:01:32 <DorpsGek> [OpenTTD/OpenTTD] andythenorth commented on pull request #10375: Change: improve legibility of AI/GS errors https://github.com/OpenTTD/OpenTTD/pull/10375#issuecomment-1398092443
09:11:46 *** WormnestAndroid has quit IRC (Remote host closed the connection)
09:15:23 <andythenorth[d]> Lol, the most rudimentary form of contrast analysis is to dump to grayscale. This was the standard way before contrast checking algorithms were widely used ๐Ÿ˜„
09:15:25 <andythenorth[d]> https://cdn.discordapp.com/attachments/1008473233844097104/1065922490032980009/image.png
09:15:30 <andythenorth[d]> enjoy red errors
09:29:46 <petern> There's also a reason most software uses near-black or near-white backgrounds
09:30:19 *** Samu has joined #openttd
09:31:04 <Samu> hi
09:32:53 <andythenorth[d]> maybe we should entirely derail this
09:33:02 <andythenorth[d]> and make the colours configurable by end user
09:33:35 <LordAro> NoColour
09:34:08 <LordAro> Yet Another Colour Picker
09:35:01 <Samu> i was so used to red
09:39:31 <petern> I forgot to adult last night so my recycling bin is now full for 2 weeks...
09:39:39 <Samu> today I'm going to try reduce repetition on compat_xx.nut files
09:40:00 <petern> LordAro: CP is not a good abbreviation.
09:40:26 <LordAro> petern: as those are my initials, i try not to worry about such things too much
09:40:27 <Samu> so instead of +4028 -22 line changes, it should be half of it, +2xxx
09:40:38 <petern> Ah. Oh. Oops.
09:41:06 <petern> LordAro: Although there is a better (for the context) 4 letter abbreviation which is gaining traction.
09:41:07 <LordAro> petern: quite
09:48:53 <petern> https://cdn.discordapp.com/attachments/1008473233844097104/1065930912329637918/image.png
09:48:53 <petern> 2x sprites at 3x (so 1.5x upscale)
09:49:51 <andythenorth[d]> do Horse
09:49:58 <petern> Not sure why it's cropped. Hmm.
09:50:13 <andythenorth[d]> petern: same recycling day, do you want me to remind you on Thursdays?
09:50:15 *** Dank_meme_kong has joined #openttd
09:50:15 <Dank_meme_kong> second one looks like a br class 37 ๐Ÿ™‚
09:51:45 <andythenorth[d]> Samu: https://tenor.com/view/fine-this-is-fine-gif-20102174
09:52:21 <petern> What's the correct colour combo for Iron Horse?
09:52:22 <JGR> Maybe we should make half the error red, and half white, then everyone will be happy ๐Ÿ™‚
09:52:37 <LordAro> switch colour every character?
09:53:35 <petern> Of course, 3x IH is just 3x so no odd/even pixels
09:54:59 <Rubidium> petern: I wonder what hell you're going to unleash when people try to align sprites with non-integral multiples of the sprite size so it always looks right in the (build) vehicle lists :D
09:55:41 <petern> https://cdn.discordapp.com/attachments/1008473233844097104/1065932623756664842/image.png
09:55:41 <petern> Well, it should already look right.
09:56:59 <andythenorth[d]> those dice though
09:57:22 <andythenorth[d]> petern: all of them
10:08:05 <reldred> petern: Dark green and white
10:12:19 <andythenorth[d]> load the realistic colours grf
10:13:38 <petern> https://cdn.discordapp.com/attachments/1008473233844097104/1065937138614554634/image.png
10:13:38 <petern> Ah
10:14:52 <petern> I deliberately didn't update that for inferface scaling as there'd be tons of dead space. But now...
10:20:25 <andythenorth[d]> well the obvious thing to do here is
10:20:34 <andythenorth[d]> start a branch for full newgrf airports with state machines
10:20:40 <petern> ๐Ÿ˜„
10:21:06 <andythenorth[d]> hmm, when we have the controllable biplane
10:21:13 <andythenorth[d]> will we be able to free roam on the ground?
10:21:23 <andythenorth[d]> or do we have to obey the state machine?
10:21:31 <petern> Hmm, how do I draw half a pixel?
10:21:45 <andythenorth[d]> frosch: next livestream: hovercraft, but you can steer it with WASD or cursors
10:22:15 <andythenorth[d]> I strongly suspect that controlling free roam vehicles on 8 directions is not very hard
10:22:36 <andythenorth[d]> I bet we could patch a live input to the direction chooser
10:22:50 <andythenorth[d]> it won't actually doing anything other than lolz
10:26:03 <petern> https://cdn.discordapp.com/attachments/1008473233844097104/1065940262750257203/image.png
10:26:03 <petern> Perfect
10:27:19 <DorpsGek> [OpenTTD/OpenTTD] SamuXarick updated pull request #10376: Fix: [Script] Ensure building/removing rail lines can't be backwards and allow building/removing rail lines coming from or heading to the void https://github.com/OpenTTD/OpenTTD/pull/10376
10:27:39 <Samu> petern, +2,327 โˆ’22
10:33:59 <andythenorth[d]> petern: you've improved it
10:34:06 <andythenorth[d]> very important screen also
10:35:00 <petern> I broke my fast ๐Ÿ˜ฆ
10:37:27 <andythenorth[d]> I want coffee
10:39:21 <petern> https://cdn.discordapp.com/attachments/1008473233844097104/1065943611100905482/image.png
10:39:21 <petern> It's fine
10:39:49 <petern> Needs a scrollbar ๐Ÿ˜‰
10:45:21 <andythenorth[d]> or deleting ๐Ÿ™‚
10:45:29 <andythenorth[d]> or
10:45:37 <andythenorth[d]> we should split the $ symbol off
10:45:47 <andythenorth[d]> so it can be appropriate to player's preferred currency
10:54:42 <petern> https://cdn.discordapp.com/attachments/1008473233844097104/1065947473719336970/image.png
10:54:42 <petern> I guess CppCheck doesn't understand template & constexpr...
10:55:43 *** TonyPixel has joined #openttd
10:55:43 <TonyPixel> petern: Hey itโ€™s one of Union Pacific M-10000s on the background in upper left
11:39:38 *** keikoz has joined #openttd
11:45:15 *** EmperorJake has joined #openttd
11:45:15 <EmperorJake> No it's a Costar Century
11:45:24 <EmperorJake> from UKRS1
11:47:51 <GLaDOS> hay why dose void HandleMouseEvents() not handle _left_button_clicked like _right_button_clicked ```c++
11:47:51 <GLaDOS> else if (_right_button_clicked) {
11:47:51 <GLaDOS> _right_button_clicked = false;
11:47:51 <GLaDOS> click = MC_RIGHT;
11:47:51 <GLaDOS> _input_events_this_tick++;
11:47:53 <GLaDOS> }
11:47:53 <GLaDOS> ``` but there is nothing for the left counter part how is the game not broken?
11:50:28 <GLaDOS> i'm implamenting my video driver like the win32 drive due to the API's being close to this same but when calling HandleMouseEvents with _left_button_clicked and _left_button_down true it dose nothing but dose on win32
12:20:29 <DorpsGek> [OpenTTD/OpenTTD] glx22 commented on pull request #10376: Fix: [Script] Ensure building/removing rail lines can't be backwards and allow building/removing rail lines coming from or heading to the void https://github.com/OpenTTD/OpenTTD/pull/10376#issuecomment-1398307078
12:59:12 <petern> My terminal inside VS Code has broken such that pressing enter just types "m".
13:04:17 <TonyPixel> restart it
13:07:40 *** Merni has joined #openttd
13:07:40 <Merni> petern: cursed
13:11:29 <Samu> glx[d], Do you want me to undo the dir(from, tile) == dir(tile, to) enforcement?
13:11:55 <Samu> I had a use case where that would come handy when working on the rail pathfinder
13:13:32 <Samu> but, i guess i can remove
13:13:40 <Samu> :(
13:17:46 <Samu> sad tears :/
13:20:09 <LordAro> petern: my terminal just starting outputting โ”œโ”€โ”ด -type characters the other day, after i echoed a zip file into it
13:21:13 <Dank_meme_kong> Bots talking to each other ๐Ÿ˜†
13:21:13 *** Richard has joined #openttd
13:21:31 *** Richard has quit IRC ()
13:21:32 <LordAro> Dank_meme_kong: beep boop
13:21:57 *** Richard has joined #openttd
13:22:00 *** Richard has quit IRC ()
13:22:23 <petern> Do that on a BBC Micro and often it would start sending the output to the printer.
13:25:15 <glx[d]> Samu: I didn't ask for any changes, I was just making observations, and I still don't get what is the exact issue
13:25:54 <GLaDOS> anyone have anything that could help me?
13:29:05 <LordAro> GLaDOS: looks like it's set in WndProcGdi to me
13:29:19 <LordAro> but surely you don't need me to search the source code for you
13:29:51 <GLaDOS> not i set it to true but then then game dose not react to it
13:30:30 <GLaDOS> ```c++
13:30:30 <GLaDOS> case 4: {
13:30:30 <GLaDOS> int button = 0;
13:30:30 <GLaDOS> x_window->TranslateMsg(&button);
13:30:30 <GLaDOS> if (button == 1)
13:30:31 <GLaDOS> {
13:30:31 <GLaDOS> _left_button_down = true;
13:30:33 <GLaDOS> _left_button_clicked = true;
13:30:33 <GLaDOS> }
13:30:35 <GLaDOS> else if (button == 3)
13:30:35 <GLaDOS> {
13:30:37 <GLaDOS> _right_button_down = true;
13:30:37 <GLaDOS> _right_button_clicked = true;
13:30:39 <GLaDOS> }
13:30:39 <GLaDOS> HandleMouseEvents();
13:30:41 <GLaDOS> }```
13:31:31 <GLaDOS> this dose not active the trigger a left click even even though it sets the boolens
13:31:52 *** Smedles has quit IRC (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.)
13:32:03 *** Smedles has joined #openttd
13:33:37 <GLaDOS> i have read all the win32 driver to make the driver i'm working on behave the same
13:33:50 <LordAro> i think the difference between left and right is that the game never cares if the right mouse button is held down
13:33:50 <glx[d]> Button 3 is middle no ?
13:34:05 <GLaDOS> not on the platform i'm on
13:34:12 <GLaDOS> that is id 2
13:36:03 <GLaDOS> due to a conflit with the Games Window struct name and the api's ID Window i have to use a wrapper to stop it
13:46:52 <petern> Have you considered glfw?
13:48:41 <petern> There is very little point to implementing X11 directly.
13:50:55 <petern> Are you doing xlib or xcb?
14:04:42 *** supermop_Home_ has joined #openttd
14:07:36 <andythenorth[d]> well
14:07:57 <andythenorth[d]> shall I try and find water regions, where my skills are going to be laughable
14:08:01 <andythenorth[d]> but is easy to test
14:08:13 <andythenorth[d]> or shall I write the actual gameplay-over-time stuff for FIRS
14:08:35 <andythenorth[d]> which is easy to write, but sucks to test because it means playing 10 game years of actual vehicles and stuff
14:10:39 <petern> Who even wants to play the game?
14:10:53 <andythenorth[d]> me, about once a month
14:10:56 <andythenorth[d]> for a week
14:11:08 *** scrubbles has joined #openttd
14:11:08 <scrubbles> make AI play the game
14:11:12 <andythenorth[d]> YES
14:11:17 <andythenorth[d]> give that person an oscar
14:11:23 <andythenorth[d]> ok, so write an AI to test GS
14:11:26 <andythenorth[d]> ideal rabbit hole
14:11:29 <petern> +1
14:11:43 <scrubbles> branch civilai to build snowploughs as well as brake vans
14:11:50 <andythenorth[d]> eugh
14:12:09 <petern> > Get ready for Sat 21st Jan 8am Club Ride
14:12:10 <petern> Uh oh
14:12:30 <andythenorth[d]> petern: shame GS doesn't have callbacks eh
14:12:38 <andythenorth[d]> could fly the plane using 4 buttons in the story book
14:12:46 <petern> https://cdn.discordapp.com/attachments/1008473233844097104/1065997318568018040/image.png
14:13:03 <andythenorth[d]> oh
14:13:09 <andythenorth[d]> hmm
14:13:17 <andythenorth[d]> if there are 8 direction beacons on the map
14:13:39 <andythenorth[d]> the plane could be ordered to route to the chosen direction
14:13:44 <andythenorth[d]> might try this
14:14:09 <andythenorth[d]> after lunch
14:14:15 <GLaDOS> petern: could say the same about cocoa and win32 but we have them
14:15:02 <petern> Keeping existing obsolete code is different to adding new obsolete code.
14:15:28 *** Flygon has quit IRC (Read error: Connection reset by peer)
14:15:40 <supermop_Home_> hmm pick front/back of station based on nearby tile is track for rear? or nearby tile is road for front?
14:16:11 <andythenorth[d]> errr.....I don't see a way to set order here? https://docs.openttd.org/gs-api/classGSOrder.html
14:16:15 <andythenorth[d]> certain oversights?
14:16:19 <andythenorth[d]> AI must have it
14:16:34 <petern> AI probably have orders, but I don't see a reason for GS to have it.
14:16:35 *** Flygon has joined #openttd
14:17:08 <andythenorth[d]> maybe I can patch it
14:17:12 <petern> I guess you can query orders but not set them.
14:17:25 <andythenorth[d]> yes
14:17:31 <petern> https://docs.openttd.org/ai-api/classAIOrder.html
14:17:32 <andythenorth[d]> but GS can modify vehicles otherwise
14:17:39 <andythenorth[d]> precedent seems unclear ๐Ÿ™‚
14:17:45 <petern> Modify engines or vehicles?
14:17:49 <andythenorth[d]> ah
14:17:50 <andythenorth[d]> dunno ๐Ÿ™‚
14:18:06 <andythenorth[d]> stuff like https://docs.openttd.org/gs-api/classGSVehicle.html#ad466532ebe504f96f059a42b02e74e58
14:18:44 <andythenorth[d]> also I'm going to need IgnoreSignals
14:18:44 <petern> Well that is a bit odd, but okay.
14:18:51 <andythenorth[d]> remember the Lemmings nuke button?
14:21:58 <andythenorth[d]> hmm found a chat log recently where someone worked out we could do Minesweeper in GS
14:22:15 <andythenorth[d]> but I just invented a horrific 'shell your opponents' city GS game
14:22:32 <andythenorth[d]> some 80s game I used to play, can't remember the name
14:22:43 <andythenorth[d]> first one to wipe out the other's city with missiles won
14:24:02 <supermop_Home_> tankwars?
14:24:53 <andythenorth[d]> https://cdn.discordapp.com/attachments/1008473233844097104/1066000369802551307/c476qqzZW6QAAAABJRU5ErkJggg.png
14:24:53 <andythenorth[d]> very similar screen layout
14:25:01 <andythenorth[d]> basically cities not tanks
14:26:20 <andythenorth[d]> ok I'll need to walk the map and find all tiles with houses
14:26:24 <GLaDOS> petern: if all the video drivers were remove and replaced with a glfw driver would it be acepted?
14:27:45 <petern> Probably not, I don't think glfw is friendly with non-3D API stuff.
14:28:29 <petern> There's probably other similar libraries, that's just one from the top of my head.
14:28:45 <dP> andythenorth[d]: oooo, scorched earth xD
14:28:58 <petern> Gah, I crashed it.
14:29:01 <dP> also minesweeper is barely possible with server patch, not gs :p
14:29:23 <andythenorth[d]> challenge accepted
14:29:39 <GLaDOS> btw the reason for the xlib x11 driver is to hopeful pave the way for me to write a vulkan backend
14:29:52 <andythenorth[d]> I got the idea for scorched earth game from Worms, which came from thinking about Lemmings
14:30:02 <dP> dP: because other companies shouldn't see what you opened
14:30:13 <andythenorth[d]> yes, but fog of war patch?
14:30:20 <dP> not fair :p
14:30:26 <dP> I did partial desync
14:31:44 <andythenorth[d]> is storybook per company?
14:31:49 <supermop_Home_> tiberium harvesters?
14:31:59 <dP> dP: where minefield object manipulation commands aren't sent to other companies
14:32:21 <dP> andythenorth[d]: there is global and there is per-company
14:32:31 <dP> though I like to just desync global one :P
14:32:42 <andythenorth[d]> ok minesweeper, but you play it in storybook ๐Ÿ˜›
14:33:01 <dP> you can see storybook of other companies ;)
14:33:05 <andythenorth[d]> meh
14:33:09 <andythenorth[d]> flag to adjust that
14:33:16 <andythenorth[d]> also aren't we sharding the map?
14:33:16 <dP> whole game state is shared in opentt
14:33:24 <dP> all except company passwords
14:33:49 <petern> Each town/industry runs as a separate shard.
14:34:02 <andythenorth[d]> then we can run Doom
14:34:07 <petern> Good idea
14:34:12 <andythenorth[d]> it hasn't happened yet
14:34:16 <andythenorth[d]> it's some kind of computing law
14:34:30 <andythenorth[d]> 8bpp palette can do most of Doom
14:34:34 <andythenorth[d]> for $reasons
14:34:52 <andythenorth[d]> https://cdn.discordapp.com/attachments/1008473233844097104/1066002877493039184/250px-DoomPalette0.png
14:34:52 <andythenorth[d]> greens a bit different
14:35:09 <andythenorth[d]> Doom has more gore colours
14:35:55 <andythenorth[d]> https://cdn.discordapp.com/attachments/1008473233844097104/1066003145773305938/image.png
14:35:55 <andythenorth[d]> converted to our palette
14:36:34 <andythenorth[d]> but that's just photoshop, a manual remap would do better
14:37:38 <petern> Bah, opticians are busy.
14:37:40 <supermop_Home_> now i want to run TTO on my old Nikon d50
14:37:42 <andythenorth[d]> oof
14:37:50 <petern> Just want to find out if they've got my cycling glasses done yet.
14:38:19 <andythenorth[d]> once we have the biplane controllable on WASD
14:38:29 <andythenorth[d]> we can fix the height 1 above terrain
14:38:33 <andythenorth[d]> and swap the sprite to Doom guy
14:38:47 <andythenorth[d]> then the other monsters are just also planes
14:39:00 <andythenorth[d]> actually fighting might have to be ignored
14:40:24 <andythenorth[d]> http://www.wolfensteingoodies.com/archives/olddoom/sounds/dsbarexp.wav
14:44:12 <scrubbles> civilai is too perfect, amazing train consists
14:44:42 <scrubbles> but it likes the iron horse garratt too much and loses money due to running costs because of it
14:44:49 <andythenorth[d]> was the inspiration for Train Whack
14:44:50 <scrubbles> iron horse killed civilai
14:44:59 <andythenorth[d]> I was running 10 CivilAIs to watch it build trains
14:45:14 <andythenorth[d]> but it filled my cities with buses, grew them, added more buses, and killed the CPU
14:45:20 <andythenorth[d]> so I made Train Whack
14:45:21 <scrubbles> I'm only running 4, and it's all been garratts waiting at stations
14:45:29 <scrubbles> https://cdn.discordapp.com/attachments/1008473233844097104/1066005553819693056/image.png
14:45:45 <andythenorth[d]> I suspect Pruple tuned it to favour Garratts
14:46:29 <scrubbles> I would say it gravitates towards the most powerful locomotive available, with UKRS2 I've seen it buy the klondike atlantics
14:46:46 <andythenorth[d]> it's the Jeremy Clarkson of AIs
14:50:06 <petern> Does it take running cost into account?
14:50:21 *** WormnestAndroid has joined #openttd
14:53:30 <scrubbles> not sure, I just noticed it built 2-6-0 braf from iron horse in 1931, so perhaps it takes some horsepower to price ratio into account
14:55:03 <scrubbles> https://cdn.discordapp.com/attachments/1008473233844097104/1066007959575986236/image.png
14:55:08 <scrubbles> braf and proper job, hmm
14:58:49 <andythenorth[d]> maybe it measures hp / ton
15:07:09 <petern> <https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2023/p2739r0.pdf> Inventor of C++ says C++ is safe.
15:12:38 *** HerzogDeXtEr has joined #openttd
15:15:04 <Eddi|zuHause> that's a person who must know.
15:21:42 <Eddi|zuHause> well... it's the same old "C++ lets you do good things, if you know what you're doing" argument
15:22:06 <Eddi|zuHause> and that's the main problem... you can't assume that people know what they're doing
15:28:48 <FLHerne> "In C++ itโ€™s harder to shoot yourself in the foot, but when you do, you blow off your whole leg." -- also Bjarne Stroustrup
15:31:23 <FLHerne> There are subsets of modern C++ that aren't awful, but few projects use them in any defined way
15:33:07 <LordAro> "There are only two kinds of languages: the ones people complain about and the ones nobody uses" -- also also Stroustrup
15:42:01 <andythenorth[d]> my company (single player mode) isn't in scope at GS init?
15:42:14 <andythenorth[d]> this wouldn't surprise me, just want to be sure I'm reading it write
15:42:33 <andythenorth[d]> `Log.Info(GSCompany.ResolveCompanyID(GSCompany.COMPANY_SELF));` returns -1
15:43:39 <andythenorth[d]> hmm still -1 after a few months
15:43:44 <andythenorth[d]> maybe I have to switch to company mode
15:44:14 <andythenorth[d]> yair SELF would be clown shoes in deity mode
15:44:37 <petern> Yes you have to switch from DEITY to the company...
15:44:56 <petern> (At least, for COMPANY_SELF to change)
15:46:12 <andythenorth[d]> but for story page, it's a precondition `No GSCompanyMode may be in scope.`
15:46:36 <petern> Okay, so don't change scope.
15:47:26 <petern> "If the company index was COMPANY_SELF it will be resolved to the index of your company"
15:47:32 <petern> A GS doesn't have a "your company"
15:47:43 <andythenorth[d]> yup
15:47:53 <andythenorth[d]> I'm just reading the docs and failing ๐Ÿ˜›
15:48:21 <andythenorth[d]> the parameter for story page requires a company ID https://docs.openttd.org/gs-api/classGSStoryPage.html
15:48:30 <andythenorth[d]> to get a company ID I have to be in company mode
15:48:32 <petern> I'm not sure how you get a company list though.
15:48:37 <andythenorth[d]> but I can't be in company mode for this method
15:48:47 <andythenorth[d]> I bet superlib has an example
15:49:18 <dP> afiact COMPANY_SELF is only useful for AI
15:49:31 <dP> gs setting company mode to get the id it just set is pointless
15:49:40 <petern> Can't you just loop all companies?
15:49:55 <petern> COMPANY_FIRST to COMPANY_LAST
15:49:55 <dP> yeah, iirc, you just loop 0 to max_compnies or smth
15:49:59 <petern> Check if it's valid.
15:50:05 <andythenorth[d]> probably
15:50:13 <petern> You don't need to switch company to get a company id.
15:51:09 <petern> :\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.28.29910\include\xutility(4420,29): error C2675: unary '++': '_OutIt' does not define this operator or a conversion to a type acceptable to the predefined operator
15:51:09 <petern> Hmm
15:51:37 <petern> Ah, missed a .begin()
15:52:02 <andythenorth[d]> https://cdn.discordapp.com/attachments/1008473233844097104/1066022299528089740/image.png
15:52:17 <andythenorth[d]> ` for (local i = 0; i < 16; i++) {
15:52:17 <andythenorth[d]> local foo = GSStoryPage.New(i, "cabbage");
15:52:17 <andythenorth[d]> }`
15:52:32 <andythenorth[d]> obvs that is stupid ๐Ÿ™‚
15:54:25 <andythenorth[d]> still find GS weird ๐Ÿ™‚
15:54:36 <andythenorth[d]> I can add story book buttons that trigger 'immediate events'
15:55:03 <andythenorth[d]> rather than 'immediately added to a queue'
15:56:41 <petern> enum CompanyID {
15:56:41 <petern> COMPANY_FIRST,
15:56:41 <petern> COMPANY_LAST,
15:56:41 <petern> COMPANY_INVALID,
15:56:41 <petern> COMPANY_SELF,
15:56:42 <petern> COMPANY_SPECTATOR
15:56:42 <petern> }
15:56:53 <petern> So use those rather than literal numbers.
15:57:34 <petern> And you can check it exists with `ResolveCompanyID(i) != COMPANY_INVALID`
15:58:18 <andythenorth[d]> ha ha the buttons have some kind of auto-rainbow cycle ๐Ÿ˜„
15:58:20 <andythenorth[d]> https://cdn.discordapp.com/attachments/1008473233844097104/1066023886128423062/image.png
15:58:22 <andythenorth[d]> that's made my day
15:58:30 <Samu> what happened to "FOR_EACH_SET_BIT", what is it named now?
15:58:42 <andythenorth[d]> not sure I can lay these out like a D-pad, but eh
15:58:44 <andythenorth[d]> 'later'
15:58:52 <petern> Very nice. I've not seen buttons in the story book window, so it's nice they still work after the interface scaling stuff ๐Ÿ™‚
15:59:06 <petern> Well, assuming they can be pressed...
15:59:24 <andythenorth[d]> hit targets are accurate
15:59:24 <dP> andythenorth[d]: lol, I think you're the first one to use those buttons xD
15:59:33 <andythenorth[d]> ok what BBC Basic games can we port?
15:59:55 <andythenorth[d]> what was the resolution of mode 2?
16:00:13 <andythenorth[d]> Graphics 160 ร— 256 pixels
16:00:16 <andythenorth[d]> really?
16:00:48 <andythenorth[d]> my tests, GS can manipulate all tiles really quite fast on smaller maps
16:00:57 <andythenorth[d]> and visibly slowly as map size increases
16:01:28 <andythenorth[d]> but we don't need to do the whole map
16:01:32 <andythenorth[d]> just declare a rect
16:01:59 <petern> Go for MODE 7 "sixels"
16:02:37 <petern> 78 x 75
16:03:04 <dP> are you trying to do bad apple too? ๐Ÿ˜œ
16:03:06 <petern> Given that station displays were driven my BBC Micros for a long time, that would be fitting...
16:04:12 <Samu> ah found it
16:04:22 <Samu> SetBitIterator is the new one
16:05:08 <andythenorth[d]> oh
16:05:16 <andythenorth[d]> we could reserve an area of the map for extra GUI
16:05:24 <andythenorth[d]> timetables, train departures
16:05:29 <andythenorth[d]> performance graphs
16:05:49 <andythenorth[d]> we can do an object tile set for pixels
16:06:06 <andythenorth[d]> font glyphs, emojis etc
16:06:43 <dP> stop stealing my ideas :p
16:07:46 <andythenorth[d]> ok I don't understand how to format the buttons
16:07:59 <andythenorth[d]> the original PR has no example script (and an apology for that) ๐Ÿ™‚ https://github.com/OpenTTD/OpenTTD/pull/7896
16:08:28 <andythenorth[d]> I need to configure a MakePushButtonReference instance
16:08:35 <andythenorth[d]> https://docs.openttd.org/gs-api/classGSStoryPage.html#a42a9e570fe03897aa23286577a6472bf
16:08:39 *** Wormnest has joined #openttd
16:08:47 <andythenorth[d]> but I need to populate the 2nd 8 bytes of it?
16:09:29 <andythenorth[d]> 8 bits not bytes ๐Ÿ˜„
16:11:44 <andythenorth[d]> https://cdn.discordapp.com/attachments/1008473233844097104/1066027258269151252/image.png
16:11:44 <andythenorth[d]> petern
16:11:53 <andythenorth[d]> someone might spot a mistake there
16:15:05 <andythenorth[d]> https://cdn.discordapp.com/attachments/1008473233844097104/1066028102901301298/image.png
16:15:05 <andythenorth[d]> improved it
16:15:13 <andythenorth[d]> had to put empty text in as a spacer
16:15:22 <andythenorth[d]> <span>&nbsp;</span> anyone?
16:20:28 <TallTyler> Can GS honk train/ship horns yet?
16:26:26 <petern> You awake to find yourself in a dark room.
16:36:16 <andythenorth[d]> TallTyler: seems like GSHorn was overlooked
16:36:30 <andythenorth[d]> GSVehicle.Honk
16:37:02 <andythenorth[d]> isn't there a thing in the PR template saying 'did you extend GS?' ๐Ÿ˜›
16:37:14 <andythenorth[d]> oh
16:37:34 <andythenorth[d]> we can make a synth ๐Ÿ˜›
16:37:46 <andythenorth[d]> but only one note at a time (no polyphony?)
16:38:11 <andythenorth[d]> unless we can have a command 'honk all horns in vehicle list'
16:38:16 <andythenorth[d]> then we can do chords and stuff
16:41:03 <petern> Oh no
16:41:04 <TallTyler> Oof, then we gotta expose synth note to GRF authors
16:43:12 <andythenorth[d]> wonder if there's a python midi parser
16:43:13 <andythenorth[d]> https://bitmidi.com/blue-monday-mid
16:43:31 *** bigyihsuan has joined #openttd
16:43:31 <bigyihsuan> ~~play bad apple with a gamescript~~
16:43:49 <Rubidium> just automatically generate vehicle variants for each synth note ;)
16:43:56 <andythenorth[d]> yes
16:44:03 <andythenorth[d]> wait no
16:44:21 <TonyPixel> bigyihsuan: :guillotine:
16:44:29 <andythenorth[d]> well the 'honk all thing' was about overlapping notes in same command
16:44:35 <andythenorth[d]> or multiple instruments
16:44:43 <andythenorth[d]> otherwise we get horrible delay ๐Ÿ˜›
16:46:56 <andythenorth[d]> TallTyler: I assume you're currently adding GSVehicle.Honk?
16:47:46 <glx[d]> Bad idea, it can be abused, even if it's by default limited to 1 per tick
16:47:52 <Eddi|zuHause> <andythenorth[d]> we could reserve an area of the map for extra GUI <-- isn't that basically what logic gates did over 10 years ago?
16:48:10 <andythenorth[d]> "what's old is new again"
16:48:20 <Eddi|zuHause> also. factorio.
16:49:18 <andythenorth[d]> glx[d]: abused? ๐Ÿ˜ฎ
16:49:22 <andythenorth[d]> how? ๐Ÿ˜„
16:54:48 <DorpsGek> [OpenTTD/OpenTTD] LC-Zorg commented on issue #10374: [Bug]: Auto-distributed timetabled trains leave depot in order different from timetable requirements https://github.com/OpenTTD/OpenTTD/issues/10374
16:55:19 <TallTyler> andythenorth[d]: You assume wrong ๐Ÿ˜›
16:55:27 <TallTyler> Iโ€™m not even at home
17:20:02 <LordAro> someone point Zorg at #8584
17:21:42 <Pruple> or better yet, don't.
17:22:35 <Pruple> but +1 to adding a one-click auto-separate, if it really works.
17:23:42 *** tokai has joined #openttd
17:23:43 *** ChanServ sets mode: +v tokai
17:26:11 *** Wolf01 has joined #openttd
17:30:21 *** tokai|noir has quit IRC (Ping timeout: 480 seconds)
17:30:55 <Wolf01> Hmmm, I'm looking for a diesel engine, I can't remember its model but the line was curvy and it was white with a blue stripe, similar to the V 200.0 but not that big
17:33:04 <andythenorth[d]> IRL?
17:33:10 <Wolf01> Yes, IRL
17:36:31 *** Brickblock1 has joined #openttd
17:36:31 <Brickblock1> bigyihsuan: https://youtu.be/-QhbJPPv3O4
17:37:18 <Brickblock1> Shit that was the wrong one https://youtu.be/nH2S-MV9w1Q
17:41:21 <Wolf01> It was probably a shunter, it sat for years on the yard of the station near my school and one day they decided to move it, it took them a week to start it
17:59:44 <FLHerne> Wolf01: what country/region/era?
18:02:25 <Wolf01> Italy, like 20 years ago, the engine probably was from '60s-'70s, I doubt it was italian made, probably german
18:06:39 <Eddi|zuHause> i don't know of any engine in the shape of a V200 that's smaller than the V200
18:06:52 <Eddi|zuHause> are you sure it wasn't an actual V200?
18:08:29 *** Flygon has quit IRC (Quit: A toaster's basically a soldering iron designed to toast bread)
18:11:46 <Wolf01> It looked like a big VW T1
18:12:45 <Eddi|zuHause> hm...
18:14:19 <Eddi|zuHause> doesn't ring any bells
18:15:39 <Eddi|zuHause> all shunting engines i know are more box-shaped
18:16:42 <andythenorth[d]> what does google images say?
18:18:51 <Eddi|zuHause> https://www.flickr.com/photos/145361631@N02/39281995811 <-- probably not what you mean
18:19:28 <Eddi|zuHause> andythenorth[d]: nothing that even remotely looks like the description
18:19:34 <Wolf01> Hmmm, maybe
18:20:17 <Eddi|zuHause> Wolf01: that's the east german V180
18:21:24 <Wolf01> https://upload.wikimedia.org/wikipedia/commons/thumb/a/a3/FP_220_074.jpg/200px-FP_220_074.jpg it was like this V200, and the years seem to match
18:21:30 <Wolf01> 12 May 1984: Sold to FP, Italy.
18:21:30 <Wolf01> 2003: Transferred to FER, Italy.
18:22:03 <Eddi|zuHause> so it was actually a V200
18:23:32 <Eddi|zuHause> anyway, the east german V180: https://de.wikipedia.org/wiki/DR-Baureihe_V_180 i wouldn't say it "looks like a V200"...
18:23:34 <Wolf01> But I don't remember the black paint on top
18:23:58 <Eddi|zuHause> nobody ever remembers colours correctly
18:25:03 <Wolf01> Also in pictures things seem bigger than they are, probably was even exaclty that one
18:30:18 <petern> Oh. Why did I not buy any snacks?
18:30:35 <Samu> can I re-PR #7376, please :) ^_^?
18:30:41 <Samu> i rebased
18:31:20 <Samu> got the fix ready
18:32:29 <Samu> I'll create an issue for it, with reproduceable steps, it's missing that
18:33:18 <Eddi|zuHause> i did buy snacks
18:46:34 <DorpsGek> [OpenTTD/OpenTTD] DorpsGek pushed 1 commits to master https://github.com/OpenTTD/OpenTTD/commit/5eb2e0fd3db5dd5a3b5a51b144a0ace997609ca0
18:46:35 <DorpsGek> - Update: Translations from eints (by translators)
18:51:07 *** supermop_Home_ has quit IRC (Ping timeout: 480 seconds)
18:53:54 <DorpsGek> [OpenTTD/OpenTTD] SamuXarick opened issue #10379: [Bug]: More than max_no_competitors could be created in network games https://github.com/OpenTTD/OpenTTD/issues/10379
19:35:09 <andythenorth[d]> frosch: do you have a copy of the Superlib repo from coop?
19:41:08 *** frosch has joined #openttd
19:41:08 <frosch> yes, 138 hg revsisions up to superlib v40
19:41:24 <frosch> do you need it?
19:43:00 <andythenorth[d]> maybe
19:43:20 <andythenorth[d]> I think it would be nice if the repo and history wasn't lost
19:43:44 <andythenorth[d]> it also has a full doxygen build on coop https://bundles.openttdcoop.org/superlib/push/LATEST/docs/doxygen/
19:44:01 <andythenorth[d]> I'm not really using Superlib much, but I'm relying on it to learn GS
19:44:05 <andythenorth[d]> and I probably should be using it
19:44:31 <andythenorth[d]> there are probably methods for many of the things I'm doing in primitives
20:12:40 <petern> What happened to it?
20:13:09 <andythenorth[d]> coop died
20:13:20 <andythenorth[d]> some of it is still alive, but only by luck
20:13:48 <andythenorth[d]> frosch moved the repos for opengx etc to github
20:13:55 <andythenorth[d]> the rest are....somewhere
20:16:52 <frosch> i have a copy of all repos, but so far the work for converting them exceeds the interest in them
20:17:20 <frosch> i may do the ai/gs libraries, they are probably easier
20:17:33 <andythenorth[d]> I did wonder if we could adopt Superlib
20:17:49 <andythenorth[d]> I can't be sole maintainer, it's more programming than I understand
20:17:58 <andythenorth[d]> it looks a lot more 'correct' than what I'm doing
20:18:13 <andythenorth[d]> it does a lot of validation of entities, and loop optimising and stuff
20:23:41 <andythenorth[d]> oh lea001 is in this server ๐Ÿ™‚
20:36:05 <FLHerne> who?
20:37:57 <frosch> nick translation of the bridge may have surprising results ๐Ÿ™‚
20:47:56 * LordAro hmm
20:48:11 <LordAro> superlib == zuu, so lea001 == zuu?
20:51:57 <andythenorth[d]> yes
20:53:39 <andythenorth[d]> would anyone mind approving and merging? https://github.com/OpenTTD/OpenTTD/pull/10375
20:53:49 <andythenorth[d]> I have a stack of GS related patches here now, and it makes me twitch
20:54:02 <andythenorth[d]> also the PR reduces my will to live
20:54:41 <andythenorth[d]> https://cdn.discordapp.com/attachments/1008473233844097104/1066098466675228762/image.png
20:54:41 <andythenorth[d]> this is what red errors look like to my brain
21:22:48 <DorpsGek> [OpenTTD/OpenTTD] 2TallTyler approved pull request #10375: Change: improve legibility of AI/GS errors https://github.com/OpenTTD/OpenTTD/pull/10375#pullrequestreview-1264364693
21:28:24 <andythenorth[d]> ๐Ÿ™‚
21:43:02 <DorpsGek> [OpenTTD/OpenTTD] michicc merged pull request #10375: Change: Log AI/GS Squirrel crashes in white text for readability https://github.com/OpenTTD/OpenTTD/pull/10375
21:46:23 <andythenorth[d]> \o/
21:52:56 <andythenorth[d]> petern: goes it PR? ๐Ÿ™‚ https://github.com/OpenTTD/OpenTTD/compare/master...PeterN:OpenTTD:fix-gs-prospect-type
21:53:15 <petern> Was it correct?
21:53:43 <andythenorth[d]> worked for me
21:55:51 <DorpsGek> [OpenTTD/OpenTTD] SamuXarick commented on pull request #10376: Fix: [Script] Ensure building/removing rail lines can't be backwards and allow building/removing rail lines coming from or heading to the void https://github.com/OpenTTD/OpenTTD/pull/10376#issuecomment-1398999042
22:13:41 *** keikoz has quit IRC (Ping timeout: 480 seconds)
22:25:28 *** Wolf01 has quit IRC (Quit: Once again the world is quick to bury me.)
22:27:11 <andythenorth[d]> so can GS open a vehicle window in a short way?
22:27:31 <andythenorth[d]> or do I have to walk down the full window and widget hierarchy clicking buttons?
22:27:32 <andythenorth[d]> ๐Ÿ™‚
22:32:53 <andythenorth[d]> TallTyler: WID_VV_HONK_HORN
22:32:57 <andythenorth[d]> GS supports it ๐Ÿ˜›
22:39:40 <andythenorth[d]> oh GS can only highlight widgets?
22:39:44 <andythenorth[d]> can't click them?
22:40:07 <DorpsGek> [OpenTTD/OpenTTD] SamuXarick updated pull request #8517: Codechange: Make void tiles flood edge tiles, instead of edge tiles flooding themselves https://github.com/OpenTTD/OpenTTD/pull/8517
22:44:58 <petern> https://cdn.discordapp.com/attachments/1008473233844097104/1066126219390750740/image.png
22:44:58 <petern> Does that fix this?
22:46:39 <petern> https://cdn.discordapp.com/attachments/1008473233844097104/1066126640016543845/image.png
22:46:39 <petern> Bottom corner isn't wetted unless it's fully flat.
22:47:13 <petern> (And probably other corners, I didn't check and don't think that's relevant.)
22:49:14 <andythenorth[d]> https://cdn.discordapp.com/attachments/1008473233844097104/1066127293602336868/image.png
22:49:14 <andythenorth[d]> this discrepancy is just because W is wider than E?
22:49:38 *** Wormnest has quit IRC (Ping timeout: 480 seconds)
22:49:44 <petern> Probably, you can test by making them both the same string.
22:50:27 <andythenorth[d]> https://cdn.discordapp.com/attachments/1008473233844097104/1066127598821855264/image.png
22:50:27 <andythenorth[d]> perfect
22:50:49 <andythenorth[d]> tomorrow I want to make it do something ๐Ÿ˜›
22:51:00 <andythenorth[d]> we might not have a fully scriptable UI yet though ๐Ÿ˜›
23:01:23 *** sla_ro|master has quit IRC ()
23:02:08 *** WormnestAndroid has quit IRC (Ping timeout: 481 seconds)
23:04:15 <petern> Oof, that was a stupid secret. Had to shoot 4 rapid door triggers in sequence with ... good accuracy. :/
23:04:21 <petern> I used about 80 rounds :p
23:04:30 <andythenorth[d]> was it a russian gun with poor dispersion?
23:04:32 <andythenorth[d]> oh wait
23:04:41 <andythenorth[d]> hmm Blitz - Doom mashup
23:04:57 <andythenorth[d]> 'Doom, but in Tanks'
23:07:06 <petern> Oh okay, that rocket launcher was hiding an ambush, including an archvile.
23:09:28 *** Xarick has joined #openttd
23:09:28 <Xarick> petern: yes, it should
23:15:50 <Xarick> https://cdn.discordapp.com/attachments/1008473233844097104/1066133986457440306/flood_from_void.png
23:15:50 <Xarick> petern
23:16:51 *** Samu has quit IRC (Quit: Leaving)
23:18:49 <petern> Urgh, double archvile ambush ๐Ÿ˜ฆ
23:19:14 <petern> I should play on I'm Too Young To Die.
23:20:08 <dP> andythenorth[d]: , petern your conversation looks like a MUD. Chose direction and it describes new location ๐Ÿ˜›
23:24:40 *** Wormnest has joined #openttd
23:47:06 *** HerzogDeXtEr has quit IRC (Read error: Connection reset by peer)
23:48:19 <glx[d]> andythenorth[d]: you mean https://github.com/OpenTTD/OpenTTD/pull/10360 ?
23:48:46 <petern> https://cdn.discordapp.com/attachments/1008473233844097104/1066142273437433876/image.png
23:48:46 <petern> Ah yes, the hidden switch...
23:49:08 <glx[d]> I don't see it
23:50:02 *** RatCircus has joined #openttd
23:50:02 <RatCircus> Oh, Eviternity chapter 3. Its secrets are a doozy.
23:50:07 <RatCircus> That one shoot switch sequence is mean.