IRC logs for #openttd on OFTC at 2021-03-08
⏴ go to previous day
00:09:56 *** Progman has quit IRC (Remote host closed the connection)
00:27:00 <TrueBrain> All I want to say: lol
00:31:23 <FLHerne> The whole thing is literally a bikeshed-colouring discussion, you expect useful comments?
00:33:14 <FLHerne> I think 2) and 3) are somewhat valid, the choice of windows to make brown seems pretty arbitrary
00:33:35 <FLHerne> But deferring to grf is lol, and adding more settings is extremely lol
00:44:21 <milek7> newgrf-based skins? :P
01:15:22 *** Wuzzy has quit IRC (Remote host closed the connection)
01:28:45 *** WormnestAndroid has quit IRC (Read error: Connection reset by peer)
01:28:59 *** WormnestAndroid has joined #openttd
01:53:17 *** didac has quit IRC (Remote host closed the connection)
02:06:20 <DorpsGek> [OpenTTD/OpenTTD] 2TallTyler commented on pull request #8700: Change: Recolour graph windows to brown https://git.io/JqIfI
02:29:54 *** HerzogDeXtEr has quit IRC (Read error: Connection reset by peer)
03:12:30 *** daspork has quit IRC (Server closed connection)
03:13:02 *** daspork has joined #openttd
03:19:26 *** APTX has quit IRC (Server closed connection)
03:20:04 *** Wormnest has quit IRC (Quit: Leaving)
03:49:29 *** Smedles has quit IRC (Server closed connection)
03:49:40 *** Smedles has joined #openttd
04:00:42 *** argoneus has quit IRC (Server closed connection)
04:00:47 *** argoneus has joined #openttd
04:01:41 *** debdog has quit IRC (Ping timeout: 480 seconds)
04:45:23 *** snail_UES_ has quit IRC (Quit: snail_UES_)
05:11:21 *** virtualrandomnumber has joined #openttd
05:11:49 *** virtualrandomnumber has quit IRC ()
06:14:21 *** supermop_Home has quit IRC (Ping timeout: 480 seconds)
07:19:59 *** sla_ro|master has joined #openttd
07:56:51 *** FLHerne has quit IRC (Quit: Goodbye (ZNC disconnected))
08:48:53 *** HerzogDeXtEr has joined #openttd
08:49:43 <Wolf01> Bah... developers laziness "you must purchase this app in all the app stores to enable the pro features, I did that to take advantage of the stores licensing system instead of developing my own
08:55:34 <Wolf01> Che poi spero una cosa, che lo aggiornino ad android 11 visto che l'hanno promesso, intanto mi mancano anche le patch di sicurezza più recenti
08:56:11 *** dihedral has joined #openttd
09:07:38 *** andythenorth has joined #openttd
09:36:20 *** FLHerne has joined #openttd
09:58:21 *** Ttech has quit IRC (Ping timeout: 480 seconds)
09:59:45 <Timberwolf> I ordered a new webcam last week.
10:00:29 <TrueBrain> so you too will be in fullHD!
10:01:54 <Timberwolf> All the UK listings were either scalpers going, "£80 for this basic Logitech C270" or "delivery 2022", so I ordered direct from Hong Kong.
10:02:12 <Timberwolf> Arrived 4 days later with duty paid by the manufacturer :/
10:05:14 <Timberwolf> Definitely for Logitech, even their own store has a warning along the lines of, "so... er... we thought we'd be covered by having Logitech EU SA.
10:06:49 <Timberwolf> I wonder if the prevalence of knockoffs on Amazon is sellers realising you can sell a genuine e.g. C920 with a tiny profit margin, or a copy of a C920 for about £20 less with a huge margin (because the wholesale price out of Shenzhen will be about $10)
10:08:00 <Venemo> actually it's pretty impressive that it arrived from HK in 4 days
10:09:13 <Timberwolf> Yeah, I was expected it to be 3 weeks via sea.
10:10:33 <Timberwolf> Logistics chain must have been set up by an, "aircraft are the best, they make the most money" player.
10:15:56 * Timberwolf is now imagining calling DHL customer support and getting a response of, "so Düsseldorf Steel Mill shares platforms for loading and unloading due to space constraints, and you wouldn't think that would affect the road vehicle route from Northampton Woods to London East, but..."
10:23:59 <NGC3982> i love geoguessr so much
10:35:50 <TrueBrain> so what is on the agenda today?
10:37:37 *** andythenorth has quit IRC (Quit: andythenorth)
10:44:15 <Eddi|zuHause> alright, i'll look at it
10:44:31 <Eddi|zuHause> must have missed this
10:44:39 <TrueBrain> hence the friendly reminder :)
10:52:40 <Eddi|zuHause> hm... competitor's (singular) or competitors' (plural)?
10:54:26 <DorpsGek> [OpenTTD/OpenTTD] Eddi-z updated pull request #8744: Change: Clarify what effect town interactions have https://git.io/JtFtl
10:55:39 <DorpsGek> [OpenTTD/OpenTTD] Eddi-z updated pull request #8744: Change: Clarify what effect town interactions have https://git.io/JtFtl
10:55:51 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain commented on pull request #8704: Change: Move toolbar button for cargo payment graph under industries https://git.io/JqIaO
10:55:54 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain closed pull request #8704: Change: Move toolbar button for cargo payment graph under industries https://git.io/JtSHC
10:59:19 <TrueBrain> Feature: Build train locomotive filter <- that sounds like an odd commit message
10:59:24 <TrueBrain> couldn't figure out what it did till I read the PR
10:59:39 <TrueBrain> "Feature: filter on engines only in build train window" ?
10:59:50 <TrueBrain> and maybe "Add" instead of "Feature", I guess
11:01:06 <TrueBrain> Add: filter for "engines only" when building new train
11:02:13 <Eddi|zuHause> Add: Build train window can filter for "engines only"
11:02:35 <LordAro> Eddi|zuHause: competitors' is correct, i think
11:02:57 <Eddi|zuHause> LordAro: that's what i thought as well
11:03:41 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain commented on pull request #8733: Feature: Build train locomotive filter https://git.io/JqIa6
11:04:05 <DorpsGek> [OpenTTD/OpenTTD] LordAro approved pull request #8744: Change: Clarify what effect town interactions have https://git.io/JqIaP
11:05:33 <michi_cc> TrueBrain: Do you aim at 1.11 for #8741?
11:06:15 <TrueBrain> I think we did enough for 1.11, honestly :P
11:06:50 <LordAro> well it would help mitigate the GL issues, if we can't manage to solve them
11:07:03 <TrueBrain> it would not mitigate it, sadly
11:07:06 <TrueBrain> 100ms for a draw-tick
11:07:09 <TrueBrain> even threading doesn't solve that
11:07:19 <michi_cc> Because I wondering whether I should clone that PR :)
11:07:23 <TrueBrain> the option to disable OpenGL is the best method
11:07:32 <TrueBrain> michi_cc: clone for what ;)
11:08:19 <LordAro> perhaps someone should prepare a PR for disabling opengl, for when we branch release/1.11
11:08:41 <Eddi|zuHause> does it make sense to put a driver-selector-dropdown into the game settings window?
11:08:42 <TrueBrain> you haven't looked in the PR list have you? :P
11:08:52 <Eddi|zuHause> or is that too "advanced"?
11:09:10 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain commented on issue #8790: Slowdowns when scrolling on win32-opengl video driver https://git.io/JthtA
11:09:36 <Eddi|zuHause> "video driver: [auto|sdl|sdl-opengl|...]", same for sound, music, ...?
11:10:37 <michi_cc> Eddi|zuHause: #8816, has some annoying limitations though.
11:10:41 <TrueBrain> michi_cc: I mainly ask to avoid me picking up something you are also working on :P
11:11:12 <michi_cc> TrueBrain: You did not mark #8471 it as draft.
11:11:37 <TrueBrain> michi_cc: it isn't a draft; but I wouldn't merge it for 1.11 :)
11:11:40 <TrueBrain> and we haven't branched yet :P
11:11:54 <TrueBrain> it is done, it is working, it is tested. So it should be good to go
11:12:21 <TrueBrain> (well, it needs a review, ofc, so who knows what that shows)
11:12:54 <TrueBrain> I just think it has a higher chance than normal that it break things, so we shouldn't put it in 1.11, but in 1.12 instead
11:12:58 <TrueBrain> so I cannot wait till we branch :D
11:14:34 <LordAro> what's stopping us from branch? :p
11:14:47 <TrueBrain> a few more things to do first
11:14:53 <TrueBrain> as I don't want to backport those :)
11:15:13 <TrueBrain> but that is also why I tried to understand what michi_cc was up to, but he is talking in riddles :D
11:15:23 <TrueBrain> but branching by the end of the week or something?
11:15:48 <LordAro> need to push more people to do titlegames
11:15:53 <LordAro> 2 is... disappointing
11:16:21 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain commented on pull request #8812: Add: Option to (dis-)allow accelerated video drivers. https://git.io/JqIV3
11:16:39 <TrueBrain> it was posted again on Discord and Reddit already
11:18:01 <michi_cc> I'd seriously consider including #8471. We've already broken enough stuff that one thing more won't break the camel's back which makes it a prime opportunity :D
11:18:30 <TrueBrain> michi_cc: main issue for me is that beta2 is already out of the door :P
11:18:42 <LordAro> no, the already-merged Samu PR :p
11:19:03 <TrueBrain> michi_cc: in that case, review it plz
11:19:20 <TrueBrain> and test, if you can, especially screenshots and blitter changes :D
11:19:27 <TrueBrain> the removal of ReleaseBlitterLock is a bit odd
11:20:28 <TrueBrain> owh, I do have to check bootstrap, that might be broken again
11:20:53 <spnda> TrueBrain: You can test SDL on Windows/Linux right? I've never tested the SDL2 implementation of 8813 (also would be nice to know how for the future).
11:21:17 <TrueBrain> just move the SDL2 detection line in CMakeLists.txt to outside the "NOT WIN32" block
11:21:24 <TrueBrain> and have it installed via vcpkg
11:21:32 <TrueBrain> it will pick it up on Windows just fine, and you can use it just fine
11:21:32 <spnda> oh that is quite obvious... thx
11:21:37 <TrueBrain> it really just works, without any issues
11:21:52 <TrueBrain> we just don't do it, as people got confused and were using SDL while GDI is faster in 90% of the cases
11:22:04 <spnda> Also, I noticed yesterday I can review stuff on the OpenTTD repo... is that wanted?
11:22:13 <TrueBrain> everyone can in any GitHub repo
11:22:23 <TrueBrain> only your review doesn't allow merging
11:22:38 <LordAro> it's just that an approve/request changes has no meaning :p
11:22:40 <TrueBrain> we welcome anyone with feedback, basically
11:24:04 <TrueBrain> cool, I crashed the X11 server
11:26:43 <spnda> if I just add a global find_package(SDL2) will it really automatically select the SDL2 driver?
11:27:02 <TrueBrain> no, you have to use "-v sdl" or "-v sdl-opengl" when starting OpenTTD after
11:27:10 <TrueBrain> win32 driver has priority
11:28:06 <LordAro> TrueBrain: if it has priority, why is it "locked away" in cmake then?
11:28:25 <TrueBrain> well, mostly, it bloats the binary for no good reason
11:28:36 <TrueBrain> and there were issues with compiling SDL static for a while
11:28:41 <TrueBrain> and bundling it via a DLL sucks
11:28:42 <LordAro> doesn't particularly matter for self-compiled binaries
11:28:56 <LordAro> i'm not suggesting we build official binaries with it linked in
11:29:09 <TrueBrain> absolutely; I wouldn't know who made the choice in the end
11:29:15 <TrueBrain> I can only tell you the events leading up to it :)
11:29:31 <LordAro> well it was likely you or glx ;)
11:29:51 <LordAro> or older, i suppose, if configure did the same
11:29:56 <TrueBrain> also, not having an option to get some diagnostic information from OpenTTD doesn't help
11:29:56 <TrueBrain> now we know: Windows -> win32 driver
11:30:02 <TrueBrain> otherwise .. who knows what the user had compiled :P
11:30:08 <TrueBrain> with OpenGL, this is already a bit of an issue
11:30:16 <TrueBrain> so we really should add something to give us some details on issues
11:30:24 <TrueBrain> OS, video driver, music driver, blitter, ...
11:30:27 <spnda> ayyy ok sdl2 implementation doesn't work. good to know
11:30:34 <LordAro> mm, getting some system information into the crashlog and/or console command would be an excellent help
11:31:01 <TrueBrain> I was thinking of a button that creates a "diagnostic.log" or what-ever
11:31:07 <TrueBrain> crash.log already has most information
11:31:13 <TrueBrain> so just a smaller version of that
11:31:57 <TrueBrain> currently mainly missing what GPU is installed, I think
11:32:00 <TrueBrain> that would also help now :D
11:32:04 <spnda> or just generally have a latest.log or something with all sorts of log output?
11:37:44 <michi_cc> TrueBrain: Switching blitters on win32 is broken. SwitchNewGRFBlitter ends up in VideoDriver_Win32Base::MakeWindow which tries to send a window message on the main thread that is blocked waiting on the mutex. Not sure yet if the blocking call is even needed, but I'll have to think more on that.
11:52:13 *** WormnestAndroid has quit IRC (Remote host closed the connection)
11:52:23 <TrueBrain> okay, I have an idea for the accelerated graphics thing, lets see ..
11:53:08 <DorpsGek> [OpenTTD/OpenTTD] nielsmh commented on pull request #8812: Add: Option to (dis-)allow accelerated video drivers. https://git.io/JqIr6
11:54:05 *** WormnestAndroid has joined #openttd
11:54:28 <DorpsGek> [OpenTTD/OpenTTD] 2TallTyler commented on pull request #8704: Change: Move toolbar button for cargo payment graph under industries https://git.io/JqIr9
12:07:50 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain commented on pull request #8812: Add: Option to (dis-)allow accelerated video drivers. https://git.io/JqIo2
12:09:54 <TrueBrain> hmm ... no, that is also not showing what I expected
12:10:08 <TrueBrain> owh, I amended .. oops
12:10:16 <TrueBrain> well, you get the idea :D
12:11:32 <michi_cc> Yeah, I think that should be good enough.
12:11:46 <TrueBrain> just a simple message when it fails, and disabling it
12:11:53 <TrueBrain> it is not pretty, just .. "it works" :P
12:12:33 <TrueBrain> want me to open a new PR, or overwrite your branch, or PR against yours?
12:13:05 <TrueBrain> I also renamed it to "Hardware acceleration" instead of "Accelerated drawing"; not sure that is a good idea, but it sounded a bit better in my head :D
12:13:42 <LordAro> hardware acceleration is the more usual term
12:13:57 <Timberwolf> Yeah, makes more sense to me as to what it is.
12:14:05 <spnda> I cannot for the life of me get VS to just append "-v sdl" when debugging... Also yes, hardware acceleration is better
12:14:19 <TrueBrain> spnda: I uses MSYS to start OpenTTD for that reason
12:14:22 <TrueBrain> I do not understand MSVC
12:14:25 <TrueBrain> VSCode makes it a bit easier
12:14:54 <TrueBrain> for debugging as in: tracing crashes, I use VSCode
12:15:00 <TrueBrain> which has a simple JSON file to define how OpenTTD is started
12:15:13 <spnda> well I've never managed to get a single cmake project running and building properly without VS so... up for the ride
12:15:51 <TrueBrain> if you have MSVC installed and use vcpkg, it is as easy as: mkdir build && cd build && cmake .. && cmake --build .
12:16:14 <spnda> nope that has never worked as it just doesn't want to accept that vcpkg exists
12:16:35 <TrueBrain> you do need to have vcpkg installed correctly, yes :)
12:16:49 <TrueBrain> the bootstrap "just worked" for me
12:16:59 <spnda> i've done bootstrap and vcpkg integrate
12:17:48 <TrueBrain> but I try to stay as far away as possible from MSVC, so that is about as much as I can be helpful :D
12:21:34 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain opened pull request #8819: Add: Option to (dis-)allow accelerated video drivers. https://git.io/JqIKE
12:21:36 <TrueBrain> can't have enough PRs doing the same :P
12:22:26 <spnda> I love how CMake is like "link_package(): xx not found;" and the line after its like "Manually specified variables were not used: CMAKE_TOOLCHAIN_FILE". Ah thanks that's stupid
12:23:57 <TrueBrain> remember that some things need a clean build folder
12:24:01 <TrueBrain> I believe the toolchain is one of them
12:24:08 <TrueBrain> it can only be set when the build folder is empty, basically
12:24:20 <TrueBrain> things like CXXFLAGS etc are the same
12:26:25 *** gelignite has joined #openttd
12:28:35 <TrueBrain> meh, bootstrap also crashes with gameloop-thread :D
12:29:38 <TrueBrain> owh, yeah, it will start 2 game-threads
12:29:40 <TrueBrain> that sounds unneeded
12:33:59 <spnda> ah, clean build folder worked. I learn something everyday
12:35:22 <TrueBrain> CMake assumes the building env doesn't change, basically, so it doesn't retest that every time
12:35:42 <TrueBrain> this is also important if you go from Ubuntu 18.04 to Ubuntu 20.04, for example
12:42:19 <michi_cc> Haven't looked at it yet, but maybe just run bootstrap non-threaded?
12:42:39 <TrueBrain> nah, the solution was to clean up the thread correctly :)
12:42:49 <TrueBrain> I was just leaving the thread to die on its own, instead of joining it in the main thread
12:42:56 <TrueBrain> it was just lazy programming :P
12:43:07 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain updated pull request #8741: Move GameLoop into a thread (and no longer run Paint in a thread) https://git.io/JtdUz
12:43:11 <TrueBrain> rebased and with working bootstrap ^^ :)
12:43:33 <spnda> "No such video driver: sdl-opengl".... hm now I'm confused
12:43:59 <TrueBrain> you moved "find_package(SDL2)" in CMakeLists.txt outside the if statements?
12:44:06 <TrueBrain> cmake was detecting SDL2?
12:45:41 <spnda> SDL2 found -- -DWITH_SDL2 -- SDL2::SDL2 and rebuilt aswell
12:45:59 <TrueBrain> michi_cc: ah, the reason I did not pick up on the blitter change, is that it works for OpenGL :D Hihi :)
12:46:06 <TrueBrain> spnda: yeah, that should be enough
12:46:18 <TrueBrain> after building, in Debug is openttd.exe
12:46:44 <TrueBrain> sadly on Windows it is hard to see the output of Debug/openttd.exe -h :D
12:47:39 <michi_cc> I would've PR'ed hat as it is always good even for no threads, but I found some OSX bugs :D
12:48:05 <TrueBrain> and down the rabbithole he goes!
12:48:14 <TrueBrain> I will integrate that change in my PR :)
12:48:45 <spnda> huh running the same exe from the command line works
12:51:25 <TrueBrain> michi_cc: doesn't a similar problem happen while in fullscreen?
12:51:31 <TrueBrain> as that appears to always create a new window?
12:51:43 <michi_cc> No, because that happens on the main thread in the InputLoop.
12:51:52 <TrueBrain> also during blitter change?
12:52:11 <michi_cc> It is only the blitter reload as that is done via switching game modes on closing the settings window, which is handled in the game loop.
12:52:27 <TrueBrain> this->MakeWindow(_fullscreen, false)
12:52:58 <TrueBrain> which runs some code in MakeWindow
12:53:22 <TrueBrain> like ChangeDisplaySettings
12:53:23 <michi_cc> MakeWindow is totally fine if executed on the thread that initially created the window. Anything that is triggered via InputLoop (i.e. a mouse click or key press) runs on the main thread.
12:53:39 <TrueBrain> the blitter change is done via the game-thread
12:53:45 <TrueBrain> which runs MakeWindow with _fullscreen
12:53:47 <TrueBrain> which always calls ChangeDisplaySettings
12:53:53 <TrueBrain> so I was wondering if that is fine to be called from the game-thread
12:54:03 <michi_cc> ChangeDisplaySettings doesn't interact with the window, thus is fine.
12:54:20 <TrueBrain> I would not expected that from the function name :P
12:54:41 <michi_cc> Do you see any reference to main_wnd there?
12:55:07 <TrueBrain> nope; but I don't understand most of the Win32 functions :P
12:55:51 <TrueBrain> so fullscreen adjusts the whole display
12:55:57 <TrueBrain> makes sense, I guess
12:56:02 <TrueBrain> just didn't expect that :D
12:56:39 <TrueBrain> okay, one more flow: if making the fullscreen fails to change (from 8bpp to 32bpp I guess?), it can call MakeWindow again
12:57:10 <TrueBrain> should that include "resize" again?
12:57:40 <TrueBrain> it is a very unlikely flow, but okay
12:59:33 <TrueBrain> no, if that happens, more things go wrong
12:59:42 <TrueBrain> as it will also destroy the main window
13:00:02 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain updated pull request #8741: Move GameLoop into a thread (and no longer run Paint in a thread) https://git.io/JtdUz
13:00:25 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain updated pull request #8741: Move GameLoop into a thread (and no longer run Paint in a thread) https://git.io/JtdUz
13:00:47 <TrueBrain> when-ever you are back from your OSX rabbit-hole, something to look at michi_cc :D No clue what to do with it, honestly
13:08:29 <TrueBrain> I am guessing it is mostly code from the time not all screens could do 32bpp in fullscreen ..
13:08:35 <TrueBrain> not sure that is still a possibility :D
13:12:31 <michi_cc> Okay, that whole SwitchNewGRFBlitter() in the game loop thing is a problem for OpenGL. :( Different thread == GL context problems.
13:12:59 <TrueBrain> so we need to delay it, basically
13:13:17 <TrueBrain> not completely unexpected that some parts of our code assumes these things :D
13:13:49 <michi_cc> You'll not notice it with default settings as the 40bpp-anim blitter will be used for everything, thus no switching.
13:14:41 <michi_cc> For Win32 and macOS, rebinding the context isn't that big of a problem. Did't look at SDL for that yet.
13:14:49 <TrueBrain> a dirty way to solve it would be to add a queue between the two threads, but .. not sure that is the right way to go
13:15:03 <TrueBrain> why would you want to rebind it?
13:15:22 <TrueBrain> rebind go game-thread, do what is needed, bind it back to main-thread?
13:20:58 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain opened pull request #8820: Fix #8784: using alt+enter didn't update the fullscreen toggle visibly https://git.io/JqIXG
13:22:16 <spnda> im honestly so confused right now.... Is there no other way of forcing sdl videodriver?
13:22:35 <TrueBrain> remove the windows drivers :P
13:22:46 <TrueBrain> but if using parameters is too difficult, that is another option :)
13:22:51 <TrueBrain> changing the priorities, also works
13:23:03 <TrueBrain> but you really have to wonder why using parameters doesn't work
13:23:10 <TrueBrain> sounds like the wrong executable is used?
13:23:37 <michi_cc> Okay, rebinding is a bigger problem than I though. At least for Win32, to bind you need to unbind on the other thread first. At we absolutely do not want to constantly unbind/rebind on the main thread.
13:23:38 <spnda> using vscode debugging the game starts and is like "sdl-opengl not found" and if I open that exact same executable from command line with "-v sdl-opengl" it works fine.
13:23:45 <spnda> checked with processexplorer for details, all the same
13:24:14 <TrueBrain> "args": ["-r 1024x768", "-ddriver=4", "-snull", "-mnull"],
13:24:20 <TrueBrain> example of my vscode args
13:24:33 <TrueBrain> "-vsdl-opengl" "just works" for me
13:25:20 <TrueBrain> funny how it is not valid JSON :D
13:25:56 <spnda> well yeah, its got comments
13:26:07 <spnda> they really should standardize commented JSON
13:26:28 <spnda> not just "do as you wish" kinda thing, where some parsers support it while others don't
13:27:09 <spnda> ye I love using yaml for spigot plugins or my Dart projects, much nicer
13:27:25 <TrueBrain> as YAML is a superset of JSON, it can read those files just fine :)
13:27:37 <TrueBrain> it is also what I think VSCode is doing :P Just reading it as YAML :D
13:28:05 <TrueBrain> michi_cc: I think we can just queue a signal that AfterBlitterChange needs to be called
13:28:08 <TrueBrain> and call it next draw-tick
13:30:33 *** snail_UES_ has joined #openttd
13:31:23 <TrueBrain> the thing I can imagine going wrong if we do, is if for some reason there is a blitter change AND a screenshot request in the same game-tick
13:31:40 <TrueBrain> as _screen won't be prepared until AfterBlitterChange is called
13:31:44 <michi_cc> Expect for that tiny problem that ::ChangeDisplaySettings could in theory fail, which makes AfterBlitterChange return false, which makes SwitchNewGRFBlitter not restore the old blitter.
13:31:56 <TrueBrain> the old blitter can be in the signal
13:32:16 <TrueBrain> _blitter_changed = old_blitter;
13:32:53 <TrueBrain> this code is so impossible to trace .. I was trying to get a feel for where SwitchNewGRFBlitter is called from
13:32:58 <TrueBrain> that is .. euh .. yeah .. difficult :D
13:33:59 <michi_cc> Hmm, the blitter things definitly needs to work before merging something. The easiest way to trigger blitter re-selection is to change full animation for non-OpenGL.
13:34:56 <michi_cc> For OpenGL, you basically set 8bppsupport in the config to system or so, start with opengfx and then switch to zbase. On default settings, you'll always use 4bpp-anim and never switch.
13:35:15 <TrueBrain> it just works for SDL :P :P
13:35:57 <spnda> TrueBrain: Turns out my working directory was wrong or something, it works now
13:36:06 <michi_cc> It works for Win32 (without OpenGL) too, if that singular "don't set window size again" patch is applied.
13:38:19 <spnda> Also, turns out my SDL function was in fact working, just SDL was returning crappy data
13:39:03 <spnda> Returing 144Hz and 60Hz for each, eventhough its 144Hz and 72Hz... interesting
13:41:57 <Eddi|zuHause> 4bpp? are we back to CGA or something? :p
13:42:16 <TrueBrain> michi_cc: just to confirm you see the same: Full Animation is done from main-thread, and as such fine, right?
13:42:50 <TrueBrain> similar to language selection
13:43:03 <michi_cc> It should, unless there's some way to cause that not via the input loop (which I don't think there is).
13:43:18 <TrueBrain> so GfxLoadSprites is the only real issue, k
13:43:45 <michi_cc> In my super hacky test, delaying blitter change on Win32 seems to work.
13:45:38 <spnda> TrueBrain what are the different driver=x available?
13:45:53 <TrueBrain> what do you mean, sorry?
13:46:22 <spnda> command line arguments you posted include "-ddriver=4" for example. What does the 4 mean and what other options are there?
13:47:13 <TrueBrain> but 0 is not useful :D
13:51:06 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain updated pull request #8741: Move GameLoop into a thread (and no longer run Paint in a thread) https://git.io/JtdUz
13:51:07 <TrueBrain> michi_cc: try this ^^
13:54:57 <spnda> TrueBrain: What extensions/configurations do you have so that the VSCode "IntelliSense" actually works and isnt a pile of crap?
13:57:31 <michi_cc> TrueBrain: Just to be sure, I would actually pass the resize param on to MakeWindow after the ChangeDisplaySettings calls.
13:57:57 <TrueBrain> it is destroying the window anway :P
13:58:33 <michi_cc> No, it will only destroy if the fullscreen state changed.
13:58:47 <michi_cc> It will not destory if we just want to change bpp from 8 to 32.
13:59:04 <TrueBrain> that MakeWindow is called with "false"
13:59:12 <TrueBrain> while in if (full_screen)
13:59:18 <TrueBrain> so it always changes the fullscreen mode, not?
13:59:26 <TrueBrain> or are we talking about different MakeWindow calls?
13:59:59 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain updated pull request #8741: Move GameLoop into a thread (and no longer run Paint in a thread) https://git.io/JtdUz
14:00:21 <TrueBrain> either way, added the "resize", just as that is nicer I think
14:00:30 <TrueBrain> so you can see if we talked about the same MakeWindow :D
14:00:35 <michi_cc> Oops, of course, so if that one is triggered by a blitter change, it's game over.
14:00:56 <michi_cc> Give me a few minutes and I'll test the blitter thing.
14:01:25 <TrueBrain> I now do the blitter change inside all the locks, so nothing else should be doing anything with the blitter
14:01:29 <TrueBrain> not sure that is really needed
14:01:36 <TrueBrain> but .. this for sure shouldn't give threading issues :P
14:02:11 <TrueBrain> and it now switches completely, delayed .. so that even means that if a screenshot would be made in a game-tick before the next draw-tick, it uses the old blitter
14:03:38 <TrueBrain> hmm ... DoPaletteAnimations via GfxInitPalettes might be a problem
14:04:50 <TrueBrain> no, shouldn't be any issue
14:04:51 *** gelignite has quit IRC (Quit: Stay safe!)
14:05:26 <TrueBrain> it might do a palette animation on the old blitter, where normally it would have done it on the new
14:06:24 <TrueBrain> right, extreme testing ... 1 frame per second
14:09:34 <TrueBrain> and .. crash! :D (when going from 8bpp to 32bpp)
14:17:30 <TrueBrain> okay, that makes sense that it crashes
14:17:40 <TrueBrain> funny, how the code actually works, and how I assumed it was working :D
14:17:52 *** supermop_Home has joined #openttd
14:18:06 <spnda> uh, sdl2_opengl_v.cpp includes <SDL.h>, eventhough using vcpkg SDL would be at <SDL2/SDL.h>, intended?
14:18:31 <TrueBrain> spnda: only either SDL1 or SDL2 is in the search path
14:18:36 <TrueBrain> so we include <SDL.h>
14:18:41 <TrueBrain> and let CMake pick the right include-folder
14:18:46 <TrueBrain> no clue if that is intended
14:18:51 <TrueBrain> but that is how SDL2 driver is created
14:18:56 <spnda> hmm ok, would just imagine the SDL2 implementation to directly reference SDL2/SDL.h
14:19:08 <TrueBrain> for some reason the choice is made to not allow SDL1 and SDL2 to coexist
14:19:13 <TrueBrain> no clue what the fundaments of that is :)
14:19:35 <spnda> cause technically that would allow the game to use the SDL2 driver, using SDL2 functions but it *COULD* be SDL1 loaded, invalidating half the functions and most likely leading to a crash
14:19:44 <michi_cc> Bad commit message: "Fix #8808: [OSX, OpenGL] Crash on switching blitters due to double-mapping the video buffer." Any better ideas?
14:20:17 <TrueBrain> michi_cc: depends on the content, but reads fine
14:20:29 <TrueBrain> spnda: no? SDL2 is linked to the binary .. so it cannot load SDL1
14:20:37 <TrueBrain> otherwise linking would fail
14:21:26 <TrueBrain> michi_cc: turns out, delaying the blitter change has some nasty corner cases. When going from 32bpp to 8bpp, there really isn't any problem. All sprites etc can be loaded already, so everything is well. The other way around, however, can mean that the 32bpp sprites couldn't be loaded yet (this is done correctly)
14:21:35 <TrueBrain> after loading the 32bpp blitter, it needs to invalidate everything and that works too
14:21:37 <spnda> ah true, still seems like a weird way of doing things
14:21:51 <TrueBrain> spnda: if you are looking for weird, I am sure you find many more things in the OpenTTD source :)
14:22:12 <spnda> imo should somehow ommit that driver completely if sdl1 is wanted, but yeah, seen a lot of weird stuff
14:23:00 <TrueBrain> michi_cc: but it seems the only safe way is to reload all sprites twice: once when the change is requested, and once when it is really executed
14:23:09 <TrueBrain> as depending on where you come from, the first time might already been enough
14:23:13 <TrueBrain> but sometimes the second is needed :P
14:23:45 <michi_cc> Eh, who cares, just reload until the computer is reloading itself :D
14:24:15 <TrueBrain> they are very rare events, so it shouldn't be any problem
14:25:39 <TrueBrain> my code now reloads the blitter 2 seconds after requested, while everything continues as normal .. that is fun to see :D
14:27:12 <TrueBrain> now I see graphical glitches with zBase .. but no clue if that is my code, or that is just what it is :P
14:27:50 <TrueBrain> mostly, sea is not animating
14:28:13 <TrueBrain> and the black lines between tiles are ... not consistently there
14:29:37 <DorpsGek> [OpenTTD/OpenTTD] michicc opened pull request #8821: Fix 937d60f2: Broken company colours for 40bpp-blitter. https://git.io/JqISc
14:29:40 <DorpsGek> [OpenTTD/OpenTTD] michicc opened pull request #8822: Fix #8808: Crash on switching blitters due to double-mapping the video buffer https://git.io/JqISC
14:30:09 <michi_cc> TrueBrain: Maybe you see #8821.
14:30:15 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain updated pull request #8741: Move GameLoop into a thread (and no longer run Paint in a thread) https://git.io/JtdUz
14:30:34 <TrueBrain> and I don't use OpenGL during development :P
14:30:41 <TrueBrain> (WSL2 doesn't allow me)
14:30:47 <michi_cc> Okay, then you don't see #8821 :)
14:31:03 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain approved pull request #8821: Fix 937d60f2: Broken company colours for 40bpp-blitter. https://git.io/JqISu
14:32:18 <TrueBrain> with my PR, the first change in #8822 shouldn't be needed anymore :P
14:32:32 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain approved pull request #8822: Fix #8808: Crash on switching blitters due to double-mapping the video buffer https://git.io/JqISP
14:32:56 <TrueBrain> and I pushed an update for my PR that fixes crashes when going from 8bpp to 32bpp .. now time to try OpenGL :D
14:35:59 <TrueBrain> owh, joy, the lovely osfile(fh) & FOPEN issue ..
14:36:47 <TrueBrain> yeah, can't test this on Windows
14:37:03 <TrueBrain> I really have to check out what the fuck is causing that error
14:38:36 <TrueBrain> DEBUG() is causing it now
14:39:10 <TrueBrain> owh, this might be my mistake :D Might have forgotten to set change_blitter to nullptr :D
14:40:26 <TrueBrain> okay .. so that might also give some clues for the other crashes, I guess
14:41:45 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain updated pull request #8741: Move GameLoop into a thread (and no longer run Paint in a thread) https://git.io/JtdUz
14:42:24 <DorpsGek> [OpenTTD/OpenTTD] michicc approved pull request #8819: Add: Option to (dis-)allow accelerated video drivers. https://git.io/JqI9c
14:42:43 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain merged pull request #8819: Add: Option to (dis-)allow accelerated video drivers. https://git.io/JqIKE
14:42:49 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain closed pull request #8812: Add: Option to (dis-)allow accelerated video drivers. https://git.io/JqTSV
14:43:03 <TrueBrain> glx: I closed PRs with merging of a PR! :P
14:43:12 <DorpsGek> [OpenTTD/OpenTTD] michicc merged pull request #8821: Fix 937d60f2: Broken company colours for 40bpp-blitter. https://git.io/JqISc
14:43:27 <DorpsGek> [OpenTTD/OpenTTD] michicc merged pull request #8822: Fix #8808: Crash on switching blitters due to double-mapping the video buffer https://git.io/JqISC
14:43:30 <DorpsGek> [OpenTTD/OpenTTD] michicc closed issue #8808: Die with failed assertion on MacOSX with cocoa-opengl driver https://git.io/JqUHv
14:44:20 <michi_cc> TrueBrain: Could you rebase #8741 again so I can properly test all OSX variations?
14:44:36 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain merged pull request #8744: Change: Clarify what effect town interactions have https://git.io/JtFtl
14:45:45 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain updated pull request #8741: Move GameLoop into a thread (and no longer run Paint in a thread) https://git.io/JtdUz
14:46:29 <TrueBrain> so you can spot any issues in the in-between
14:47:19 <TrueBrain> okay, 1.11 milestone is getting small now ..
14:47:29 <TrueBrain> should be doable to fix most this week
14:47:36 <TrueBrain> some are just boring as fuck .. like a Desktop file
14:51:24 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain commented on issue #8814: Assertion failed downloading content from BaNaNaS. https://git.io/JqTdZ
14:57:26 <spnda> Actually, I think swapping refresh rate and currency could be better, or?
14:58:22 <TrueBrain> I think we should have a single "Display", with resolution, fullscreen, GPU and refresh below it
14:58:48 <spnda> I guess I'll put that in my PR, shall I?
14:59:34 <TrueBrain> but, I am just one voice :)
15:01:08 <spnda> I'll see how it looks before saying anything
15:02:43 <TrueBrain> the place OpenTTD crashes in the assertion issue is just weird.. everything is valid
15:03:32 <spnda> ye thought so too. One thing I found online was that the path might have some issues with the function, but don't quote me on that
15:03:53 <TrueBrain> well, I also have this with libpng
15:04:10 <TrueBrain> so I am wondering if there is just not something going wrong with vcpkg, debug builds, etc
15:04:59 <TrueBrain> no, it never enters zlib
15:05:10 <TrueBrain> libpng16d.dll, and then ucrtbased.dll
15:05:47 <TrueBrain> spnda: I wonder if it crashes for you too, if you make a "whole map" screenshot
15:07:08 <TrueBrain> maybe because they are debug libraries, they do more checking, and that fails somehow?
15:07:18 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain commented on issue #8814: Assertion failed downloading content from BaNaNaS. https://git.io/JqTdZ
15:08:04 <spnda> yes it does crash on whole map screenshots
15:09:04 <TrueBrain> normal viewports sometimes work for me
15:09:09 <TrueBrain> depending on how big I have my window
15:09:48 <spnda> btw, just had the idea of putting "Hardware acceleration" underneath the refresh rate dropdown, as thats basically something that improves the refresh rate, right?
15:10:02 <LordAro> spnda: seems reasonable
15:10:24 <TrueBrain> "improves refresh rate" is a weird way of putting it, but it makes it more likely you reach the refresh rate if you are not :)
15:10:38 <TrueBrain> or it can just make sure you never reach it
15:10:40 <TrueBrain> depending on your GPU
15:11:50 <spnda> also did I just break my opengl drivers? they're reporting as "OpenGL shading language version: 1.50 NVIDIA via Cg compiler"
15:25:38 <spnda> im so sorry github for all these things you need to run
15:26:57 <TrueBrain> lines are a bit weird now spnda
15:27:09 <TrueBrain> like refresh-rate and hardware acceleration are the same thing
15:27:34 <TrueBrain> similar with screen resolution
15:27:39 <TrueBrain> like full-screen is part of the screen resolution
15:27:49 <TrueBrain> would it be possible to have the lines from screen resolution to go below the dropdown
15:27:55 <TrueBrain> between dropdown and fullscreen?
15:27:59 <TrueBrain> same for refresh rate
15:29:00 <spnda> TrueBrain: You mean those border lines?
15:29:18 <TrueBrain> how it is shown now, "Hardware Acceleration" is part of "Display refresh rate"
15:29:41 <TrueBrain> maybe just removing the lines works too btw
15:29:56 <spnda> well that was my idea from earlier
15:29:58 <spnda> "btw, just had the idea of putting "Hardware acceleration" underneath the refresh rate dropdown, as thats basically something that improves the refresh rate, right?"
15:30:14 <TrueBrain> there is a difference between saying words and seeing what you mean :)
15:30:23 *** Flygon has quit IRC (Quit: A toaster's basically a soldering iron designed to toast bread)
15:30:42 <Wuzzy> OpenSFX looks feature-complete now. 1.0.0 release soon? 🙂
15:30:48 <Wuzzy> (but the date in changelog.txt needs to be updated to include the release date)
15:32:47 <TrueBrain> spnda: but to be clear, what I tried to say earlier: hardware acceleration influences the maximum amount of refresh rate you can reach, but has otherwise nothing to do with refresh rate. Which is similar that lower screen resolutions make it more likely you reach higher refresh rates .. but those shouldn't be linked together either :D
15:33:10 <LordAro> TrueBrain: you're being overly pedantic :p
15:33:17 <TrueBrain> LordAro: I disagree
15:33:25 <TrueBrain> for sure it is bikeshedding
15:33:31 <TrueBrain> but the lines now just look weird
15:35:09 <spnda> To that, using my GPU I can most likely get much more constant frametimes resulting in smoother (possibly slightly higher) framerates. Also, some shitty CPUs could possibly not handle writing so many sprites and might get much lower average fps than your average new GPU. So yes, I totally think hardware acceleration is for FPS, so its also part of the refresh rate.
15:36:10 <TrueBrain> using hardware acceleration also influences the max fast-forward speed
15:36:19 <TrueBrain> that those things influence each other, doesn't make them related
15:36:51 <spnda> and does hardware acceleration have anything to do with resolution?
15:36:53 <TrueBrain> to be clear, I don't mind it being below refresh rate; just the lines make it looks weird :)
15:37:10 <TrueBrain> what master currently has, is also weird
15:37:34 <TrueBrain> so I wonder what happens if you either remove the lines, or bring them back above the two toggles
15:37:38 <TrueBrain> might improve the looks of it
15:37:53 <spnda> I personally think what I have is currently the best solution, as it will look just as good if other options like video driver are implemented beneath.
15:37:59 <spnda> but yes, I'll try and see if that's possible
15:40:31 <supermop_Home> have any of the german's here had any experience with Auer toolboxes?
15:43:00 *** Markk_ is now known as Markk
15:45:30 <michi_cc> TrueBrain: I think there's some kind of memory corruption when switching blitters in the PR, as I can make it crash in random places during painting with nonsense variable values.
15:46:47 <TrueBrain> I was afraid the blitter being a problem .. as I mentioned, that I could remove the blitter-locks without (code-wise) issue was already weird.
15:48:06 <TrueBrain> seems we need to carve the blitter stuff out a bit more before this threading works ..
15:48:26 <TrueBrain> but atm I cannot think of a reason why there would be memory corruption as result
15:48:47 <TrueBrain> these flows through the code became so impossible
15:49:06 <michi_cc> I think I can reproduce the problem, so let me check in master first.
15:49:16 <TrueBrain> that is always a nice thing to do :D
15:49:56 <michi_cc> Oh, and you forgot to assign this->is_game_threaded in VideoDriver_Win32GDI::Start.
15:50:11 <TrueBrain> ah, yes, you have 2 Starts there :D
15:51:04 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain updated pull request #8741: Move GameLoop into a thread (and no longer run Paint in a thread) https://git.io/JtdUz
15:52:01 <DorpsGek> [OpenTTD/OpenTTD] miltschek opened issue #8823: Linking error fontconfig on Ubuntu, dedicated server https://git.io/JqIFr
15:53:16 <DorpsGek> [OpenTTD/OpenTTD] LordAro commented on issue #8823: Linking error fontconfig on Ubuntu, dedicated server https://git.io/JqIFr
15:54:32 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain commented on issue #8823: Linking error fontconfig on Ubuntu, dedicated server https://git.io/JqIFr
15:57:06 <DorpsGek> [OpenTTD/OpenTTD] LordAro approved pull request #8820: Fix #8784: using alt+enter didn't update the fullscreen toggle visibly https://git.io/JqIb3
15:58:03 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain merged pull request #8820: Fix #8784: using alt+enter didn't update the fullscreen toggle visibly https://git.io/JqIXG
15:58:06 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain closed issue #8784: Alt-Enter to make OpenTTD fullscreen desyncs actual fullscreen state from toggle in Game Options https://git.io/JtpHd
15:58:36 <DorpsGek> [OpenTTD/OpenTTD] LordAro approved pull request #8818: Fix: keep NewGRF order for object class sorting https://git.io/JqIbR
15:59:25 <TrueBrain> happy you reviewed that LordAro ; I couldn't make heads nor tails from it :P
15:59:41 <LordAro> most of it is just s/ObjectClass/ObjectClassID/
16:00:47 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain merged pull request #8818: Fix: keep NewGRF order for object class sorting https://git.io/Jqk6R
16:00:50 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain closed issue #8817: "Place Objects" menu sorts objects alphabetically even when there are no filter string provided. https://git.io/JqkJ5
16:01:20 <michi_cc> TrueBrain: What was your reason that RealChangeBlitter basically does GfxLoadSprites instead of CheckBlitter?
16:04:04 <TrueBrain> michi_cc: because how I read it, CheckBlitter does a small subset of GfxLoadSprites because of the places it is called from
16:04:10 <TrueBrain> but doing everything doesn't hurt
16:04:15 <TrueBrain> I can be wrong, ofc
16:04:27 <michi_cc> It does hurt very much if you have e.g. station NewGRFs active.
16:05:14 <TrueBrain> I was doing that under the assumption those are rare events
16:05:19 <TrueBrain> that a player only does once or twice a month
16:05:36 <michi_cc> I think after GfxInitSpriteMem/LoadSpriteTables you'd have to call ReloadNewGRFData again, and that seems to be quite evil.
16:05:51 <TrueBrain> yeah .. in general I think this is just not right
16:05:55 <michi_cc> Hurt means complete crash.
16:06:02 <TrueBrain> owh, crash is never good :P
16:06:26 <TrueBrain> but I really need to understand the code better to work on this, honestly
16:06:35 <TrueBrain> and it is just a bit of a mess
16:10:24 <TrueBrain> these are moments you wish we already had coroutines
16:10:30 <TrueBrain> or what-ever you want to call them
16:11:06 <TrueBrain> michi_cc: the other dirty solution is to lock the game-thread when requesting the switch
16:11:12 <TrueBrain> wait for the draw-tick to happen
16:11:15 <TrueBrain> and unlock the game-thread again
16:11:25 <TrueBrain> that will not change anything about the current flow
16:11:28 <TrueBrain> so should "just work"
16:11:32 <TrueBrain> just .. dirty as fuck
16:12:16 <spnda> Can I align children in a Nwidget(NWID_HORIZONTAL) to the right, or end, of the widget?
16:14:00 <spnda> I only know that if there's two children, the spacing inbetween will be the largest space between all of them
16:14:08 <spnda> So I could hack my way around it with a empty string on the left side
16:14:34 <michi_cc> Now on to testing OSX specifically.
16:14:50 <TrueBrain> spnda: I think others do that, with a SPACER on the left
16:15:13 <TrueBrain> michi_cc: when I did that, as I had that initially, I tihnk it crashed when I went from 8bpp to zBase
16:15:36 <michi_cc> Seems to work for me with win32.
16:16:08 <TrueBrain> I will test it in a bit too :D
16:16:29 *** Progman has joined #openttd
16:16:54 *** gelignite has joined #openttd
16:17:02 <spnda> ok spacer works but the spacing is actually not maximum, its just 0 it seems...
16:17:41 <TrueBrain> SetMinimalSize(1, 0)
16:17:52 <spnda> honestly still amazed that this game got a nestedwidget system
16:18:45 <TrueBrain> I think it is a lot cleaner for sure, yes :)
16:24:00 <TrueBrain> I like yours a lot more
16:24:08 <TrueBrain> (we are having a conversation on 2 chat applications, it is so lovely :P)
16:24:20 <spnda> lol, I love how you copy the things over to the other one
16:24:46 <TrueBrain> one is publicly indexed, the other is not ;)
16:28:46 <spnda> Could it be that win32-opengl is running OpenGL 1.5?
16:30:42 <michi_cc> No, it's not running OpenGL 1.5. It might run 1.5 + various extensions if for whatever reason your driver can't do real 3.2. It won't run on pure 1.5.
16:31:46 <spnda> it shows "OpenGL driver: bla bla bla (3.2.0 NVIDIA 461.40)" and "OpenGL shading language version: 1.50 NVIDIA via Cg compiler". Like there's no reason this card shouldn't be able to do 4.6 and I think it showed 4.6 / 4.60 when using sdl-opengl
16:33:05 <TrueBrain> michi_cc: you are right, I cannot get it to crash with your change
16:33:26 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain updated pull request #8741: Move GameLoop into a thread (and no longer run Paint in a thread) https://git.io/JtdUz
16:33:33 <TrueBrain> it is still code I am widely unsure of, which doesn't happen a lot :P
16:33:48 <michi_cc> OTTD is using 3.2, exactly as intended. SDL might pick a context that is 3.2 or higher, but higher OpenGL versions only mean more guaranteed features, not that anything runs faster or aynthing.
16:34:02 <michi_cc> There's nothing in OpenGL 4.6 that would benefit OTTD.
16:34:17 <spnda> yes, 3 is high enough. was just shocked by 1.50
16:35:04 <michi_cc> GLSL version numbers are not identical to GL version numbers (at least they were, they skipped some versions to make them identical for now).
16:40:59 *** andythenorth has joined #openttd
16:44:18 <TrueBrain> not your fault spnda
16:44:43 <TrueBrain> it is just something stupid (my opinion) what OpenTTD does :D
16:46:19 <LordAro> TrueBrain: tick "hide whitespace changes"
16:46:47 <TrueBrain> LordAro: oooooeeeeehhhhh
16:46:55 <TrueBrain> does mean I am going to miss people screwing up whitespaces
16:47:14 <TrueBrain> sometimes GitHub show whitespace changes nicely
16:47:16 <TrueBrain> sometimes it doesn't
16:47:19 <TrueBrain> no clue when it does which yet :P
16:52:34 *** andythenorth has quit IRC (Quit: andythenorth)
16:55:00 <TrueBrain> no clue why my SDL things my displays are at 0 Hz :D
16:55:15 *** nnyby has quit IRC (Remote host closed the connection)
16:57:29 <TrueBrain> spnda: rule of thumb: if people complain about coding style, they like the rest of the code just fine :D
16:57:49 <spnda> I'm going through my code right now to adress issues
16:58:08 <TrueBrain> I really like your work :D
17:01:18 *** Wormnest has joined #openttd
17:01:59 <TrueBrain> michi_cc: tnx a lot btw for testing and helping out with this gameloop-thread, that is really appreciated :D
17:02:11 <TrueBrain> did I forget another no_threads
17:02:32 <TrueBrain> that second blob you need to explain .. when does that happen?
17:03:29 <michi_cc> Due to the layered drawing stuff we do, OSX can call our drawing routine on its own outside of the event loop. Like for example on NSApp run before we've done like anything.
17:04:47 <TrueBrain> so no mouse for you in those cases :D
17:05:11 <michi_cc> It's basically only single frames that all back anyway.
17:05:34 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain updated pull request #8741: Move GameLoop into a thread (and no longer run Paint in a thread) https://git.io/JtdUz
17:05:44 <TrueBrain> I hope I copy/pasted well
17:06:37 <michi_cc> Other than that it seems to work at least as well as my "fix 40bpp screenshots" PR (that absolutely did not need any fix at all :D)
17:07:43 <DorpsGek> [OpenTTD/OpenTTD] LordAro requested changes for pull request #8813: Add display refresh rate game option https://git.io/JqIjy
17:07:46 <TrueBrain> I am still scared shitless to merge something like this :P
17:08:00 <michi_cc> Oh, tiny tiny nitpick: technically you don't need to make LoadSpriteTables() public anymore.
17:08:25 <michi_cc> I.e. gfxinit.h:14 and gfxinit.cpp:163
17:08:39 <TrueBrain> nitpicks are always welcome; as I nitpick myself too :P
17:10:13 <TrueBrain> michi_cc: I think UpdateCursorSize also doesn't need calling
17:10:16 <TrueBrain> am I correct in that thinking?
17:10:32 <spnda> LordAro: Why was the conversation about "static const HERTZ" resolved?
17:10:39 <michi_cc> Oh, and RealChangeBlitter doesn't need to use VideoDriver::GetInstance().
17:11:29 <michi_cc> You are probably right, let's test.
17:13:28 <LordAro> spnda: i didn't mean to resolve anything
17:13:35 <michi_cc> Looks like it, can't find something that would require UpdateCursorSize.
17:13:47 <spnda> oh, so I'll still just fix it.
17:14:30 <TrueBrain> michi_cc: it does feel a lot better that the video driver is now in control about changing the blitter
17:14:32 <TrueBrain> that makes more sense
17:15:53 <TrueBrain> spnda: I would just have made _refresh_rates an unordered_set ;) Hence the comment :) But again, that is really up to you :)
17:17:32 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain updated pull request #8741: Move GameLoop into a thread (and no longer run Paint in a thread) https://git.io/JtdUz
17:17:38 <TrueBrain> michi_cc: anything else, just let me know :) From space to WTF ARE YOU DOING HERE, all are welcome :D
17:19:44 <TrueBrain> why did I call the variable refresh_rate again? It looks so ugly ..
17:19:48 <TrueBrain> owh yeah, display_hz was already used
17:19:53 <TrueBrain> for something rather unrelated
17:20:11 <TrueBrain> (it set the display Hz for Windows Fullscreen)
17:20:24 <TrueBrain> I removed that variable I believe
17:20:29 <TrueBrain> such bullshit these days :P
17:20:42 <TrueBrain> but so yeah, I cannot reuse it for a while :P
17:20:48 <TrueBrain> fineeee .. shitty variable name it is
17:20:53 <TrueBrain> I like how spnda changed it often into "rates"
17:21:00 <TrueBrain> which is confusing in the context of OpenTTD .. cargo rates? :P
17:21:08 <TrueBrain> but nothing that needs fixing in my opinion :)
17:23:38 <TrueBrain> ugh, I should make dinner .. hungry for over 90 minutes already ..
17:25:26 <spnda> ahhh ive never gotten this amount of code review lol
17:29:21 <TrueBrain> owh, btw, I think the 0Hz is because of the missing "continue"
17:29:24 <TrueBrain> where you have // error
17:29:28 <TrueBrain> so it might not need fixing at all
17:32:04 <heffer> Quick question: Is the installation of .desktop files in CMake going to arrive for 1.11.0? Or do I need to sed my way around it for the Fedora Package?
17:32:20 <LordAro> it's intended to be fixed for 1.11, yes
17:34:11 <spnda> so uh I have no idea what to do with LordAro's suggestion with capturing the rates vector in the lambda
17:35:57 <spnda> I cannot capture anything, otherwise it errors out saying its not compatible with what EnumDisplayMonitors wants
17:36:28 <LordAro> don't worry about it then
17:40:17 <spnda> I hope that's everything fixed
17:42:36 <LordAro> you left some trailing whitespace ;)
17:44:05 <michi_cc> TrueBrain: You've got a conflict, otherwise I'd hit approve :)
17:45:22 <Gustavo6046> I think I am officially openttdicted.
17:46:46 <Gustavo6046> Anyway, how can I share a save? I don't trust the current state of my railways that they won't have issues with trains blocking each other later.
17:47:17 <Gustavo6046> It does have some loaded NewGRFs
17:48:22 <spnda> huh std::inserter was not found... meanwhile working fine on my machine
17:48:52 <LordAro> headers may not include the same headers as they do on your platform :)
17:49:13 <spnda> im on windows, only the windows ones have failed for now
17:50:41 <DorpsGek> [OpenTTD/OpenTTD] LordAro requested changes for pull request #8813: Add display refresh rate game option https://git.io/JqLfj
17:51:17 <LordAro> implicit inclusion is a fickle thing
17:56:37 <TrueBrain> LordAro: THAT is what looked odd about Hz .. it should be in the language files ofc, with "{NUMBER} Hz", or what-ever prints a number
17:57:07 <LordAro> there's a reason we don't have a lot of constant strings lying about :)
17:57:26 <TrueBrain> happy you added 1 and 1 together, I failed :P
17:58:25 <TrueBrain> "auto& list" or "auto &list"?
17:58:32 <TrueBrain> or is that too pedantic LordAro ? :D
17:58:47 <michi_cc> auto &list of course
17:59:35 <LordAro> even if the reasoning (* is on the variable) doesn't apply at all for auto (or even references?)
17:59:36 <dwfreed> what's funny is in another large C++ codebase, I always see auto&
18:00:02 <TrueBrain> hmm .. is there a reason to use a lambda really in this case? Couldn't it just be a function instead?
18:00:25 <TrueBrain> anyway, coding styyllleeeee >:D
18:00:38 <spnda> Uh what about the english.txt thing with alignment, I don't understand it
18:00:48 <LordAro> spnda: you've got tabs where there should be spaces
18:00:55 <LordAro> TrueBrain: mm, quite possibly
18:01:10 <spnda> oh it was just the last one
18:01:32 *** andythenorth has joined #openttd
18:06:12 <DorpsGek> [OpenTTD/OpenTTD] michicc approved pull request #8741: Move GameLoop into a thread (and no longer run Paint in a thread) https://git.io/JqLUt
18:06:27 <TrueBrain> surprised #include <video/video_driver.hpp> works
18:07:22 <LordAro> adds -Isrc to the include path, just like everything else
18:07:53 <TrueBrain> the < vs " is more a convention than anything real, at this point :P
18:08:06 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain dismissed a review for pull request #8741: Move GameLoop into a thread (and no longer run Paint in a thread) https://git.io/JqLUt
18:08:07 <LordAro> i think it only affects the order that paths are checked, nothing more
18:08:09 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain updated pull request #8741: Move GameLoop into a thread (and no longer run Paint in a thread) https://git.io/JtdUz
18:08:25 <LordAro> or possibly "" only does -I paths, <> does system & -I
18:08:26 <TrueBrain> So happy michi_cc finally approved; always wanted to dismiss a review :P
18:08:36 <TrueBrain> they have other search-paths indeed
18:08:45 <TrueBrain> but using <> works 90% of the time for projects :P
18:11:21 <TrueBrain> has been a while that we all had something to bitch about a PR .. this bikeshed is going to be the best bikeshed out there! :D
18:11:36 <spnda> yeah it's kinda overwhelming now
18:11:41 <spnda> Getting into the small details lol
18:12:06 <TrueBrain> sorry about that spnda , but on the positive side, it does mean it lands in 1.11 :)
18:12:28 <TrueBrain> Just keep doing what you are doing, resolving the things you have fixed etc .. and take what-ever time you need
18:12:34 <TrueBrain> don't feel rushed etc :)
18:13:14 <TrueBrain> I love that you ask why our coding style is what it is .. some questions are best not asked :P :P :D
18:13:24 <DorpsGek> [OpenTTD/OpenTTD] michicc approved pull request #8741: Move GameLoop into a thread (and no longer run Paint in a thread) https://git.io/JqLUX
18:13:55 <TrueBrain> ugh ... am I really going to merge this? Ugh ...... :P
18:14:10 <michi_cc> Can't be worse than stuttering OpenGL :D
18:14:26 <spnda> I also love how nitpicking about all these small things makes you overlook a 3 line long absolutely useless piece of code
18:14:26 <TrueBrain> wwweeeeellllllllllll
18:14:39 <TrueBrain> spnda: for that we have you :)
18:14:59 <michi_cc> Now we only need LordAro to merge some crap, then we can all throw a "we broke everything" party :P
18:15:18 <TrueBrain> I removed 1.11 milestone on his "this breaks the game" PR
18:15:23 <TrueBrain> as he hasn't updated it in a while
18:15:28 <TrueBrain> I think he too is too afraid to merge these kind of things
18:15:32 <TrueBrain> shall we force him to update it? :D
18:16:00 <LordAro> i was gonna say, that's not getting done anytime soon :p
18:16:07 <LordAro> and it's not blocking anything
18:16:23 <TrueBrain> neither is my gameloop-thread PR :P
18:16:26 <Gustavo6046> FIRS is addicting :D
18:17:12 <michi_cc> LordAro: You can merge #8709, then there's also a reason to yell at you :)
18:17:26 <LordAro> too late for the nightly, right? :p
18:18:09 <TrueBrain> but yeah, merge it LordAro :D
18:18:51 <DorpsGek> [OpenTTD/OpenTTD] LordAro merged pull request #8709: Change: Don't show global goals in company goal windows https://git.io/Jt9tF
18:18:59 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain merged pull request #8741: Move GameLoop into a thread (and no longer run Paint in a thread) https://git.io/JtdUz
18:19:13 <TrueBrain> lol, I was clicking Rebase, and GitHub was : NO! I NEED A MOMENT! I was like: huh?
18:19:18 <TrueBrain> but .. your merge was as that exact moment :D
18:19:29 <TrueBrain> they did that pretty good
18:19:39 <TrueBrain> so okay ... we now have a broken nightly
18:20:11 <TrueBrain> I just assume it is broken
18:20:14 <LordAro> oh, a probably broken nightly
18:20:17 <TrueBrain> means it cannot dissapoint!
18:20:27 <LordAro> not broken due to some CI reason or something
18:20:40 * LordAro goes back to working out how to read a file in Ada
18:21:09 <TrueBrain> isn't there an ordered_set?
18:21:11 <michi_cc> Then use a normal set
18:21:13 <LordAro> spnda: how about a 'set' ? :p
18:21:21 <spnda> yes but then I could also just use a vector lol
18:21:29 <TrueBrain> except that a set deduplicates for you?
18:21:33 <michi_cc> But a set will deduplicate for you.
18:21:46 <spnda> 2 hrs sleep and been awake for 16 hours this is not turning out good
18:21:47 <LordAro> there's some irony in the duplicate statements
18:21:56 <TrueBrain> spnda: :D We help you, no worries :)
18:22:04 <TrueBrain> LordAro: hahaha, yes :D
18:22:04 <_dp_> you can merge zstd stuff to further increase chances of broken nightly ;)
18:22:15 <_dp_> not by much though I'm afraid...
18:22:24 <TrueBrain> spnda: in good news, it also works with emscripten :)
18:22:33 <TrueBrain> _dp_: did you happen to look at ZSTD1.3?
18:23:05 <spnda> TrueBrain: Though I've thought about if SDL1.2 or Allegro should get support for this, tho I couldn't find any documentation on how one could possibly iterate over displays.
18:23:18 <_dp_> but I did handshake instead, no?
18:23:44 <TrueBrain> was curious, how much 1.3 is away from 1.4 :)
18:23:55 <TrueBrain> spnda: SDL1 ... honestly ... I didn't even add OpenGL support for it
18:23:57 <_dp_> at least 10% on compression speed :p
18:24:00 <TrueBrain> I tihnk we should remove it
18:24:08 <TrueBrain> Allegro, hmm, I can take a look
18:24:12 <spnda> Also I've made a quick static inline function to update the _current_refresh_rate_str, that's ok isn't it?
18:24:27 <TrueBrain> do you need a string for that?
18:24:29 *** frosch123 has joined #openttd
18:24:34 <TrueBrain> if _current_refresh_rate is a number
18:24:36 <spnda> TrueBrain: No arguments
18:24:38 <TrueBrain> you can let the language system do the rest
18:24:59 <spnda> It just does _current_refresh_rate_str = std::to_string(_current_refresh_str) + HERTZ
18:25:08 <spnda> The only thing left to do would be the translation for Hz
18:25:12 <spnda> honestly no clue how to do it
18:25:20 <TrueBrain> well, by not using the string to start with :D :D
18:25:24 <TrueBrain> push what you have, we will help you
18:26:54 <spnda> and idk I think I'll just leave the lambda be
18:27:47 <michi_cc> Make WID_GO_REFRESH_RATE_DROPDOWN take a custom new string instead of STR_BLACK_RAW_STRING (with smth like :{BLACK}{COMMA} Hz) and then only SetDParam the number in SetStringParameters.
18:28:48 <TrueBrain> well, michi_cc is quicker than I am :D
18:29:43 <TrueBrain> spnda: if you prefer, I also don't mind picking that up and showing you what I changed? I think we asked plenty of you to change, so that would only be fair. But that is fully up to you!
18:30:13 <spnda> if I've already come this far, might aswell finish it aswell
18:30:38 <michi_cc> It's the full crash course for next time :D
18:30:47 <michi_cc> Oh, I guess macOS can get some stuff as well :)
18:31:01 <spnda> Oh true, could just get the "default" refresh rate of the current monitor
18:31:36 <TrueBrain> michi_cc: would be nice, yes :)
18:31:37 *** jottyfan has joined #openttd
18:32:22 <michi_cc> Could always be another commit, but yes.
18:32:51 <TrueBrain> wow, spnda , that is a lot smaller AddRefreshRatesAndSelect :D
18:34:15 <TrueBrain> guess you could remove _current_refresh_rate now and just use _settings_client.gui.refresh_rate :D One less global variable \o/
18:35:37 <spnda> yes LordAro, that is exactly what I am working on as part of the making it translatable
18:36:30 <TrueBrain> spnda: are the snippets michi_cc gave you enough? Otherwise I can write some clues in the review?
18:37:55 <LordAro> looking at what the resolution dropdown does should be enough
18:38:09 <TrueBrain> and that means one more global GONE :D
18:39:12 <TrueBrain> right, Desktop file .. like I know how to do that ... eeeeuuuuuuhhhhhhhhhhhhh
18:40:59 <TrueBrain> is what flathub uses
18:41:05 <TrueBrain> no clue where those translations come from?
18:41:54 <_dp_> yep, that's how I deal with globals as well, just put them in another global :p
18:42:00 <TrueBrain> so yeah ... hi glx! Mind having some fun with CMake? :P
18:42:53 <TrueBrain> wtf was going on there :P
18:43:11 <TrueBrain> owh, those files are still in master too
18:43:14 <TrueBrain> just .. unused, I guess
18:43:29 <glx> haha filter is kind of silly
18:44:00 <glx> well at least it's easy to understand
18:44:03 <TrueBrain> I would think it is, but it was written for a reason :P
18:44:25 <spnda> actually on another note, I think I know how to do it in SetStringParameters but I'm too tired to figure out how to do it for DropDownListStringItem.
18:45:08 <spnda> Is there no function like GetLanguageString(StringID stringID); or something?
18:45:14 *** Gustavo6046_ has joined #openttd
18:45:21 <LordAro> TrueBrain: isn't it just "append 'Comment[<code>]=<translation>'" for every language?
18:45:36 <TrueBrain> LordAro: one of them, yes .. but what is the filter for?
18:45:46 <TrueBrain> spnda: the idea is that you do not get the string yourself
18:45:55 <TrueBrain> but you feed the language system the refresh-rate and the string
18:45:58 <TrueBrain> and it takes care of it for you
18:46:00 <glx> filter removes duplicate entries it seems
18:46:09 <TrueBrain> glx: but why are there duplicated entries :D
18:46:44 <glx> hmm would also need to check old makefile to see how they are called
18:46:59 <spnda> TrueBrain so do I understand correctly I need something like STR_GAME_OPTIONS_REFRESH_RATE_HERTZ with {BLACK}{COMMA}Hz. But I see res does SPECSTR or something
18:47:29 <michi_cc> spnda: You need to use a DropDownListParamStringItem for that
18:47:46 <LordAro> SPECSTR_RESOLUTION_START looks... scary
18:48:40 <michi_cc> I actually think that DropDownListParamStringItem actually makes that crap obsolete.
18:48:42 <TrueBrain> LOL! Resolution is a lovely hack indeed :D
18:48:47 <TrueBrain> pre-dates modern approaches :D
18:49:06 *** Gustavo6046 has quit IRC (Ping timeout: 480 seconds)
18:49:06 *** Gustavo6046_ is now known as Gustavo6046
18:49:20 <TrueBrain> glx: if you wouldn't mind, that would make me really happy :D
18:49:39 <TrueBrain> so yeah spnda , resolution is a bad example, please don't repeat that :D
18:49:57 <TrueBrain> I wonder if we can replace that ...
18:50:01 <spnda> First of all, SetDParam(0, _current_refresh_rate); is probably wrong
18:50:24 <TrueBrain> that is what I would expect spnda
18:55:49 <TrueBrain> item->SetParam(0, (uint64)(size_t)_languages[i].name); <- that cast for a string .. lolz
18:55:57 <Gustavo6046> I wish my station could distribute its cargo evenly with shared order vehicles
18:56:15 <Gustavo6046> (ie all vehicles with distinct order sets get an even cut, but other vehicles with the same order set will wait)
18:57:06 <_dp_> Gustavo6046, split it with trucks
18:57:23 <spnda> im absolutely lost right now on how to create that dropdown list with a translatable thingy
18:58:02 <Gustavo6046> In particular, I have an airport connected to a dock. I use small boats to distribute cargo (Engineering Supplies) to nearby accepting industries, while Airplanes are meant to transport the surplus of all that cargo away.
18:58:12 <spnda> TrueBrain: Sure both params are index 0?
18:58:28 <TrueBrain> that explains why it wasn't working :P
18:58:32 <TrueBrain> but you only need 1, so you are safe :P
18:58:43 <Gustavo6046> How do I configure the airplane lines to load only "surplus" cargo - ie. to be lower in the cargo loading priority list?
18:58:45 <frosch123> andythenorth: TrueBrain: i start to like the idea to now acknowledge the pending release on the stream: what? tomorrow is april's fool day...
18:59:10 <TrueBrain> and yes, the more I was thinking about it, the more I think that would be ideal :D
18:59:57 <TrueBrain> spnda: and as string you can use STR_JUST_INT
19:00:31 <LordAro> TrueBrain: no you can't? needs Hz suffix
19:00:37 <Gustavo6046> _dp_: I could try that, but it might not be efficient enough, and I don't know how effective it'd be at splitting at the end of the day anyway. Keep in mind there is a pretty large volume of this cargo, but I'm trying to "ensure" a small split for small boats, to try to give them a higher "priority" than the large-capacity cargo planes.
19:00:40 <LordAro> (or not suffix, depending on language)
19:02:59 <_dp_> Gustavo6046, truck carousel can split a lot of cargo, dunno for supplies but for vanilla goods it's like 8k/months on 8 tiles
19:03:14 <andythenorth> frosch123 also new webcam means you'll be on the stream? :)
19:03:19 <_dp_> Gustavo6046, won't do any priority but priority is a weird thing in a first place
19:03:21 <michi_cc> We never switch display modes on macOS, so I've made it just return the current refresh rate.
19:03:43 <_dp_> Gustavo6046, one day it's "excess" and another you have an empty ship that could've loaded all that
19:03:51 <frosch123> andythenorth: as long as nrt is not the topic :p
19:04:12 <DorpsGek> - Update: Translations from eints (by translators)
19:04:13 <andythenorth> it's not, but could we talk about grf spec?
19:04:18 <TrueBrain> michi_cc: it doesn't have multi-display support? :D
19:04:21 <andythenorth> and current state etc :P
19:04:22 <TrueBrain> (allegro doesn't btw)
19:04:29 <LordAro> michi_cc: but this setting is only applied on restart?
19:04:41 <LordAro> only returning the current refresh rate isn't particularly useful?
19:04:49 <michi_cc> This code is called when opening the game settings window.
19:05:29 <michi_cc> Unless you specifically go out of your way to change it, macOS will run 60 Hz anyway.
19:06:21 <LordAro> so what was it doing before 60Hz default?
19:07:22 <michi_cc> Huh? That's code for spnda's dropdown. All it does is to make sure the real display refresh rate will be in the drop down in addition to the default list.
19:07:33 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain opened pull request #8824: Codechange: remove special strings for language and resolutions https://git.io/JqLLW
19:07:49 <TrueBrain> spnda: ^^ might help as inspiration
19:08:04 <spnda> the dropdown works already
19:08:06 <Gustavo6046> I mean, as in, if there are N units of cargo, but there are a few small ships (high prio in this example) and a few large airplanes (low prio here), the ships should always load as much as possible, *before* the airplanes.
19:08:11 <spnda> Just the default thingy showing up broken as seen on discord
19:08:12 <LordAro> michi_cc: if that's the case, then the function needs renaming
19:08:47 <TrueBrain> spnda: see my PR, in the SetStringParameters
19:08:56 <michi_cc> You've reviewed that PR :)
19:09:31 <TrueBrain> spnda: I had a similar issue for resolution
19:10:15 <spnda> ewwww you made a perfectly beautiful switch with a single line for each case horrible
19:10:22 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain updated pull request #8824: Codechange: remove special strings for language and resolutions https://git.io/JqLLW
19:10:27 <_dp_> Gustavo6046, I guess you can try doing trucks like factory(full load)->dock(unload+load if available)->(airport)unload all
19:10:40 <peter1138> Urgh, another key gone bad :(
19:10:44 <TrueBrain> spnda: it might or might not have triggered my OCD too :P
19:12:05 <LordAro> TrueBrain: isn't there a SetParamStr that hides^H^H^H^Hfixes the double cast thing?
19:12:07 <Gustavo6046> _dp_: that sounds like a good idea
19:12:14 <TrueBrain> LordAro: for D, yes
19:12:24 <TrueBrain> I can add it, if you like
19:12:25 <Gustavo6046> well, the dock in question is kind of a hub, engineering supplies are transfered to it
19:13:23 <spnda> also since the new translation from eints commit, there's a bunch of warnings about translations that don't exist in master
19:13:38 <LordAro> TrueBrain: you're calling GetCurRes twice, might as well pull the variable out of the if else
19:13:39 <TrueBrain> that was not eints :)
19:13:49 <TrueBrain> LordAro: yeah, I fucked something else up too
19:13:52 <TrueBrain> give me a sec, will fix :)
19:14:13 <LordAro> also, GetCurRes() == _resolutions.size() seems... off
19:14:40 <TrueBrain> existing code, I dunno
19:14:53 <spnda> Yeah, confused me too. GetCurResIndex or similar is much better
19:16:25 <TrueBrain> okay, the current code was already weird ...
19:16:32 <TrueBrain> the dropdown always shows "name"
19:16:37 <TrueBrain> but not for the selected language
19:16:41 <TrueBrain> that uses "own_name"
19:16:53 <TrueBrain> so if you click a language, it changes
19:17:33 <frosch123> it's to avoid showing ???????? for languages that work with the sprite font
19:17:44 <TrueBrain> well, I leave it in :P
19:19:03 <frosch123> though maybe you can detect missing chars, and use that to decide which name to show
19:20:12 <spnda> if this one doesnt error out and looks fine ima sleep
19:22:20 <TrueBrain> I think it will fail as there is a missing "break", sorry :D
19:22:23 <TrueBrain> but you should go to bed
19:22:40 <TrueBrain> (like that ever worked for me)
19:23:19 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain updated pull request #8824: Codechange: remove special strings for language and resolutions https://git.io/JqLLW
19:23:22 <TrueBrain> LordAro: alllll your wishes in a single PR :D
19:25:55 <TrueBrain> wow, the CI doesn't even error on missing "break"s?
19:25:56 <spnda> clang++ finished without erroring on the missing break;
19:25:59 <TrueBrain> That I did not expect
19:26:16 <TrueBrain> they are so pedantic about the little things
19:26:19 <spnda> well whatever my compiler is it didn't complain either and just built fine
19:26:20 <TrueBrain> but this they just completely ignore
19:26:37 <spnda> haha look at them all finish without warning
19:26:43 <TrueBrain> not without warning
19:26:45 <TrueBrain> just without error :P
19:27:14 <TrueBrain> can't believe they find that more important than a missing "break"
19:27:34 <TrueBrain> codeflow possibly wrong? NAH! NOT IMPORTANT! NOT USING A VARIABLE OMG OMG OMG OMG OMG
19:28:20 <TrueBrain> looking at your first AddRefreshRatesAndSelect and the current is just funny :)
19:28:21 <LordAro> missing break at the bottom of a switch isn't particularly wrong :p
19:28:38 <TrueBrain> LordAro: no, but it is an indication the human meant something else
19:28:38 <spnda> i love how I force-pushed that and then afterwards checked if I actually added that break
19:28:57 <spnda> and commit checker failed
19:29:08 <TrueBrain> spaces vs tabs on the break :)
19:29:16 <TrueBrain> commit checker is really punishing in that :P
19:29:29 <TrueBrain> you have no clue how many pushes I did with spaces vs tabs going wrong :P
19:29:59 <spnda> yes especially with VSCode always adding spaces, where VS always did tabs, so I'm confused
19:30:02 <TrueBrain> yeah .. took me a while for me to do that
19:30:05 <TrueBrain> in VSCode, click on Spaces: 4
19:30:09 <TrueBrain> and you are done :)
19:30:19 <TrueBrain> anyway, PR looks good to me
19:30:32 <TrueBrain> I have nothing more to bitch :D
19:30:50 <spnda> I had a setting on that converted Tabs into 4 spaces automatically
19:31:27 <TrueBrain> LordAro: I leave approving to you, as I have nothing further
19:34:08 <Wolf01> Yay, covid test negative
19:34:19 <TrueBrain> finally, FREEDOMMMMMM
19:34:21 <TrueBrain> and back to work now
19:34:55 <Wolf01> Still a lot of pain on the back, I can't sit, so no work yet
19:35:28 <DorpsGek> [OpenTTD/OpenTTD] LordAro commented on pull request #8824: Codechange: remove special strings for language and resolutions https://git.io/JqLtp
19:35:29 <Wolf01> I need to so some other tests
19:36:15 <michi_cc> spnda: You've missed setting selected_index when setting up the refresh rate dropdown. Look at eg what WID_GO_LANG_DROPDOWN does.
19:36:18 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain commented on pull request #8824: Codechange: remove special strings for language and resolutions https://git.io/JqLtj
19:37:37 <TrueBrain> lol, first report of crash because of gameloop-thread :D
19:38:35 <TrueBrain> btw, LordAro , I really think your "find" solution is worse
19:38:40 <TrueBrain> that is hard to read as fuck
19:38:53 <TrueBrain> but I don't like all this C++ magic :D
19:39:05 <TrueBrain> so it means nothing, my opinion there :D
19:41:11 <spnda> Hmm, it is probably better to add that as it was my goal for the function to get it for all monitors. I mean if it works for one it most likely should for more?
19:41:56 <spnda> Also what about an else {} on the MacOSVersionIsAtLeast to use the one we already have with a single monitor?
19:42:30 <spnda> oh that is already a condition for the current implementation
19:42:31 <michi_cc> The code works for one monitor.
19:42:53 <TrueBrain> LordAro: std::distance looks a bit better, I guess
19:43:19 <michi_cc> And 10.5 will run at 60 Hz anyway.
19:44:13 <andythenorth> I have multiple monitors
19:44:20 <andythenorth> but I am not sure if I can compile right now :P
19:44:33 <andythenorth> mostly due to playing tanks :P
19:45:04 <TrueBrain> michi_cc: guess we shouldn't do ClearCursorCache in one of those Gfx functions :D
19:45:49 <spnda> ok small issue, text font for selected item is just black instead of white.
19:46:09 <michi_cc> Yeah, ClearCursorCache from GameThread is a no-no. I've probably not seen it because Win32 OpenGL just silently eats the call.
19:46:15 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain updated pull request #8824: Codechange: remove special strings for language and resolutions https://git.io/JqLLW
19:46:28 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain commented on pull request #8824: Codechange: remove special strings for language and resolutions https://git.io/JqLqy
19:47:25 <michi_cc> It might actually need exactly the same treatment as the blitter change. GfxLoadSprites might not trigger a blitter change, so we can't reuse the existing flag.
19:48:21 <TrueBrain> but clearing the cursor doesn't hurt really, does it, if we do it too often?
19:48:33 <TrueBrain> I get what you mean
19:48:40 <TrueBrain> hmm .. we need a queue
19:48:51 <TrueBrain> having too many of these "delay" functions get silly
19:49:41 <TrueBrain> parameters are a bit of an issue hmmmm
19:50:08 <TrueBrain> I was thinking something like: DRAW_EVENT_CHANGE_BLITTER, put that on a thread-safe-queue, and process it like other events in the draw-thread
19:50:16 <TrueBrain> but I would also need to know to which blitter to change
19:50:36 <TrueBrain> what do you think michi_cc , do we just keep making delayed functions, or a queue with some class-based storage or something?
19:51:08 <michi_cc> spnda: Somewhat disregard my last comment, there's some better way to do it.
19:51:34 <spnda> I was just about to resolve it
19:52:54 <TrueBrain> does std:: have a thread-safe queue?
19:52:55 <michi_cc> spnda: Let me prepare a diff real quick.
19:53:27 <spnda> LordAro: I just checked, one cannot do list.push_back(item); or I'm just really to tired now
19:53:49 <LordAro> i don't see why not..
19:54:19 <spnda> Also TrueBrain has the same code in 8824
19:55:12 <LordAro> spnda: ah, it's a vector of unique_ptr
19:55:18 <LordAro> in which case, emplace_back is correct
19:58:11 <LordAro> check what we do with other units
19:58:56 <FLHerne> andythenorth: You should compile right now, then you can blame CPU lag if you lose
19:59:46 <andythenorth> I am losing anyway
19:59:49 <TrueBrain> michi_cc: curious, why STRING1 instead of STRING? What is the difference? (I could look it up, but I am lazy)
19:59:58 <andythenorth> due to the phenomenon of MMOG
20:00:03 <andythenorth> moron team-mates
20:00:14 <michi_cc> It indicates that the string in the argument takes one argument itself.
20:00:56 <supermop_Home> it looks like it will cost me at least 90 eur to ship 60 eur worth of stuff from germany
20:01:00 <michi_cc> I think we silently don't care if the param is the last param in the string, but I'd classify that as a bit of 'undefined behaviour'.
20:01:12 <spnda> michi_cc: Thanks, but I don't quite see the reasoning of adding that second black string. Simply removing {BLACK} fixes it
20:02:08 <michi_cc> All other normal GUI text strings are prefixed with {BLACK}. I'm just assuming there's a reason for that.
20:10:33 <spnda> So to LordAro's request, I think I've implemented a O(n) version for that dropdown creation. *think*, i'll push it in a sec
20:11:15 <TrueBrain> michi_cc: go for it :)
20:11:20 <TrueBrain> but a comment is needed why
20:12:22 <spnda> updated my pr.... hopefully all works now and it is finished
20:13:13 <michi_cc> spnda: At least in the end your next PR can be perfect from the start this way XD
20:18:47 <DorpsGek> [OpenTTD/OpenTTD] michicc opened pull request #8826: Fix #8825: [OpenGL] Don't clear cursor cache from the game loop thread. https://git.io/JqLsk
20:20:05 <spnda> do I see a macos compile error
20:20:44 <spnda> oh I think that's just me being bad at applying patches
20:22:11 *** HerzogDeXtEr has quit IRC (Read error: Connection reset by peer)
20:23:31 <spnda> I force pushed a new commit and its not showing up in the PR
20:24:18 <spnda> wow that took 3 minutes
20:24:58 <LordAro> you're slowing github down with all your pushes :p
20:25:21 <spnda> yeah, taking up all the action spaces... I honestly feel kinda bad
20:26:17 <LordAro> eh, GH has lots of hardware
20:26:30 <LordAro> well, fewer macOS boxes, but still
20:30:03 <TrueBrain> need to fix that I guess :D
20:32:08 <spnda> please tell me there's NOTHING left for 8813 thanks
20:33:02 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain approved pull request #8826: Fix #8825: [OpenGL] Don't clear cursor cache from the game loop thread. https://git.io/JqLG8
20:35:40 <DorpsGek> [OpenTTD/OpenTTD] michicc merged pull request #8826: Fix #8825: [OpenGL] Don't clear cursor cache from the game loop thread. https://git.io/JqLsk
20:37:55 <LordAro> sprite->~OpenGLSprite();
20:38:19 <Gustavo6046> LordAro: the destruction should come before the access, right?
20:38:38 <Gustavo6046> The value resulting from the access should be decoupled from the destruction operation
20:38:51 <Gustavo6046> I dunno, C++ is confusing. Aren't scopes meant to handle this mostly well enough on their own already?
20:38:59 <Gustavo6046> Unless you have lots of stuff in the heap, but then you can just use delete.
20:39:17 *** spnda has quit IRC (Remote host closed the connection)
20:39:31 <michi_cc> LordAro: Well, all sprite loading uses malloc/free, so....
20:39:41 <LordAro> i was thinking it should just call delete
20:40:26 <michi_cc> It's placement delete :)
20:51:18 <DorpsGek> [OpenTTD/workflows] TrueBrain opened pull request #13: Fix: awscliv2 need AWS_REGION, even for commands that are not bound to regions https://git.io/JqLZg
20:51:19 <TrueBrain> I hope I did that right ..
20:53:42 <DorpsGek> [OpenTTD/workflows] TrueBrain updated pull request #13: Fix: awscliv2 need AWS_REGION, even for commands that are not bound to regions https://git.io/JqLZg
20:54:44 <TrueBrain> quick review anyone? :D
20:54:54 <TrueBrain> a typical: yeah, what-ever, review :)
20:57:36 <DorpsGek> [OpenTTD/workflows] TrueBrain merged pull request #13: Fix: awscliv2 need AWS_REGION, even for commands that are not bound to regions https://git.io/JqLZg
20:57:38 <TrueBrain> nevermind, found the: I AM ADMIN, button
21:01:50 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain opened pull request #8827: Fix: [Actions] update environment variable for AWS region https://git.io/JqLnn
21:02:14 <DorpsGek> [OpenTTD/OpenTTD] JGRennison opened pull request #8828: Fixes for modal progress and NewGRF scan issues https://git.io/JqLnc
21:18:49 *** frosch123 has quit IRC (Quit: be yourself, except: if you have the opportunity to be a unicorn, then be a unicorn)
21:20:38 *** virtualrandomnumber has joined #openttd
21:20:58 *** virtualrandomnumber has quit IRC ()
21:27:05 *** erle- has quit IRC (Quit: Leaving)
21:35:36 <DorpsGek> [OpenTTD/OpenTTD] LordAro commented on pull request #8827: Fix: [Actions] update environment variable for AWS region https://git.io/JqLWT
21:37:52 <supermop_Home> bah just got furloughed
21:37:54 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain commented on pull request #8827: Fix: [Actions] update environment variable for AWS region https://git.io/JqLWG
21:38:09 <supermop_Home> who fires / furloughs people on a Monday?
21:38:09 <TrueBrain> LordAro: that secret is account-wide :)
21:40:35 <orudge> supermop_Home: the Aberdeen FC board apparently
21:57:25 *** Samu has quit IRC (Quit: Leaving)
21:57:53 <Gustavo6046> What is the ctrl-click equivalent in the mobile interface?
21:58:02 <Gustavo6046> I recently discovered I can have OpenTTD anywhere I go, and that is marvelous!
21:58:23 <Gustavo6046> But I couldn't figure out certain relatively basic things, e.g. shared orders, which usually would require ctrl-clicks.
21:58:30 <Gustavo6046> Surely there is some sort of pattern that is equivalent to a ctrl-click on a touchscreen?
22:02:56 <FLHerne> Gustavo6046: reddit person says "When launching the game, click the "Change device configuration" button and choose to remap physical keys. I then mapped a physical key to the CTRL button"
22:03:10 <FLHerne> "(for me the volume up button worked best as I never play with sound on my phone and this button is useless to me)"
22:12:34 *** sla_ro|master2 has joined #openttd
22:15:06 *** andythenorth has quit IRC (Quit: andythenorth)
22:15:12 *** sla_ro|master has quit IRC (Ping timeout: 480 seconds)
22:18:06 <DorpsGek> [OpenTTD/OpenTTD] LordAro approved pull request #8827: Fix: [Actions] update environment variable for AWS region https://git.io/JqL4L
22:22:26 <supermop_Home> i guess i should go ahead and have a beer as now i have no work for at least a month
22:31:49 <DorpsGek> [OpenTTD/OpenTTD] TrueBrain merged pull request #8827: Fix: [Actions] update environment variable for AWS region https://git.io/JqLnn
22:35:05 *** sla_ro|master has joined #openttd
22:38:32 *** nielsm has quit IRC (Ping timeout: 480 seconds)
22:41:52 *** sla_ro|master2 has quit IRC (Ping timeout: 480 seconds)
22:42:13 *** Westie has quit IRC (Ping timeout: 480 seconds)
22:43:26 *** Progman has quit IRC (Remote host closed the connection)
22:47:52 *** gelignite has quit IRC (Quit: Stay safe!)
23:44:24 *** Wolf01 has quit IRC (Quit: Once again the world is quick to bury me.)
23:44:47 *** Venemo has quit IRC (coherence.oftc.net nucleus.oftc.net)
23:44:47 *** APTX has quit IRC (coherence.oftc.net nucleus.oftc.net)
23:53:16 *** Alkel_U3 has quit IRC (Server closed connection)
23:53:29 *** Alkel_U3 has joined #openttd
continue to next day ⏵