Times are UTC Toggle Colours
00:00:54 *** Progman has quit IRC 01:17:26 *** HerzogDeXtEr has quit IRC 01:29:46 *** Wormnest has quit IRC 02:25:07 *** D-HUND has joined #openttd 02:28:33 *** debdog has quit IRC 02:30:50 *** glx has quit IRC 03:49:26 *** tokai has joined #openttd 03:49:26 *** ChanServ sets mode: +v tokai 03:56:31 *** tokai|noir has quit IRC 05:56:40 *** tokai|noir has joined #openttd 05:56:40 *** ChanServ sets mode: +v tokai|noir 06:03:40 *** tokai has quit IRC 06:05:01 *** Flygon has joined #openttd 06:29:53 *** andythenorth has joined #openttd 06:30:01 *** Progman has joined #openttd 06:31:26 *** Wuzzy has joined #openttd 06:55:28 *** sla_ro|master has joined #openttd 06:59:56 *** andythenorth has quit IRC 07:05:47 *** andythenorth has joined #openttd 07:22:29 *** tokai has joined #openttd 07:22:29 *** ChanServ sets mode: +v tokai 07:29:30 *** tokai|noir has quit IRC 07:29:31 <DorpsGek> [OpenTTD/OpenTTD] fsimonis commented on pull request #9417: CodeChange: Improve LineCache queries https://git.io/J4YfL 07:31:18 <andythenorth> yo 07:35:13 *** andythenorth has quit IRC 07:37:32 *** andythenorth has joined #openttd 08:43:47 *** WormnestAndroid has quit IRC 08:44:00 *** WormnestAndroid has joined #openttd 08:54:10 *** marieke has joined #openttd 08:54:15 <marieke> hi 08:54:19 <marieke> i need some help 08:54:25 <marieke> i couldn't find anything online 08:54:31 <marieke> my mouse isn't working 08:54:34 <marieke> clicking does nothing 08:54:54 <marieke> on linux 09:00:24 <marieke> nvm reinstalling it fixed it 09:00:30 *** marieke has quit IRC 09:08:43 *** nielsm has joined #openttd 09:18:40 *** iSoSyS has joined #openttd 09:38:45 *** Westie has quit IRC 09:40:00 *** Westie has joined #openttd 09:42:35 <andythenorth> it's oh so....quiet 09:43:14 *** Samu has joined #openttd 09:45:43 *** iSoSyS has quit IRC 09:48:05 *** Westie has quit IRC 09:49:16 *** Westie has joined #openttd 10:23:40 *** HerzogDeXtEr has joined #openttd 11:55:29 *** jottyfan has joined #openttd 12:22:15 *** rockstable has quit IRC 12:24:32 *** glx has joined #openttd 12:24:32 *** ChanServ sets mode: +v glx 12:33:13 *** tokai|noir has joined #openttd 12:33:13 *** ChanServ sets mode: +v tokai|noir 12:40:11 *** tokai has quit IRC 12:41:33 *** gelignite has joined #openttd 13:29:49 *** roadt__ has joined #openttd 13:36:45 *** roadt_ has quit IRC 14:17:09 *** Gustavo6046_ has joined #openttd 14:17:30 *** Gustavo6046 has quit IRC 14:17:31 *** Gustavo6046_ is now known as Gustavo6046 14:47:21 <andythenorth> permanent primary production changes... 14:47:32 <andythenorth> default game does 100%, 200%, 400%, 800% 14:47:43 <andythenorth> 400% -> 800% is really quite insanely high 14:51:32 <andythenorth> hmm 14:51:44 <andythenorth> "Set the production level to the value in bits 16 .. 23 of register 0x100." 14:51:56 <andythenorth> I thought that would be STORE_TEMP(new_value >> 8, 256) 14:51:59 <andythenorth> seems not 14:55:28 <andythenorth> probably because 8 isn't 16 14:56:38 <andythenorth> nope still doesn't work 14:56:43 <andythenorth> oof 14:57:18 <TrueBrain> bits 16 .. 23 are "value << 16" 14:57:51 *** Westie has quit IRC 14:57:55 <TrueBrain> not sure why you are right-shifting .. that makes the value smaller ;) 14:58:13 <TrueBrain> (it removes bits) 14:58:30 <TrueBrain> never thought about it, but I guess it is weird that bits are RTL, not LTR :) 14:58:55 <andythenorth> such things 14:58:56 <TrueBrain> b1000 == 8, b1000 >> 1 == b0100 == 4 14:59:11 <andythenorth> we could just abstract all this crap in nml 14:59:25 <TrueBrain> you know my opinion about that :) 14:59:28 <andythenorth> we / me / my cat or dog 14:59:55 <andythenorth> oof I need to write also to bits 0..15 15:00:04 <andythenorth> I guess I have to AND with mask or something? 15:00:43 <TrueBrain> v1 == the value for bits 0..15, v2 == the value for bit 16..23: v1 & (v2 << 16) 15:00:46 <andythenorth> or can I just && after the shift? 15:00:51 <andythenorth> hmm 15:00:51 <andythenorth> ok 15:00:56 <TrueBrain> not &&, that is a logic operator 15:00:59 <TrueBrain> you want a bitwise operator 15:01:09 <andythenorth> hurrah 15:01:17 <andythenorth> this is actually easier in nfo 15:01:22 <andythenorth> because it's documented 15:01:29 <andythenorth> in a way idiots can read 15:01:55 <TrueBrain> NML assumes you know what bitwise operations are, I would guess 15:02:15 <andythenorth> kinda the opposite of a good assumption :) 15:02:29 <TrueBrain> it is also not that common to understand it if you are not a programmer 15:04:17 <TrueBrain> hell, even a lot of programmers won't know how to deal with it :D 15:04:21 <TrueBrain> but can't NFO abstract from there? 15:04:23 <TrueBrain> euh 15:04:24 <TrueBrain> NML 15:04:44 <andythenorth> probably can 15:04:45 *** sla_ro|master has quit IRC 15:04:58 <andythenorth> I could write a procedure for myself to handle this and never see it again 15:05:01 <andythenorth> or do it in the compile 15:05:08 <andythenorth> so many ways to avoid being good at it :P 15:08:22 <FLHerne> Does NML really not abstract that? 15:08:41 <FLHerne> It has all these stupid abstractions for things that don't need abstracting 15:08:53 <andythenorth> hmm 15:08:57 <andythenorth> STORE_TEMP(string(STR_PROD_CHANGE_TEST) & (128 << 16), 256) 15:09:25 <andythenorth> seems not to work, neither the string nor the industry production level (128) are correct 15:09:41 <andythenorth> do I need to mask any bits? 15:09:53 <TrueBrain> assuming string() returns a 16-bit value, that should be fine 15:10:07 <TrueBrain> but I don't know NML, so there might be some language specific thing I am not aware of :D 15:10:26 <andythenorth> FLHerne nothing documented here https://newgrf-specs.tt-wiki.net/wiki/NML:Industries#Production_change_callback_results 15:10:35 <andythenorth> Set the production level to the value in bits 16 .. 23 of register 0x100. 15:10:39 <andythenorth> Setting bit 8 replaces the news message with a custom message, read from register 0x100 bits 0 .. 15. 15:10:45 <andythenorth> (bit 8 is set) 15:11:06 <TrueBrain> owh, sorry 15:11:07 <TrueBrain> I am an idiot 15:11:09 <TrueBrain> & -> | 15:11:41 <andythenorth> ok :) 15:11:50 <glx> TrueBrain: NFO only knows & and | and nml uses that for && and || ;) 15:12:36 <andythenorth> now we're sucking diesel :D 15:12:36 <andythenorth> works 15:12:41 <TrueBrain> \o/ 15:13:31 <glx> isn't there some nml magic with strings ? 15:14:11 <andythenorth> oh lol, now I have to do some integer maths 15:14:13 <andythenorth> " Floating-point operations are only possible when both operands are compile-time constants." 15:14:14 <andythenorth> GG 15:14:23 <andythenorth> we could abstract that away too :P 15:15:14 * andythenorth such l33t haxor 15:15:14 <andythenorth> production_level + (production_level / 2) 15:15:26 <andythenorth> instead of 15:15:30 <andythenorth> production_level * 1.5 15:15:41 <andythenorth> this is how real programmers get through the day, yes? 15:15:58 <glx> you need to work around nfo limitations :) 15:16:12 <andythenorth> it's nice that /2 isn't a floating point 15:16:19 <andythenorth> "isn't" 15:16:57 <glx> well /2 is usually >>1 15:17:36 <glx> so valid int :) 15:17:55 <glx> but 1/2 is 0 :) 15:18:52 <TrueBrain> andythenorth: * 1.5 is unclear if it should round up or down, where (a + a / 2) is rounding down 15:19:19 <andythenorth> throw away remainders 15:19:32 <TrueBrain> not saying it makes sense, but that is why it is different :) 15:20:38 <TrueBrain> in Python3, / is always float, // is always int 15:20:43 <TrueBrain> that is pretty helpful :D 15:21:51 <glx> I don't know why nml allows float, nfo wants int in the output 15:22:39 <andythenorth> I guess it has some rule for the constants that allow floats? 15:22:42 <glx> so float is valid only for compile time calculations 15:24:15 * andythenorth testing random things 15:24:21 <andythenorth> testing random things is the worst :) 15:24:45 <glx> oh no, you'll find new bugs 15:25:27 <glx> feeding the compiler with weird input may trigger things 15:25:52 <andythenorth> nah random in game :) 15:25:56 <glx> like your empty array the other time 15:25:57 <andythenorth> industry production change 15:34:34 *** tokai has joined #openttd 15:34:34 *** ChanServ sets mode: +v tokai 15:36:11 <andythenorth> maybe I should uncap ffwd speed for this :P 15:38:49 *** Wormnest has joined #openttd 15:40:54 <andythenorth> ok now we need to discuss 'nice looking production levels' 15:41:17 <andythenorth> 100% -> 200% -> 400% -> 800% gets silly 15:41:26 *** tokai|noir has quit IRC 15:42:10 <andythenorth> 100% -> 150% -> 225% -> 337% -> 506% starts out ok, then looks a bit odd 15:45:34 <andythenorth> multiplier of 1.6 seems to work 16:00:43 *** supermop_Home has joined #openttd 16:06:07 *** andythenorth has quit IRC 16:07:44 *** HerzogDeXtEr has quit IRC 16:10:58 *** jottyfan has quit IRC 17:04:28 *** tokai|noir has joined #openttd 17:04:28 *** ChanServ sets mode: +v tokai|noir 17:11:21 *** tokai has quit IRC 17:13:58 *** andythenorth has joined #openttd 17:16:39 *** tokai has joined #openttd 17:16:39 *** ChanServ sets mode: +v tokai 17:23:40 *** tokai|noir has quit IRC 17:51:05 *** esselfe has quit IRC 18:02:50 *** Flygon has quit IRC 18:19:25 <TrueBrain> for no real reason reading how GRFs are stored on disk .. so there is a compression bit, but it is unused :D 18:19:45 <TrueBrain> now I wonder what the idea was :) 18:22:39 *** sla_ro|master has joined #openttd 18:50:56 <DorpsGek> [OpenTTD/OpenTTD] DorpsGek pushed 1 commits to master https://git.io/J4uFQ 18:50:57 <DorpsGek> - Update: Translations from eints (by translators) 18:52:19 <TrueBrain> I also wonder what is up with this first psuedosprite that is always ignored 19:05:18 <Rubidium> that's the number of sprite that the "user" needs to set correctly 19:05:56 <Rubidium> first you could use nforenum to get that done, but if you didn't... 19:07:08 <TrueBrain> I did not understand 1 bit about what you said 19:07:24 <TrueBrain> expect for the seemly "suggestion" I should be using some tool to understand why OpenTTD skips that pseudosprite :P 19:08:49 <Rubidium> and there's a pseudo sprite at the end denoting 'end of file', so having a could of sprites at the begin is not even needed 19:09:44 <TrueBrain> wuth? :P 19:09:48 <TrueBrain> "having a could of sprites"? 19:09:48 <Rubidium> so, there is no use for OpenTTD to read it as it might be wrong and the information can be deduced in a much safer manner (i.e. looking at the 'end of file' pseudo sprite) 19:09:55 <Rubidium> s/could/count/ 19:10:27 <TrueBrain> wow, that was some cryptic text you threw at me :P 19:11:30 <Rubidium> yeah, reading it back my mind was going way faster than my fingers 19:12:55 <TrueBrain> but okay, what you tried to say is: the first pseudo-sprite indicates how many sprites are in the file, right? 19:13:54 <Rubidium> well... that's what the specification says 19:14:16 <TrueBrain> do you happen to have a link to that part of the specs? 19:14:17 <Rubidium> in reality it might often not be the case depending on the tools you are (not) using to make the GRF 19:14:23 <TrueBrain> searching for it didn't really result in a useful page :P 19:14:37 <TrueBrain> (so instead I was just reading our source code, as that was surprisingly easier :P) 19:16:14 <Rubidium> https://www.tt-wiki.net/wiki/The_First_Vehicle#Add_the_special_first_pseudosprite 19:16:29 <TrueBrain> wow ....... yeah, no surprise I did not find it :P 19:16:30 <TrueBrain> tnx! 19:16:44 <andythenorth> TrueBrain isn't it obvious? :) 19:16:51 <andythenorth> I mean...the computer can't count the bytes 19:17:00 <andythenorth> and deduce the sprites from them 19:17:04 <andythenorth> the author must do that! 19:17:27 * andythenorth "must not troll" 19:17:29 <TrueBrain> it is not unusual to do things like that :) 19:17:35 <TrueBrain> similar that every sprite has a length indicator 19:17:48 <TrueBrain> has nothing to do with the author .. this is the raw format :) 19:18:18 <TrueBrain> which possibly is the biggest issue with NFO, it is "kinda" the byte-representation of the GRF itself :) 19:18:52 <TrueBrain> just with a TINY bit more context ;) 19:19:23 <Rubidium> yeah, NFO's practically asm with GRF being machine code 19:19:41 <TrueBrain> just asm does some useful stuff :P NFO seems to .. not :) 19:20:14 <TrueBrain> mostly the specs-wiki are a bit hard to read, as the distinction is in the details 19:22:11 <Rubidium> NFO can do some useful stuff too... https://newgrf-specs.tt-wiki.net/wiki/GRFActionsDetailed#Escape_sequences is about all of that though ;) 19:23:11 <TrueBrain> this was mostly where I noticed a difference between NFO and GRF bytes 19:23:23 <TrueBrain> which made me realise this small but important difference :P 19:23:47 <TrueBrain> mostly it took me a bit of time to realise the info version is tight to NFO 19:23:49 <TrueBrain> not to GRF 19:24:20 <Rubidium> oh... I think you missed a page ;) 19:24:36 <Rubidium> https://newgrf-specs.tt-wiki.net/wiki/Version_numbers 19:24:48 <Rubidium> there are 3 types of versions... 19:24:54 <TrueBrain> .... okay .... 19:25:03 <TrueBrain> so "Info version" is just confusing 19:25:05 <TrueBrain> gotcha 19:25:13 <LordAro> TrueBrain: you brought this on yourself :p 19:25:17 <TrueBrain> yup 19:25:22 <TrueBrain> and I am not even mad :) 19:25:27 <TrueBrain> and tnx Rubidium ! 19:25:56 <TrueBrain> "Each property byte is followed by <num-info> new-info sections." 19:26:09 <TrueBrain> that is a very vague and unclear reference .. lol .. lets look in the source what it means :D 19:26:59 <andythenorth> controversial 19:27:05 <andythenorth> I maintain that 'guessing' is best 19:27:46 <TrueBrain> I did, twice .. both seems to be wrong :D 19:29:59 * Rubidium wonders whether the specs are deliberately obtuse ;) 19:30:13 * andythenorth can't believe how much difference cleaning the cooling system has made to this mac 19:30:17 <andythenorth> it's insane 19:30:26 <andythenorth> and also totally logical :P 19:32:32 <TrueBrain> okay ... so what the specs don't mention, is that it does index++ for each prop 19:32:35 <TrueBrain> and you only have to repeat the values 19:32:45 <TrueBrain> well, it tries to say that 19:32:49 <TrueBrain> but not in a way I could parse :) 19:32:50 <glx> TrueBrain: very often it's easier to understand grf spec by looking at openttd source (which is weird) 19:32:56 <TrueBrain> yup 19:33:55 <TrueBrain> just a lot of ambiguous language; which is fine, as once you know you know :) 19:34:16 <glx> very dependant on who wrote the wiki page 19:35:12 <glx> sometimes a very important bit of the spec is hidden in an example only 19:35:37 <TrueBrain> like: what is this first pseudo-sprite? :D 19:38:17 <Rubidium> pointless ;) 19:39:50 <TrueBrain> Installed version: 1.53.0 (2021-06-17) 19:39:50 <TrueBrain> Minimum required: 1.33.0-nightly (2019-01-13) 19:39:55 <TrueBrain> sometimes, rust can be a bit annoying :D 19:40:04 *** HerzogDeXtEr has joined #openttd 19:40:04 <TrueBrain> (the "nightly" part is important) 19:43:28 <glx> so 53 is lower than 33 because missing -nighlty ? 19:43:54 <TrueBrain> yes 19:43:58 <glx> silly 19:44:25 <LordAro> nightly enables experimental things 19:44:42 <TrueBrain> yup 19:44:53 <TrueBrain> and it totally makes sense .. just the reporting is funny 19:45:00 <glx> but you expect them to be in stable 2,5 years after 19:45:01 <TrueBrain> also a "once you know, you know" thingy :) 19:45:18 <TrueBrain> in fact, in this case I think it is a feature that got removed in the end :P 19:45:35 <TrueBrain> but the cargo I was using was a bit old too 19:46:16 *** gelignite has quit IRC 20:56:45 *** nielsm has quit IRC 21:11:28 *** sla_ro|master has quit IRC 21:12:36 *** Samu has quit IRC 21:14:26 <TrueBrain> lol, I did something silly: https://cdn.discordapp.com/attachments/337701432230805505/868963211658031135/unknown.png 21:21:00 <andythenorth> TrueBrain buttons aren't working? 21:21:02 <andythenorth> I tried to click 21:21:08 <TrueBrain> stupid image 21:23:11 <andythenorth> I thought the internet was just clickable pictures? 21:31:56 *** HerzogDeXtEr has quit IRC 21:46:28 <glx> yup that's silly 21:47:19 <glx> because you didn't read station specs yet ;) 21:51:25 <_dp_> I had a silly idea to make a website where one could upload a picture of stuff on a cardboard square, mark the square and it will make a newgrf object 21:51:42 <_dp_> but kinda feel like there are enough silly newgrfs as it is :/ 21:54:14 <TrueBrain> glx: as in, that would make any person ragequit? :P 21:57:19 <TrueBrain> glx: anything in particular that makes you mention it? 21:57:48 <glx> well it's kinda complexe action 0 21:58:45 <glx> but action 0 is the easy part in newgrf 22:07:17 <TrueBrain> best part is I can make this into a SaaS and ask money \o/ :P :P :P 22:09:15 <andythenorth> 'lol stations' 22:09:16 <andythenorth> is all 22:11:59 *** andythenorth has quit IRC 22:13:40 *** WormnestAndroid has quit IRC 22:14:24 *** WormnestAndroid has joined #openttd 22:34:45 *** WormnestAndroid has quit IRC 22:34:51 *** WormnestAndroid has joined #openttd 23:05:00 *** Progman has quit IRC