IRC logs for #openttd on OFTC at 2017-03-12
⏴ go to previous day
00:02:53 <supermop> ok apparently save for web still keeps it rgb
00:06:42 *** Hiddenfunstuff has quit IRC
00:13:10 <peter1138> yeah, even on sdl on linux, my mouse cursor totally disappears
00:13:23 <peter1138> when did that ever start happening :S
00:13:34 * peter1138 ponders trying to bisect it
00:23:57 <peter1138> oh, apparently i can't compile old versions :(
00:24:57 *** HerzogDeXtEr has joined #openttd
00:26:53 <frosch123> i compiled r22000 or something a few days ago
00:27:02 <frosch123> it just needed two lines changed
00:29:19 <Eddi|zuHause> yeah, it's one or two patches that need applying
00:29:24 <Eddi|zuHause> but i always forget which ones
00:30:00 <Eddi|zuHause> ones which say "fix compiling", probably :p
00:31:07 <supermop> I'm not 100% happy with the depot ground tiles
00:31:20 <supermop> but I think I might just go ahead and put this out
00:31:31 <peter1138> int/uint crap in fontcache
00:31:36 <peter1138> whichever dick came up with that
00:32:08 <frosch123> add an explicit template argument
00:32:19 <frosch123> + width = max<int>(1, slot->bitmap.width + (size == FS_NORMAL));
00:33:20 *** Montana has joined #openttd
00:37:42 <peter1138> grfcodec shit in some revisions
00:38:24 <peter1138> i guess that is cos it needs an old grfcodec too. sigh.
00:42:24 <frosch123> grfcodec is optional, just hide it so that the makefile does not find it
00:42:43 <frosch123> maybe there is a configure option for that
00:44:22 <peter1138> touch also works ;p
00:46:39 <peter1138> no idea how to fix that
00:49:16 *** sim-al2 is now known as Guest109
00:49:18 *** sim-al2 has joined #openttd
02:00:06 *** Maarten has joined #openttd
02:17:22 *** FLHerne has joined #openttd
04:28:05 *** chomwitt has joined #openttd
04:58:54 *** ChanServ sets mode: +v tokai
07:24:13 *** Alberth has joined #openttd
07:24:13 *** ChanServ sets mode: +o Alberth
07:57:56 *** sim-al2 is now known as Guest132
07:57:57 *** sim-al2 has joined #openttd
08:00:26 *** supermop has joined #openttd
08:30:39 *** Montana has joined #openttd
08:31:57 *** andythenorth has joined #openttd
08:41:09 *** zeknurn has joined #openttd
08:53:33 <andythenorth> Alberth: playing any games at the moment? o_O
09:01:49 <Alberth> I think I still have one or two steel-town games, but didn't do that for a while
09:02:17 <Alberth> this morning I played with NSW trains for half an hour, but too realistic
09:03:07 <Alberth> trains do seem to have nice colours though, maybe I should try a little longer
09:03:38 <Alberth> I was trying to get iron horse make-stuff move, mostly :p
09:06:51 <Alberth> then aircraft type display patch, state machine code generator for corsix, fixing tar loading as step in terkhen scenario stuff
09:07:12 <Alberth> surely I may have missed a few items :p
09:07:57 *** Hiddenfunstuff has joined #openttd
09:14:31 *** sla_ro|master has joined #openttd
09:17:05 *** Progman has joined #openttd
09:29:27 * andythenorth considers buying Tropico
09:29:49 <andythenorth> think I need some new game to wake my brain up
09:30:03 <Alberth> factorio seems popular too :p
09:30:39 <Alberth> but Tropico looks nice too
09:30:48 <andythenorth> I tried factorio :)
09:32:57 <Supercheese> Factorio is like crack
09:33:07 <Alberth> too much low-level stuff?
09:34:26 <Alberth> you could try corsixth, but you need the original data (cheap to get), the game isn't very deep though, easy to figure out
09:35:40 <andythenorth> factorio is minecraft, but you don’t build your own redstone
09:35:51 <andythenorth> ‘x is y’ is such a silly thing to say :)
09:35:51 <Alberth> I heard about Software Inc a few days ago, about managing a software company; not sure if it's fun
09:35:59 <andythenorth> sounds like RL :P
09:36:10 <andythenorth> I play that game 12 hours a day weekdays
09:36:13 <Alberth> yeah, that's my problem too, somewhat
09:37:10 <Alberth> newer simcities look very nice, I watched a few steel sky(???) videos, seem quite tunable
09:38:03 <Alberth> maybe checkout a few "builder sims 2017" videos ?
09:38:05 <andythenorth> I need something that doesn’t require much hardware
09:38:55 <Alberth> corsix would work, I think, try the demo level, that's free
09:40:28 * andythenorth reading about it
09:47:38 *** zeknurn has joined #openttd
09:47:51 * Supercheese loads up Cracktorio
10:16:19 <andythenorth> the CPP macro needs to be replaced by python templating
10:18:29 <Alberth> you can't expand a template with 2 parameters for a list of such pairs?
10:19:57 <andythenorth> my problem is this....
10:20:08 <andythenorth> keeping data in templates is considered a no-no-no
10:20:20 <andythenorth> but some of the checks don’t fit a standard format
10:20:48 <andythenorth> the list of incompatible grfs should be a dict / objects in a python file
10:21:00 <andythenorth> but the non-standard cases make a mess of that
10:21:13 <Eddi|zuHause> why does that need refactoring at all?
10:21:25 <andythenorth> I am removing CPP
10:21:38 <andythenorth> the destination is no make, no GCC
10:21:40 <Alberth> yep, so either move them out to some NML source?
10:22:11 <andythenorth> I think I just have to write a complicated template probably )
10:22:38 <andythenorth> the limiting factor is then that I don’t know what the non-standard cases are for
10:22:48 <andythenorth> so I’m writing code with no idea of purpose
10:22:52 <andythenorth> nor how to test it works
10:23:06 <Eddi|zuHause> i don't know your python templates
10:23:09 <andythenorth> in which case, can I just delete it? (As I’ll probably break it)
10:23:24 <Eddi|zuHause> but there's probably an almost 1:1 translation of that file into your templates
10:23:33 <Eddi|zuHause> requiring no refactoring
10:23:56 <Alberth> simplest is to copy the entire string to your python code
10:24:10 <Alberth> which almost trivially will not break anything
10:24:46 <Alberth> simplest way to check afterwards is compare output with original file, possibly after CPP processing
10:25:41 <Alberth> Grfs tend to stick around, so I'd say removal is not a useful option
10:26:44 <Alberth> tbh, I don't see the problem in keeping the non-standard cases as is, GRFs are stable, code isn't going to be changed
10:26:53 <Alberth> ie it's constant text
10:27:29 * andythenorth is being purist about separating data and templates
10:27:35 <andythenorth> that distinction might have to fail
10:27:53 <Alberth> you also move <h1> to python code, don't you?
10:27:56 <andythenorth> no list of incompatible grfs in the docs for you lot then :P
10:28:06 <Alberth> I mean, the HTML standard just might change
10:28:25 <andythenorth> then we have to rewrite templates
10:28:56 <andythenorth> yes, the html 5 document outlining algorithm changed the semantics
10:29:02 <andythenorth> although no browser implements it :P
10:29:28 <Eddi|zuHause> andythenorth: i still don't know your templates, but the way i see it you have these parameters (some of which may be None): 1) grf-id, error message, error message parameter, condition (outer), condition (parameter), other grf-id
10:29:39 <andythenorth> Eddi|zuHause: templating it is the least of the problems :)
10:29:55 <andythenorth> it’s a question about data
10:30:03 <andythenorth> is the list of incompatible grfs data?
10:30:30 <andythenorth> ok, so it shouldn’t be stored in the presentation layer
10:30:37 <andythenorth> non-controversial
10:31:11 <Eddi|zuHause> but still, what if your "data" is just make a table with the parameters i said above
10:31:41 <andythenorth> yes, your parameters look correct
10:32:00 <andythenorth> know I just need to be sure I implement correctly
10:32:14 <andythenorth> for which I just need to diff old/new?
10:32:15 <Eddi|zuHause> and your template does things like "if (condition_outer is not None): write code"
10:32:25 <andythenorth> I don’t actually need to know what the code does, just don’t change the output?
10:32:44 <Eddi|zuHause> yes, pretty much
10:32:53 <andythenorth> ok problem solved thanks
10:37:45 <Alberth> properly coloured version looks much better though
10:39:21 <andythenorth> Alberth: looks about 15 times easier to work with :)
10:39:34 <andythenorth> I haven’t tested it yet
10:41:12 <Alberth> oh, and only a factor 13 in Makefile line reductions :)
10:42:29 <andythenorth> is it ready to push?
10:44:31 <Alberth> I can also give you a tar with the goodies
10:48:24 <andythenorth> see what bundles does :P
10:48:45 <Alberth> at least it's missing a few targets
10:49:32 <Alberth> but I'll copy the stuff properly into the repo
11:05:58 *** HerzogDeXtEr has joined #openttd
11:11:54 <Alberth> let's see how hard it fails :p
11:13:51 <Alberth> likely, the bin/* stuff should be in its own repo
11:16:41 * peter1138 ponders installing Debian 6 or so just to compile old openttd...
11:21:21 <Alberth> can't you simply download an old binary?
11:21:35 <Eddi|zuHause> i don't think we store old binaries
11:25:38 <LordAro> not linux, insterestingly
11:25:59 <LordAro> something about that version
11:26:36 <Eddi|zuHause> that was before "my time"
11:27:13 <Eddi|zuHause> hm, i have a checkout at r12066, but it fails compiling with "missing daylength.h"
11:27:57 <LordAro> me too, but it's the first old version that came to mind :)
11:28:08 <Alberth> :o it had daylength, but we removed it?
11:28:18 <Eddi|zuHause> no, it has a patch applied
11:28:34 <peter1138> if you can remember what versions existed
11:28:55 <Eddi|zuHause> yeah, old releases. but not old nightlies
11:29:11 <Eddi|zuHause> which makes bisecting a bit... unwieldy
11:29:29 <LordAro> in theory it should all compile, i guess
11:29:36 <LordAro> just a matter of getting the right libraries
11:29:43 <Eddi|zuHause> LordAro: no, compilers changed
11:29:44 <peter1138> need the right compiler too
11:30:10 <LordAro> i'd like to think that different compilers would only change the set of warnings produced
11:30:41 <Alberth> then you need to change the configuration settings, at least
11:31:25 <peter1138> In file included from /home/petern/src/openttd/src/ai/../script/api/ai/ai_station.hpp.sq:12:0,
11:31:28 <peter1138> from /home/petern/src/openttd/src/ai/ai_instance.cpp:70:
11:31:31 <peter1138> /home/petern/src/openttd/src/ai/../script/api/ai/../script_station.hpp:52:96: error: call to non-constexpr function ‘StationFacility operator|(StationFacility, StationFacility)’
11:31:35 <peter1138> STATION_ANY = STATION_TRAIN | STATION_TRUCK_STOP | STATION_BUS_STOP | STATION_AIRPORT | STATION_DOCK, ///< All station types
11:32:55 *** maciozo has joined #openttd
11:38:57 <Eddi|zuHause> uhm what? "make" -> "source.lst: file not found"...
11:39:05 *** Wormnest has joined #openttd
11:39:11 <Eddi|zuHause> err, source.list
11:40:02 <Alberth> spelling correct? directory correct?
11:40:30 <Eddi|zuHause> it's a thing that definitely compiled once...
11:41:01 <Eddi|zuHause> version from 2008, binary from 2013
11:41:31 *** gelignite has joined #openttd
11:45:41 <Eddi|zuHause> so, manual reconfigure seems to work
11:46:49 <Eddi|zuHause> has a million warnings, but seems to compile so far
11:47:30 <Eddi|zuHause> has norev000 for some reason?
11:50:01 * LordAro tries compiling r20001
11:50:09 * LordAro gets immediate failure from squirrel
11:51:21 <Eddi|zuHause> i don't know if r12xxx has squirrel yet
11:52:53 <LordAro> surprised how many changes have been made to squirrel over the years
11:53:52 *** frosch123 has joined #openttd
11:53:59 <Eddi|zuHause> hm, i have some cargodist version from 2013 which seems to make fine
11:55:00 <Eddi|zuHause> that seems to be r25xxx based
11:56:35 <Eddi|zuHause> you dropped an n
11:58:27 <Eddi|zuHause> someone remind me that next time i compile something i make -jX
11:58:45 <andythenorth> next time you compile, make -jX
11:58:49 <andythenorth> probably 13 or so
11:59:08 <Eddi|zuHause> last time i checked, beyond -j6 made hardly a difference
11:59:08 <Alberth> Eddi|zuHause: export MAKEFLAGS=-j4
11:59:55 <Alberth> I once spend the effort to configure it :)
12:00:16 <Eddi|zuHause> yeah, but i always forget in which file i should put that to make it permanent
12:01:06 <Alberth> login script if you have it, else the normal start script; for bash, that would be .bash_profile and .bshrc
12:01:34 <Alberth> not that some systems have weird ideas whether or not you log in
12:02:23 <Alberth> as this overrides any previous setting (instead of extending it), it will work in .bashrc
12:10:02 <LordAro> (diff is partial r27079)
12:17:45 <andythenorth> Alberth: IH makefile works
12:18:22 <Eddi|zuHause> LordAro: sure, but a year from now, nobody remembers that, and we go looking again :p
12:18:56 <LordAro> could wiki it, somehow
12:19:12 <Alberth> like one will remember it exists in a year :p
12:20:07 <frosch123> Eddi|zuHause: just do not delete checkouts
12:20:19 <frosch123> i have checkouts of all branches, with various modifies in them
12:20:56 <Alberth> even that fails as libraries you dynamically link against break
12:21:05 <Eddi|zuHause> frosch123: sure, but i tried looking through those, but i can't distinguish between compile fixes and local uncommited changes
12:21:27 <Eddi|zuHause> most of them are svn checkouts
12:23:06 <Alberth> make hg repo with unmodified svn checkout version, then put that under your current checkout
12:23:07 <andythenorth> 34 #defines left to delete in FIRS
12:23:31 <Alberth> you're not interested to switch to other revisions anyway
12:24:36 * LordAro has a git repo with various remotes
12:26:12 <Alberth> try having a set of checked out versions with uncommitted random changes in them :)
12:26:43 <LordAro> eh, that's just a load of different branches with "tmp" commits :p
12:27:25 <Alberth> I have "random_stuff" commits :)
12:27:46 <Eddi|zuHause> i have lots of tmp.diff files :p
12:39:47 <Eddi|zuHause> In file included from /home/johannes/spiele/OpenTTD/chipp/src/window.cpp:20:0:
12:39:49 <Eddi|zuHause> /home/johannes/spiele/OpenTTD/chipp/src/blitter/factory.hpp: In destructor ‘virtual BlitterFactoryBase::~BlitterFactoryBase()’:
12:39:50 <Eddi|zuHause> /home/johannes/spiele/OpenTTD/chipp/src/blitter/factory.hpp:73:22: warning: cast from type ‘const char*’ to type ‘void*’ casts away qualifiers [-Wcast-qual]
12:39:52 <Eddi|zuHause> free((void *)this->name);
12:40:41 <Eddi|zuHause> "a warning is something that you can safely ignore" :pü
12:41:00 *** Montana_ has joined #openttd
12:41:20 <Samu> webchat.oftc.net isn't working, testing kiwiirc.com/client
12:42:23 <Eddi|zuHause> but much funnier are these:
12:42:26 <Eddi|zuHause> In file included from /home/johannes/spiele/OpenTTD/chipp/src/openttd.cpp:69:0:
12:42:27 <Eddi|zuHause> /home/johannes/spiele/OpenTTD/chipp/src/town.h: In member function ‘uint16 Town::GrowthRatePercent() const’:
12:42:29 <Eddi|zuHause> /home/johannes/spiele/OpenTTD/chipp/src/town.h:242:40: warning: statement has no effect [-Wunused-value]
12:42:30 <Eddi|zuHause> if (larger_town) default_growth_rate / 2;
12:42:56 <Eddi|zuHause> i've not looked at that file yet to determine what was acutally meant :p
12:43:19 <frosch123> "/=" instead of "/" probably
12:43:23 <Eddi|zuHause> but looks like it actually built
12:43:45 <Eddi|zuHause> yeah, most likely
12:44:58 <frosch123> anyway, if you make functional changes to old revisions to fix warnings, there is no purpose of bisecting
12:45:16 <frosch123> bisecting is about comparing behaviour, which is pointless if you patch the behaviour
12:45:37 <Eddi|zuHause> i was not trying to bisect this :p
12:46:18 <Eddi|zuHause> now if you would tell me which game i played with chipp...
12:46:28 <frosch123> how about you update the release history on the wiki? i think lordaro's younger sibling is not going to do it
12:47:19 <peter1138> ./openttd: error while loading shared libraries: libicui18n.so.38: cannot open shared object file: No such file or directory
12:47:24 <peter1138> of course, even old binaries may not run :p
12:47:37 <Eddi|zuHause> ah, i think i found it
12:48:11 <Eddi|zuHause> peter1138: you didn't reconfigure properly?
12:48:56 <Eddi|zuHause> you downloaded an old binary, but not its dependencies
12:49:11 <peter1138> should've made static binaries...
12:50:03 <Eddi|zuHause> peter1138: LordAro's link seems to work for compiling r2xxxx binaries
12:50:28 <LordAro> frosch123: still got no replacement, have i? :p
12:50:56 <frosch123> LordAro: should i file a feature request for aspell?
13:03:15 *** FLHerne has joined #openttd
13:03:36 <peter1138> hmm, the void area is broken with 8bpp-simple
13:09:42 <andythenorth> ooh an NRT bug report
13:11:07 <frosch123> andythenorth: improve error messages
13:11:18 <frosch123> it means "too many roadtypes defined"
13:11:34 <DorpsGek> andythenorth: wolf01 was last seen in #openttd 2 days, 12 hours, 8 minutes, and 28 seconds ago: <Wolf01> 'night
13:12:03 <andythenorth> I should add parameter to disable Road Hog types
13:12:47 <frosch123> andythenorth: wolf is at some lego fair till tomorrow
13:23:33 <FLHerne> No roadtypes for 1.7.0? Aw
13:26:20 <peter1138> what was the debug key to get the blitter to highlight drawn rects?
13:27:07 <frosch123> but you need to enable debug tools or something
13:32:49 <Eddi|zuHause> ^B is bounding boxes
13:32:53 <andythenorth> FLHerne: it’s in an official binary, which is kept more or less in sync with trunk
13:33:17 <andythenorth> I suppose that’s not so useful for servers
13:33:45 <FLHerne> Sure, it just seems a shame to miss it when 1.7.0 has so few other interesting features
13:34:35 <Eddi|zuHause> FLHerne: but at the same time, it's too untested/unfinished to put it into a release
13:34:56 <FLHerne> If you don't want to freeze the grf API yet, does 1.7.0 *have* to be April 1st?
13:35:19 <FLHerne> Well, now would be a bad time to complain
13:35:42 <Alberth> if source code is broken, there is no point to put it in stable
13:36:02 <andythenorth> I am pretty happy with the situation where the fork is officially built as binaries
13:36:03 <Eddi|zuHause> FLHerne: no, but you would have to delay 1.7 for like 3 months to stabilize it
13:36:16 <Alberth> ie NRT would be in stable, and still not usasble
13:36:36 <FLHerne> Eddi|zuHause: Ok, I got the impression it was slightly closer than that
13:36:49 <andythenorth> I rthink it’s ~done
13:37:00 <andythenorth> but running a fork let’s people test it, especially the newgrf sped
13:37:03 <Alberth> for some value of ~ :)
13:37:17 <andythenorth> adjusting a spec after it hits trunk…..too much whining :)
13:37:47 <frosch123> i thought we would have to start over :p
13:37:53 <frosch123> 16 roadtypes is not enough
13:38:15 <Eddi|zuHause> frosch123: no amount is ever enough
13:38:22 <andythenorth> bad frosch123 :P
13:45:33 <Eddi|zuHause> you have shops on sundays?
13:47:31 *** andythenorth has joined #openttd
13:49:11 <__ln__> does it vary by bundesland, or is virtually everything closed on sundays all over the country?
13:49:38 <frosch123> by default it is everywhere
13:49:54 <frosch123> every town can allow exceptions every now and then
13:50:06 <frosch123> but not all the time
13:50:38 <frosch123> there are "sunday open" events sometimes
13:51:12 <frosch123> opening times during the week vary between federal states though
13:51:25 <Eddi|zuHause> it used to be a lot stricter
13:51:28 <frosch123> bavaria is most strict, with closing time at 20:00
13:52:01 <__ln__> how was it in the east?
13:52:23 <Eddi|zuHause> there was not much difference between west and east, as far as i can tell
13:54:01 <Eddi|zuHause> __ln__: the rules for shop openings started to get relaxed in the mid-90s, after unification
13:55:22 <__ln__> for east the fundamental reason for closed-on-sundays was not religious, or was it?
13:56:05 <Eddi|zuHause> it's not like religion didn't exist
13:56:39 <frosch123> i would think the origins are rather in labor unions than in religion
13:57:39 <Eddi|zuHause> it was probably originally a church thing, that was then picked up by labour unions
14:00:45 <Eddi|zuHause> that was a pretty labour-union-friendly time
14:00:51 <frosch123> "In den Niederlanden verbietet ein Gesetz von 1954 das Fußballspielen vor 13 Uhr." <- sounds over-specific
14:02:16 <__ln__> over here, until about 2010, only very small (kiosk-size) shops were permitted to be open beyond {7-21, sat 7-18, (sometimes sun 9-18)}. that is, even during the christmas season all the shops needed to close at 18 on saturdays.
14:03:34 <__ln__> the rules were since relaxed a bit, and since 2016 all shops of any size are permitted to be open 24/7 on any day of the year.
14:05:03 <__ln__> there are very very few 24h shops though in practice, most close either at 21, 22 or 23.
14:06:21 <__ln__> but basically every grocery type shop is open on each sunday.
14:07:47 *** sim-al2 has joined #openttd
14:32:31 <peter1138> hmm... if i use a non-compositing window manager, the cursor is fine
14:33:31 <frosch123> does it have an effect if you disable the multithreaded drawing?
14:39:27 *** supermop has joined #openttd
15:01:12 <peter1138> feels like sdl_updaterects is doing the first rect, then waiting for vsync, and then doing the rese.t
15:13:45 *** FLHerne has joined #openttd
15:14:42 *** andythenorth has joined #openttd
15:16:55 <Alberth> I mostly finished the Makefile of iron horse, "bundle_src" still fails, due to the spaces in some of your source files. It's a feature of 'make', which will not be fixed
15:18:02 <Alberth> freaking backward compatibility reasons :(
15:19:08 <peter1138> yeah, also works ok in fullscreen mode.
15:19:09 <Alberth> The Makefile_old* files should be deleted, and spaces in filenames killed
15:19:48 <Alberth> but some names seem generated
15:22:53 <peter1138> mind you, that doesn't explain why it's the same in windows
15:22:59 <peter1138> although maybe it's similar
15:23:09 <peter1138> who needs 2d graphics anyway...
15:29:06 <andythenorth> Alberth: is bundle_src a required target? o_O
15:29:49 <Alberth> gpl requirements etc :)
15:30:04 <Alberth> just pushed removing the old makefiles
15:30:16 <andythenorth> any spaces can likely be removed
15:30:18 <Alberth> have a look at jenkins output
15:31:02 <andythenorth> oh it ships the psds? :o
15:31:41 <Alberth> it mirrors all repo files
15:31:59 <Alberth> which makes sense as source tarball, I think
15:32:13 * andythenorth remembers the argument about whether files for rendered sprites constitute source
15:32:55 *** FLHerne_ has joined #openttd
15:33:02 <Eddi|zuHause> "source" is anything you would make manual changes to
15:33:03 <andythenorth> a lot of psds isn’t meaningfully source, it’s more like sketching
15:33:08 <Alberth> you distribute them anyway in the hg clone
15:33:10 <andythenorth> I could move some stuff out of it
15:33:48 <andythenorth> GPL requirement is met by the repo
15:33:59 <Eddi|zuHause> you can leave drafts out if they don't end up being processed for the final program
15:34:08 <andythenorth> seems bundling non-usable, non-useful source files is over-stepping the principle
15:34:22 <andythenorth> it fails some kind of convenience rule I think
15:34:46 <Eddi|zuHause> in general, if the files are in the repo, there's no reason to leave them out of the bundle
15:34:55 <andythenorth> who consumes bundles?
15:35:13 <andythenorth> I can just delete the space, ‘solving’ the problme
15:35:23 <Alberth> the GarryGs of this world
15:35:40 <andythenorth> there’s no particular argument against distributing the psds then
15:35:42 <Eddi|zuHause> just replace space by _
15:36:49 <andythenorth> as long as there’s no expectation of a reliable psd -> png -> grf workflow :)
15:37:00 <andythenorth> the psds aren’t very usable unless you’re me
15:37:24 <Alberth> don't think the gpl goes that far :p
15:37:29 <andythenorth> lots of the files aren’t even psds :P
15:37:54 <andythenorth> the dir was called ‘graphics_sources’, but I kept conflating that with ‘src’ and ‘graphics’ dirs
15:37:55 *** FLHerne_ has joined #openttd
15:38:11 <andythenorth> also they’re not reliable sources :)
15:38:43 <Alberth> you need a "various_other_junk" directory :)
15:39:34 * andythenorth has replaced the spaces and is compiling
15:40:26 <Alberth> you likely do want to verify contents of the generated files, in particular the .tar files
15:41:18 <Alberth> ie is everything that you want in it?
15:41:20 <andythenorth> would the hash match?
15:41:52 <Alberth> no, I added a unique directory prefix in the tar, and likely the order of files has chnaged too
15:42:02 <andythenorth> bundle_src failed
15:42:03 <andythenorth> grfid -m iron-horse.grf > iron-horse.check.md5
15:42:16 <andythenorth> : /bin/sh: grfid: command not found
15:42:30 <Alberth> yeah, that would fail :[
15:43:41 <Alberth> previous version added a file with the grfid output, and a Makefile.dist with HG information of the build
15:44:12 <Alberth> grfid output is still generated, the HG information gets inserted into the bundle makefile, so you can rebuild the grf
15:44:34 <Eddi|zuHause> so, what if i use the md5-collision-attack to make two grfs with different content but same grfid?
15:44:57 <Alberth> you can keep both grfs
15:44:59 <Samu> can u fix some bugs, now that you're approaching 1.7.1?
15:45:31 <Eddi|zuHause> i mean different content that creates the same md5sum
15:45:58 <Alberth> I know Eddi, you can keep both, and be happy with them, or so
15:46:47 <Alberth> not sure why you'd want to have same but not identical grfs
15:47:58 <Alberth> the files provides the means to check your build is correct, nothing else
15:48:02 <Samu> FS#6508 - Draw buoy when placed
15:48:20 <peter1138> Then you can have a desyncing network game D:
15:48:22 <Samu> FS#6506 - Rail isn't converted if there is a ship in the tile
15:48:52 * andythenorth can’t remember what’s distributed in the tar
15:48:57 <Samu> FS#6505 - Allow rail when ships are on lower halftile
15:49:31 <andythenorth> Alberth: everything seems to be correct in the tar, just grf, license, readmet
15:49:59 <andythenorth> actually, it’s changelog, not readme :P
15:50:07 * andythenorth should maybe improve that, but later
15:50:18 <Samu> FS#6479 - Dropdown Setting is changing value of non-visible Parameter
15:51:17 <Samu> FS#6460 - Can't access Random AI Parameters in a game
15:51:38 <Alberth> bin scripts don't really belong in that repo, I don't have a better place yet, for them
15:51:59 <andythenorth> I don’t really want remotes and so on
15:52:08 <andythenorth> we could give them a repo, and vendor them in
15:52:09 <Samu> FS#6366 - Windows 10 main viewport and mouse issues in fullscreen mode
15:52:19 <andythenorth> vendor = copy-paste :P
15:52:20 <Samu> these bugs are relatively easy fixes, plz take a look
15:52:34 <Alberth> it's fine that you have your own copy, but it makes using them elsewhere tricky
15:52:46 <Alberth> or updating them, for that matter
15:53:17 <Alberth> sounds like the simplest solution, doesn't it?
15:54:04 <Alberth> alternatively, they could move into the general project thingie
15:56:08 * andythenorth wondered if src/build_iron_horse.py could be eliminated
15:56:19 <andythenorth> and the makefile handle each section
15:56:27 <andythenorth> it’s a bit pseudo-make-in-python
15:56:49 <Alberth> tricking non-suspecting devs :p
15:56:55 <andythenorth> dates from me not understanding how to call the python scripts correctly from make
16:13:35 <Samu> will you fix these easy to fix bugs for 1.7.0 release?
16:15:48 <Samu> they're really easy fixable :(
16:18:15 <LordAro> Samu: how do you know they're really easily fixable?
16:19:14 <LordAro> did you put the patches in the relevant issue?
16:21:01 <LordAro> do the devs know that the patches are there?
16:21:17 <peter1138> your fix for 5606 breaks when upgrading a rail tile with a road vehicle on it
16:22:28 <peter1138> (or rather, with a level crossing on it)
16:22:41 <peter1138> happened to be occupied :p
16:26:39 <DorpsGek> Commit by peter1138 :: r27784 trunk/src/rail_cmd.cpp (2017-03-12 16:26:31 +0100 )
16:26:40 <DorpsGek> -Fix [FS#6505]: Allow rail conversion even if ship is on tile (Samu).
16:27:22 <peter1138> Date: Tue Nov 11 11:50:04 2014 +0000
16:27:28 <peter1138> That's quite a while.
16:32:46 <DorpsGek> Commit by peter1138 :: r27785 trunk/src/waypoint_cmd.cpp (2017-03-12 16:32:40 +0100 )
16:32:47 <DorpsGek> -Fix [FS#6508]: Buoys not always drawn after being placed depending on zoom level (Samu).
16:34:52 <LordAro> peter1138: that your last commit date?
16:36:45 <LordAro> Date: Tue Feb 25 18:25:04 2014 +0000
16:36:53 <LordAro> was mine until 6 months ago :>
16:37:04 <LordAro> although, my commits don't count quite as much as yours :p
16:43:55 <peter1138> Eh, mine stopped counting long ago.
16:44:04 <peter1138> Samu, already sorted it :p
16:47:28 <peter1138> I actually think I stopped playing openttd after I stopped using CRT monitors.
16:47:59 <peter1138> Before that I used to play it in 800x600 on a 17" screen. That was a nice size, with lovely colours and crisp pixels.
16:48:25 <peter1138> I kinda wish I hadn't binned my CRTs, but really they were never going to get used again.
16:50:49 <andythenorth> stuff moves on eh?
16:50:59 * andythenorth had a CRT telly until last year
16:51:12 <andythenorth> it had really nice non-square pixels, looks better
16:54:22 <Eddi|zuHause> i still have a CRT TV here, but it can't receive any programs because they shut down analogue TV and there's no point in investing in a digital receiver
16:54:47 <andythenorth> you can watch VHS cassettes :)
16:54:58 <Eddi|zuHause> yeah. but nobody does that :p
16:57:55 <peter1138> Back then I was using SDL's DGA driver as well. It was super efficient at 8bpp palette animation.
16:59:45 <peter1138> Hmm, I pressed ^S to save a screenshot, and it said it did, but I can't find it.
17:00:46 <peter1138> Oh. .local/share...
17:03:49 <Samu> i did it for vs140, but compiler farm uses another version :(
17:04:08 <peter1138> Neither do I. And I'm on Linux, so...
17:06:30 <Samu> t.t problem has been since 2015 :(
17:09:39 <LordAro> needs a windows person
17:09:49 <LordAro> is that glx or michi?
17:19:20 <Samu> having trouble staying connected
17:22:08 <LordAro> (rather than being disconnected)
17:22:24 <andythenorth> IncompatibleGRF("SZ\13D", "Oil well decrease neutralizer")
17:22:46 <andythenorth> the grfid is being rendered as "SZD"
17:23:03 <andythenorth> I thought python 3 solved unicode? o_O
17:23:47 <Alberth> you just don't have a glyph for \13
17:25:17 <andythenorth> I just want it used literally
17:26:01 <andythenorth> how is unicode used in a grfid?
17:26:08 <andythenorth> I thought they were bytes :P
17:26:38 <Alberth> not sure nml understands unicode at all
17:26:47 <andythenorth> this is the danger of refactoring code I don’t understand :)
17:26:56 <andythenorth> I have literals in CPP defines
17:27:04 <andythenorth> and I want the same result via python
17:27:27 <michi_cc> LordAro: It needs someone who still has Visual Studio 2010 installed. Syntax is likely unchanged to VS2015.
17:27:56 <andythenorth> Alberth: escape seems to work, horrible interface though
17:28:01 <michi_cc> Samu: You need to change the vcxproj.in file and and run the generate script to update the real project files.
17:28:08 <andythenorth> what are these grfids, and where do I find them?
17:28:26 <Alberth> raw literal works too, probably r"..."
17:28:53 <Alberth> you're fighting python string interpretation :)
17:29:39 <Alberth> bananas has a large subset at best
17:30:11 <andythenorth> e.g. Experts Hard Industries has grfid 45480101
17:30:21 <andythenorth> but FIRS uses "EH\01\01"
17:30:35 * andythenorth knows that the bytes can be translated :P
17:31:09 <andythenorth> but my hex calculator doesn’t have ‘H'
17:31:31 <Alberth> python knows about ord("H")
17:31:50 <Alberth> or find a random ascii table at the interwebs
17:31:51 <andythenorth> I am about to learn some more computer science, aren’t I :|
17:32:06 * andythenorth wonders why nml doesn’t just use the grfid, instead of fucking around :)
17:32:27 <andythenorth> this translation is a game for people smarter than me
17:32:35 <andythenorth> neither openttd nor bananas use it
17:33:22 <Alberth> people want to write a string to get a number, for some weird reason
17:33:47 <DorpsGek> Commit by peter1138 :: r27786 trunk/src/ai/ai_gui.cpp (2017-03-12 17:33:40 +0100 )
17:33:48 <DorpsGek> -Fix [FS#6479]: AI configuration changed incorrect parameter when some parameters are hidden.
17:34:08 <peter1138> Samu, your patch for ^ was wrong thoughg
17:34:49 * andythenorth trying to find out if nml understands the grfids
17:35:24 <peter1138> Samu, your fixes are so easy they're often wrong ;)
17:39:28 <Samu> what was wrong with it t.t.
17:45:49 <Eddi|zuHause> i always wondered: how does python's ord() function handle unicode characters?
17:46:04 <Eddi|zuHause> but never bothered to try it
17:46:08 <Samu> hum... i thought SCRIPTCONFIG_DEVELOPER were the hidden parameters
17:46:59 <andythenorth> hmm raw strings must have a type
17:47:18 * andythenorth might as well support grfids, and this literal string shenanigans
17:49:22 <Samu> well, your code is clearer
17:49:33 <Samu> mine was going straigth into the parameter
17:50:07 <andythenorth> ha stack overflow says no way to detect a raw string
17:50:52 <andythenorth> ‘r’ is just a cue to the interpreter
17:51:26 <Alberth> yes, it changes how escaping works, for that string
17:51:28 <Samu> ah I see the difference, yours iterates over the list of visible settings
17:51:54 <Samu> mine iterates over all settings then jumps past the invisible ones
17:52:10 <Samu> i guess mine wasn't exactly "wrong", just different
17:56:01 <andythenorth> ach, no way to just declare a grfid then :)
17:56:32 <Alberth> can't just specify 4 bytes?
17:56:35 <peter1138> it would not work correctly if the first parameter was hidden, or if multiple parameters in a row were hidden, because it's not iterating on the list, it's just looping on the row counter.
17:56:49 <andythenorth> nml needs it converted to a literal
17:57:01 <andythenorth> I was going to convert it to a literal conditionally as needed
17:57:08 <andythenorth> but there’s no condition I can check :P
17:57:19 <Eddi|zuHause> andythenorth: define a class GRFID, and __init__ takes a string?
17:57:44 <Eddi|zuHause> then __str__ could output the string, and __repr__ the 4 hex bytes?
17:57:58 <andythenorth> that’s what I hoped :P
18:00:54 <peter1138> Samu, that's 1 out of 3 i've not had to modify :)
18:02:10 <Samu> AI first row is always the starting date
18:02:26 <andythenorth> Eddi|zuHause: ^^
18:03:05 <peter1138> maybe it's hidden :p
18:03:26 <peter1138> but anyway it's a gui operation there so makes sense to use the gui list that's already therel
18:04:04 <Samu> i didn't know how to use it
18:06:07 <andythenorth> Eddi|zuHause: can you reverse it? o_O
18:06:11 <andythenorth> nml demands the literal
18:06:16 *** gelignite has joined #openttd
18:06:16 <andythenorth> but all grfs in the wild use the grfid
18:06:49 <Eddi|zuHause> it's technically a bit wrong, because it's internally treated as little endian, but this code does big-endian-stuff
18:08:02 <Alberth> >>> "".join("{:02X}".format(ord(a)) for a in "EH\01\01")
18:08:33 <Eddi|zuHause> andythenorth: the reverse would use the chr function
18:09:04 <Alberth> except for the non-printable character
18:09:17 <Eddi|zuHause> python already handles that
18:09:39 <Alberth> ever tried print chr(240) to an ascii terminal?
18:10:25 <Eddi|zuHause> i don't remember what 240 is
18:10:27 <Alberth> sure you're not seeing the repr?
18:11:05 <Eddi|zuHause> just a thing to remember to use repr() in the code then
18:11:20 <Eddi|zuHause> just printing a ? here
18:11:23 <andythenorth> so…what do I need to? o_O
18:12:03 <andythenorth> but actually, I can’t think of any conditional that I could use, so it’s maybe moot?
18:12:31 <Eddi|zuHause> andythenorth: what problem are you trying to solve?
18:12:45 <andythenorth> I want to declare grfids as 4 bytes, not literals
18:12:52 <andythenorth> as that’s how they are encountered
18:12:57 <andythenorth> but FIRS declares them as literals
18:13:15 <andythenorth> and I don’t want to go hunting for all those grfs already declared
18:13:31 <Eddi|zuHause> so you want to input [0x45,0x48,0x01,0x01]?
18:13:42 <Alberth> "".join("\{:02X}".format(ord(a)) for a in "EH\01\01")
18:13:49 <andythenorth> the latter Eddi|zuHause
18:14:23 <andythenorth> o/t nml’s use of literals for grfids is utterly stupid
18:14:34 <andythenorth> and perpetuates the cute convention that grfid is meaningful
18:14:40 <andythenorth> and we know what damage that incurs :P
18:14:47 <Eddi|zuHause> it's not that stupid, if you come at it from a C++ mindset
18:15:02 <andythenorth> “but my canadian grfs"
18:15:04 <Eddi|zuHause> because in C++, a 4-letter-string is the same as a 32bit number
18:15:43 <andythenorth> I understand that :)
18:15:51 <Eddi|zuHause> the problem with "45480101" that prevents me from immediately coming up with a neat solution is that you need to consume 2 characters per iteration
18:16:08 <Eddi|zuHause> so a simple iterator over the string fails
18:16:13 <andythenorth> well I can just split every 2 chars and rejoin
18:16:22 <andythenorth> but only if I can be sure the string requires that
18:17:05 <andythenorth> maybe I just have to give my class two parameters for grfid
18:17:12 <andythenorth> and the correct type must be used
18:18:28 <Alberth> I am quite surprised you can't give it 4 byte numbers, tbh
18:18:51 <andythenorth> nml chokes on that
18:19:13 <Eddi|zuHause> it's a bit of an oversight
18:19:16 <andythenorth> I’ll paste the error in a minute
18:20:04 <andythenorth> nmlc ERROR: "generated/firs.pnml", line 193: Expected a string literal of length 4
18:20:29 <Eddi|zuHause> it should be fairly easy to extend nml to accept a number
18:21:13 <andythenorth> incidentally, I can’t find anything in nml docs about generating a valid grfid
18:21:27 <andythenorth> surprised more people don’t fail on this
18:21:43 <andythenorth> I always ask someone else to do it when I start a new grf
18:21:46 <Alberth> everybody copies it from a working grf or from the example
18:22:00 <Samu> peter1138: still working on my patches? :o
18:22:18 <andythenorth> lots of grfs with “AB\03\02"
18:22:32 <Eddi|zuHause> andythenorth: i leave splitting the string into 2-byte-pairs as a simple exercise for the reader
18:22:55 <andythenorth> what if it’s a literal of length 8 though? o_O
18:23:01 <andythenorth> that is what puzzles me
18:26:42 <andythenorth> Snail: so can you compile on Sierra?
18:28:20 <Eddi|zuHause> andythenorth: how could it be a literal of length 8?
18:28:38 <andythenorth> I don’t know, I’m not a good programmer :)
18:28:49 <Eddi|zuHause> it must be exactly 4
18:29:06 <Snail> thanks to the patch submitted on the forums time ago
18:29:17 <Eddi|zuHause> that's why nmlc guards against that
18:29:19 <andythenorth> Eddi|zuHause: so it’s totally safe to check for len > 4?
18:29:42 <andythenorth> FIRS is declared as a string of length 12
18:29:47 <Eddi|zuHause> andythenorth: what's that check meant to do?
18:30:10 <Eddi|zuHause> andythenorth: 12 characters on the screen doesn't make the string length 12
18:30:14 <andythenorth> I need to conditionally detect an existing literal string, or a string of bytes that needs converting to literal
18:30:22 <Samu> peter1138: here's all my bugs/requests/patches as of recently FS#6505 FS#6504 FS#6500 FS#6498 FS#6478 FS#6460 FS#6453 FS#6452 FS#6445 FS#6438, if you care to take a look
18:30:28 <Samu> thx, it's much appreciated
18:31:14 <andythenorth> I’ll just use different parameters for literal or non-literal strings
18:31:16 <Eddi|zuHause> andythenorth: if in this context you already know it must be a grfid, then len(s)=4 means it's a literal, and len(s)=8 means it's a hex representation
18:31:37 <andythenorth> and if it’s len 12?
18:31:44 <Samu> and FS #6512, forgot that one
18:32:18 <Eddi|zuHause> andythenorth: len("\xx\xx\xx\xx")=4 (where x are valid digits)
18:32:23 <andythenorth> there are literals with length 8
18:33:16 <andythenorth> Eddi|zuHause: what’s the length of r"AL\01\01"
18:33:26 <andythenorth> python disagrees
18:33:34 <Eddi|zuHause> "\01" is one character
18:33:38 <andythenorth> len(r"AL\01\01”) returns 8
18:34:25 <Eddi|zuHause> andythenorth: why are you using r""?
18:34:50 <andythenorth> because it’s neater than escaping the slashes?
18:35:18 <Eddi|zuHause> andythenorth: but the slashes are meant to be treated as escapes
18:35:25 <andythenorth> but then nml barfs
18:35:46 <Eddi|zuHause> andythenorth: you need to feed repr(s) to nml
18:36:39 <Eddi|zuHause> repr() puts the slashes back in
18:37:08 <Alberth> allowed = set("0123456789ABCDEFabcdef") ; all(c in allowed for c in s)
18:39:08 <andythenorth> using repr(), nmlc ERROR: "generated/firs.pnml", line 137: Expected a string literal of length 4
18:39:21 <andythenorth> it’s escaped (\\)
18:39:29 <andythenorth> nml doesn’t like that
18:39:32 <Eddi|zuHause> andythenorth: you need to remove all the r""
18:40:05 <andythenorth> this is way too hard, I’m just going to subclass IncompatibleGRF
18:40:06 <Eddi|zuHause> then i don't know what you did
18:40:33 <andythenorth> passed the literal, called repr on it
18:41:03 <andythenorth> python has to have the escapes, but nml does not want them
18:41:07 <Alberth> python literal representation != nml literal representation
18:41:20 <andythenorth> this is silly :)
18:41:28 <andythenorth> grfid should have been the grfid, and not a game
18:42:18 <Eddi|zuHause> andythenorth: really, nmlc should be taught to handle numeric IDs
18:42:46 <Eddi|zuHause> it's probably 2 lines :p
18:43:00 <Eddi|zuHause> one of them checks whether the ID is in range :p
18:47:14 <andythenorth> maybe parse_string_to_dword()
18:50:31 <Eddi|zuHause> uhm, yes. you just need to teach all places that expect a grfid to skip that function if it encounters a number
18:51:23 <andythenorth> there are about 800
18:51:54 <Eddi|zuHause> alternatively you check for int in that function and just return that value
18:52:06 <Eddi|zuHause> before that string check there
18:53:40 <Eddi|zuHause> something like isinstance(var, Integral) or so
18:57:07 <andythenorth> I won’t patch nml in ways I don’t understand :)
19:19:09 <DorpsGek> Commit by peter1138 :: r27787 trunk/src/ai/ai_gui.cpp (2017-03-12 19:19:01 +0100 )
19:19:10 <DorpsGek> -Fix: Update scrollbar when rebuilding AI/GS setting list.
19:35:22 <peter1138> Now those linger dropdown lists are bugging me...
19:37:08 <frosch123> everything you fix for ai/gs settings does likely also apply to newgrf settings :)
19:37:53 <frosch123> newgrf parameters are mostly the same code as ai/gs parameters
19:42:12 <peter1138> dropdown lists aren't closed by clicking elsewhere
19:42:18 <peter1138> so it's possible they have no parent!
19:42:26 <peter1138> and then it'll carash
19:43:13 <peter1138> yeah, my weird disappearing mouse cursor also happens to complete windows when i drag them around...
19:43:33 <peter1138> it's like it's waiting for vsync, but doing it at the wrong moment
20:02:02 <peter1138> jesus the window goes mad if i try to resize it
20:07:15 <andythenorth> technicolour-vomit smear?
20:10:09 <andythenorth> GRFIDDword is a horrible classname
20:10:31 *** Stimrol has joined #openttd
20:10:42 <andythenorth> PEP 8 requires ClassName convention
20:11:47 <peter1138> trying windowmaker... it goes spazzy with that too, but in a totally different way
20:19:35 <Eddi|zuHause> andythenorth: the class would be GrfID, and depending on the context you'd call GrfID.hex() or GrfID.literal()
20:20:00 <Eddi|zuHause> or something like that
20:35:52 <peter1138> Cool, now the game is intermittently crashing inside pulseaudio when I resize...
20:46:19 <Eddi|zuHause> no, but i don't see a reason why it shouldn't work in 3
20:55:43 <andythenorth> in python 3 interpreter, print(chr(int(’01’,16))) returns \x01
20:56:25 * andythenorth sees the problem
21:03:27 <andythenorth> if (grf_future_status('EH\x01\x01')) {
21:03:41 *** sla_ro|master2 has joined #openttd
21:03:53 <andythenorth> ‘ is not legal apparently, must be “
21:04:02 <andythenorth> stupid smart quote irc client :P
21:06:17 <andythenorth> nml barfs on the \x01 as well
21:10:40 <andythenorth> Eddi|zuHause: I gave up trying to make it nice :P
21:10:44 <andythenorth> it apparently works
21:13:31 <Eddi|zuHause> actually, there might be a quicker and dirtier workaround, you can just turn the "45480101" string into "\45\48\01\01"
21:16:52 <andythenorth> but it seemed not proper
21:17:04 <andythenorth> but split and join would do it
21:17:12 <andythenorth> nml literal is not quite a literal, eh?
21:21:09 <peter1138> Using svn feels weird :s
21:22:00 *** sim-al2 has joined #openttd
21:25:52 <frosch123> hg/git are older than cvs was when svn started
21:29:20 <peter1138> all these open issues...
21:43:34 <andythenorth> seemed appropriate
21:59:43 *** Supercheese has joined #openttd
22:14:42 *** andythenorth has left #openttd
22:34:24 *** Montana_ has joined #openttd
23:44:47 *** sla_ro|master2 has quit IRC
continue to next day ⏵