Back to Home / #openttd / 2015 / 05 / Prev Day | Next Day
#openttd IRC Logs for 2015-05-17

---Logopened Sun May 17 00:00:50 2015
00:18-!-liq3 [] has joined #openttd
00:20<Pikka> beep beep
00:41<supermop>beep indeed
00:56-!-Eddi|zuHause [] has quit []
01:09-!-roidal [] has joined #openttd
01:19-!-sla_ro|master [slamaster@] has joined #openttd
01:23-!-Biolunar [] has joined #openttd
01:35-!-andythenorth [] has joined #openttd
01:54<Pikka>mmm bus
01:55*Pikka must went
01:55-!-Pikka [] has quit [Quit: Leaving]
02:05-!-Pereba [~UserNick@] has quit [Quit: AdiIRC - Free irc client @]
02:16-!-Alberth [~alberth@2001:981:c6c5:1:be5f:f4ff:feac:e11] has joined #openttd
02:16-!-mode/#openttd [+o Alberth] by ChanServ
02:19<V453000>7 growth stages per tree?
02:21<V453000>cant see the extra 2 ones
02:24<andythenorth>you should do 22
02:24*andythenorth is trolling
02:28<supermop>should have model for you today v
02:29<V453000>:D andythenorth
02:30<V453000>lol holy fuck it is 500 trees
02:32<V453000>62 types of them
02:32<V453000>regarding all climatez ofc
02:34<andythenorth>nmlc spends a *lot* of time on FIRS spritelayouts
02:34<andythenorth>for a 70s compile, deleting most of the spritelayout conditional stuff removes 30s
02:35<V453000>:D 70s compile? :D
02:35<andythenorth>slow eh?
02:36<andythenorth>should be about 20s
02:36<V453000>I would understand you to want a decrease if it took 20 minutes
02:37<andythenorth>any more than about 9s, I have to start watching a YT video
02:37<andythenorth>so that makes coding very slow, because then I’m watching YT
02:38<V453000>draw pixels while waiting :P
02:38<V453000>since my compile takes like 15+ minutes on all bigger projects, I can return to doing models and come back in a while
02:40-!-wicope [] has joined #openttd
02:48<andythenorth>this single childsprite takes ~3s to render
02:48<andythenorth>there are 4 of these just for ground tiles
02:49<andythenorth>~65% of the FIRS compile time is in childsprite expressions
02:49<andythenorth>that’s bonkers :O
02:51<V453000>do you want to do some little coding for YETI or CATS Adaptive Train Stations?
02:51<V453000>you know, to do something useful? :D :P
02:51<andythenorth>faster is better :P
02:51<andythenorth>think of the time I’ll save
02:51<Supercheese>Internet's being dreadfully slow tonight
02:52<V453000>I cant think of the time you save since I do not know how long videos on YT you watch );
02:53<andythenorth> hide_sprite: (climate != CLIMATE_TROPIC) || ((climate == CLIMATE_TROPIC) && (nearby_tile_terrain_type(0, 0) == TILETYPE_DESERT)) || ((climate == CLIMATE_TROPIC) && (nearby_tile_terrain_type(0, 0) == TILETYPE_NORMAL) && ((nearby_tile_terrain_type( 1, 0) != TILETYPE_DESERT) && (nearby_tile_terrain_type(-1, 0) != TILETYPE_DESERT) && (nearby_tile_terrain_type( 0, 1) != TILETYPE_DESERT) && (nearby_tile_terrain_typ
02:53<andythenorth>0,-1) != TILETYPE_DESERT) ) );
02:55<andythenorth>just that expression for just one spriteset is 3s
02:57-!-Supercheese is now known as Guest5473
02:57-!-Supercheese [] has joined #openttd
03:00<@Alberth>NML makes a lot of copies of expression trees, for some reason
03:01-!-Guest5473 [] has quit [Ping timeout: 480 seconds]
03:04<@Alberth>it's not entirely optimal has (climate == CLIMATE_TROPIC) twice
03:04<@Alberth>not sure if that would fix anything tbh
03:16<andythenorth>good spot though
03:19*andythenorth wonders if hide_sprite can use LOAD_TEMP()
03:20<andythenorth>it would be handy if OpenTTD had a convenience method to return the correct ground sprite to newgrf :P
03:21<andythenorth>my guess is that a a good number of newgrfs spend a lot of effort on figuring out ground sprites
03:23<V453000>you mean the shape of the ground sprite?
03:24<andythenorth>and the correct tile to use
03:24<andythenorth>hey, nml docs even has an example for LOAD_TEMP
03:24<andythenorth>I would be surprised if that was slower than FIRS approach :)
03:31<andythenorth>if that works it will save 10s I reckon
03:31<andythenorth>and it drops 4 childsprites, so smaller output
03:37-!-DDR [] has joined #openttd
03:38<andythenorth>hey, maybe a FIRS compile will be < 1 min if this works :)
03:38*andythenorth tested it with hax
03:42<@Alberth>is || left -> right ?
03:42<@Alberth>if it preserves order, the (climate == CLIMATE_TROPIC) is completely useless, as it is implied by failing (climate != CLIMATE_TROPIC)
03:44<@Alberth>hmm, and you don't even need order preservation for that
03:44-!-Pensacola [] has joined #openttd
03:44*andythenorth is no good at boolean maths :)
03:45<andythenorth>the check should be done once in a switch, with STORE_TEMP on the result
03:45<andythenorth>the example in the nml docs is quite nice
03:45-!-Eddi|zuHause [] has joined #openttd
03:46<andythenorth>hey, this problem is Eddi|zuHause-shaped :)
03:47<@Alberth>nml isn't very well designed in its syntax
03:48<andythenorth>^ the offending template :)
03:50<Eddi|zuHause>not in the morning.
04:08<@Alberth>we'll wait 2 hours :p
04:08*andythenorth has childrens’ parties to go to, so will wait some hours more
04:11-!-Progman [] has joined #openttd
04:12-!-DDR [] has quit [Read error: No route to host]
04:18-!-Ketsuban_ [~ketsuban@] has joined #openttd
04:18-!-Ketsuban [~ketsuban@] has quit [Read error: Connection reset by peer]
04:22<@Alberth>andythenorth: for your template, the "climate == CLIMATE_ARCTIC" is redundant at lines 41, 48, 55
04:22<@Alberth>line 20 has the same structure, except the climate literal is different
04:24<@Alberth>line 27 can be simplified in the same way, if you add parentheses around the latter 2 alternatives of the ||
04:25<@Alberth>the idea is as follows: you have (A || ( ( not A) && B) )
04:26<@Alberth>euhm ( (not A) || ( A && B ) ) is perhaps easier
04:26<@Alberth>which is the same as ( ( not A) || B )
04:27<andythenorth>this can be applied when I move the checks to a switch
04:27<@Alberth>in A && B, if B is true, but A is not, A && B will fail. but your || alternative is (not A), which is true, no matter what B is
04:28<andythenorth>the same logic is needed, but should be expanded once, in a switch, not repetitively in hide_sprite
04:29<@Alberth>so the change is that the case A=false and B=true can be derived as 'true' in 1 way in your expression, and in 2 ways in the shorter expression
04:30<andythenorth>fun with boolean
04:31<@Alberth>booleans are surprisingly complicated :)
04:34*andythenorth will try the switch conversion later
04:34-!-andythenorth [] has quit [Quit: andythenorth]
04:36-!-oskari89 [] has joined #openttd
04:56-!-Pensacola [] has quit [Remote host closed the connection]
05:08-!-Alberth [~alberth@2001:981:c6c5:1:be5f:f4ff:feac:e11] has left #openttd []
05:37<TrueBrain>always fun to open up your public_html folder, and find all these fun little patches :D
05:37<TrueBrain>WT3 live patch .. where you receive translations live from WT3, instead of from your local folder :P
05:38<TrueBrain>GS addition to ask all players questions and gather their answers ..
05:41<Xaroth|Work>poll: is TrueBrain crazy
05:41<Xaroth|Work>results: 101%: yes, 0% no
05:41<TrueBrain>so much hate!
05:42<Xaroth|Work>truth! :P
05:42<TrueBrain>but truth hurts
05:43<Xaroth|Work>so does a train
05:43<TrueBrain>a train hurts you when you get in?
05:43<TrueBrain>sounds horrible
05:43<Xaroth|Work>depends on your method of entry
05:43<Xaroth|Work>full frontal.. quite much so
05:44<TrueBrain>that is not entry
05:44<TrueBrain>well, it mgiht, if the windshield bursts
05:44<TrueBrain>but no
06:00-!-sniezyn [] has joined #openttd
06:00-!-sniezyn [] has quit []
06:01-!-sniezyn [] has joined #openttd
06:03-!-sniezyn [] has quit []
06:08-!-andythenorth_ [~andytheno@] has joined #openttd
06:08<andythenorth_>Phone irc
06:08<andythenorth_>How rare
06:12-!-andythenorth_ [~andytheno@] has quit [Remote host closed the connection]
06:20-!-andythenorth_ [~andytheno@] has joined #openttd
06:20-!-andythenorth_ [~andytheno@] has quit []
06:20-!-Wolf01 [] has joined #openttd
06:20-!-Ketsuban_ is now known as Ketsuban
06:21<Wolf01>hi hi
06:34-!-strohalm [] has quit [Ping timeout: 480 seconds]
07:08-!-HerzogDeXtEr [] has joined #openttd
07:25-!-Alberth [~alberth@2001:981:c6c5:1:be5f:f4ff:feac:e11] has joined #openttd
07:25-!-mode/#openttd [+o Alberth] by ChanServ
07:32-!-Supercheese_ [] has joined #openttd
07:32-!-Supercheese is now known as Guest5495
07:32-!-Supercheese_ is now known as Supercheese
07:33-!-roidal_ [] has joined #openttd
07:34-!-gelignite [] has joined #openttd
07:37-!-Guest5495 [] has quit [Ping timeout: 480 seconds]
07:38-!-roidal [] has quit [Ping timeout: 480 seconds]
07:40-!-Netsplit <-> quits: jinks, Prof_Frink, theholyduck, Sylf, funnel, NGC3982, KouDy, __ln__, eQualizer, luaduck, (+3 more, use /NETSPLIT to show all of them)
07:42-!-Netsplit over, joins: KouDy, davidstrauss, eQualizer, luaduck, NGC3982
07:42-!-Netsplit over, joins: funnel, OsteHovel, Sylf, theholyduck, __ln__, jinks, Prof_Frink, Vadtec
07:46-!-tokai|mdlx [] has joined #openttd
07:47-!-tokai [] has quit [Ping timeout: 480 seconds]
07:57-!-FLHerne [] has joined #openttd
08:15-!-efess [] has joined #openttd
08:51-!-andythenorth [] has joined #openttd
08:54<andythenorth>so I *do* need to take care about the slots used for PAX and Mail :D
08:55<andythenorth>also food in tropic and arctic
08:57<andythenorth>the specs for nfo and nml somewhat imply that without stating it explicitly
09:13<@Alberth>naughty specs :p
09:20-!-supermop [] has quit [Ping timeout: 480 seconds]
09:22-!-Progman_ [] has joined #openttd
09:25-!-Progman [] has quit [Ping timeout: 480 seconds]
09:25-!-Progman_ is now known as Progman
09:27<andythenorth>default houses accepting cargos by fixed slot is expected yes?
09:46<@Alberth>apparently, but not nice, imho
09:47<@Alberth>it defeats the idea of cargo labels somewhat, imho
09:50<andythenorth>maybe we fix it for 2.0? o_O
09:50<andythenorth>2.0 all the things
10:06-!-Biolunar [] has quit [Quit: Yo.]
10:32-!-HerzogDeXtEr1 [] has joined #openttd
10:38-!-HerzogDeXtEr [] has quit [Ping timeout: 480 seconds]
11:03<Eddi|zuHause>the least thing it needs to be fixed is a sensible definition of what cargo will be accepted if GOOD/FOOD/... is not available. nothing? a random other cargo with the right town effect?
11:04<Eddi|zuHause>or just listen on town effect and ignore cargo label? so houses that now accept food accept any TE_FOOD cargo?
11:05<Eddi|zuHause>that may change a lot of current behaviour (e.g. tourists)
11:12<andythenorth>is that desirable?
11:12<andythenorth>or should I just fix FIRS?
11:13<andythenorth>is FIRS non-compliant with spec w.r.t cargo slots?
11:32<TrueBrain>owh, the joys of MSVC ... memmove already defined in LIBCMTD.lib
11:33<TrueBrain>right ...
11:33*andythenorth will just fix FIRS
11:34<andythenorth>so pax must be 0, mail must be 2
11:34<andythenorth>food must be 11
11:35<andythenorth>custom list-splice :P
11:36<TrueBrain>and now I have unresolved external symbols .. grr
11:37<TrueBrain>who decided to make this so complicated :(
11:40<TrueBrain>ah, it helps if both projects are Debug, not a mix of Debug/Release :D
11:41<TrueBrain>*whistles slowly*
11:42<Eddi|zuHause>andythenorth: i think goods was special as well
11:42*andythenorth distracted by Fractional-Reserve Banking
11:42<andythenorth>which is very interestin
11:42<andythenorth>interesting *
11:44-!-smoke_fumus [~smoke_fum@] has joined #openttd
11:45<andythenorth>money does not work like I was taught it does
11:46<TrueBrain>grr, debug/debug doesnt work either; how hard is it to add library to OpenTTD :(
11:47<TrueBrain>with randomly disabling stuff it works, but still my library functions arent found
11:54<andythenorth>enforce required cargo order manually in each of these lists?
11:54<andythenorth>or write some horrible magic to detect certain cargos and magically rewrite the list, with magic
11:55<TrueBrain>omg ... cdecl vs fastdecl ..
11:55<TrueBrain>andy: "horrible" .. stopped reading after that :P
11:58<TrueBrain>wow ... OpenTTD (in debug mode) is really unresponsive when you click content :P
11:59<TrueBrain>online content bla thingy
11:59<TrueBrain>the list is too long or something
12:00<TrueBrain>I remember the time the list was nice and small :P
12:00<+michi_cc>TrueBrain: It resorts the content list constantly or something like at and for some reason the sort is very slow in Debug mode. Could never be bothered to find out just why exactly the slowness occurs (I mean, it's totally fine in Release, so...).
12:01<TrueBrain>hehe; fair enough :)
12:02<TrueBrain>I now just have to add a filter quickly
12:02<TrueBrain>awh, my TLS handshake fails :(
12:03<+michi_cc>First guess would be to some algorithmic interaction when the list is already perfectly sorted for which Release has some shortcut or so. OTTD could probably cut down on the sorting as well.
12:03<TrueBrain>even with filter it is really really slow :P
12:04<TrueBrain>but once downloaded, it is fast enough
12:04<TrueBrain>what-ever :)
12:05<TrueBrain>owh, lolz ... handshake over port 80
12:28<TrueBrain>major version mismatch :(
12:28<TrueBrain>TLS doesnt love me :(
12:31-!-Pereba [~UserNick@] has joined #openttd
12:38<TrueBrain>lolz; this TLS library doesnt check if the received msgtype of the handshake is what he expected
12:38<TrueBrain>he just blindly assumes it is :P
12:59-!-Bhoren [] has joined #openttd
12:59-!-Bhoren [] has quit [Remote host closed the connection]
12:59-!-Bhoren [] has joined #openttd
13:05<TrueBrain>yippie, https connection with the openttd client \o/
13:11-!-oskari89 [] has quit []
13:24<TrueBrain>you are weird!
13:25<Eddi|zuHause>that's why you like me.
13:27<andythenorth>anybody spot the my mistake here?
13:27<andythenorth>mandatory_numeric_ids = {'PASS': 0, 'MAIL': 2, 'GOODS': 5, 'FOOD': 11}
13:27<TrueBrain>everything is 4 letters, except GOODS? *guessing randomly* :P
13:27<andythenorth>you score 1 point
13:28<andythenorth>any others?
13:28<TrueBrain>the ids are not numeric :P
13:28<andythenorth>otherwise TrueBrain is winner
13:30*andythenorth announces: Truebrain is winner
13:31<TrueBrain>WHAT DID I WIN?!?!
13:31<+michi_cc>Zwei Schläge weniger.
13:37<TrueBrain>lolz, connecter is a valid english word?
13:37<TrueBrain>always thought it was a typo
13:38<Eddi|zuHause>english is weird sometimes. most of the times.
13:38<andythenorth>I’d have had connector
13:38<andythenorth>but eh
13:39<andythenorth>the language is somewhat bendy
13:40<Eddi|zuHause>"Paul Dennis, who stood for the Trade Union and Socialist Coalition in Rainham North, Kent, insisted the result [0 votes for him] was wrong because he had “definitely” voted for himself."
13:40<Rubidium>isn't connecter someone that connects, live a employer is someone that employs
13:41<Rubidium>likewise I'd reckon connectee would be valid as well, as the party that is connected to
13:41<Rubidium>like an employee is someone that's employed
13:41<TrueBrain>connecter and connector are both valid, meaning the same thing ;)
13:41<TrueBrain>connecter gives 170M hits on google, connector 180M
13:41<TrueBrain>seems the world is divided :P
13:42<TrueBrain>connecter is more often refered to from french thou
13:42<Eddi|zuHause>sometimes the world divides along weird lines
13:43<Rubidium>I'd not use google to say anything about how common some word is in a particular language
13:46<Eddi|zuHause>i've seen people use google in that way. i don't think it's a particularly strong argument
13:47-!-frosch123 [] has joined #openttd
13:49<TrueBrain>joyful, our generate script fails if you have a space in your directory path under windows :D
13:49<Rubidium>in any case, trunk has 120 connecters (grep -Ri connecter) and 0 connectors
13:49<TrueBrain>*adds a few "*
13:50<TrueBrain>Rubidium: doesnt make it a valid english word ;) But I am surprised it really is .. it sounds wrong/weird
13:50<TrueBrain>connecter .. I would always write connector
13:50<TrueBrain>I am happy they are identical :D
13:50<andythenorth>frosch123: it has been a busy day. TrueBrain is shaking hands with everyone, and I broke towns.
13:53<frosch123>so truebrain has a flu now, and i should avoid him?
13:53<TrueBrain>shouldnt you always?
13:53<andythenorth>can anyone edit the newgrf wiki?
13:54*andythenorth wonders about updating the stuff on cargo IDs, but is banned from wiki
13:54<TrueBrain>what did you do?
13:54<frosch123>he used a password with spaces or something
13:54<andythenorth>changed my forum password, seems the most likely cause
13:54<andythenorth>does wiki keep the hash locally, or is it oauth or such?
13:55<TrueBrain>which wiki?
13:59<TrueBrain>no clue how that one works :(
13:59<andythenorth>nvm :)
14:00<andythenorth>I was considering a note that PASS, MAIL, GOOD, FOOD need specific cargo slots
14:00<andythenorth>but eh :)
14:01<TrueBrain>ffs, this generate script is annoying me :P
14:01<andythenorth>I learnt a new acronym this week
14:01<TrueBrain>fuck the fucking fuck?
14:02-!-Johnnei [] has joined #openttd
14:02<andythenorth>fucking thing’s fucking fucked
14:02<andythenorth>but yours will do
14:02<TrueBrain>saves the day ...
14:04<TrueBrain>no: owh, fuck
14:07-!-Bhoren_ [] has joined #openttd
14:08-!-Tirili [] has joined #openttd
14:10-!-Tirili [] has left #openttd []
14:11-!-Bhoren [] has quit [Ping timeout: 480 seconds]
14:17-!-FLHerne [] has quit [Ping timeout: 480 seconds]
14:19<andythenorth>so why is this checking neighbouring tiles? :o
14:19<andythenorth> hide_sprite: (climate != CLIMATE_TROPIC) || ((climate == CLIMATE_TROPIC) && (nearby_tile_terrain_type(0, 0) == TILETYPE_DESERT)) || ((climate == CLIMATE_TROPIC) && (nearby_tile_terrain_type(0, 0) == TILETYPE_NORMAL) && ((nearby_tile_terrain_type( 1, 0) != TILETYPE_DESERT) && (nearby_tile_terrain_type(-1, 0) != TILETYPE_DESERT) && (nearby_tile_terrain_type( 0, 1) != TILETYPE_DESERT) && (nearby_tile_terrain_typ
14:19<andythenorth>0,-1) != TILETYPE_DESERT) ) );
14:19<frosch123>michi_cc: TrueBrain: the slowness in the content gui in debug mode is caused by the md5sum computation of the scenarios/savegames
14:19<andythenorth>sprite is GROUNDSPRITE_DESERT_1_2
14:19<frosch123>that's why it hangs after the basesets, but only when opening content gui for the first time
14:21<frosch123>andythenorth: half desert
14:22*andythenorth wonders how much it matters that FIRS does these terrain checks
14:22<frosch123>we have no built-in methods for useful stuff :p
14:22<TrueBrain>frosch123: it only does that in debug mode, or?
14:22<andythenorth>they’re incredibly slow to expand
14:22-!-FLHerne [] has joined #openttd
14:23<frosch123>TrueBrain: no, but apparently md5sum computation benefits a lot from -O2
14:23<+michi_cc>frosch123: That might be something else. It's definitely slow until all results have been received, and not just the first time. Randomly inspected call stacks almost always end somewhere below the list sort for me.
14:23<andythenorth>65% of FIRS compile time is spent on spritelayout expansion
14:24<andythenorth>some of which is redundant
14:24<andythenorth>showing correct terrain at most industries is useless, because they provide a ground tile
14:24<+michi_cc>frosch123: More specifically, in the sorting function, which does two GetString()'s, which use a std::stack for argument expansion. And STL classes/iterators have a lot of extra debug stuff in MSVC Debug mode than is skiped in Release.
14:25<andythenorth>even where terrain is shown, the results are dubious
14:25<andythenorth>animals grazing on desert
14:26<frosch123>ok, so there are multiple things that make it slow :)
14:29-!-roidal_ [] has quit [Quit: WeeChat 1.1.1]
14:29<Eddi|zuHause><andythenorth> so why is this checking neighbouring tiles? :o <- desert/grass transition tiles?
14:30<andythenorth>seems to be
14:31<andythenorth>wondering if there’s a better solution by design
14:32<andythenorth>i.e. don’t show terrain at industries
14:32<andythenorth>thereby eliminating the issue
14:33<Eddi|zuHause>it can probably be simplified by clever ue of don't-cares
14:33<andythenorth>suggest some?
14:33<andythenorth>my options currently are:
14:34<andythenorth>1. rewrite to switches and temp registers, not spritelayout expressions (provably faster in tests so far), keeping all the current fine-grained checks
14:34<andythenorth>2. as 1, but drop some checks
14:34<andythenorth>3. don’t show terrain at any industry
14:34<andythenorth>4. show terrain at some industries, special-cased using 1 or 2
14:35<andythenorth>4 would be the fastest compile, but also most complicated
14:35<andythenorth>actually 3 would be fastest, but eh, loss of features
14:35<Johnnei>about compile times, ever tried compiling firefox? xD
14:36<Johnnei>Was quite suprised how quickly openttd compiled after having compiled firefox for the first time
14:37<andythenorth>@calc 6 * 65
14:37<@DorpsGek>andythenorth: 390
14:38<andythenorth>@calc 6 * 56
14:38<@DorpsGek>andythenorth: 336
14:38<Eddi|zuHause>i imagine firefox has an order of magnitude more code than openttd
14:38<andythenorth>currently FIRS has to expand 390 expressions for terrain sprite
14:38<andythenorth>of those 336 are pointless
14:38<andythenorth>and the remainder are ‘needed’, but the results look bad in snow or desert
14:38<andythenorth>this isn’t meaningless optimisation either, it’s 10s or 15s of a compile
14:39<andythenorth>on a 70-80s compile
14:39<Eddi|zuHause>Johnnei: but for andytheimpatient, anything that is not instant is too long.
14:39<Johnnei>true dat xD
14:39<andythenorth>OpenTTD compiles faster than FIRS :P
14:39<Johnnei>I actually considered stopping the build after it was churning away for an hour e.e
14:40<andythenorth>try updating your ports tree, or even just building GCC from scratch :P
14:40<andythenorth>both slooooooow
14:40<Johnnei>Got to love incremental builds, would be straight up pain to compile for nearly 2 hours for every little damn change
14:40<Eddi|zuHause>wine bisecting was annoying enough
14:41<Eddi|zuHause>in the initial big steps of a bisection, there are too many changes to do things "incrementally"
14:42<Johnnei>hehe, I let visual studio take care of figurig out how to make it incremental :p
14:43<Eddi|zuHause>Johnnei: it does that the same way any other system does it: "has this file been changed since the last compile?"
14:43<Johnnei>with the added restriction: ow we can multithread it anymore
14:43<andythenorth>can the FIRS farms just use a tile from the default farm fields?
14:43<Eddi|zuHause>Johnnei: but if you jump between releases, practically every file changed anyway
14:44<Eddi|zuHause>andythenorth: you mean for the industry or for the random fields?
14:44<Johnnei>Or atleast the files which take the longest to compile :p
14:45<andythenorth>for the fields where the animals are
14:45*andythenorth finds screenshots
14:45<Eddi|zuHause>the what?
14:46<andythenorth>and such
14:49<Eddi|zuHause>weren't you just working on getting rid of default base set tiles before?
14:50<TrueBrain>cannot convert parameter 1 from 'ssl_context *' to 'ssl_context *'
14:50<TrueBrain>go figure
14:50<andythenorth>default base set tiles are fine if constant in all terrain
14:50<andythenorth>it’s terrain-specific base set tiles that are tedious
14:51<+michi_cc>Bah, now you made me actually look ar it :p
14:52<+michi_cc>frosch123, TrueBrain:
14:52<Eddi|zuHause>andythenorth: and how is a farm not terrain specific?
14:52<TrueBrain>that resolves the issue of being slow?
14:53<andythenorth>Eddi|zuHause: dunno, can cows eat snow? Do sheep eat sand? :)
14:53<+michi_cc>Mostly, yes. There might still be the MD5 stuff frosch mentioned, but the window now feels almost like in Release.
14:54<+michi_cc>Just try it? ;)
14:54<TrueBrain>I am neck-deep in TLS stuff :P WIll try it when it compiles :D
14:57<andythenorth>daft eh?
14:58<andythenorth>the only industry that currently validly has terrain-specific ground tile is the forest
14:58<andythenorth>and that uses a different template, for legacy migration reasons :P
14:58<TrueBrain>bah; it is hard to get all the callbacks etc right and clean ..
14:58<TrueBrain>every time I think I have something decent ... I found a big gaping hole in the idea :P
14:59<Eddi|zuHause>andythenorth: one would imagine the sheep are inside during the winter...
14:59<Eddi|zuHause>andythenorth: (and the barn door closed)
15:00<andythenorth>so I could make use of the existing snow / not snow split to handle that
15:00<andythenorth>just delete the sheep from the snow sprite...
15:00-!-DDR [] has joined #openttd
15:01<frosch123>just make the sheep snow coloured
15:02<andythenorth>this is true
15:03<frosch123>michi_cc: s/if/of/, but nice otherwise :)
15:03<@Alberth>perhaps add a check for minimal ottd version, andy?
15:04<V453000>LOL snow camo for sheep
15:04<V453000>hi dudes btw
15:04<@Alberth>hi V
15:04<andythenorth>could just update that?
15:05<@Alberth>looks like it
15:05<andythenorth>it’s funny being the guardian of a codebase I didn’t write
15:05<andythenorth>I guess that’s common enough
15:05<andythenorth>I have no idea about a lot of FIRS
15:06<@Alberth>you didn't encounter everything while changing templates?
15:06<andythenorth>I don’t read most of it
15:06<andythenorth>change, run make
15:06<andythenorth>if it doesn’t break, commit
15:07<andythenorth>regression tests would be a luxury :P
15:09<andythenorth>so I could *immediately* speed up FIRS by only checking terrain at the 9 industries that need to
15:09<andythenorth>and not the 56 that don’t :P
15:10*andythenorth does that
15:10<andythenorth>rewriting the expressions to use temp registers would be useful
15:10<andythenorth>but I am not good enough at boolean logic
15:12-!-glx [] has joined #openttd
15:12-!-mode/#openttd [+v glx] by ChanServ
15:15<andythenorth>is there a reason (other than just work) that we newgrf can’t delegate the ground tile choice to OpenTTD?
15:16<TrueBrain>in their sourcecode it reads: typedef struct { .. } bla;
15:17<frosch123>not really, for water tiles we even do it
15:17<TrueBrain>now I want to forward declare bla, as I am only going to use it as a pointer, and dont want to include the header all the time
15:17<frosch123>main problem are slopes/foundations
15:17<TrueBrain>struct bla; fails
15:17<TrueBrain>what should it be? :D
15:17<andythenorth>slopes / foundations are also a problem in FIRS spritelayouts afaict :P
15:17<andythenorth>seem to be special cased
15:17<Johnnei>conclusion: remove slopes/foundations
15:18<frosch123>TrueBrain: struct bla; typedef struct bla;
15:18<@Alberth>TrueBrain: it's an anonymous struct, with a var named 'bla'
15:18<andythenorth>could we add ground tile delegation?
15:18<TrueBrain>Alberth: I know, that is my issue :P
15:18*andythenorth wouldn’t ask, except FIRS already is pinned to nightly OpenTTD
15:18<TrueBrain>frosch123: doesnt work :(
15:18<andythenorth>due to industry count increase
15:19<andythenorth>so now would be a good time
15:19<frosch123>hmm, maybe, struct bla; typedef struct bla bla;
15:19<@Alberth>in c++ ?? :)
15:19<frosch123>anyway, c has separate name spaces for "structs" and "typedefs"
15:19<TrueBrain>frosch123: redefinition issues :(
15:19<TrueBrain>strongly considering just casting it to void* :P
15:19<@Alberth>afaik you cannot refer to anonymous structs, as... they are anonymous
15:21<Johnnei>Surely the NSA can ;)
15:21<TrueBrain>random noise is random
15:23<andythenorth>newgrf would declare a special sprite number to get correct climate-dependent ground tile?
15:23<andythenorth>or ottd would just always draw the terrain?
15:24<TrueBrain>hiding globals in classes like a bozzz
15:24<@Alberth>TrueBrain: I wonder if you can make another anonymous struct with the same content and use that as type
15:24<frosch123>andythenorth: when a newgrf draws a plain water ground tile, ottd sometimes adds canal/river dikes
15:24<TrueBrain>Alberth: possibly; but in there are other anonymous structs ....
15:24<frosch123>the same happens for railtypes
15:24<frosch123>station draws a plain rail ground tile
15:25<andythenorth>my preferred interface would be to declare GROUNDSPRITE_NORMAL
15:25<andythenorth>and get the correct sprite
15:25<andythenorth>but that may have issues
15:25<frosch123>ottd draws plain ground tile + railtype overlay instead
15:25-!-liq3 [] has quit []
15:25<frosch123>so, essetially we need a special sprite number for "draw standard ground sprite"
15:25<TrueBrain>oeh, it compiles; lets ship it!
15:25<andythenorth>TrueBrain: what could go wrong?
15:25<frosch123>but we need some slope information, possibly via
15:26*andythenorth never tests commits any more
15:26-!-mczapkie [] has joined #openttd
15:26<andythenorth>as the forums have recently shown
15:26<mczapkie>Good Evening
15:26<TrueBrain>@base 10 16 78
15:26<@DorpsGek>TrueBrain: 4E
15:29<Eddi|zuHause>__ln__: what strikes me as odd about this article is that they say they factored out 231. which is not prime. and has 3 as prime factor. which would be a trivial check for the original number.
15:31<andythenorth>frosch123: we need slope information because...? o_O
15:31<frosch123>you need at least "orignal slope"/"flat foundation"
15:32<TrueBrain>if (err != ABC && err == DEF)
15:32<TrueBrain>right ... lets stop with the insanity? :D
15:32-!-gelignite [] has quit [Quit:]
15:32<andythenorth>yes, that would be convenient
15:32<andythenorth>although industry can sort the foundations out explicitly
15:33<Eddi|zuHause>TrueBrain: for the off-chance that ABC == DEF?
15:33<TrueBrain>even then ... :P
15:40<TrueBrain>meh; I need to access callback from a child in the initializer of a parent ..
15:40<TrueBrain>that is not going to happen :(
15:42*mczapkie is afk for a while
15:42<TrueBrain>thank you for letting us know
15:42<TrueBrain>I feel much better now :P
15:49<@DorpsGek>Commit by michi_cc :: r27288 /trunk/src (3 files in 2 dirs) (2015-05-17 21:49:35 +0200 )
15:49<@DorpsGek>-Fix: Slow network content GUI in MSVC Debug builds due to repeated string resolving.
15:50<andythenorth>I’m not sure that any more than GROUNDSPRITE_NORMAL is needed
15:50<andythenorth>not great results in desert though
15:53<TrueBrain>michi_cc: it is still slow, but at least less slow :D
15:56<__ln__>Eddi|zuHause: i wondered about that too, but perhaps factors in RSA terminology are the products of two primes or something like that. dunno, i don't know how RSA works.
15:57<frosch123>mczapkie: andythenorth: industry ids are always local
15:57<frosch123>there is no need to "reserve" any ids
15:57<frosch123>that issue only exists for cargo ids
15:57<andythenorth>how handy
15:58<Eddi|zuHause>__ln__: ideally, RSA keys are made up out of two prime factors, which both are about equally long. so a factor of 3 should never ever happen
16:00<Eddi|zuHause>__ln__: these two prime factors constitute the private key, while the product is part of the public key. the theory is that factorization is too expensive to do, which makes the concept "safe"
16:00<TrueBrain>oh-oh :(
16:00-!-sla_ro|master [slamaster@] has quit []
16:01<frosch123>valgrind! :)
16:02<TrueBrain>I dont really get why tbh .. it happens on error in ctor
16:02<TrueBrain>but .. hmm
16:02<Eddi|zuHause>__ln__: things become unsafe if one of the factors is very small (like 231, when it's supposed to be a 4000 bit number), or when it's not a prime number at all (which makes the prime factors even smaller)
16:02<frosch123>TrueBrain: usually a duplicate free earlier
16:04-!-Johnnei [] has quit [Quit: Leaving]
16:05-!-Bhoren_ [] has quit [Remote host closed the connection]
16:06<TrueBrain>cant seem to figure out what causes it; owh well, lets first continue on with the happy-flow :)
16:06<frosch123>that's what valgrind is for :p
16:06<TrueBrain>stuck at Windows atm
16:07<frosch123>ok, that sucks :)
16:08-!-Neri [] has joined #openttd
16:08-!-Neri [] has quit []
16:08<TrueBrain>ah, w00ps, yes, that will fail horribly ...
16:08<TrueBrain>using an instance member as int :D
16:09-!-tokai|noir [] has joined #openttd
16:09-!-mode/#openttd [+v tokai|noir] by ChanServ
16:11-!-Bhoren [] has joined #openttd
16:12<TrueBrain>and a double free \o/ :D
16:13<TrueBrain>every time I think: well, that should fix it, it still breaks at the same place :P
16:15<andythenorth>FIRS now compiles 10-15s faster, for no loss of features :D
16:15<andythenorth>@calc 56 / 71
16:15<@DorpsGek>andythenorth: 0.788732394366
16:15-!-tokai|mdlx [] has quit [Ping timeout: 480 seconds]
16:16<andythenorth>is that 22% faster? I can’t do decrementing % :P
16:17<andythenorth>@calc 15 / 71
16:17<@DorpsGek>andythenorth: 0.211267605634
16:17<TrueBrain>recv() says the connection was aborted
16:17<TrueBrain>and gz andy :)
16:19<TrueBrain>ah, port 80 .. why 80 .. you should be on 443 :(
16:23<mczapkie>frosch123, thanks for info, I thougt that industry are allocated globally
16:24<mczapkie>BTW, is TOWNGROWTH_FOOD flag possible for only one cargo?
16:24<frosch123>but iirc the gui only display one
16:25<frosch123>there is some "town effect multiplier" which says how much a cargo counts for some effect
16:25<frosch123>so some cargos can be more foody than others :)
16:26<mczapkie>I dont understand this town effect mutliplier, what if is set to 0? (in opengfx+ industries it is 0 for goods and food)
16:26<frosch123>0 probably disables it :p
16:27<mczapkie>no, it is working (food is needed in winter)
16:28<frosch123>yes, but does it actually count the food when delivered?
16:28<mczapkie>probably it is triggering possibility of growth, but not count to growth itself
16:28<frosch123>because 0 would mean that x cargo delivered contributes 0*x=0 to the town
16:29<mczapkie>but what about goods - are goods increasing growth of town by default?
16:29<TrueBrain>grr @ MSVC .. didnt ecompile the correct files when I changed an header :(
16:29-!-Alberth [~alberth@2001:981:c6c5:1:be5f:f4ff:feac:e11] has left #openttd []
16:29<frosch123>by default only food and water have such effects
16:29<frosch123>game scripts are more fancy
16:30<mczapkie>it is strange, why goods are not helping growth, but personally I'm usually using GS's
16:35<mczapkie>does anybody know, how to correctly initialize dev.openddtcoop repo and push without user/pasword and "authorization failed" response?
16:35<frosch123>for a new project?
16:36<mczapkie>I have .hgrc ile with user = hg
16:36<frosch123>it creates repository automatically 7 minutes after project setup
16:36<mczapkie>yes, I see the repo (I created project yestarday)
16:37<frosch123>then clone it
16:37<frosch123>or push to it, if you already have local commits
16:37<mczapkie>I see, this way, thanks
16:38<mczapkie>not by hg init
16:40<mczapkie>still asking about user/passwd
16:40<frosch123>use the same .hgrc as for other projects
16:41<frosch123>just replace the projectname in the url
16:41<mczapkie>wait, wrong address, https instead of hg
16:41<frosch123>you need ssh :)
16:41*andythenorth is running out of ‘go faster’ in FIRS :)
16:42<andythenorth>it’s now < 1 min with primed cache
16:43<mczapkie>works no fine, thanks
16:43<mczapkie>no = now
16:50-!-Progman [] has quit [Remote host closed the connection]
16:50<TrueBrain>frosch123: 30 minutes later ... it was a used after free :P
16:50<TrueBrain>a higher layer did free of host, and then I used host ..
16:50<TrueBrain>giving me GARBAGE :P
16:51<+glx>you look like a beginner :)
16:52<TrueBrain>luckily it is only the looks ;)
16:52<frosch123>glx: it's his first life
16:53<TrueBrain>it works \o/
16:54<andythenorth>hmm, there must be a better way to do date sensitive sprites
16:54<andythenorth>I gain 5-10s by dropping the hide_sprite expressions for just 4 building declarations
16:54<Eddi|zuHause>frosch123: are you sure?
16:55<TrueBrain> <- w00p! You will need polarssl library (and add them to the linker) if you want to test it, but meh; code is there :D
16:56<TrueBrain>much less code than I expected :)
16:57<Eddi|zuHause>TrueBrain: and how trustworthy is polarssl, compared to, say, openssl? :p
16:57<TrueBrain>source code in github
16:57<TrueBrain>so that is already a factor 2 :P
16:57<Eddi|zuHause>that is not really an answer :p
16:57<TrueBrain>there is no answer
16:58<TrueBrain>but it is used by things like OpenVPN, nginx, powerdns, ..
16:58<TrueBrain>so it is good enough for me :P
16:58-!-Speedy` [] has joined #openttd
16:58-!-Speedy` is now known as Speedy
16:58<TrueBrain>and the current patch has certificate validation disabled, so ... what can I say :P
17:00<andythenorth>there must be a more elegant way to do this
17:00<andythenorth>hide_sprite: (construction_state != 3) || (terrain_type != TILETYPE_SNOW) || (current_year + 5 * LOAD_TEMP(0) / 0x10000) < 1920 || (current_year + 5 * LOAD_TEMP(0) / 0x10000) >= 1945;
17:00<frosch123>do you want to ship ottd's certificaste with stable releases? :p
17:01<TrueBrain> <- that is what I currently have in mind
17:01<TrueBrain>if anyone has a better suggestion how to do this, I would love to hear it
17:01<TrueBrain>the main thing I would like to avoid, is that if you start 1.5 in 5 years, it yells the certificate is invalid ;)
17:02<Eddi|zuHause>anyone here noticed that kwin is occasionally slow to react and switch focus to a new window?
17:03<andythenorth>hide_sprite: LOAD_TEMP(n)
17:04<andythenorth>would be better
17:04<andythenorth>just how to structure the switch?
17:04<andythenorth>for STORE_TEMP()
17:05-!-Myhorta [] has joined #openttd
17:14<TrueBrain>night all
17:16-!-Wolf01 [] has quit [Quit: Once again the world is quick to bury me.]
17:17<Speedy>tighty nighty
17:17-!-DDR [] has quit [Read error: Connection reset by peer]
17:18-!-DDR [] has joined #openttd
17:18-!-frosch123 [] has quit [Quit: be yourself, except: if you have the opportunity to be a unicorn, then be a unicorn]
17:19*andythenorth -> bed
17:19-!-andythenorth [] has left #openttd []
17:20<Speedy>one must learn how irc in bed
17:24-!-mczapkie [] has quit [Remote host closed the connection]
17:50-!-Biolunar [] has joined #openttd
18:00-!-wicope [] has quit [Read error: Connection reset by peer]
18:10-!-Bhoren [] has quit [Remote host closed the connection]
18:15-!-glevans2 [~glevans2@] has quit [Ping timeout: 480 seconds]
18:16-!-glevans2 [~glevans2@] has joined #openttd
18:29-!-HerzogDeXtEr1 [] has quit [Quit: Leaving.]
18:38-!-DDR [] has quit [Read error: Connection reset by peer]
18:38-!-DDR [] has joined #openttd
18:42-!-supermop [] has joined #openttd
19:13-!-DDR [] has quit [Read error: Connection reset by peer]
19:44-!-tokai|mdlx [] has joined #openttd
19:45-!-tokai|noir [] has quit [Ping timeout: 480 seconds]
19:47-!-FLHerne [] has quit [Quit: There's a real world out here!]
19:50-!-Myhorta [] has quit [Read error: Connection reset by peer]
19:51-!-Supercheese [] has quit [Read error: Connection reset by peer]
19:52-!-Supercheese [] has joined #openttd
20:02-!-smoke_fumus [~smoke_fum@] has quit [Read error: Connection reset by peer]
20:11-!-smoke_fumus [~smoke_fum@] has joined #openttd
20:12-!-Supercheese is now known as Guest5558
20:12-!-Supercheese [] has joined #openttd
20:17-!-Guest5558 [] has quit [Ping timeout: 480 seconds]
20:42-!-smoke_fumus [~smoke_fum@] has quit [Quit: KVIrc 4.2.0 Equilibrium]
21:21-!-JezK [~jez@2407:7800:400:107f:3db5:daca:8457:e66a] has joined #openttd
21:40-!-liq3 [] has joined #openttd
22:26-!-glx [] has quit [Quit: Bye]
22:32-!-Biolunar_ [] has joined #openttd
22:39-!-Biolunar [] has quit [Ping timeout: 480 seconds]
23:19-!-CompuDesktop [~quassel@2604:6000:120a:a013:a5a9:30d:3e3b:7915] has joined #openttd
23:24-!-Compu [~quassel@2604:6000:120a:8001:c9cb:80bb:2b18:e392] has quit [Ping timeout: 480 seconds]
---Logclosed Mon May 18 00:00:51 2015