Back to Home / #openttd / 2019 / 02 / Prev Day | Next Day
#openttd IRC Logs for 2019-02-01

---Logopened Fri Feb 01 00:00:45 2019
00:05-!-tokai [] has quit [Ping timeout: 480 seconds]
00:38-!-cHawk [] has quit [Quit: Leaving]
00:39-!-cHawk [] has joined #openttd
00:39-!-cHawk is "realname" on #openttd
01:51<@peter1138>Eddi|zuHause, right.
02:08<DorpsGek_II>[OpenTTD/OpenTTD] PeterN merged pull request #7153: Fix engines not in current climate affecting available livery classes, and default engines not using MU class
02:09-!-andythenorth [] has joined #openttd
02:09-!-andythenorth is "andythenorth" on #openttd
02:17<@peter1138>Is that snow, so?
02:18<andythenorth>quite a lot
02:19<@peter1138>Yes, you missed a feature that wasn't in it!
02:20<andythenorth>best feature
02:20<andythenorth>since sliced bread
02:27<@peter1138>I just had an Irish potato farl instead of sliced bread.
02:28-!-Arveen [] has quit [Ping timeout: 480 seconds]
02:29<andythenorth>quite random
02:30<@peter1138>It was reduced Tesco, and I'm a sucker.
02:39<@peter1138>Oh, whoops, #7153 depended on the other fix :/
03:04-!-Pikka [] has joined #openttd
03:04-!-Pikka is "realname" on #openttd
03:13<andythenorth>snow Pikka
03:17<DorpsGek_II>[OpenTTD/OpenTTD] PeterN commented on pull request #7151: Change: Allow AI companies to start immediately.
03:18<DorpsGek_II>[OpenTTD/OpenTTD] PeterN commented on pull request #7151: Change: Allow AI companies to start immediately.
03:42-!-keoz [~keikoz@2a01:e35:2fd5:51e0:d790:795d:2cc7:b53d] has quit [Ping timeout: 480 seconds]
03:51<@peter1138>All that snow was easy peasy on the MTB.
03:56<@peter1138>Ooh, my work CI caught a compile failure, whoop.
04:07<Pikka>hmm snow
04:08<DorpsGek_II>[OpenTTD/OpenTTD] PeterN commented on pull request #7145: TBTR 2.0 (Template-based Train replacement)
04:10<@peter1138>Pikka, bet you've got lots, it being January 'n all...
04:18<Pikka>makes sense
04:24<DorpsGek_II>[OpenTTD/OpenTTD] PeterN commented on pull request #7145: TBTR 2.0 (Template-based Train replacement)
04:24<@peter1138>^ Gotta love that screenshot.
04:26*andythenorth wonders what a good UI looks like for that
04:31<@peter1138>Not broken, to start with.
04:32<andythenorth>are templates 1:1 with groups?
04:32<andythenorth>or separate?
04:32<LordAro>presumably the basic framework of the window was copied from autoreplace window
04:32<andythenorth>or for 1:1 with shared orders?
04:32<andythenorth>or what?
04:32<@peter1138>I don't think it mentions shared orders at all.
04:32<andythenorth>how does it interact with autoreplace?
04:33*andythenorth could just try it I guess
04:33<@peter1138>I suspect it interacts badly, but I don't know.
04:33-!-sla_ro|master [] has joined #openttd
04:33-!-sla_ro|master is "slamaster" on #sla #openttd
04:34*andythenorth thinks templates should be subsidiary to autoreplace somehow
04:35<andythenorth>options: replace any vehicles A -> B | force train to match template N
04:35<andythenorth>or my favourite idea, just allow autoreplace to specify: replace A with n*B
04:35<andythenorth>and let players do the maths :P
04:40<@peter1138>You're overthinking it :)
04:41<andythenorth>what's the worst we could do? o_O
04:41<@peter1138>We could break master!
04:42<andythenorth>well yes
04:42<andythenorth>what's the worst template thing we could do?
04:42*andythenorth just makes one new train, clones it n times, and deletes the old ones
04:42<andythenorth>no templates needed
04:43<DorpsGek_II>[OpenTTD/OpenTTD] PeterN commented on pull request #7147: Change: Synchronize randomness in vehicle introduction…
04:43<@peter1138>andythenorth, quite, but why would you want to play the game?
04:43<@peter1138>andythenorth, just watch 15 AIs play it instead.
04:43<andythenorth>oh AIs need to be able to make train templates
04:43<andythenorth>that's a good point
04:43<andythenorth>pikka can do that, he has templated stations and stuff in CivilAI
04:44<andythenorth>actually CivilAI makes nice horse tests, I'll run a game
04:44<andythenorth>but I need 15 AIs
04:44<andythenorth>14 isn't enough
04:48<DorpsGek_II>[OpenTTD/OpenTTD] PeterN commented on pull request #7145: TBTR 2.0 (Template-based Train replacement)
04:54<andythenorth>consensus is pretty much when everyone has stopped disagreeing
04:54<andythenorth>rather than everybody agreeing
04:55<andythenorth>can I just approve the PR, and then get all the blame again?
04:58<@peter1138>I don't think it counts if we haven't asked anyone...
04:58<andythenorth>let's do a survey!
04:58*andythenorth might have an app for that :P
04:58<@peter1138>I wonder if it's too rigid. Maybe it should be rigid.
04:59<andythenorth>I haven't tried it
05:01<andythenorth>urgh this AI GUI sucks
05:01<andythenorth>and I can't just spectate
05:01<@peter1138>Amber alert for snow!
05:02<@peter1138>It's... not snowing.
05:02<@peter1138>NightGFX, hmm.
05:02<andythenorth>I can see 10cm of snow
05:03<andythenorth>don't need a warning
05:15<andythenorth>having 14 AIs running really murders FFWD
05:23<andythenorth>pikka AI loves food trains :P
05:24<@peter1138>Yeah, AIs are not multithreaded either, for obvious reasons.
05:30-!-heffer [] has joined #openttd
05:30-!-heffer is "Felix Kaechele" on #openttd
05:33<Pikka>I'm sure it does funny things with FIRS :)
05:33<@peter1138>Eddi|zuHause, < I used a switch block instead of the ugly equation :D
05:33<@peter1138>Oh, NightGFX?
05:33<@peter1138>Bah, gitea is okay, and tries to replicate git, but some stuff just isn't there.
05:34<@peter1138>Like, I have to manually reload pages to get the CI status! Reload! How 2000s!
05:34-!-heffer [] has quit []
05:35<andythenorth>Pikka: I'm feeding it FIRS Steeltown, to see if it ever makes any cars
05:35-!-heffer [] has joined #openttd
05:35-!-heffer is "Felix Kaechele" on #openttd
05:35<andythenorth>quite a complex economy
05:36<andythenorth>many steps
05:37<@peter1138>Hmm, I need to figure out how to implement a resize-bar widget.
05:37<Pikka>it will run trains to industries which produce food, goods, or nothing, or which happen to be in the catchment area of a station it's already built
05:37<andythenorth>let's teach it more!
05:38<@peter1138>I shall just add enums for HRESIZE_BAR and VRESIZE_BAR and then assume it will just work, right?
05:39<Pikka>I could do, but it's always been intended to do its little "civil" town-feeding
05:39<andythenorth>I fork it :P
05:39<Pikka>and not get in the way or compete with players building industrial or intercity train networks
05:39<andythenorth>ok that makes sense
05:40<@peter1138>Do AIs get notified about disasters?
05:42<Pikka>some, I think
05:42<Pikka>zellepin crashes on their airports, and their own vehicles getting destroyed
05:47-!-tyteen4a03 [] has quit [Ping timeout: 480 seconds]
05:48<andythenorth>if I take over AI company with cheat, does AI resume when I cheat back to mine?
05:49<Pikka>I don't think it stops while you're in it
05:50<andythenorth>makes the best trains
05:50<andythenorth>oh it names them too :D
05:51<Pikka>fancy :o
05:52<@peter1138>Hmm, but not a UFO destroying tracks, I guess.
05:52<@peter1138>Nicely random, andythenorth.
05:52<andythenorth>blame pikka bob
05:52<@peter1138>There were some AIs that did everything identically, including the same routes...
06:14<andythenorth>oh this is a thing :)
06:14*andythenorth forgot
06:25-!-Xaroth [] has quit [Ping timeout: 480 seconds]
06:26<andythenorth>newrgf colours resets eh peter1138 ? ^
06:37<andythenorth>it's a grf that remaps the colour ranges
06:37<andythenorth>makes the GUI a bit...interesting
06:38<@peter1138>Oh. It just adjusts the global colour remap table.
06:42<@peter1138>16 colours max eh?
06:42<@peter1138>Oddly enough the company colour stuff can probably handle more. Liveries are stored as two separate bytes.
06:43<@peter1138>The 16x16 matrix for 2CC could be a problem.
06:43<andythenorth>some of the current ranges suck a bit
06:43<andythenorth>newCC proves there are some nice alternatives
06:43<@peter1138>Only issue is the newgrf colour callbackc which expects 16x16 colours.
06:44<@peter1138>If not using the callback, then it's OpenTTD internal.
06:44<@peter1138> OpenTTD could easily generate the required colourmaps from a short lookup table.
06:45<@peter1138>But backwards compatibility.
06:45<andythenorth>major API change!
06:45<@peter1138>Not like that.
06:45<andythenorth>semver is old news anyway :P
06:45<@peter1138>Rather, NewGRF compatibility.
06:46<@peter1138>I think pikka uses colour info to pick liveries in some places.
06:47<Pikka>nowhere vital :)
06:48<Pikka>but what of AIs picking company colours? ;)
06:48<andythenorth>I considered the idea of reading the colour info :P
06:48<andythenorth>then changing the pixels to suit my prejudices
06:48<andythenorth>such realisms
06:48<andythenorth>would rather offer buy menu groups for that
06:50<Pikka>the only place I can think of where I did livery-by-cc was pineapple trains, where for some bizarre reason I decided to make seperate sprites for each colour and blow out the file size
06:50<Pikka>NARS2 has multiple liveries for some locos, but I think that just works by company ID
06:52-!-keoz [~keikoz@2a01:e35:2fd5:51e0:d790:795d:2cc7:b53d] has joined #openttd
06:52-!-keoz is "Grmph" on #openttd
06:53-!-tyteen4a03 [~tyteen4a0@2a03:b0c0:1:d0::61:b001] has joined #openttd
06:53-!-tyteen4a03 is "tyteen4a03" on #openttd
06:54-!-tyteen4a03 [] has quit []
07:01<@peter1138> < who needs more colours anyway?
07:03<@peter1138>Should have a better colour picker :p
07:10-!-tyteen4a03 [~tyteen4a0@] has joined #openttd
07:10-!-tyteen4a03 is "tyteen4a03" on #openttd
07:46-!-Mahjong1 [~qq@2a00:23c5:6526:4400:3d11:820b:d645:fa17] has joined #openttd
07:46-!-Mahjong1 is "realname" on #ohnx #openttd
07:49<@peter1138>Yay, salad time!
07:54-!-Mahjong [~qq@2a00:23c5:6526:4400:864:a6eb:71c9:de4c] has quit [Ping timeout: 480 seconds]
07:57<@peter1138>Is it ready?
07:57<@peter1138>Salad & cheese & pickle sandwich has been successfully installed. Would I like to reboot?
07:58<@peter1138>No, just installing the packet of crisps update.
07:59-!-Samu [] has joined #openttd
07:59-!-Samu is "..." on #openttd
08:13<Samu> * There are no spectators in single player, so we must pick some other company. */
08:14<andythenorth>run AIs in scenario editor
08:14<andythenorth>then you can mess with landscape like a god
08:14<andythenorth>like a boss
08:15<@peter1138>Hmm, how can I see how many commits behind master my current branch is?
08:15<Samu>they don't progress
08:15<Samu>in editor
08:15<Samu>time is stopped for them
08:16<@peter1138>Time is stopped.
08:18<@peter1138>andythenorth, anyway, as I'm hacking around colour maps for RGB support, it's not that much of a stretch to make dynamic 8bpp colour maps too.
08:25<DorpsGek_II>[OpenTTD/OpenTTD] LordAro approved pull request #7152: Fix 23960d0f2c: Scrollbar was broken for non-group liveries.
08:25<DorpsGek_II>[OpenTTD/OpenTTD] LordAro merged pull request #7152: Fix 23960d0f2c: Scrollbar was broken for non-group liveries.
08:34<andythenorth>time is stopped peter1138
08:34<andythenorth>how do we know what time is?
08:34<andythenorth>can causality run backwards?
08:34<andythenorth>and other philosophy degree questions :P
08:40-!-Flygon [] has quit [Quit: A toaster's basically a soldering iron designed to toast bread]
08:41<@peter1138>How gnarly is that!?
08:41<@peter1138>Needs a few magic numbers to be unmagicked.
08:42<@peter1138>1 + 256 + 1024 :D
08:43*planetmaker wonders whether I should re-open and tag it with "good first issue" (assuming that padding like niels suggests suffices)
08:43<@peter1138>Good first issue? Lol
08:43<@planetmaker>just adding padding by a scale?
08:50-!-Compu [] has joined #openttd
08:50-!-Compu is "Compu" on #help #openttd #/r/openttd
08:50-!-Compu [] has quit [Remote host closed the connection]
08:51<andythenorth>should I make an AI? o_O
08:54<Pikka>but why?
08:55<andythenorth>dunno :)
08:55<andythenorth>I like the trains CivilAI builds? o_O
08:56<andythenorth>can an AI cheat money?
08:56<andythenorth>considering building an AI to test newgrfs :P
08:59<andythenorth>one of the AIs has built hoverzellepins :)
08:59<andythenorth>the others prefer small boats
08:59<andythenorth>the names pikka :P
08:59<andythenorth>such a good detail
09:07<andythenorth>can an AI flip vehicles in depot? :P
09:09<DorpsGek_II>[OpenTTD/OpenTTD] Gabda87 updated pull request #7120: Feature: Town Voronoi diagram
09:12<DorpsGek_II>[OpenTTD/OpenTTD] glx22 commented on pull request #7151: Change: Allow AI companies to start immediately.
09:15<DorpsGek_II>[OpenTTD/OpenTTD] Gabda87 commented on pull request #7120: Feature: Town Voronoi diagram
09:17<DorpsGek_II>[OpenTTD/OpenTTD] Gabda87 commented on pull request #7120: Feature: Town Voronoi diagram
09:17-!-Gabda [] has joined #openttd
09:17-!-Gabda is "Gabda" on #openttd
09:19<Gabda>i have a few c++ style, logic question, I wrote them into PR #7120 if someone in interested in these type of questions
09:20<@peter1138>Hmm, not sure, I don't see a problem with using classes.
09:20<@peter1138>We generally don't because historically it was all C code, not C++.
09:21<@peter1138>I haven't looked at the code in question of course.
09:21<Gabda>my main problem is right now, if I make an instance of it, I cannot use the public functions
09:21<Gabda>as I cannot forward declare them in the header
09:22<Gabda>and if someone want to make a second instance, they might collide, and it can be a problem :)
09:26-!-Mahjong [] has joined #openttd
09:26-!-Mahjong is "realname" on #ohnx #openttd
09:27-!-Mahjong [] has quit [Remote host closed the connection]
09:27-!-Mahjong is "realname" on #ohnx #openttd
09:27-!-Mahjong [] has joined #openttd
09:28-!-octernion [~octernion@] has joined #openttd
09:28-!-octernion is "octernion" on #openttd
09:30<LordAro>Gabda: that sounds like you're doing something wrong...
09:31-!-Mahjong1 [~qq@2a00:23c5:6526:4400:3d11:820b:d645:fa17] has quit [Ping timeout: 480 seconds]
09:32<Gabda>well, I am storing the data in a global variable, so that part is terrible, and I have to move it into the class, if I want to proceed with this approach
09:33<Gabda>but I don't know wheter this is a good direction
09:35<Gabda>and maybe someone with more experience can see it with a glance
09:37-!-nielsm [] has joined #openttd
09:37-!-nielsm is "Niels Martin Hansen" on #openttd
09:39<DorpsGek_II>[OpenTTD/OpenTTD] SamuXarick updated pull request #7151: Change: Allow AI companies to start immediately.
09:39<Samu>hi Gabda, have you fixed max no competitors already? :p
09:41<Gabda>hi :) I have a fix for that as a PR, but so far it didn't get much attention
09:42<Samu>have you copied the behaviour from settings gui? that part over there seems to know how to do it
09:42<Samu>game settings
09:43<Gabda>no, i've looked through the windon and widget functions, and selected one that seems appropriate
09:43-!-synchris [~synchris@] has joined #openttd
09:43-!-synchris is "Synesios Christou" on #openttd
09:44<Samu>I'll take a look at it soon, have to check what happens when clicking a button over there, where the code is heading to
09:44<Gabda>I wanted something that works even is the value is changes over rcon while the ai settings window is open
09:45<@planetmaker>would a dedicated server even have an OnMouse Loop?
09:45<@planetmaker>seems wrong for sth which changes settings
09:45<Gabda>quite possibly not
09:46<Gabda>but a dedicated server doesn't have ai window
09:46<@planetmaker>ofc a dedicated ... ^^
09:47<Gabda>it should only change the state of buttons, and not something with game logic, only inerface
09:48<@peter1138>Samu, what's a good AI to play against?
09:48<@planetmaker>ehm... in MP, no client (except the host) can change any server setting. except if used via rcon. can it?
09:49<Gabda>I found so as well
09:49<@planetmaker>everything else would be a severe bug :)
09:49<@planetmaker>(as rcon requires password)
09:50<Gabda>but even on a sever bug like this, the fix would work :)
09:50<@peter1138>Remind me what the goal is?
09:50<andythenorth>MOAR TRAINS
09:51<Gabda>to disable/enable a little not that important button in the ai/game script config window
09:51<@peter1138>That's pretty vague.
09:52<@planetmaker>I don't quite get it.
09:52<Gabda>issue #6438
09:54<@planetmaker>I still don't get it.
09:54<@planetmaker>I launch OpenTTD. If I'm server: ok, I can change it. Nothing needs sending as I am the server
09:54<@peter1138>I get it.
09:54<@planetmaker>if I'm not the server... I cannot change it
09:54<@peter1138>It's the usual UI-acting-as-if-DoCommandP-result-is-valid stuff.
09:55<Gabda>now you lost me
09:55<Samu>the ai config window is only accessible for non-dedicated server
09:56<Samu>(and singleplayer, of course)
09:56<Samu>it's not accessible for a client playing in a server
09:57<@planetmaker>lol. "No AI available" window pop ups here. Yet I can continue to change competitor number. But I then have to close the pop-up later as many times as the "No AI available" window pop ups ;)
09:57<@planetmaker>at the very identical position on the window
09:57<@peter1138>Oh, it doesn't even send a DoCommand.
09:57<DorpsGek_II>[OpenTTD/OpenTTD] glx22 commented on pull request #7145: TBTR 2.0 (Template-based Train replacement)
09:57<@peter1138>It does IConsoleSetSetting
09:58-!-glx [] has joined #openttd
09:58-!-mode/#openttd [+v glx] by ChanServ
09:58-!-glx is "Loïc GUILLOUX" on @#openttd.noai #openttd.notice +#openttd
09:59<Samu>you must start a server game from gui
09:59<Samu>the bug happens in gui
10:00<Samu>the widgets
10:04<@planetmaker>peter's comment is indeed the important thing: it needs DoCommand usage
10:05<@peter1138>I don't think it does, but it's still related.
10:05<@planetmaker>I wonder when IConsoleSetting is acceptable
10:06<DorpsGek_II>[OpenTTD/OpenTTD] PeterN opened pull request #7154: Fix #6438: Properly invalidate AI Settings window when max no. competitors setting is changed
10:07<@planetmaker>hm :)
10:08<@peter1138>The callback was already there, fortunately.
10:09<@peter1138>It was.
10:09<andythenorth>I had some mac+cheese with ham and tomatoes
10:09<andythenorth>but it's just a snack really
10:09<@peter1138>Now is... high tea?
10:09<andythenorth>ham was dated Jan 14th
10:09<@peter1138>Frozen I hope.
10:09<andythenorth>tasted smokey
10:10<DorpsGek_II>[OpenTTD/OpenTTD] planetmaker approved pull request #7154: Fix #6438: Properly invalidate AI Settings window when max no. competitors setting is changed
10:10<@peter1138>planetmaker, that was a quick test ;)
10:11<@peter1138>Apr 5, 2016. Hah.
10:12<@peter1138>I guess this is where having fairly in-depth knowledge of the code helps.
10:12<@peter1138>And a decent description of what the problem actually is.
10:12<@peter1138>Hopefully Samu will get better at it!
10:14<@planetmaker>When I saw your patch I also knew it was right... we identical patches for identical bugs before. More than once
10:15<@planetmaker>common oversight it seems
10:15<@planetmaker>but I didn't recall this before I saw the patch :|
10:17<Gabda>well, this solution is really the proper way
10:18<+glx>so many incorect invalidation and missing window closing in the code :)
10:18<@peter1138>Yeah, there'll be others. Hence why I am cautious about Samu's return DoCommandP() in #7151.
10:18<Gabda>you can close PR #7064 now
10:18<+glx>makes me think I need to fix a thing in option window
10:19<@peter1138>Gabda, oh wow!
10:20<DorpsGek_II>[OpenTTD/OpenTTD] PeterN closed pull request #7064: Fix #6438: raising/lowering 'Maximum no. competitors' setting in multiplayer
10:20<DorpsGek_II>[OpenTTD/OpenTTD] PeterN merged pull request #7154: Fix #6438: Properly invalidate AI Settings window when max no. competitors setting is changed
10:20<Samu>wow, was that it? weird, i thought it was some syncing issue
10:21<DorpsGek_II>[OpenTTD/OpenTTD] PeterN closed issue #6438: raising/lowering 'Maximum no. competitors' setting in multiplayer
10:21<DorpsGek_II>[OpenTTD/OpenTTD] PeterN commented on pull request #7064: Fix #6438: raising/lowering 'Maximum no. competitors' setting in multiplayer
10:22<Samu>damn visual studio hanging when I least expect it
10:22<Samu>how do I unhang without terminating it
10:23<Gabda>what is the wow about?
10:23<@peter1138>Very clunky workaround :)
10:24<Gabda>well, it is really new for me that settingsDesc can call funtions on value change
10:25<Gabda>and looked through all the window and widget funtions for one that makes updates
10:25<Samu>im gonna test it
10:27<@planetmaker>it's not easy to find all the places for all stuff, Gabda. You can work for years on OpenTTD and not have seen each file :)
10:27<@peter1138>Gabda, yeah, I'm not saying you should know it :)
10:28<@peter1138>I've been here 14 years...
10:28<@planetmaker>so please don't feel discouraged :)
10:28<+glx>and GUI is not an easy thing to understand
10:28<Gabda>planetmaker: that is for sure :)
10:28<+glx>(used to be worse IIRC)
10:28<@peter1138>Mmm, "real lancashire" eccles cake. Very much mass-produced "real"...
10:28<Samu>gonna remove my trash fix from my pr
10:28<@peter1138>But still, it's warm, and I'm ... installing it.
10:28-!-Gja [] has joined #openttd
10:28-!-Gja is "Martin" on #ceph #bcache #openttd
10:28<Samu>rebase to master
10:29<@peter1138>You had a PR for it as well?
10:29<@peter1138>Or was it in some big one with tons of other changes where it probably wouldn't've been spotted.
10:29<Gabda>but one of the reasons I started to work on it is to learn
10:29<Samu>it was in the big gui pr
10:29<@peter1138>Gabda, yup, and you have :)
10:30<@peter1138>Samu, yeah. That's why we don't like big PRs.
10:30<@peter1138>Sometimes you need them.
10:30<@peter1138>NRT... :p
10:30<@peter1138>Although I'd rather that was kinda split but I gave up trying to disentangle it.
10:30<Samu>an invalidate window invalidating another window is a bit... overdoing it imo, but let's see
10:31<@planetmaker>fwiw: I've written similar constructs only to see them replaced by similar one-line fixes :P
10:31<@peter1138>Yeah, I mean, look how messed up the group-livery window was!
10:31<+glx>and how many not spotted errors ;)
10:32<Samu>it's fixed, good job
10:33<Samu>hope that fix doesn't break something on my gui patch
10:33<+glx>it shouldn't
10:33<+glx>else you did something very wrong in your patch
10:34<Samu>no, i mean, i hope the invalidate don't trigger some closures
10:34<Samu>brb, reverting
10:35<@peter1138>Invalidate means to update yourself, not close.
10:36<DorpsGek_II>[OpenTTD/OpenTTD] glx22 opened pull request #7155: Fix: close Textfile windows when closing Option window
10:36<@planetmaker>I belive that's correct, too. Shall I approve untested? :)
10:37<andythenorth>so shall I....
10:37<DorpsGek_II>[OpenTTD/OpenTTD] PeterN commented on pull request #7151: Change: Allow AI companies to start immediately.
10:37<Samu>how i fixed it, changed that line
10:37<+glx>it works for me :)
10:37<andythenorth>- make enterprise software?
10:37<andythenorth>- do some Horse?
10:37<andythenorth>- test some PRs
10:37<andythenorth>- play OpenTTD?
10:37<Samu>reverting that "fix"
10:37<@planetmaker>[x] play OpenTTD
10:37<andythenorth>could be that
10:37<@planetmaker>you need to remember from time to time why you do all the other stuff
10:38<andythenorth>I might make some enterprise software though :P
10:38<DorpsGek_II>[OpenTTD/OpenTTD] planetmaker approved pull request #7155: Fix: close Textfile windows when closing Option window
10:39<@peter1138>I've got 6 PRs awaiting approval on $WORK's platform.
10:40<@peter1138>Does anyone do that?
10:41<@peter1138>I currently have master be my development ... branch...
10:41<@planetmaker>the graph looks identical when you do s/master/releases/g and s/develop/master/g
10:41-!-Wormnest [~Wormnest@] has joined #openttd
10:41-!-Wormnest is "Wormnest" on #openttd
10:41<@planetmaker>and change a few arrow directions
10:42<@planetmaker>I wonder what we will do at OpenTTD
10:42<andythenorth>feature -> milestone -> master
10:42<andythenorth>is how I do it
10:42<andythenorth>there are 3 main strategies, there's a github or bitbucket page
10:42<@peter1138>planetmaker, well we already develop on master, so I guess your way is more likely.
10:42<andythenorth>I'll find it
10:43<@planetmaker>the question is how to deal with the releases, though
10:43<Gabda>annotated tags for releases?
10:43<@peter1138>planetmaker, we could create a branch from the last 1.8 release.
10:43<@planetmaker>do a separate branch for each?
10:43<@peter1138>and then use that as "release"
10:43<@peter1138>and then from there, branch release-1.9 branch
10:44<@planetmaker>continuing our current release model, we simply branch-off 1.9 somewhen now
10:44<@peter1138>cos i assume we still want to do backporting to support 1.9.x
10:44<@planetmaker>and then tag in the 1.9 branch the releases for 1.9
10:45<@planetmaker>and do a separate branch next year for 1.10 (or 1.A? 2.0?)
10:45<@peter1138>well, tags refer to specific commits rathe than branches.
10:45<@peter1138>obviously if the commit is only in that branch then it kinda does
10:45<Samu>conflicts... always conflicts
10:45<@planetmaker>releases need to be tagged. And the release-branches contain all the fixes and tags for major and its bug-fix releases.
10:45<@planetmaker>That's ... how we did it
10:45<@planetmaker>so far
10:46<+glx>for release there is a special commit, fixing some stuff for rev.cpp
10:46<DorpsGek_II>[OpenTTD/OpenTTD] glx22 merged pull request #7155: Fix: close Textfile windows when closing Option window
10:47<Gabda>what is the problem with the check at PR #7120?
10:47<Gabda>it is hard to decode those messages
10:48<@peter1138>After clicking on Details, click on the grey "view more details on Azura Pipelines" link at the bottom.
10:48<@peter1138>Then you'll see the build that failed, so click on that.
10:49<@peter1138>Then you'll see build and test failed... so, er, click on that.
10:49<@peter1138>And finally in there...
10:49<@peter1138>2019-02-01T14:23:49.4293059Z *** b/src/town_voronoi.cpp:82: Trailing whitespace: ' * From a given tile, finds the first tile (while moving in the X direction) that is '
10:50<@planetmaker>yep.. the way to find the actual error is *very* unwieldy
10:50<+glx>yes error reporting is suboptimal ;)
10:51<andythenorth>we could parse it
10:51<andythenorth>or we could wait for azure to be less shit
10:51<+glx>and I don't understand how it counts warnings
10:51<andythenorth>not in a way where the total corresponds to what's shown
10:52<@peter1138>It does
10:52<@peter1138>Each line with ##[error] has a code.
10:52<+glx>only 11 warnings when almost all lang files warn
10:52<@peter1138>There are 11 of them
10:53<Gabda>thanks, now I know where to look
10:53<@peter1138>Ok, it does for errors, but not for warnings.
10:54<andythenorth>maybe horse then
10:55<andythenorth>vehicle costs are a total PITA
10:55<andythenorth>they have to be low enough that you can make money at game start
10:55<andythenorth>whenever you start
10:56<@peter1138>Does that matter?
10:56<andythenorth>which means that vehicles absolutely print money
10:56<@peter1138>Oh, I see.
10:56<andythenorth>it's not a big deal, just tedious to balance
10:56<@peter1138>This is what the inflation setting is for.
10:57<andythenorth>yeah, but then you can only play for about 70 years
10:57<DorpsGek_II>[OpenTTD/OpenTTD] SamuXarick updated pull request #7084: Change: AI/GS Config GUI overhaul
10:57<@planetmaker>disaster vehicles can yet not be made to do anything non-default, can they?
10:57<@peter1138>There's no feature for them, I think.
10:57<@peter1138>But the vehicles are kind of a side for disasters.
10:58-!-Gabda2 [] has joined #openttd
10:58-!-Gabda2 is "Gabda" on #openttd
10:58<@peter1138>E.g. not all disasters have them.
10:59<@planetmaker>yep. I was thinking during breakfast about some ... disaster GS. Or means for a GS to display some sprites at certain locations
10:59<+glx>this TBTR PR is so huge
10:59<@planetmaker>let's say "sorry, a tornado is rampaging through town XZ. Please provide emergency service. We need X,Y,Z in the next 12 months"
10:59<nielsm>hm langfiles don't have a way to specify that printing a number should be skipped for certain plural forms, right?
10:59<@planetmaker>and we display a tornado sprite over the town or so
11:00<+glx>you can specify the {NUM} to reference IIRC
11:00<@planetmaker>nielsm, a number? can you give an example what you exactly want?
11:00<nielsm>since I'd like a string to ideally take form "Det sidste sekund er der..." (singular) / "De sidste 5 sekunder er der..." (plural)
11:00<nielsm>it sounds strange with "Det sidste 1 sekund er der..."
11:01-!-Gabda [] has quit [Ping timeout: 480 seconds]
11:01<@peter1138>I don't think you'll ever see 1.
11:02<nielsm>(I guess in practice it will never display 1 in that string, so it's not worth spending energy on)
11:02<Samu>decrements always from 1 to 0, if i'm not mistaken
11:02<Samu>gonna t est
11:03<+glx>Samu: that's not the "issue"
11:03<@peter1138>It may be you should keep the game_mode test before the decrement.
11:03<@peter1138>And then it doesn't need to be inside the loop either.
11:04<@peter1138>It is kinda interesting that CanStartNew() is called before the game_mode test though.
11:04<+glx>before your change decrement happens only when AI::CanStartNew() && _game_mode != GM_MENU is true
11:04<+glx>now it's always decremented
11:04<@peter1138>Ok, CanStartNew is only a test.
11:05<@peter1138>You don't need to move that either.
11:05<andythenorth>names and stuff
11:05<@peter1138>So that if condition should just stay the same.
11:06<@peter1138>And in the loop it's just testing MaybeStartNewCompany()
11:07<andythenorth>meh naming of parts: I have a running cost baseline, which varies by type of vehicle (steam, diesel, electric etc)
11:07<@peter1138>Hmm, how can I hide conversations on github?
11:07<andythenorth>and I have running cost variable, which is a function of power, speed etc
11:07<+glx>indeed AI::CanStartNew() result won't change while you are in the function
11:08<andythenorth>peter1138: can't see a way
11:08-!-Gabda [] has joined #openttd
11:08-!-Gabda is "realname" on #openttd
11:08<Samu>AI CanStartNew can be outside the Do loop too?
11:09<+glx>yes keep the if as it was before the change
11:10<@peter1138>Er, with correct indenting.
11:11<@peter1138>heck, you could do...
11:11<@peter1138>do { } while (MaybeStartNewCompany() && AI::GetStartNextTime() == 0);
11:11<@peter1138>But that's kinda ugly.
11:12<@peter1138>probably don't need the do { } either...
11:12<@peter1138>while (MaybeStartNewCompany() && AI::GetStartNextTime() == 0);
11:12<@peter1138>That'd be very confusing, I don't recommend it.
11:12<@peter1138>src/viewport_func.h: while (DoZoomInOutWindow(how, w)) {};
11:14<@peter1138>That appears to be the only place.
11:15-!-HerzogDeXtEr [] has joined #openttd
11:15-!-HerzogDeXtEr is "purple" on #openttd
11:18<+glx>hmm maybe a comment for the max() above
11:19<nielsm>eints could really use a translation memory feature
11:19<nielsm>(i.e. dictionary with translation notes)
11:20<+glx>to keep consistency ?
11:20<+glx>like when I looked at all Click[+-] stuff for french
11:22<nielsm>I may still not have fixed all the signal terms in the danish tl, but hopefully most... and some are just impossible to get really right since ttdp used signalling terms wrong from the outset
11:22<+glx>and eints should auto "remove" outdated strings with strgen command errors
11:22<+glx>not from the interface but from the commit
11:23<@peter1138>I removed this one once when they were all out of date, but some of them are not now.
11:23<@peter1138>Not going to bother doing that again if eints just messes it up.
11:24<+glx>well I think eints already marks strings as outdated on english.txt change
11:24<@planetmaker>it does so
11:24<nielsm>yeah you get presented the bad string for fixing
11:24-!-sla_ro|master [] has quit []
11:24<nielsm>but it should really leave it out of its commits when it's invalid
11:25<+glx>and eints tells you there's an error when you are translating
11:25<nielsm>it also seems to have lost history of most strings?
11:25<@planetmaker>it only commits changes
11:25<@peter1138>planetmaker, nope.
11:26<+glx>outdated+errors should be considered as a change
11:26<+glx>peter1138: changes from translators, not from outside ;)
11:26<@peter1138>It committed the broken translations, which are not changes.
11:27<+glx>but outdated without errors are acceptable I guess
11:27<@peter1138>I'd say no.
11:28<@peter1138>Or maybe.
11:28<+glx>sometimes they are, I remember fixing an outdated string by just pressing the button
11:28<@peter1138>Yes, isn't that the point though?
11:28<@planetmaker>it should not do anything about strings which don't fit anymore because English changed.
11:29<+glx>if they are broken they won't be visible in openttd
11:29<+glx>and cause "useless" warnings
11:29<nielsm>but when english changed the inserts in a string, making it not just potentially wrong, but also technically mismatched
11:30<@planetmaker>even then... it should not decomission strings
11:31<nielsm>what if a string was changed from using {STRING} to {COMPANY}?
11:31<nielsm>that would probably cause asserts
11:31<@peter1138>nielsm, it would be an error.
11:31<@planetmaker>then it's your duty to remove translations
11:31<+glx>strgen fails for that nielsm
11:31<@peter1138>planetmaker, whose duty?
11:31<nielsm>peter1138 removed translations from the langfiles and eints inserted them back
11:31<@planetmaker>the one completely changing the english string should then remove translations in a commit of that patch
11:31<@peter1138>planetmaker, yes.
11:32<nielsm>when a string was changed to include an insert it did not have before
11:32<@peter1138>planetmaker, I did that for STR_LIVERY_CAPTION.
11:32<@planetmaker>for all languages? Or for some?
11:32<@peter1138>planetmaker, then eints went and put every single wrong translation back.
11:32<@peter1138>Maybe you are describing how it should work, not how it is working :-)
11:32<+glx>and that's where the suggestion of not adding outdated+errors come
11:33<@planetmaker>I was hoping that it were only those where the string was changed by a translator that day
11:34<@peter1138>Maybe it's the first mass-remove since switching to git?
11:34<+glx>or to the switch to eints
11:34<@peter1138>Pretty sure it used to work back on svn.
11:34<nielsm>I've done mass removes
11:34<@peter1138>Dunno when that was done.
11:34<nielsm>but the original string was also removed from english.txt
11:35<+glx>yes eints doesn't add strings not in english
11:35<+glx>I think we triggered a never tested case :)
11:36<+glx>for eints that is
11:36<+glx>WT2 had no issue with removals
11:36<+glx>but that was way less friendly for translators
11:36<+glx>had to redo the line completely
11:38<+glx>so eints keeping the broken string internally is nice, just don't put it back while not fixed
11:40<Samu>_next_competitor_start = max(1, AI::GetStartNextTime() * DAY_TICKS); // insert comment for max
11:40<Samu>what kinda comment
11:41<+glx>somthing about 0 as a special value from AI::GetStartNextTime()
11:41<Samu>min value of 1 because 0 can happen
11:41<Samu>see? Im bad with comemnts
11:41<@peter1138>Agreed, you are. :p
11:41*andythenorth pisses about with costs
11:42<Samu>because if it's 0, --_net_competitor_start becomes a big number
11:43<+glx>that's the effect, not the reason
11:43<+glx>it can be 0 because 0 means start immediately
11:45<+glx>or the comment about 0 should go to
11:46<+glx>dunno what's better
11:47<+glx>but documenting the special case seems a good idea
11:48<+glx>hmm 0 seems to be a valid result for "Get the number of days before the next AI should start"
11:49<+glx>even if it never happened before
11:49<+glx>because the setting was clamped to 0
11:49<+glx>*to 1
11:50<+glx>so maybe no need for a comment
11:51<+glx>or just /* AI::GetStartNextTime() can return 0 */
11:51<+glx>enough to explain the max
11:52-!-synchris [~synchris@] has quit [Quit: yeeha!]
11:53<Samu>_next_competitor_start = max(1, AI::GetStartNextTime() * DAY_TICKS); // AI::GetStartNextTime() can return 0
11:54<Samu>oh, you mean above this line?
11:55-!-WWacko1976-work [] has quit [Ping timeout: 480 seconds]
11:55<+glx>both are acceptable :)
11:55<Samu>isn't it implied down below with } while (AI::GetStartNextTime() == 0);
11:56<+glx>maybe, but a comment has no cost :)
11:57<@peter1138>It's only implied because you're looking at it now and "understand" it
11:57<@peter1138>When somebody else looks back in 12 months time...
11:58<+glx>after a quick check to the diff, use /* */ else the line may be "too long"
11:59<Samu>ok, i'm put it above
12:03<@peter1138>Ah, it was cirdan with the map array changes.
12:03<@peter1138>Looks to be not updated any more.
12:04<@peter1138>Possibly gave up when we restarted our git.
12:04<DorpsGek_II>[OpenTTD/OpenTTD] SamuXarick updated pull request #7151: Change: Allow AI companies to start immediately.
12:04<@peter1138>On the other hand, that means it's not a moving target ;)
12:05<+glx>hey you could have kept the if like it was
12:06<+glx>but it's more logical that way
12:06<@peter1138>Hmm, definitely some dubious changes in that repo.
12:07<Samu>oh :p
12:07<Samu>want me to change?
12:07<+glx>no it's ok like that
12:07<+glx>more logical
12:07<Samu>so, AIs can start in the editor?
12:07<Samu>hmm... uhmmmm
12:08<Samu>let me test
12:08<+glx>yes they can start in editor
12:08<Samu>ah no, they can't
12:08<Samu>void OnTick_Companies()
12:08<Samu> if (_game_mode == GM_EDITOR) return;
12:08<+glx>ah there's a check somewhere else
12:09<Samu>right at the start of
12:10-!-Gja [] has quit []
12:10<+glx>hmm the test should be == GM_NORMAL and not != GM_INTRO I think
12:11<@peter1138>I'd advise not changing the if condition at all.
12:11<@peter1138>It comes can unrelated change/cleanup.
12:12<Samu>but... it's already ensured that it's not GM_EDITOR
12:12<+glx>may be GM_BOOTSTRAP ;) (probably never)
12:12<andythenorth>14 instances of CivilAI
12:12<@peter1138>And there's a difference between starting a company, and letting a company run.
12:12<andythenorth>are slowly turning all town buildings into RV depots
12:13-!-Progman [] has joined #openttd
12:13-!-Progman is "Peter Henschel" on #openttd
12:13<@peter1138>andythenorth, they overbuild? haha
12:13<@peter1138>That's not very... civil.
12:13-!-Wormnest [~Wormnest@] has quit [Ping timeout: 480 seconds]
12:14<Samu>hey test my ai too, plz
12:14<andythenorth>I am not testing anything
12:14<andythenorth>I just loaded 14 of them and let them run
12:14<+glx>I guess the if (_game_mode == GM_EDITOR) return; should be if (_game_mode != GM_NORMAL) return; and no need to check _game_mode later, but as peter1138 said it's not related to this feature
12:14<Samu>ok, run my ai too :)
12:14<andythenorth>the complete nerf of FFWD is the most interesting 'test' result :P
12:15<+glx>oh no I'm wrong, the function is required for the intro game
12:16<+glx>because it's a "real" game
12:16<+glx>just without AIs
12:16<+glx>so yes don't change the conditions :)
12:17<@planetmaker>actually... the introgame can also contain AI.
12:17<@planetmaker>it can contain everything a normal game can
12:17<@planetmaker>We just don't ship any with extensions
12:17<Samu>make a competition
12:18<@peter1138>We'd then have to include an AI with the game, which... we don't do.
12:18<Samu>"create an AI for the intro game!"
12:18<@planetmaker>but maybe it would be indeed an interesting idea... Then something could in principle be built.
12:18<+glx>right it can have a running AI, but don't start a new one
12:20<+glx>an AI working only in the visible section of the map, and maybe a game script to give it money when needed ;)
12:20-!-gelignite [] has joined #openttd
12:20-!-gelignite is "gelignite" on #openttd
12:20<@planetmaker>yep... but a GS could do that alone actually
12:20<@planetmaker>at least *I think so*
12:21<+glx>true, GS is deity
12:21<@planetmaker>and it can switch to company context
12:21<@planetmaker>and throw away your money by bulldozing sea :P
12:21<+glx>no need it can take your money directly :)
12:21<@planetmaker>or better killing houses and additionally reducing your standing with local authority
12:22<@planetmaker>yes, it could do that. But where's the fun in that? :P Make it look like *you* are stupid ;)
12:22<@planetmaker>GS_evil_employee :P
12:23<+glx>"hey player, it's time to pay your GS tax"
12:23<@planetmaker>hahaha :)
12:24*andythenorth has been thinking about newgrf spec
12:24<+glx>a tax for properties, a tax for vehicle pollution, ...
12:24<+glx>tax on income of course
12:25<@planetmaker>"sorry, this vehicle has been shut down, permission to use it revoked" ;)
12:26-!-Gustavo6046 [~Gustavo60@2804:14d:4cd8:81a4:5c7d:9301:cdf1:8bd] has quit [Ping timeout: 480 seconds]
12:28<DorpsGek_II>[OpenTTD/DorpsGek-github] pyup-bot opened pull request #22: Scheduled monthly dependency update for February
12:28<DorpsGek_II>[OpenTTD/DorpsGek-github] pyup-bot commented on pull request #21: Scheduled monthly dependency update for January
12:28<DorpsGek_II>[OpenTTD/DorpsGek-github] pyup-bot closed pull request #21: Scheduled monthly dependency update for January
12:28-!-octernion [~octernion@] has quit [Ping timeout: 480 seconds]
12:29<@peter1138>If you say so.
12:29<DorpsGek_II>[OpenTTD/DorpsGek-irc] pyup-bot opened pull request #18: Scheduled monthly dependency update for February
12:29<andythenorth>oh pyup is scary :P
12:29<DorpsGek_II>[OpenTTD/DorpsGek-irc] pyup-bot commented on pull request #17: Scheduled monthly dependency update for January
12:29<DorpsGek_II>[OpenTTD/DorpsGek-irc] pyup-bot closed pull request #17: Scheduled monthly dependency update for January
12:29<andythenorth>but TB likes it
12:29<andythenorth>all your upstream belongs to us :P
12:30<DorpsGek_II>[OpenTTD/DorpsGek-runner] pyup-bot opened pull request #13: Scheduled monthly dependency update for February
12:30<@planetmaker>33$ bill for our CDN from DigitalOcean for January...
12:30<DorpsGek_II>[OpenTTD/DorpsGek-runner] pyup-bot commented on pull request #12: Scheduled monthly dependency update for January
12:30<DorpsGek_II>[OpenTTD/DorpsGek-runner] pyup-bot closed pull request #12: Scheduled monthly dependency update for January
12:30<@planetmaker>not too little tbh
12:30-!-octernio_ [~octernion@] has joined #openttd
12:30-!-octernio_ is "octernion" on #openttd
12:31-!-octernio_ is now known as octernion
12:32<andythenorth>kind of wondering about reference grfs
12:32<andythenorth>shipped with nml maybe
12:32<andythenorth>not just the tutorials, but specific test cases
12:32<@planetmaker>the regressions folder of NML is a good case. There is (was?) an examples folder, too
12:33<andythenorth>yes, I've been somewhat maintaining them
12:33<andythenorth>which would be better, a reference grf per feature? Or a single reference grf covering all features?
12:34<Samu>hmm i have a problem loading a savegame in multiplayer and making the server start as spectator
12:34<Samu>i am in some weird mode between spectator and company 1
12:34<Samu>not really one or the other
12:35<+glx>GUI server assume you are in company 1 at start
12:35<+glx>dedicated has no active client until first connection
12:35<@planetmaker>andythenorth, I think smaller grfs would work better. Especially wrt maintaining it
12:36<Samu>it's not dedicated
12:36<Samu>it's a server still, but with gui
12:36<@planetmaker>gotta go. Bye :)
12:36<+glx>yes not dedicated assume there's a client (you) connected to first company
12:37<Samu>where is it
12:39<andythenorth>peter1138 newgrf spec changes, what's your ideal reference grf look like?
12:39<andythenorth>I hate testing newgrf PRs, it's really fiddly to set everything up
12:41<Samu>must be somewhere about client #1 being defined as playing in company 1, where is it
12:43<Gabda>is it possible to delete town in scenario editor?
12:44<Eddi|zuHause>there should be a hard to overlook "delete" button in the town window
12:44<Gabda>mine seems invisible
12:45<Gabda>found it :)
12:45<Gabda>I searched in the town generation window
12:45-!-Vasatko [~Vasatko@] has quit [Remote host closed the connection]
12:46-!-Vasatko [~Vasatko@] has joined #openttd
12:46-!-Vasatko is "realname" on #openttd
12:50<Samu>it's somewhere else than there
12:51<+glx>no it's there
12:51<Samu>must be the afterload
12:51<+glx>then something is done based on LocalCompany value
12:51<+glx>but the starting point is there
12:52-!-Vasatko [~Vasatko@] has quit [Remote host closed the connection]
12:56<Samu>that works for single player load game
12:56<Samu>for multiplayer load game, gui thinks i'm spectator, network things i'm playing on company 1
13:01<+glx>what's the value of _local_company ?
13:02-!-Wolf01 [] has joined #openttd
13:02-!-Wolf01 is "Wolf01" on #openttd
13:02<Samu>i'm 80% sure it's COMPANY_SPECTATOR
13:07<Samu>changed line 806 of afterload.cpp a bit
13:08<Samu>it's still not totally fixed, something yet is defining me as playing in company 1
13:08<Samu>client->playas thing
13:14<Samu>ah, think i found something
13:14<Samu>network.cpp line 713
13:15<Gabda>question about deleting a town: if the CmdDeleteTown starts with "_game_mode != GM_EDITOR && !_generating_world" it means that town cannot be deleted from game script?
13:16<Gabda>if (_game_mode != GM_EDITOR && !_generating_world) return CMD_ERROR; to be more specific
13:16<+glx>seems a good location Samu
13:16<@peter1138>It means it must be either in the editor, or generating the world.
13:17<@peter1138>GS won't be running in either of those conditions, of course.
13:17<Gabda>and is there any other place a town can be deleted?
13:18<Gabda>I mean is there an other function that can do this?
13:18<Gabda>(I really hope that there isn't)
13:19-!-Thedarkb-T60 [] has joined #openttd
13:19-!-Thedarkb-T60 is "realname" on #openttd #oolite
13:19<Samu>yep, this was it, i'm finally 100% spectator (I think)
13:19<@peter1138>No, looks like the code to do the actual deletion is also in that command.
13:20<Gabda>this is perfect :D
13:20<Gabda>thanks for confirming :)
13:21<+glx>but there should be no company at all if you start a newgame in this case
13:22<Samu>there was a human company in the savegame
13:22<Samu>i loaded this save in multiplayer
13:22<Samu>and im finally put into spectator
13:22<Samu>just what I intended
13:23<+glx>you should have tested with a new game, easier to spot :)
13:23<Samu>with a newgame there was no problem, or was there?
13:23<Samu>now you got me thinkng...
13:25<@peter1138>Oh, I have to rebase 7148 :(
13:25<@peter1138>Which "ironically" is there to make rebases easier :p
13:28<andythenorth>made running cost of £1.3m for a train
13:28<andythenorth>'quite high'
13:29<@peter1138>Is it realistic?
13:29<andythenorth>oh super realistic
13:29<andythenorth>it's the exact RL cost of running a pixel train
13:29<andythenorth>in a game
13:29<Gabda>burn money instead of coal
13:29<+glx>Samu: was a company created with newgame ?
13:30<@peter1138>Who's to say, eh?
13:30<Samu>no company was created on new game, but... i didn't check 'clients'
13:31<Samu>wondering what would it say
13:31<DorpsGek_II>[OpenTTD/OpenTTD] PeterN updated pull request #7148: Switch saveload versions from literal numbers to enum values.
13:31<DorpsGek_II>[OpenTTD/OpenTTD] PeterN commented on pull request #7148: Switch saveload versions from literal numbers to enum values.
13:33-!-Gabda [] has quit [Remote host closed the connection]
13:34<Samu>no companies, and yet I'm in company 1
13:36<Samu>actually company 0
13:36<Samu>which index is company 0?
13:36<+glx>it's the first company
13:36<Samu>company -1?
13:37<Samu>company index is -1
13:37<Samu>so yeah, it was also wrong
13:39<Samu>ci->client_playas = _network_dedicated || _settings_client.gui.ai_developer_tools ? COMPANY_SPECTATOR : COMPANY_FIRST;
13:40<Samu>ps: have yet to create the setting
13:40<TrueBrain>planetmaker: please be careful reading the wrong things into PDFs :) The CDN is only 5 dollar; the rest is the new infrastructure :)
13:41<Wolf01>andythenorth: ford mustang
13:43<Samu>i had a weird idea for the intro game
13:43<Samu>it's a network game
13:43<Samu>everyone can chat
13:43<Samu>but not play
13:43<+glx>Samu: MakeNewGameDone() creates a company unless it's a dedicated server, but it doesn't check _network_dedicated
13:45*peter1138 tests rgb again
13:45<@peter1138>Maybe I broked it.
13:46<Samu>i've edited that part already glx
13:46<Samu> if (!_settings_client.gui.ai_developer_tools) {
13:46<Samu> /* Create a single company */
13:46<Samu>that's not going to be the final setting, i'm just too lazy to create the real setting
13:47<@peter1138>There are of course new blitters since I wrote it. Oh well.
13:47<+glx>your patch is pre SSE ?
13:47<+glx>wow old :)
13:49<Samu>cheat_gui.cpp is where I need to make the most drastic changes, apparently
13:49<Samu>playing as company 256 when it's actually not a company, that's the spectator slot
13:50<Samu>haven't tested heightmap yet
13:51<Samu>hope it's the same as play scenario
13:52<Samu>there is no multiplayer mode for scenario editor from what I can gather
14:00<andythenorth>Wolf01: any pics yet, besides Liebherr video?
14:00<Samu>play heightmap in multiplayer is doing fine too
14:00<Samu>play scenario in multiplayer is doing fine
14:00<Samu>load game in multiplayer is doing fine
14:02<Samu>i guess it's time to actually stop being lazy and create a setting
14:03-!-Gustavo6046 [~Gustavo60@2804:14d:4cd8:81a4:1fa:5b13:2630:8142] has joined #openttd
14:03-!-Gustavo6046 is "Non dico nomen." on #openttd #oftc #moocows
14:07<Wolf01>Some pics from the video...
14:12<Samu>it's been a while last time I created a setting, i'm rusty
14:15<nielsm>hmm, inconsistent color use in red windows?
14:15<andythenorth>ha ha
14:16<andythenorth>consistency is over-rated
14:16<@peter1138>Hmm, just dug something out the bottom of the freezer.
14:16<andythenorth>they're internally consistent, it's two action dialogs, and one message
14:16<@peter1138>Best before 2013...
14:17<andythenorth>was it pork medalions, in butter, lime, rosemary, curry leaves, with rice and greek salad?
14:17<@peter1138>There is some very old meat though :(
14:17<andythenorth>is it a burger?
14:17<@peter1138>I suspect it'll be dog food.
14:17<Samu>bool start_as_spectator; ///< activate a spectator slot in single player and start every game mode as a spectator
14:17<andythenorth>meat tends to freezer burn after 3 years or so
14:17<andythenorth>fibres break out
14:18<Samu>game mode may be the wrong wording
14:18<andythenorth>this week has been a big week for food
14:18<@peter1138>nielsm, try making them match, but I think it'll also look weird as we're used to their colours.
14:18<andythenorth>usually I eat fishfingers
14:18<@peter1138>I keep buying stuff :(
14:18<@peter1138>I haven't needed to.
14:19<nielsm>peter1138 yeah I'm matching the Abandon Game dialog
14:20<nielsm>just thought of an annoying thing... also have to handle the overwrite case where the user typed an existing name but did not click a file
14:22<@peter1138>You mean you check for an overwrite by just testing if a file is clicked? Haha!
14:22<nielsm>that's actually what the previous unique ID patch does
14:22<@peter1138>Probably better just to check if the file can be opened, then it's only one test.
14:22<nielsm>it doesn't even check if you changed the name after clicking
14:23<nielsm>if (FioCheckFileExists(, Subdirectory::SAVE_DIR)) ask_user()
14:23<@peter1138>Looks simple enough.
14:28<andythenorth>very ffwd
14:28<andythenorth>cost testing
14:29<nielsm>and because of changing "Overwrite file?" to "Overwrite File" in english.txt everything must be rebuilt
14:30<nielsm>and it should probably _not_ write the file if you click No
14:31<nielsm>and it warns if typed:
14:33<@peter1138>Hmm, so it still overwrote the file anyway?
14:33<nielsm>I fixed that :P
14:33<nielsm>forgot to test the "confirmed" variable in the callback
14:33<Wolf01><nielsm> it doesn't even check if you changed the name after clicking <- looks like windows XP
14:34<DorpsGek_II>[OpenTTD/OpenTTD] nielsmh opened pull request #7156: Add: Warn before overwriting an existing save file
14:34-!-Guest73 [] has joined #openttd
14:34-!-Guest73 is "Pm" on #openttd
14:34<DorpsGek_II>[OpenTTD/OpenTTD] nielsmh closed pull request #7128: Add: Unique ID to savegames to prevent accidental overwriting
14:35<DorpsGek_II>[OpenTTD/OpenTTD] nielsmh commented on pull request #7128: Add: Unique ID to savegames to prevent accidental overwriting
14:35-!-frosch123 [] has joined #openttd
14:35-!-frosch123 is "frosch" on #openttd
14:35<@peter1138>Yeah this is much simpler :)
14:51<andythenorth>so is it PRs?
14:51<andythenorth>or Horse? :P
14:54-!-CZTR [~Vasatko@] has joined #openttd
14:54-!-CZTR is "realname" on #openttd
14:55-!-Xaroth [] has joined #openttd
14:55-!-Xaroth is "Xaroth Brook" on #openttd
14:56<LordAro>andythenorth: you can horse when there are less than 40 PRs
14:57<@peter1138>There are less than 40 PRs...
14:57<andythenorth>there are 36
14:57<LordAro>35 then!
14:57-!-Xaroth [] has quit [Remote host closed the connection]
14:58<andythenorth>this is visually...'interesting'
14:58-!-Xaroth [] has joined #openttd
14:58-!-Xaroth is "Xaroth Brook" on #openttd
14:59<andythenorth>algorithmic run costs are a total PITA
15:03<TrueBrain>okay, NL mirror was broken, nightlies were not published; fixed now \o/
15:03<TrueBrain>just when you land on the website, it doesn't invalidate the content .. so you dont see it till you reload
15:03<TrueBrain>that is a bit odd
15:03<TrueBrain>not sure why ...
15:03<@peter1138>Thanks TB.
15:03<TrueBrain>ETag should take care of that, tbh
15:04<@peter1138>Have some of this chocolate cake.
15:04<@peter1138>Otherwise I'll eat it and then regret it.
15:04<TrueBrain>now I am regretting eating it :(
15:04<Eddi|zuHause>TrueBrain: there was a question about updating
15:05<TrueBrain>by who?
15:05<TrueBrain>there was an issue I answered
15:05<TrueBrain>yeah .. he should just read the issue tracker :)
15:06<Eddi|zuHause>i haven't really followed it
15:06<TrueBrain>not sure what to do with it exactly .. shutting down finger is easiest
15:06<TrueBrain>there is no real way of informing people
15:06<@peter1138>Hmm, when resolving conflicts, is there a way to show "ours" and "theirs", rather than a confusing diff?
15:06<TrueBrain>many GUIs do that peter1138 :)
15:06<Eddi|zuHause>TrueBrain: RSS feed! :p
15:07<TrueBrain>Eddi|zuHause: :D
15:07<TrueBrain>well, it is a bit annoying .. I can update finger, kinda, but even people that use it will try to use the wrong URL to fetch the binaries
15:07<TrueBrain>and it will fail
15:07<@peter1138>Hmm, vimdiff
15:07-!-Gustavo6046 [~Gustavo60@2804:14d:4cd8:81a4:1fa:5b13:2630:8142] has quit [Quit: Non video lux in futurum.]
15:07<TrueBrain>meh; still not sure what to do with it
15:08<@peter1138>Ok, well this isn't intuitive :D
15:09<LordAro>peter1138: vimdiff is great
15:09<@peter1138>which is LOCAL, which is BASE and which is REMOTE?
15:09<LordAro>the colour scheme i use for vim normally means most of the screen is bright pink, including some of the text colour
15:09<LordAro>peter1138: yes.
15:10<@peter1138>And the bottom window? o_O
15:10<LordAro>the bottom is the merged version
15:10<@peter1138>Yes but
15:10<@peter1138>which is LOCAL, which is BASE and which is REMOTE?
15:10<LordAro>one is working, one is left, one is right
15:10<LordAro>i ususally look at their contents to work out which
15:11<DorpsGek_II>[OpenTTD/website] TrueBrain commented on issue #48:
15:11<LordAro>s/left/from/ s/right/to/
15:11<TrueBrain>Eddi|zuHause: left a new comment, possibly it helps :)
15:11<TrueBrain>Eddi|zuHause: tnx for the poke btw :)
15:11<TrueBrain>right ... what to fix this weekend ... hmm ... we should have a poll about what I should do next, I guess :D
15:11<@peter1138>LordAro, and... what do I have to do?
15:12<@peter1138>It seems I can change all 4 windows
15:12<LordAro>like i said (implied) i don't properly understand it :p
15:12<LordAro>you definitely want the end result in the bottom window though
15:13<@peter1138>"the bottom buffer contains the file you can actually edit"
15:13<Eddi|zuHause>TrueBrain: the listing.txt file, how future proof is that? new entries are added at the bottom, so you have to download the whole file, and how much will this grow over time?
15:14-!-gelignite [] has quit [Quit: Good fight, good night!]
15:14<Eddi|zuHause>TrueBrain: i'm assuming here people who used finger before are only interested in the newest entry, not the whole history
15:14-!-Gustavo6046 [~Gustavo60@2804:14d:4cd8:81a4:2544:106:1952:c861] has joined #openttd
15:14-!-Gustavo6046 is "Non dico nomen." on #openttd #oftc #moocows
15:16-!-Guest73 [] has quit [Ping timeout: 480 seconds]
15:27*peter1138 aborts the rebase.
15:27<@peter1138>I need to rework this :/
15:28<@peter1138>Reorder bits etc,
15:29<Eddi|zuHause><peter1138> which is LOCAL, which is BASE and which is REMOTE? <-- i never worked this out
15:29<@peter1138>I was going to tell you, but I've forgotten now :/
15:29<+glx>I'm used to <<<< ==== >>>>> marks
15:29<@peter1138>glx, sometimes that doesn't give you enough context.
15:31<DorpsGek_II>[OpenTTD/website] claman commented on issue #48:
15:36<+glx>hmm maybe I should use just in case
15:36<+glx>I already have winmerge, so using it seems to be a good idea
15:37<@planetmaker>re hi
15:40<+glx>but I should update it first, my installed version is quite old and doesn't have 3-way comparison :)
15:41<+glx>oh nice my version is from 2009 :)
15:41<Eddi|zuHause>that was basically yesterday, right?
15:42<Eddi|zuHause>i've no clue what happened between 2009 and 2019
15:42<andythenorth>did I mention how good it is that ffwd is fast?
15:42<DorpsGek_II>[OpenTTD/website] Eddi-z commented on issue #48:
15:44<@peter1138>andythenorth, was it not fast?
15:44<andythenorth>it was very not fast
15:44<andythenorth>now it very is fast
15:44<andythenorth>one game year is about 12 seconds
15:44<andythenorth>if I close all vehicle windows
15:44<andythenorth>and have no AIs running
15:45<andythenorth>and turn off full animation
15:45<andythenorth>and go to the corner of the map
15:46<@peter1138>That seems excessively fast.
15:46<andythenorth>it's awesome
15:46<LordAro>that is suspiciously fast
15:46<@peter1138>Should we do The Sims style FFWD? :p
15:46<@peter1138>LordAro, I think he's enabled RTX ON.
15:47<DorpsGek_II>[OpenTTD/website] planetmaker commented on issue #48:
15:48<andythenorth>if I put full animation on, it slows, the palette animation is a real CPU suck
15:48<andythenorth>drops to about 60s for a game year
15:48<andythenorth>if I put the viewport on a busy part of the map it tanks a lot more
15:49<andythenorth>can't figure out if that's towns, or animated industries causing that
15:49<nielsm>doing palette animation with gpu shaders could be a massive win, I suspect
15:50*LordAro looks at michi_cc's opengl branch
15:50<andythenorth>it used to be fast, a long time ago
15:50<nielsm>turning it back into the hardware table lookup it used to be in 8bpp display modes
15:50<andythenorth>then something changed
15:50<@peter1138>Yes, operating systems stopped support 8bpp stuff.
15:50<+michi_cc>nielsm: Feel free to test :)
15:51<LordAro>nice, mine's about 13s
15:52<andythenorth>for a year?
15:52<LordAro>oh, that's with full animation on as well
15:52<Eddi|zuHause>try the null driver? :p
15:53<LordAro>oh shit
15:53<LordAro>turning animation off is much faster
15:53<+glx>but no ffwd then
15:53<LordAro>a *decade* is 3s
15:53<LordAro>that's ridiculous
15:54<@peter1138>Did somebody improve things somewhere? ;)
15:54<@peter1138>Or even... break it?
15:55<Eddi|zuHause>dunno, with fullscreen i get maybe 1s per day, with a really small window i get about 2s per month
15:56<andythenorth>if this is 'broken', I'll take it
15:56<andythenorth>typically the viewport is over populated parts of the map, which are much much slower
15:56<andythenorth>it's all fine
15:57<+glx>pff I hate microsoft compatibility telemetry, it always starts when I don't want, and it makes the CPU fan spin
15:58<LordAro>ok, 1440p maximised window, fully zoomed out 256x256 map (can see the whole thing), full animation turned off - 2.7s/year
15:58<Eddi|zuHause>sounds like something to be disabled
15:58<LordAro>(Windows 10, compiled with MinGW, i5 6600k)
16:00<Eddi|zuHause>LordAro: how is your screen 100x faster than mine?
16:00<LordAro>i have no idea
16:00<Samu>@seen Samu
16:00<@DorpsGek>Samu: Samu was last seen in #openttd 1 hour, 41 minutes, and 31 seconds ago: <Samu> english!!
16:00<andythenorth>Eddi|zuHause: what CPU?
16:01<LordAro>intel's single core speed is usually pretty special
16:01<@peter1138>This will be my window tick refactoring stuff, yes?
16:02<Eddi|zuHause>andythenorth: AMD Phenom(tm) II X6 1055T
16:02<andythenorth>wonder if it's an architecture thing
16:02-!-Pikka [] has quit [Quit: Leaving]
16:03<LordAro>mm, Amd do suffer a bit with single threaded performance
16:03<Eddi|zuHause>well, it's a few years old by now...
16:03<Eddi|zuHause>i was considering getting a Ryzen for over a year now...
16:03*LordAro tries setting -march=skylake, just for funsies
16:04<DorpsGek_II>[OpenTTD/website] TrueBrain commented on issue #48:
16:05<TrueBrain>Eddi|zuHause: yeah, I noticed that too; mostly that I linked listing.txt instead of latest.txt; that is the most useful I am sure :D
16:05<TrueBrain>and not a bad idea, to flip the order in listing.txt
16:05<TrueBrain>sounds sane
16:05<TrueBrain>possibly limit it to 90 or something too
16:05<TrueBrain>tnx :)
16:05<TrueBrain>planetmaker: lemme know if you need more help :)
16:06<@planetmaker>let's see
16:07<@planetmaker>I tried the first version and yesterdays version as listed in listing.txt. No particular reason for any of those
16:07<@peter1138>Hmm, I wondered if it was only updating viewports every 30ms too, but it goes super smooth on FFWD still, so dunno.
16:07-!-Thedarkb1-T60 [] has joined #openttd
16:07-!-Thedarkb1-T60 is "realname" on #openttd #oolite
16:07<@planetmaker>latest.txt is excellent. For the server :)
16:08<@planetmaker>I guess I now have all the info to update the server scripts
16:08<TrueBrain>sweet :D
16:10<LordAro>"-Ofast -march=skylake" results in 2.4s/year
16:10<LordAro>probably not worth the bother
16:10<@peter1138>Ah, the reason it is so fast now is that in FFWD it actually doesn't update the screen faster than 1000fps.
16:10<LordAro>well that'd help
16:11<@peter1138>So the gameloop is still running without updating the screen.
16:11<andythenorth>can we make nmlc go this fast too? :P
16:11<@peter1138>window.cpp:3096: if (delta_ms == 0) return;
16:11<@peter1138>So on an empty map...
16:13-!-Thedarkb-T60 [] has quit [Ping timeout: 480 seconds]
16:14<@peter1138>I guess the next trick would be to update windows while it's idle
16:14<@peter1138>Then you get supersmooth scrolling outside of FFWD.
16:15<@peter1138>I think it's a one-liner.
16:15<LordAro>but means a core is maxed out constantly?
16:15<@peter1138>Hmm, no.
16:17<@peter1138>I mean no, it's not a one-liner cos it didn't work.
16:17<nielsm>more important imo to update the gui when the simulation is running slow :(
16:17<@peter1138>nielsm, that's not possible.
16:17<nielsm>at the very least allow mouse movement
16:18<@peter1138>Better to work on hardware mouse cursor.
16:18<nielsm>peter1138, I wonder, what if you really did put simulation on a separate thread, and synchronized with gui on every DoCommand?
16:19<nielsm>as well as when a tick was simulated allow the gui to update world viewports
16:19<nielsm>(it'd be a full year project probably)
16:20<@peter1138>You don't need to synchronize the GUI on every DoCommand.
16:20<@peter1138>You need to synchronize it with... game state.
16:20<nielsm>yeah got it the wrong way around
16:21<@peter1138>Hmm, 65fps
16:23<@peter1138>I'm seeing simulation rate in the 5000s
16:23<@peter1138>Ah, it's dropping as more AIs start up.
16:24<@peter1138>So when idling, there's a Sleep(1)
16:24<@peter1138>When in FFWD, there's no sleep.
16:24<@peter1138>So it's expected to go as fast as possible. Just now that's really fast because it really doesn't update anything on the screen unless 1 ms has passed.
16:25<+glx>so it signals video driver thread mor often
16:25<@peter1138>Well, that's not quite right.
16:25<@peter1138>I dunno how it works, I just made it happen :p
16:25<nielsm> <- is that last comment "nice to have" or "need to have"?
16:25<@peter1138>I don't know.
16:26<@peter1138>If you are in some feature branch that later got merged into master, then technically master would contain that commit.
16:26<@peter1138>But it wouldn't be master.
16:26<@peter1138>So I reckon it'd also be wrong info.
16:27<@peter1138>That's not going to happen with the main repo, but it's possible for a local merge to happen. Small chance :p
16:27<nielsm>as that PR stands now, the branch name is never included in the network or gamelog revision string, unless the build is marked as Release
16:27<@peter1138>What makes a Release build again? I dunno
16:27<nielsm>so what the branch name is does not actually matter
16:28<@peter1138>I think that's correct.
16:28<nielsm>I think someone changed a bit in rev.cpp
16:28<+glx>some flag in rev.cpp
16:28<@peter1138>I was going back on the thought that it might be nice to know what version is needed from the server list.
16:28<@peter1138>But it's still wrong, so it doesn't matter.
16:28<nielsm> <- darn, I was beaten out badly by JanWillem
16:29<@peter1138>This is just how git works compared to svn.
16:29<TrueBrain>nielsm: do I get it right, that nightlies now will show as a githash in the server listing?
16:29<TrueBrain>(with that PR)
16:29<nielsm>TrueBrain yes
16:30<TrueBrain>that is what we expect/want too?
16:30<@peter1138>Any non-release build.
16:30<@peter1138>How does some self-build a release build to be compatibler?
16:30<TrueBrain>(as again, it will show up in the server listing :)
16:30<nielsm>TrueBrain yeah that's the problem
16:30<Samu>_settings_client.gui.start_as_spectator ///< activate a spectator slot in single player and start every game mode as a spectator
16:30<nielsm>there's two opposite requirements
16:30<@peter1138>TrueBrain, with git branches it's not possible to get the branch name unless you are at HEAD.
16:30<Samu>what shall be the name of the setting?
16:30<nielsm>one is making sure clients identify accurately to servers, the other is users being able to recognize which client version they need from the server listing
16:30<TrueBrain>nielsm: I am just asking :) I dont mind as much the answer; more that you realise it is also user facing :)
16:31<@peter1138>(Unless you use git reset --hard to get to the correct revision, but that's ugly)
16:31<TrueBrain>peter1138: what nielsm says
16:31<+glx>not possible to have a special packet for the server name ?
16:31<nielsm>my best suggestion for usability would be keeping a lookup table on the web server browser that translates revision strings to human readable
16:31<TrueBrain>nielsm: I guess it is a matter of what we currently prefer to happen
16:32<+glx>yes I know it's UDP and not "fiable"
16:32<TrueBrain>nielsm: it is not only on the web; also ingame etc
16:32<@peter1138>TrueBrain, if i "git checkout $lastnightlyshahash" and build that, the branch name is not master.
16:32<TrueBrain>nielsm: so I guess the choice is: either show the client what he can expect, or do the right thing on network validation level
16:32<nielsm>yeah pretty much
16:32<Samu>start_as_spectator? spectator? spectator_mode? some other more fitting name?
16:32<TrueBrain>like I mentioned a few days ago; I guess the UDP protocol needs a bit of love in general
16:33<TrueBrain>as these should be 2 fields or something
16:33<nielsm>unless we introduce a new packet in the protocol for additional server info
16:33<nielsm>should look at what JGR does for "unlimited" newgrfs on network games
16:33<@peter1138>TrueBrain, yes, 2 fields was what I was thinking.
16:33<TrueBrain>we can of course make it two steps
16:33<@peter1138>One is just the sha hash
16:33<@peter1138>The other a readable name.
16:33<TrueBrain>for example, keep the human readable now, work towards changing the protocol (and MSU), and fix it properly later
16:34<+glx>indeed first packet with the basic required data, like version check, then another with user friendly info
16:34<@peter1138>how much bits of sha hash do you really need to be unique?
16:34<nielsm>40 bits is generally enough
16:34<TrueBrain>nielsm: for example, take the first 24 chars from the branch, and the other from the hash
16:34<+glx>at least 8 I think
16:34<nielsm>at our repo size
16:35<TrueBrain>a solution "somewhere in the middle"
16:35<TrueBrain>(far from perfect, but .. meh)
16:35<@peter1138>If you set the network revision string to "g012346789-20190201-master"
16:35<@peter1138>Then you could make the compatibility check stop at the first -
16:35<nielsm>'git log' uses 7 hex digits for shortrevs for me atm
16:35<nielsm>so presumably that's enough to be unique
16:35<TrueBrain>nielsm: in latest git, this '7' is dynamic; as a FYI
16:35<nielsm>I know
16:35<TrueBrain>it can change to 8 if there is a conflict
16:36<TrueBrain>good :)
16:36<@peter1138>In theory the g0123456789 is then "unique" enough
16:36<@peter1138>And you still get usable info, at least from the official nightlies
16:37<@peter1138>Or am I talking to myself? :D
16:37<nielsm>I had a previous version of that patch where I took the full revision string (date-branch-rev) and overwrote the last 10 bytes of it with a fresh rev prefix, if the rev part was truncated
16:37<nielsm>so it'd truncate branch name but still include enough git hash to find the exact revision
16:37<TrueBrain>another approach is to do a bit more work: the MSU could use a rewrite (it is now written in C++ .. it is not nice). I can help with that. We can bump the UDP protocol version, drop 1 or 2 NewGRFs (for now), and add a full field to the protocol
16:38<TrueBrain>takes a bit more effort, but might be a more proper fix
16:38<@peter1138>I'd say doing a compare of just a part of the revision string is a good compromise for now.
16:38<LordAro>TrueBrain: post 1.9, perhaps?
16:39<LordAro>it's about time there was a beta :)
16:39<@peter1138>So "g012345679" would match "20190201-master-g0123456789"
16:39<@peter1138>Erm, no it wouldn't
16:39<@peter1138>So "g0123456789" would match "20190201-master-g0123456789"
16:39<TrueBrain>LordAro: if you help, we can try to release a beta this weekend
16:39<@peter1138>^ nielsm doable? already done?
16:39<LordAro>i can probably do some things
16:39<nielsm>bool IsNetworkCompatibleVersion(const char *other)
16:39<nielsm>is a function that exists and is used
16:39<nielsm>can make it do whatever
16:40<+glx>just return true ;)
16:40<@peter1138>I think it'd be useful for people using prebuilt binaries to know that they are on LordArosPatchPack or whatever...
16:40<@planetmaker><nielsm> should look at what JGR does for "unlimited" newgrfs on network games <-- nothing. He advertizes it as SP-feature only
16:40<nielsm>right now it's a strict strncmp check
16:40<@peter1138>Wasn't it cirdan who did the unlimited newgrfs?
16:40<@peter1138>nielsm, just compare the shahash (and modified) part?
16:41<TrueBrain>nielsm: if you like, you can locally run a MSU and see what shows up to clients btw
16:41<nielsm>"Up to 256 NewGRFs in multiplayer (added in v0.25.0)" <-- copied from JGRpp feature list
16:41<+glx>why so many newgrfs in a single game ?
16:42<nielsm>yeah sounds like a bad idea imo but eh
16:42<Samu>i'm ruining existant comments
16:42<+glx>well with ECS you can eat a lot of newgrf slots
16:42<LordAro>left a game running, after 700 years i'm losing 13 billion a year on loan interest ^^
16:43<+glx>repay early, always
16:43<LordAro>currently at -£4 trillion
16:44<TrueBrain>LordAro: what would help me most, if we branch 1.9 and tag the beta, with all the stuff that is needed for that
16:44<+glx>and no bankrupt yet ?
16:44<TrueBrain>someone needs to figur eout how we want to do that in git
16:44<andythenorth>you need all those newgrfs for separators
16:44<LordAro>TrueBrain: betas aren't usually branched
16:44<andythenorth>in the newgrf menu
16:44<LordAro>that's RC
16:44<Samu> /* When replaying the client ID is not a valid client; there* are actually no clients at all. However, the company has to* be created, otherwise we cannot rerun the game properly.
16:44<Samu>someone explain me what is this?
16:44<TrueBrain>really? Owh :D Is that what we still want?
16:44<TrueBrain>either way, is 'master' prepared to be beta1?
16:45<+glx>debug desync stuff I think Samu
16:45<Samu>hmm, the replay mode
16:45-!-Gabda2 [] has quit [Quit: Yaaic - Yet another Android IRC client -]
16:46<Samu>how to not break it
16:46<TrueBrain>frosch123: any insights? :)
16:46<nielsm>peter1138, TrueBrain, re-add the network revision string mangling so branch name is included, but truncated git hash is re-inserted too?
16:46<TrueBrain>nielsm: sounds like a good compromise
16:46<@peter1138>nielsm, as long you can get enough in. You made the revision string longer as well, right?
16:46<@peter1138>TrueBrain, there's some nice PRs we should get in first, I reckon.
16:46<nielsm>yes I increased it from 14 to 32 characters (15 to 33 with nul included)
16:47<TrueBrain>peter1138: won't there always be PRs like that? :D
16:47<nielsm>go over open PR's and add those wanted features/fixes to the 1.9 milestone?
16:47<@peter1138>Oh, hmm, depends on the branch/not-branch thing.
16:47<TrueBrain>sounds like a good idea nielsm!
16:47<TrueBrain>also for issues, I guess
16:47<@peter1138>I'm checking out the overwrite patch
16:48<TrueBrain>I am used to branching on beta, so master can continue doing its thing
16:48<TrueBrain>but .. no clue what we want for OpenTTD
16:48<frosch123>TrueBrain: what's the question? "beta" is our definition for tagged nightly from master. if we branch, we call it rc
16:48<TrueBrain>frosch123: ack
16:48<TrueBrain>is master prepared to be called beta1?
16:49<+glx>nielsm: and you can save a byte if you mix g, m and u
16:49<TrueBrain>LordAro: okay, this means I can rephrase it: I have everything ready to make a release based on master. So if that is what is needed, I can release a beta1 at any moment, as far as I am aware
16:49<DorpsGek_II>[OpenTTD/OpenTTD] PeterN approved pull request #7156: Add: Warn before overwriting an existing save file
16:49<DorpsGek_II>[OpenTTD/OpenTTD] PeterN merged pull request #7156: Add: Warn before overwriting an existing save file
16:49<TrueBrain>so tell me when you want it, and I can most likely serve it :)
16:50<frosch123>a beta would still be a tag
16:50<frosch123>so there is no difference for the farm, is there?
16:50<TrueBrain>mostly for I guess :D
16:50<TrueBrain>the main difference is the amount of targets, and where it publishes the files
16:50<frosch123>so we should do a beta just to test that :p
16:50<LordAro>changelog & readme & friends should be updated, ofc
16:50<@peter1138>You can test with a local tag, right?
16:51<+glx>beta is just a special nightly
16:51<@peter1138>Or did you mean test the CF :D
16:51<@peter1138>LordAro, oh. Yes, documentation.
16:51<frosch123>and website
16:51<TrueBrain>I like the idea of putting all issues/PRs in the 1.9 milestone we want
16:51<@peter1138>Did the 2018->2019 copyright update get done?
16:51<LordAro>don't think so
16:51<TrueBrain>if we all agree, we can look into a beta1, to test-run the system, so to say
16:52<TrueBrain>in all cases, please dont tag before poking me; I want to try to autobuild on tag :D
16:52<TrueBrain>that would be ideal, for me .. just when ever a tag is pushed, build and publish a release
16:53<@peter1138>Is it acceptable to update all the langs at once for 2018-2019 or will eints fuck me over again?
16:53<+glx>and I think there's no need for a feature freeze for beta, only with RC and stable
16:53<frosch123>peter1138: eints takes the newest available translation
16:53<LordAro>ooh, a bug
16:53<LordAro>my money wrapped around
16:53<+glx>frosch123: unless newest is empty ;)
16:53<TrueBrain>glx: a feature freeze might be wise, but 'feature' freeze. Still means you can accept PRs etc :) Just nothing BIG of FEATURE like :)
16:54<@peter1138>Basically just NRT.
16:54<LordAro>and only resized the finance window when it became positive
16:54<TrueBrain>not NRT, not the other one .. TBTR :P
16:54<TrueBrain>anyway, that would be my suggestion here :)
16:55<+glx>I tried to read TBTR
16:55<LordAro>peter1138: uwot
16:55<+glx>noticed some incorrect stuff, but it's too huge to be easily reviewable
16:56<frosch123>glx: does it do any refactoring, or does it just add stuff?
16:56<LordAro>i guess it's an overflowsafeint, rather than an underflowsafeint
16:56<+glx>TBTR adds stuff
16:57<+glx>and changes autoreplace GUI I think
16:57<TrueBrain>but yeah, we should try to push for a 1.9 soon-ish .. we are already behind schedule I guess :D
16:57-!-Gustavo6046 [~Gustavo60@2804:14d:4cd8:81a4:2544:106:1952:c861] has quit [Quit: Non video lux in futurum.]
16:57<@peter1138>LordAro, you left it running "that long" to overflow :)
16:57<+glx>only 2 months left for the stable release ;)
16:57<LordAro>peter1138: year 3500 or so
16:58<TrueBrain>glx: exactly :)
16:59<TrueBrain>but I am going to leave it to you guys to tell me when you want the first beta
16:59<TrueBrain>I tested most things; just a real run is always .. well .. things tend to break the first time :D
16:59<LordAro>definitely aim for this weekend, i'd say
17:00<DorpsGek_II>[OpenTTD/OpenTTD] PeterN opened pull request #7157: Doc: Yearly increment.
17:02<DorpsGek_II>[OpenTTD/OpenTTD] planetmaker approved pull request #7157: Doc: Yearly increment.
17:02<TrueBrain>I am guessing things like debian files need a bump or something too
17:02<TrueBrain>or are they prepared for 1.9.0-beta1?
17:03<LordAro>all the source files as well?
17:03<@peter1138>There is no date int the source files.
17:03-!-Gustavo6046 [~Gustavo60@2804:14d:4cd8:81a4:515f:2900:5de:afb2] has joined #openttd
17:03-!-Gustavo6046 is "Non dico nomen." on #openttd #oftc #moocows
17:03<@planetmaker>nah, they don't have dates
17:03<LordAro>oh, thought they did
17:03<@peter1138>Do we still need $Id$? :p
17:03<@peter1138>They did in the SVN days, it was placed there by SVN though.
17:04<LordAro>it only did things for SVN, anyway
17:04<Samu>there is svn yet
17:05<Samu>github has a way to get openttd by svn
17:05<+glx>no there's an svn wrapper around git
17:05<Samu>ah, or that
17:05<@planetmaker>version mismatch
17:05<+glx>and we removed all references to svn in our scripts
17:05<@planetmaker>20190201-maste vs. 20190201--g5a5861f2
17:06<@peter1138>planetmaker, yes, this is what we were discussing about 30 minutes ago.
17:07<nielsm> <- let's try that!
17:08<TrueBrain>cool nielsm :D
17:09<@peter1138>so "g" means normal, "m" is ... modified? What's "u"?
17:09<@peter1138>Ah, no git info
17:10<@peter1138>No, there must be git info.
17:10<@peter1138>Otherwise there'd be no hash.
17:10<nielsm>determineversion.vbs sadly does not ever write 0 for the modified flag, so you can only get "unknown" and "modified" when using that...
17:10<nielsm>that also needs a fix
17:10<+glx>hmm what happens with network_revision[NETWORK_REVISION_LENGTH - 1] = '\0'; if _openttd_revision was shorter ?
17:11<nielsm>good question, it probably writes somewhere it should not!
17:11<DorpsGek_II>[OpenTTD/OpenTTD] PeterN updated pull request #7150: Change: Make ships stop in locks to move up/down instead of following the slope.
17:12<DorpsGek_II>[OpenTTD/OpenTTD] PeterN merged pull request #7157: Doc: Yearly increment.
17:14<+glx>and if the branch name is very very long all the branch will be replaced I guess, as it will find the '-' between date and branch
17:15<nielsm>it searches for the - in the original string to find the offset
17:15<LordAro>some of samu's branches, for instance :p
17:15-!-octernion [~octernion@] has quit [Quit: octernion]
17:15<nielsm>so it shouldn't overwrite the beginning or another word in the branch name
17:15<@peter1138>LordAro, one of mine ;)
17:15<+glx>oh right, wrong reading from me :)
17:15<DorpsGek_II>[OpenTTD/OpenTTD] SamuXarick opened pull request #7158: Add: Client setting gui.start_spectator
17:15<Samu>inb4 closed
17:16<Samu>maybe tag it work in progress so it's not closed
17:17<Samu>need yet to fix comments, the worst part
17:17<Samu>all comments are assuming single player has no spectator
17:19<@peter1138>Hmm #7151 didn't trigger CI.
17:19<TrueBrain>you now have the power to fix that :D
17:20<@peter1138>Can you tell me how? I don't know it would show up.
17:20<TrueBrain>what would the server listing show nielsm?
17:20<TrueBrain>peter1138: <- click on OpenTTD CI
17:21<DorpsGek_II>[OpenTTD/OpenTTD] J0anJosep commented on pull request #7150: Change: Make ships stop in locks to move up/down instead of following the slope.
17:21<@peter1138>TrueBrain, ah ok :-)
17:21<TrueBrain>nielsm: NICE :D
17:21<nielsm>is the value GetNetworkRevisionString returns
17:21<TrueBrain>screenshot! :P (should show in LAN games too, right?)
17:21<@peter1138>Ah, because it's longer too, nice.
17:21<+glx>hehe was about to suggest strecat, but I remembered the "string too long" message :)
17:22<nielsm> ugh
17:22<@peter1138>Manual build for me.
17:22<TrueBrain>nielsm: nice :D
17:22<TrueBrain>peter1138: gratz :D
17:22<@peter1138>nielsm, push, approve, commit.
17:23<@peter1138>that's 8 digits.
17:23<DorpsGek_II>[OpenTTD/OpenTTD] nielsmh updated pull request #7121: Fix #7021: Better revision strings for network and gamelog
17:23<@peter1138>Oh, kinda confusing.
17:23<nielsm>actually that's 10 digits of the hash
17:23<@peter1138>m5f30a8d976 in the network reviison
17:23<@peter1138>but g5f30a8d9M in the game revision
17:23<nielsm>should maybe shorten to 8 digits?
17:24<@peter1138>I think those two should also match.
17:24<@peter1138>Or rather, display the same info.
17:24<@peter1138>10 would be better than 8.
17:24<@peter1138>In both.
17:25<@peter1138>So, m5f30a8d976 in both?
17:25<nielsm>that's a change to and determineversion.vbs
17:26-!-frosch123 [] has quit [Quit: be yourself, except: if you have the opportunity to be a unicorn, then be a unicorn]
17:27<@peter1138>g5f30a8d976M would be a minor change, I guess. But you lose another character.
17:27<nielsm>yeah I'd rather not spend more bytes on that :)
17:27<+glx>hmm no return in ExtractNetworkRevisionHash ?
17:27<+glx>should check the PR maybe
17:28<nielsm>yes I fixed that when compile failed ;)
17:30<@peter1138>Do we have any devs still running OS X? :p
17:30<@peter1138>andythenorth, test 7109 :p
17:31<andythenorth>tomorrow I will
17:31-!-Flygon [] has joined #openttd
17:31-!-Flygon is "Flygon" on #openttd
17:32<andythenorth>I'll have to go find a mouse too eh
17:32<@peter1138>I dunno, isn't it a touchpad thing?
17:32<andythenorth>nah, it changes mouse behaviour too
17:32<Samu>crap, cannot switch to spectator when all 15 companies exist
17:32<DorpsGek_II>[OpenTTD/OpenTTD] glx22 commented on pull request #7121: Fix #7021: Better revision strings for network and gamelog
17:32<Samu>must fix
17:32<andythenorth>that's one reason I didn't test yet
17:33<andythenorth>have to go find a mouse in a cupboard
17:33<DorpsGek_II>[OpenTTD/OpenTTD] nielsmh commented on pull request #7121: Fix #7021: Better revision strings for network and gamelog
17:33<@peter1138>andythenorth, have you been Enterprising again? In your spare time?
17:33<andythenorth>train costs :P
17:36<nielsm>determineversion.vbs and are not very much in sync, actually
17:36<TrueBrain>the naming alone :P
17:36<nielsm>determineversion.vbs will not include branch name if it's "master", will always include branch name
17:36<TrueBrain>oops, that is my mistake
17:36<TrueBrain>sorry :(
17:37<TrueBrain>explains the error planetmaker just mentioned
17:37<TrueBrain> is correct
17:37<TrueBrain>I removed the 'master' thing recently
17:37<TrueBrain>it should always include the branch name, even for master
17:37<TrueBrain>would you mind fixing that? :D
17:38<LordAro>andythenorth: #7109 :p
17:38<andythenorth>mouse isn't here :P
17:39<andythenorth>PR changes two things at once, I can test one of them :P
17:39<DorpsGek_II>[OpenTTD/OpenTTD] J0anJosep commented on pull request #7148: Switch saveload versions from literal numbers to enum values.
17:40<nielsm>$ bash
17:40<nielsm>20190201-fix-networkrevision-ma4cf8593c9 20190201 2 a4cf8593c9c710f7a33f9c7367656277db317a3e
17:41<DorpsGek_II>[OpenTTD/OpenTTD] PeterN commented on pull request #7148: Switch saveload versions from literal numbers to enum values.
17:42<DorpsGek_II>[OpenTTD/OpenTTD] J0anJosep commented on pull request #7148: Switch saveload versions from literal numbers to enum values.
17:44<DorpsGek_II>[OpenTTD/OpenTTD] SamuXarick updated pull request #7158: Add: Client setting gui.start_spectator
17:44<andythenorth>so much running costs hacks
17:44<andythenorth>also bed
17:45-!-andythenorth [] has quit [Quit: andythenorth]
17:47<DorpsGek_II>[OpenTTD/OpenTTD] PeterN updated pull request #7148: Switch saveload versions from literal numbers to enum values.
17:47<+glx>so nice a force push while I was reviewing
17:47<DorpsGek_II>[OpenTTD/OpenTTD] nielsmh updated pull request #7121: Fix #7021: Better revision strings for network and gamelog
17:48<@peter1138>Hmm, I should've used "extend" for the industry one for consistency, oh well.
17:48<nielsm>hm maybe ought to have changed the commit message for the version scripts one
17:48<nielsm>since it does more now
17:49<DorpsGek_II>[OpenTTD/OpenTTD] PeterN commented on pull request #7148: Switch saveload versions from literal numbers to enum values.
17:51<DorpsGek_II>[OpenTTD/OpenTTD] J0anJosep commented on pull request #7148: Switch saveload versions from literal numbers to enum values.
17:51<@peter1138>Whew, that was close, I nearly drank the sediment in my beer.
17:53<DorpsGek_II>[OpenTTD/OpenTTD] PeterN commented on pull request #7148: Switch saveload versions from literal numbers to enum values.
17:54<TrueBrain>tnx for fixing my mistake nielsm :)
17:56<DorpsGek_II>[OpenTTD/OpenTTD] J0anJosep commented on pull request #7148: Switch saveload versions from literal numbers to enum values.
18:03<DorpsGek_II>[OpenTTD/OpenTTD] PeterN commented on pull request #7148: Switch saveload versions from literal numbers to enum values.
18:03<DorpsGek_II>[OpenTTD/OpenTTD] JGRennison opened issue #7159: Reverse at signal timeouts occur unexpectedly quickly, affects title game
18:04-!-keoz [~keikoz@2a01:e35:2fd5:51e0:d790:795d:2cc7:b53d] has quit [Ping timeout: 480 seconds]
18:04<DorpsGek_II>[OpenTTD/OpenTTD] glx22 commented on pull request #7158: Add: Client setting gui.start_spectator
18:05<DorpsGek_II>[OpenTTD/OpenTTD] J0anJosep commented on pull request #7148: Switch saveload versions from literal numbers to enum values.
18:06<@peter1138>Such conversations.
18:06-!-keoz [~keikoz@2a01:e35:2fd5:51e0:d790:795d:2cc7:b53d] has joined #openttd
18:06-!-keoz is "Grmph" on #openttd
18:11<DorpsGek_II>[OpenTTD/OpenTTD] PeterN commented on issue #7159: Reverse at signal timeouts occur unexpectedly quickly, affects title game
18:11<DorpsGek_II>[OpenTTD/OpenTTD] J0anJosep commented on pull request #7148: Switch saveload versions from literal numbers to enum values.
18:12<DorpsGek_II>[OpenTTD/OpenTTD] glx22 commented on pull request #7148: Switch saveload versions from literal numbers to enum values.
18:13-!-Progman [] has quit [Remote host closed the connection]
18:15-!-Wolf01 [] has quit [Quit: Once again the world is quick to bury me.]
18:18<@peter1138>I dunno.
18:18<LordAro>but what if?
18:19<@peter1138>Seems like keeping the number in the SLV enum would kinda defeat the point of it to me :p
18:20<+glx>number or not, some conflicts will still be present :)
18:20<DorpsGek_II>[OpenTTD/OpenTTD] J0anJosep commented on issue #7159: Reverse at signal timeouts occur unexpectedly quickly, affects title game
18:20<nielsm>what would SLV numbers translate to, previous release version with some suffix on?
18:20<DorpsGek_II>[OpenTTD/OpenTTD] PeterN commented on pull request #7148: Switch saveload versions from literal numbers to enum values.
18:20<+glx>but with the enum number are optionnal
18:20<@peter1138>glx, yeah, that's just it. Switching to the enum at all will conflict with anything that saveloads.
18:21<@peter1138>I think he is suggesting to keep using raw numbers until SLV_200.
18:21-!-Gustavo6046 [~Gustavo60@2804:14d:4cd8:81a4:515f:2900:5de:afb2] has quit [Quit: Non video lux in futurum.]
18:21<@peter1138>Which to me is just no!
18:21-!-Gustavo6046 [~Gustavo60@2804:14d:4cd8:81a4:515f:2900:5de:afb2] has joined #openttd
18:21-!-Gustavo6046 is "Non dico nomen." on #openttd #oftc #moocows
18:22<+glx>yeah if the enum is there, use it for all revisions
18:22-!-keoz [~keikoz@2a01:e35:2fd5:51e0:d790:795d:2cc7:b53d] has quit [Ping timeout: 480 seconds]
18:22<+glx>doesn't make sense to use it for 200+ only
18:23<@peter1138>It's a little pain now for much benefit later.
18:23<@peter1138>And I don't want to keep including the nubmer either
18:23<@peter1138>Not for new entries certainly.
18:24<+glx>new entries can use PR number
18:24<+glx>makes more sense
18:24<LordAro>would lose the "obvious" sequential ordering though
18:25<LordAro>same arguments as keeping svn, i imagine :)
18:25<@peter1138>e.g. SLV_PR7108_GROUP_LIVERIES?
18:25<@peter1138>I don't know how relevant the PR is
18:26<LordAro>PR num + something short about the name would be nice
18:26<@peter1138>Hmm, actually
18:26<LordAro>i think some sort of number is important so you can easily tell at a glance the approximate order of things
18:26<@peter1138>// 205 -> ///<
18:26<+glx>having the PR number can help in case there something wrong unspotted before the merge
18:26<@peter1138>LordAro, the order is exactly the order in the enum :-)
18:27<+glx>but it can be in the comment
18:27<@peter1138>PR doesn't help with order, and including the number means you have to keep updating numbers in your external changes.
18:27<LordAro>well yes, but i can tell that 203 < 205 without looking it up, but i can't tell about SLV_GROUP_LIVERIES < SLV_SOME_OTHER_FEATURE
18:27<@peter1138>If the number if in the comment, then that is the only place where the number is.
18:27<LordAro>whereas SLV_PR1234_SOMETHING < SLV_PR2345_ELSE
18:27<@peter1138>LordAro, no
18:28<+glx>you don't need to know
18:28<@peter1138>PRs aren't in order.
18:28<LordAro>i know, but they're approximately in order, just how things naturally work
18:28<@peter1138>PR6867 was committed after PR6885.
18:28<Samu>the comments!
18:28<LordAro>alright fine
18:28<@peter1138>Therefoore it's not useful.
18:29<LordAro>as long as it's in the doxy comment, i'll be happy
18:29<+glx>yes PR in comment as it is now is good enough indeed
18:31<Samu>those STR_NETWORK... strings being used in single player...
18:34<+glx>oh reused string happened before
18:35<+glx>if translation is not context dependant it's ok
18:37<dwfreed>rename the identifier to not reference multiplayer
18:37<@peter1138>Or don't worry about it.
18:37<@peter1138>Hmm, remember when we still use numbers in the langfiles?
18:38<+glx>can't remember
18:39<Samu>the strings are
18:39<Samu>"New Company"
18:39<+glx>yes keep it like that
18:40<LordAro>ok, so they are strings that are network related
18:40<LordAro>unless your name is Samu
18:40<Samu>now they're also in single player !~
18:40<+glx>not important, the usage will be the same
18:40<LordAro>only as much as they were before
18:41<DorpsGek_II>[OpenTTD/OpenTTD] JGRennison commented on issue #7159: Reverse at signal timeouts occur unexpectedly quickly, affects title game
18:42<Samu>oh, and the tooltip for Join
18:42<+glx>btw I think you can work around all the copy/paste stuff using more #ifdef and finetuning their position
18:44<+glx>as you add extra _networking checks it should be safe if done properly
18:45<+glx>and stop writing unreadable assignation using a lot of ?: operators :)
18:45<+glx>especially without parenthesis
18:45<Samu>hmm that part...
18:46<Samu>that is to show or hide the "Join" button
18:46<+glx>I don't see how you can even understand what the assignation does
18:47<+glx>yes it was already not very clear it seems :)
18:48<+glx>but you are making it worse ;)
18:56<nielsm>rule of thumb: every commit should increase code quality and documentation quality
18:57<nielsm>or at the very least not make things worse
18:59<DorpsGek_II>[OpenTTD/OpenTTD] PeterN commented on issue #7159: Reverse at signal timeouts occur unexpectedly quickly, affects title game
19:00<DorpsGek_II>[OpenTTD/OpenTTD] PeterN updated pull request #7148: Switch saveload versions from literal numbers to enum values.
19:01<DorpsGek_II>[OpenTTD/OpenTTD] PeterN commented on pull request #7148: Switch saveload versions from literal numbers to enum values.
19:06-!-nielsm [] has quit [Ping timeout: 480 seconds]
19:06<DorpsGek_II>[OpenTTD/OpenTTD] PeterN commented on pull request #7150: Change: Make ships stop in locks to move up/down instead of following the slope.
19:07<+glx>| _local_company == COMPANY_SPECTATOR is useless
19:08<+glx>can't be true without the setting
19:10<+glx>and can be simplified with _settings_client.gui.start_spectator && _local_company == COMPANY_SPECTATOR
19:10<+glx>one less else
19:13<Samu>it can be disabled and i'm still being a spectator
19:13<Samu>must keep the join button yet
19:15<Samu>hmm looks like i still have a problem t.t
19:15<+glx>but spectator mode should be valid only with the setting
19:16<Samu>if i disable the setting while i'm still a spectator, i can't start a new company, must fix
19:16<+glx>I think you should prevent setting disabling if you are a spectator
19:17<Samu>just fixed
19:21<Samu> shorter, gonna test
19:23<Samu>i think i have an idea
19:24<Samu>if (!c->is_ai && (_settings_client.gui.start_spectator || _local_company == COMPANY_SPECTATOR)) {
19:24<Samu>it's pointless to show the join greyed out
19:28<Samu>i guess it's also pointless to show it greyed out when i'm already at the company
19:29<Samu>testing if (!c->is_ai && !local && (_settings_client.gui.start_spectator || _local_company == COMPANY_SPECTATOR)) {
19:30<+glx>yes just show it when you are spectator, if you are in a company and want to change you'll just need to switch to specator first
19:30<+glx>it's not a network game anyway
19:32<Samu>i see, that's what the cheat is for, good idea
19:33<Samu>something like this if (!c->is_ai && !local && _local_company == COMPANY_SPECTATOR) {
19:33<Samu>hmm better test
19:34<+glx>and yes indeed if you start as spectator just use the cheat to join a company
19:34<Samu>what if i dont wanna cheat?
19:34<+glx>you just need an option to create a company, but you can forget join
19:35<+glx>or start as spectator and create or join a company
19:36<+glx>but switching later means cheating
19:36<+glx>allow to load a network save and continue to play in your previous company
19:38<Samu>i couldn't go back to spectating mode
19:38<Samu>i could cheat back to spectator mode i guess
19:38<Samu>but then it ticks "you have cheated"
19:38<@peter1138>Well you have.
19:39<+glx>well you can save, and restart
19:40<+glx>if you want to see you AI playing you won't join their company anyway
19:40<Samu>hmm I'm thinking...
19:41<+glx>and if you want to play you won't need to switch company after join
19:42<Samu>problem is when I actually cheat myself into an AI company and then decide to go back to spectator, oh... right, nevermind, i have already cheated
19:42<Samu>ok, removing spectator line
19:43<+glx>of course you can still cheat without being detected using reload
19:46<@peter1138>And... who'd care anyway?
19:48<Samu>if (!_networking && _local_company == COMPANY_SPECTATOR && include_spectator && widget == WID_TN_COMPANIES) {
19:48<Samu>*list->Append() = new DropDownListStringItem(STR_NETWORK_COMPANY_LIST_NEW_COMPANY, CTMN_NEW_COMPANY, Company::GetNumItems() >= MAX_COMPANIES);
19:48<Samu>can only create new company, once
19:48<Samu>can't move back to spectator
19:51<+glx>the setting is start as spectator, not emulate network in single player mode ;)
19:52<Samu>hmm it's not entirely right yet
19:52<Samu>i can still create a new company if i load a game
19:52<Samu>must think
19:53<Samu>so i loaded a game, it has a human company
19:53<Samu>i am currently spectator
19:53<+glx>as a spectator you can create a new company if you want, but then you're in it and no longer a spectator
19:53<Samu>new company is enabled :| shouldn't be
19:53<+glx>why shouldn't be ?
19:54<Samu>not sure
19:54<+glx>unless you want to allow it only if not company exist
19:54<Samu>i could create a 2nd human company this way
19:55<Samu>i have the option to join one of the human companies, or create a new one
19:56<Samu>it's not that bad of an idea, but...
19:56<+glx>maybe join a human company or create one if no human company
19:57<+glx>being able to create one for new games is required I think
20:06<Samu>nop, it's not here, or i failed
20:07<+glx>hmm you are adding it disabled it seems
20:09<Samu>yeah :( fail
20:10<Samu>if (!human) *list->Append() = new DropDownListStringItem(STR_NETWORK_COMPANY_LIST_NEW_COMPANY, CTMN_NEW_COMPANY, Company::GetNumItems() >= MAX_COMPANIES);
20:10<Samu>should be this
20:10<+glx>seems better yes
20:11<Samu>ehm, it looks really weird, with no indication anywhere that I'm a spectator
20:13<+glx>except a lot of disabled tools
20:13<Samu>well, as long as the user knows that setting was left on, he should know
20:13<+glx>or you could add a message box
20:14<+glx>when the game starts
20:14<DorpsGek_II>[OpenTTD/OpenTTD] Eddi-z commented on pull request #7148: Switch saveload versions from literal numbers to enum values.
20:15<Samu>the message box is already used for failed industries or no engines
20:17<Samu>that bottom right corner of the screen
20:17<Samu>could be saying Spectating
20:17<+glx>the money display section ?
20:18<+glx>ah yes why not
20:18<+glx>could be nice for network games too
20:18<Samu>yas, I agree
20:19<Samu>let's see what i can do
20:19<Samu>working with displayplanes is something that I wanted to understand better
20:19<+glx>it's not a display plane
20:20<+glx>basic drawing with some check around
20:21<+glx>probably just need an else
20:21<Samu>let me search for a suitable string
20:21<Samu>if it already exists
20:23<Samu>meh, must create new string
20:24<+glx>but black text seems wrong
20:25<+glx>I think something like "*** SPECTATOR ***" in red could work
20:26<+glx>but maybe too long
20:31<+glx>but size can be adapted around line 123
20:36<Samu>RED is quite hmm... alarming
20:37<+glx>then white
20:37<Samu>was also condireing displaying it in the middle
20:38<Samu>right side it is
20:38<+glx>in the middle there are the news
20:38<Samu>yes, but also the name of the company
20:38<+glx>ha just replace company name then
20:39<Samu>the two bars are simply emtpy
20:40<+glx>line 174 and 181
20:41<Samu>eww... i guess i prefer the right side, the middle is already being used for many things
20:42<+glx>but showing spectator at the same place as company name doesn't sound wrong
20:42<+glx>and you have plenty of space
20:44<Samu>middle then
20:44<Samu>which color? Silver it seems?
20:45<+glx>not yellow nor red at least
20:46<Samu>STR_STATUSBAR_SPECTATOR :{SILVER}- - Spectator - -
20:47<+glx>looks good
20:53<Samu>yeah spectator, I like it
20:59<Samu>hmm the interaction between cheat and spectator
20:59<Samu>may need a bit more thought
21:17-!-WWacko1976-work [] has joined #openttd
21:17-!-WWacko1976-work is "YO!" on #openttd #/r/openttd
21:56-!-Thedarkb-X40 [] has joined #openttd
21:56-!-Thedarkb-X40 is "realname" on #openttd #/r/openttd #oolite
21:59<Samu>white spectator is maybe better
22:00<Samu>still unsure what to do about cheat_gui.cpp
22:19-!-HerzogDeXtEr [] has quit [Read error: Connection reset by peer]
22:24<DorpsGek_II>[OpenTTD/OpenTTD] SamuXarick updated pull request #7158: Add: Client setting gui.start_spectator
22:25-!-Thedarkb-X40 [] has quit [Ping timeout: 480 seconds]
22:38<DorpsGek_II>[OpenTTD/OpenTTD] SamuXarick updated pull request #7158: Add: Client setting gui.start_spectator
22:42-!-glx [] has quit []
22:42-!-debdog [~debdog@2a00:79c0:63a:e000:7a24:afff:fe8a:d04d] has joined #openttd
22:42-!-debdog is "Wowbagger" on #openttd #bitlbee
22:43<Samu>still need to change all those comments :|
22:43<Samu>Off to bed, cyas
22:45-!-D-HUND [~debdog@2a00:79c0:610:1000:7a24:afff:fe8a:d04d] has quit [Ping timeout: 480 seconds]
22:47-!-Samu [] has quit []
23:59-!-tokai [] has joined #openttd
23:59-!-mode/#openttd [+v tokai] by ChanServ
23:59-!-tokai is "Christian Rosentreter" on +#openttd
---Logclosed Sat Feb 02 00:00:47 2019