Log for #openttd on 29th April 2016:
Times are UTC Toggle Colours
00:02:53  *** Samu [] has quit [Quit: Page closed]
00:29:46  *** minimoo [quasselcor@2a01:4a0:44:118::2] has quit [Read error: Connection reset by peer]
00:30:27  *** minimoo [quasselcor@2a01:4a0:44:118::2] has joined #openttd
00:57:17  *** supermop [] has joined #openttd
01:07:51  *** Cybertinus [] has quit [Ping timeout: 480 seconds]
01:34:59  *** Myhorta [] has quit [Ping timeout: 480 seconds]
01:42:56  *** Cybertinus [] has joined #openttd
01:50:55  *** smoke_fumus [~smoke_fum@] has quit [Quit: KVIrc 4.2.0 Equilibrium]
01:54:04  *** AdmiralKew [~pcc31@] has joined #openttd
02:47:54  *** Eddi|zuHause2 [] has joined #openttd
02:53:13  *** Eddi|zuHause [] has quit [Ping timeout: 480 seconds]
03:40:04  *** glx [] has quit [Quit: Bye]
04:32:04  *** Klanticus [~quassel@] has quit [Ping timeout: 480 seconds]
04:46:09  *** sim-al2 [] has quit [Ping timeout: 480 seconds]
04:46:22  *** Klanticus [] has joined #openttd
04:52:06  *** sla_ro|master [slamaster@] has joined #openttd
05:01:18  *** ConductCat [] has joined #openttd
05:06:50  *** ConductorCat [] has quit [Ping timeout: 480 seconds]
05:46:08  *** Alberth [~alberth@2001:981:c6c5:1:be5f:f4ff:feac:e11] has joined #openttd
05:46:11  *** mode/#openttd [+o Alberth] by ChanServ
05:54:43  *** supermop_ [] has joined #openttd
05:57:32  *** Hiddenfunstuff [] has joined #openttd
05:57:42  <Alberth> moin
05:58:11  <Hiddenfunstuff> o{
05:58:17  <Hiddenfunstuff> o/
06:00:27  *** Biolunar [] has joined #openttd
06:01:12  *** supermop [] has quit [Ping timeout: 480 seconds]
06:20:28  *** sla_ro|master [slamaster@] has quit []
06:42:34  *** MonkeyDrone [~Monkey@] has joined #openttd
06:47:49  *** empezar [] has joined #openttd
07:01:27  *** Ketsuban [~ketsuban@2a02:c7d:a34a:9000:4cb5:5806:f205:2bf8] has quit [Quit: Leaving]
07:07:51  *** empezar [] has quit [Ping timeout: 480 seconds]
07:12:46  *** Myhorta [] has joined #openttd
07:23:24  *** ConductingCat [] has joined #openttd
07:27:48  *** ConductorCat [] has joined #openttd
07:30:27  *** ConductCat [] has quit [Ping timeout: 480 seconds]
07:32:55  *** ConductingCat [] has quit [Ping timeout: 480 seconds]
07:50:14  <Leanden> Alberth u there?
08:03:33  <Alberth> yes
08:04:00  <Alberth> Leanden:  ^
08:04:02  <Leanden> :)
08:04:05  <Leanden> I have two questions
08:04:14  <Leanden> firstly ive uploaded my ssh public key to the dev page
08:04:26  <Leanden> but im trying to manually compile my test GRF using nmlc
08:04:31  <Leanden> but it keeps returning an error
08:04:38  <Leanden> Parsing ...Illegal character '#' (character code 0x23) at "src\BRTrains.pnml", line 9, column 1
08:05:10  <Alberth> paste the first say 20 lines into
08:05:35  <Alberth> and yes, # is not in the NML language :)
08:05:55  <Leanden>
08:06:19  <Alberth> ah, right, that's not an nml file
08:06:30  <Leanden> oh
08:06:41  <Alberth> do you have cpp or gcc or cc ?
08:06:47  <Leanden> gcc
08:07:25  <Alberth>
08:07:34  <V453000>  mornink humenz
08:07:50  <Alberth> mornink Vs
08:08:05  <Leanden> i have a makefile
08:08:07  <V453000> all bow before yetis
08:08:13  <Leanden> so what do i type into my nmlc to make it compile?
08:08:33  <Alberth> you don't, make does that for you
08:08:50  <Alberth> type    make -n    to see what it would do if you type    make
08:09:16  <Alberth> many improvements in the yetis industries V
08:09:31  <V453000> yeah, all just photoshop painting :)
08:09:35  <Alberth> you made the yetis clean the mine platform
08:10:04  <Alberth> I was wondering about the oil wells thing, shouldn't there be a fence around the moving things?
08:10:05  <Leanden> sh ok
08:10:14  <Leanden> "No repository found*
08:11:10  <Alberth> it tries to get revision information from the current directory, which fails of course, if your directory in not under source control
08:11:29  <Leanden> ok so ive updated my directory to be a .hg repository
08:11:35  <Leanden> make: *** No rule to make target `BRTrains.grf', needed by `all'.  Stop.
08:11:40  <Leanden> I now get this error only
08:11:42  <V453000> heh, fuck fence :P
08:11:52  <V453000> one of the economies only has worker yards and food plants
08:11:53  <Alberth> V: your ore mine does have a fence around the hole :p
08:12:10  <V453000> you produce food from yetis, might as well not care about safety
08:12:22  <V453000> yeah point :P that is to prevent stealing of the precious brick-ore
08:12:40  <Alberth> ah, makes sense :)
08:12:56  <Alberth> doesn't look very dangerous, that fence, though :)
08:13:10  <V453000> it bites
08:13:16  <Alberth> :O
08:13:39  <Leanden> i worked it out :D
08:13:45  <Alberth> great
08:13:55  <Leanden> [ -f .version ] && [ "`cat .version`" = "r-1" ] || echo r-1 > .version echo "[MD5] BRTrains.md5" md5sum BRTrains.grf | sed "s/  / /;s/ /  /" > BRTrains.md5 cat: BRTrains.md5: No such file or directory echo "[TXT] docs/readme.txt" cat docs/readme.ptxt \                 | sed -e "s/{{GRF_TITLE}}/BRTrains r-1/" \                 | sed -e "s/{{GRF_ID}}//" \                 | sed -e "s/{{REPO_REVISION}}/-1/" \                 | sed -e "s/{{FILENAM
08:14:05  <Leanden> now missing md5 ll
08:14:18  <Alberth> yeah, don't paste in here, use a pastebin
08:14:25  <Leanden> sorry
08:14:39  <Alberth> np, we all make mistakes :)
08:14:40  <Leanden>
08:15:13  <Leanden> so i created a blank file called BRTrains.grf for it to write into
08:15:22  <Leanden> but now im getting this missing .md5 error
08:15:56  *** AdmiralKew [~pcc31@] has quit [Ping timeout: 480 seconds]
08:16:14  <Alberth> creating the blank .grf file just makes that it skips building the grf
08:16:38  <Alberth> you want automatic building on the compile farm, I guess?
08:16:52  <Leanden> yes but i understand thats broken atm due to a http read fault
08:17:14  <Alberth> apparently, but ssh is on the way
08:17:16  <Leanden>
08:17:37  <Alberth> nothing I can do with that, sorry
08:17:53  <Alberth> planetmaker: ^  can you help Leanden ?
08:18:06  <Alberth> probably won't work
08:18:35  <Alberth> if you have linux, md5 is easy to add
08:18:45  <Alberth> otherwise, euhm, no idea
08:20:00  <Leanden> nope windows unfortunately
08:20:01  <Alberth> you might want to compare with another project that uses makefiles (which is pretty much all of them)
08:20:17  <Leanden> im using SBBset as my comparison
08:20:33  <Alberth> ok
08:20:35  <Leanden> (in fact ive literally copied their makefile and changed the filepaths)
08:21:10  <Alberth> that's a useful strategy in many cases :)
08:21:40  <Alberth> no md5sum thingie from where-ever you got gcc?
08:21:54  <Leanden> oh i just remembered
08:22:00  <Leanden> when i downloaded nmlc
08:22:05  <Leanden> there was a md5 with that
08:22:08  <Leanden> is that what im missing?
08:22:35  <Alberth> don't know, I have no idea what md5 it comes with
08:22:39  <Leanden> no actually, thats a stupid comment, that was the md5 for the installer ;)
08:26:28  *** kais58_ is now known as kais58|AFK
08:26:50  <Leanden> ok so i got an md5 generator and created the md5 hashfil
08:26:52  <Leanden> file*
08:27:23  <Leanden>
08:27:27  *** kais58|AFK is now known as kais58_
08:27:29  <Leanden> so was this successful or not? :P
08:28:12  <Leanden> i think not because i still dont have an NML file to run nmlc on
08:29:21  <Alberth> gcc -C -E -nostdinc -x c-header -o BTtrains.nml BTtrains.pnml
08:29:35  <Alberth> nmlc BTtrains.nml
08:30:32  <Leanden> it failed
08:30:33  <Alberth> first command runs the C pre-processor, eliminating all the #define and #include, second command builds the grf
08:31:10  <Alberth> remarks like "it don't work" give no clues at all what to fix
08:31:17  <Leanden> fatal error: src/compatibility.pnml: No such file or directory  #include "src/compatibility.pnml"
08:31:21  <Leanden> sorry i was getting there ;)
08:31:59  <Alberth> #include is relative to the source file it is in, I think
08:32:19  <Leanden> riiiighht
08:32:21  <Leanden> ok i got it
08:32:28  <Leanden> the base pnml shouldnt be in the src folder then
08:32:32  <Alberth> alternatively, you can add a -Isrc     and kill all  src/ prefixes
08:32:57  <Leanden> nmlc ERROR: "src/header.pnml", line 9: Expected a string literal of length 4 Included from: "BRTrains.pnml", line 10
08:33:20  <Alberth> gcc worked :p
08:33:28  <Leanden> indeed
08:33:34  <Alberth> now fix the nml errors :)
08:34:24  <Leanden> hmmm so theres an error in my header pnml?
08:34:44  <Leanden> oh line 9 is my GRF ID
08:34:48  <Alberth> nml detects it there, but that does not imply the fix should also be there
08:34:54  <Leanden> 	grfid: "JK";
08:35:08  <Alberth> looks too long :)
08:35:13  <Alberth> that's 5 bytes
08:35:40  <Leanden> ok corrected that :)
08:35:53  <Leanden> nmlc ERROR: "src/header.pnml", line 13: Unrecognized identifier 'REPO_REVISION' encountered
08:37:05  <Alberth> hmm, my quote at   adds -D   things to gcc
08:37:30  <Alberth> but these are generated from the makefile
08:37:54  <Leanden> hmm
08:38:21  <Leanden> i think my make may have failed actually
08:38:22  <Alberth> you can fiddle with them manually, but it's messy
08:38:42  <Leanden>
08:40:04  <Alberth> unix2dos doesn't do what the makefile expects, I think, I have such a unix2dos too
08:40:46  <Alberth> I fixed that somewhere, but where?
08:41:03  <Leanden> :D
08:42:12  <Alberth> ah, the make-nml project, I think     do you have a line like
08:42:12  <Alberth> UNIX2DOS_FLAGS ?= $(shell [ -n $(UNIX2DOS) ] && $(UNIX2DOS) -q --version 2>/dev/null && echo "-q" || echo "")
08:43:03  <Alberth> make-nml is sort of the base of the makefile stuff, which you are supposed to copy when making a new project
08:43:23  <Alberth> most people however copy from a random other project, and never update their files
08:43:31  <Alberth> which is fine, until it breaks :p
08:43:44  <Leanden> :)
08:44:10  <Leanden> where do i find that file?
08:45:07  <Alberth>
08:45:41  <Leanden> ye i saw that page earlier but couldnt find a download
08:46:04  <Alberth> not sure there is one, tbh
08:46:12  <Alberth> but it makes sense to have that
08:47:46  <Alberth> hmm, doesn't seem to work either
08:47:54  <Leanden> ive manually downloaded the makefile
08:49:01  <Leanden> lets see how this works
08:49:32  <Leanden> yay yhe make file works
08:50:23  <Leanden> im now back up to the REPO_VERSION error
08:53:56  <Alberth> you're running this in a repository directory?
08:54:25  <Leanden> yes
08:54:42  <Leanden> its a local only repository in Tortoisehg
08:56:06  <Alberth> oh, that's fine, tortoisehg is just a frontend for hg
08:56:16  <Leanden> but its an unrecognized identifier
08:57:14  <Leanden> hmmm
08:57:46  <Alberth> there is a point where they get replaced
08:58:05  <Alberth> maybe a custom_tags file or so   that gets generated?
08:58:47  <Alberth>    seems to do that, but it failed
08:59:20  <Alberth> nvm, that's for your readme file
08:59:43  <Leanden> :D
09:03:29  <Alberth> scripts/Makefile.def   has the commands to derive revisions, it seems
09:03:47  <Alberth> there are tooo many makefiles in SBB set :(
09:04:21  <Alberth> hg id -n | cut -d+ -f1     gets the revision
09:05:02  <Alberth> but hg  will only work in a directory in the repository
09:05:06  <Leanden> oh i scrapped the sbb ones
09:05:10  <Leanden> and im using the base ones now
09:05:26  <Alberth> ah, ok
09:06:23  <Leanden> ive temporarily overrident he identifier with the number 1
09:06:37  <Alberth> does that now
09:15:50  <Leanden> well i have in there
09:15:56  <Leanden> but it doesnt appear to be doing anything
09:16:13  <Leanden> its even generated a .version file
09:20:07  <Alberth> 0749fe4d44f9    5438    M               v5438M (0749fe4d44f9)           2014-11-21     <-- afaik it produces this kind of output
09:20:59  <Alberth> does   hg id    do anything?
09:21:15  <Alberth> if not your working directory is wrong
09:24:00  <Leanden> it returns 0000000000000 tip
09:24:24  <planetmaker> hm?
09:24:52  <Leanden> hey pm :)
09:26:59  <planetmaker> revision 0000 tip certainly means there's nothing checked-out
09:30:31  <Leanden> indeed
09:30:40  <Leanden> well ive now managed to compile it all the way through to the end
09:33:39  <Leanden> obviously with the REVISION_VERSION identifier substituted
09:35:30  <Leanden> nothing in game though :D
09:35:59  <Alberth> ah, not added files and committed to the repo yet ?
09:36:08  <Leanden> perhaps not?
09:40:39  <Leanden> ok hg id now returns: d62ab68b6469+ tip
09:40:49  <Leanden> but the REPO_VERSION identifier is still failing
09:45:18  * Leanden slaps planetmaker around a bit with a large fishbot
09:48:03  <Leanden> im stuck waiting for my hg key to be activated on the dev repository :D
10:02:37  *** Islacrusez [] has joined #openttd
10:02:38  *** Islacrusez [] has quit [Read error: Connection reset by peer]
10:13:15  *** Deactivated [] has joined #openttd
10:14:09  *** Deactivated [] has left #openttd []
10:23:31  *** Wolf01 [] has joined #openttd
10:23:35  <Wolf01> o/
10:24:22  <Alberth> moin
10:31:54  <V453000> yo
10:32:09  <V453000> Wolf01: I guess I should put slugs in the farm :)
10:33:32  *** Wolf01 is now known as Guest2236
10:33:32  *** Wolf03 [~wolf01@] has joined #openttd
10:33:33  *** Wolf03 is now known as Wolf01
10:36:32  *** Guest2236 [] has quit [Ping timeout: 480 seconds]
10:36:51  *** Biolunar [] has quit [Quit: leaving]
10:42:37  *** JacobD88 [] has joined #openttd
11:01:10  *** JacobD88 [] has quit [Quit: JacobD88]
11:10:41  *** Samu [] has joined #openttd
11:11:03  *** Wolf03 [~wolf01@] has joined #openttd
11:11:03  *** Wolf01 is now known as Guest2239
11:11:04  *** Wolf03 is now known as Wolf01
11:11:08  <Samu> bool IsDead(CompanyID slot) const
11:11:22  <Samu> i think i did it
11:14:59  <Samu> im not sure what void and const do though
11:15:09  <Samu> or virtual void
11:15:31  <Alberth> I see no void there
11:15:45  <Alberth> const means the function does not change the object
11:16:15  <Alberth> virtual means derived classes may redefine the function
11:16:35  *** Guest2239 [] has quit [Ping timeout: 480 seconds]
11:19:38  <Samu> static
11:21:08  <Samu> static bool IsDead(CompanyID slot)
11:24:16  <Wolf01> static mean the function is callable without an instance (and has some other nice properties)
11:25:02  <Wolf01> also, it might have a cached value
11:27:46  <Alberth> and it's not available outside the .cpp file it is in
11:28:42  <Alberth> oh, it's a function member eh?  the latter only holds for normal functions, sorry
11:33:28  <Samu> i got to copy paste the whole function?
11:35:44  <Alberth> to do what?
11:35:47  <Samu> - i've put in lines 86 to 97
11:36:21  <Samu> then i used the IsDead in lines 111 and 130 so far
11:36:28  <Samu> havent edited the rest yet
11:38:26  <Alberth> it's much better if you make the already available function available everywhere you need it
11:38:58  <Alberth> duplicating code creates major headaches if you want to change thigs
11:39:24  *** SWAT [] has quit [Ping timeout: 480 seconds]
11:39:43  <Samu> it is also used in another big function, the AI Debug window function
11:39:50  <V453000> I wonder if the best way to build factorio railways is one huge 1-way loop
11:40:33  <Samu> hmm, so where do i put this IsDead at
11:41:03  <Alberth> V: if all trains must vist A -> B -> C -> ... -> A, then looks like it :)
11:41:16  <V453000> no, even when they don't
11:41:28  <V453000> building junctions is generally quite an issue without bridges
11:41:36  <V453000> chain signals are great but trains still need to cross
11:41:42  <Samu> sec, let me get the list of all functions it would help
11:41:46  <Alberth> no worm holes, just no bridges :p
11:41:58  <V453000> .. :)
11:42:37  <Samu> struct AIConfigWindow : public Window {
11:42:40  <Alberth> double track around the stations they don't need to transfer cargo?
11:42:44  <Samu> struct AISettingsWindow : public Window {
11:44:30  <Alberth> a number of connected circles like an 8 but more circles could work perhaps
11:44:31  <Samu> struct AIDebugWindow : public Window {
11:44:31  <Wolf01> V, do you bother about delivering speed in factorio?
11:45:00  <Wolf01> I bother about stuff getting delivered and not chewed by biters around the map
11:45:38  <Wolf01> also... all my bases are under attack...
11:46:09  <V453000> defense is eazy
11:46:14  <V453000> just blueprint more laser wall :D
11:46:28  *** MonkeyDrone [~Monkey@] has quit [Quit: Leaving]
11:47:04  <Wolf01> yes, you can defend every single outpost, but I really need a chinese great wall now
11:47:51  <Wolf01> aliens seem to have learned to pass between the outposts instead of attacking them
11:48:14  <Alberth> :)
11:48:26  *** SWAT [] has joined #openttd
11:48:30  <Samu> there's an already available function inside struct AIDebugWindow : public Window {, it's where I copied the code from
11:48:46  <Samu> how do i make it available for the other 2
11:49:22  <Alberth> move it out of the window class/struct
11:50:14  <V453000> yeah, great wall is usually a good idea
11:50:15  <Alkel_U3> Yesterday I tried the oxygen mod with train outposts mod. I died so fast I didn't even get to see a biter on radar
11:52:52  <Wolf01> mmh underground train
11:54:43  <Alberth> no bridges eh? :)
11:55:00  <V453000> O_O
11:57:11  <Wolf01> I think I'll install the shuttle train mod and the fat controller mod, at least I could call a train to go to different outposts
11:58:20  <Wolf01> :( the attachment does not exist anymore
12:00:31  <V453000> well the cursed rail thing is cute but it's just an unobstructed separater railway
12:00:40  <V453000> I don't have a problem with making my factory fit elsewhere
12:00:47  <V453000> I have the problem of trains colliding with each other
12:00:56  <V453000> which I bet this thing keeps
12:01:49  <Wolf01> how do you get colliding trains=
12:01:54  <Wolf01> ?
12:02:17  <V453000> at the junction of course
12:02:26  <V453000> if you can't have multilevel junction
12:02:58  <V453000> I guess tunnels would work
12:03:14  <Wolf01> I set up chain signals and trains wait for free block without blocking the junction
12:03:31  <Wolf01> also
12:03:42  <Wolf01> I don't use it, no need to
12:03:56  <Wolf01> too bad is for 0.11
12:09:39  *** SWAT [] has quit [Ping timeout: 480 seconds]
12:14:00  <V453000> well that's bad as well, the extra tunnel should require quite a bit of space so that it costs you stuff
12:14:05  <V453000> not just "we can cross now"
12:24:48  <peter1138> but realism!
12:24:56  <Wolf01> fuck realism?
12:29:38  <Samu> how do you pause a script? i see code about IsPaused
12:29:45  <Samu> how do i do this in a game?
12:30:50  <Wolf01> iirc IsPaused() is when the script is doing nothing because it doesn't need to do anything
12:31:03  *** Supercheese [] has quit [Read error: Connection reset by peer]
12:31:40  *** Supercheese [] has joined #openttd
12:31:56  <Flygon> Where was that thing that put townnames onto scenario maps again?...
12:32:08  <Wolf01> mmmh, I don't want to know what will happen when the fire nation will attack the southern outpost...
12:32:12  <Flygon> I'm bored, and a friend of mine is daring me to make a 4096*4096 Australia scenario
12:32:19  <Flygon> So now I'm going "Fuggit, fine"
12:32:28  <Flygon> Even though I think a 16k*16k scenario is a better use of time :P
12:35:03  <V453000> one thing is realism fucking which is sensible, but just common sense is important
12:35:07  <V453000> having trains cross is weird
12:35:57  <Wolf01> I remember ottd having 90° turns and train crossing themselves
12:37:16  <Samu> i don't know how to trigger the execution of these lines in a game
12:37:58  <Samu>;a=blob;f=src/ai/ai_gui.cpp;h=8944e8bc4f33f8187a50d9773078e21495e6bf6f;hb=HEAD#l1339
12:38:01  <Samu> line 1339
12:40:16  <Alberth> looks like hitting a debugging breakpoint
12:40:23  <Samu> also line 1279
12:42:06  <Samu> I don't see a Continue button in AI Debug window... what am i missing
12:46:19  <V453000> Wolf01: doesn't mean it is a good thing :P
12:46:32  <Wolf01> Samu: what you do need to continue? the AI is dead
12:46:40  <Wolf01> oh, !isdead
12:46:58  <Wolf01> np
12:47:11  <Alberth> Samu: no explanation at the wiki about the break thing?
12:48:29  *** Eddi|zuHause2 is now known as Eddi|zuHause
12:52:24  <Samu> ah i did not know about this
12:52:25  <Samu>
12:53:38  <Samu> interesting, the continue button is there
12:56:03  *** Prof_Frink [~proffrink@] has quit [Read error: Connection reset by peer]
12:56:18  <Samu> ohh.... another color
12:56:21  <Samu> yellow
13:01:49  *** Prof_Frink [~proffrink@] has joined #openttd
13:03:00  <Samu> I see now how it pauses
13:08:39  <Samu> nice, my code replacement works
13:08:41  <Samu> !IsDead(this->ai_debug_company)
13:12:45  <Samu> i must have an IsDead compatible for all the 3 different functions
13:12:50  <Samu> structs
13:12:55  <Samu> or whatever they're called
13:14:16  *** Klanticus [] has quit [Read error: Connection reset by peer]
13:17:30  <Samu> hmm i'm unsure if my IsDead adaptation works for all the 3 structs
13:27:36  *** sla_ro|master [slamaster@] has joined #openttd
13:29:18  <Samu>
13:29:28  <Samu> am i doing it right?
13:34:16  <Samu> i'm gonna ruin the entire code, see if it works
13:34:44  <Alberth> looks ok-ish
13:34:53  <Alberth> no "this" in the moved function
13:35:19  <Alberth> so it shouldn't access anything from the debug window
13:35:43  <Samu> !IsDead(ai_debug_company)
13:35:55  <Samu> it's originally !this-IsDead()
13:36:06  <Samu> oops !this->IsDead()
13:36:58  <Alberth> yes, the function is now not a member any more, so you can't access it through this
13:37:58  <Samu> I must have screwed somewhere, because if (!IsDead(this->ai_debug_company)) { was working
13:38:57  *** tokai|noir [] has joined #openttd
13:39:00  *** mode/#openttd [+v tokai|noir] by ChanServ
13:42:35  *** tokai [] has quit [Ping timeout: 480 seconds]
13:54:46  <Flygon> Just to be clear, is this the most up-to-date method of making heightmaps?
13:56:54  <peter1138> er, you can make a heightmap however you like
13:57:01  <peter1138> open image editor, draw...
13:57:52  <Flygon> Yes, but from real world locations
13:59:15  <Samu> now I can replace this huge line "(this->slot == OWNER_DEITY && !Game::GetInstance()->IsDead()) || (Company::IsValidAiID(this->slot) && !Company::Get(this->slot)->ai_instance->IsDead())" to just this line "!IsDead(this->slot)"? or is it "!IsDead(slot)"?
13:59:38  <Samu> this->slot vs slot is what's still confusing me
14:00:13  *** supermop [] has joined #openttd
14:01:05  <Alberth> sometimes they are the same thing and sometimes not
14:01:20  <supermop> profound
14:01:27  <Alberth> this->slot  is the "slot" variable in the class/struct
14:01:59  <Alberth> slot is a local variable in the code, or, if it does not exist, this->slot in the class/struct
14:02:44  <Alberth> openttd code however forbids the latter, hence all code uses "this->" prefix to refer to variables (and functions) in the class/struct
14:03:18  <Alberth> hi hi supermop
14:03:25  <Alberth> it needed a cliff hanger :p
14:07:13  <Samu> okay, so this->slot
14:07:16  <Samu> is correct
14:08:26  <Wolf01> this.x vs this->x is that confuses me :)
14:08:48  <Wolf01> *what
14:10:14  <argoneus> this is a pointer
14:10:23  <argoneus> so either (*this).x or this->x
14:10:44  <argoneus> they're equivalent
14:11:19  <Wolf01> ok, then I'm confused about this and (*this)
14:11:26  <argoneus> this is a pointer
14:11:26  <Wolf01> I just can't understand why C++ is not able to handle the difference by itself
14:11:32  <argoneus> *this resolves a value where it points
14:11:49  <Alberth> Wolf01: it can, that's why you get an error :p
14:11:57  <argoneus> ^
14:12:17  <argoneus> "this" is a pointer to the current instance of the class/struct
14:12:33  <Alberth> it's largely historical, I think
14:12:38  <argoneus> it has to be like that
14:12:55  <argoneus> you want to access one specific instance of the class in the memory
14:13:10  <argoneus> so you need a pointer to the one specific instance
14:13:20  <argoneus> no?
14:13:21  <Alberth> argoneus: what Wolf01 is arguing about is that there is no point in making the difference.  You cannot do . on a pointer anyway
14:13:34  <argoneus> oh, like that
14:13:41  <Alberth> so why not automagically .   to  ->
14:13:48  <Wolf01> ^
14:14:01  <Alberth> like eg Java, and I guess C#
14:14:07  <argoneus> right
14:14:27  <argoneus> I guess that's historical then
14:14:28  <argoneus> thing is
14:14:35  <argoneus> you can't do (*this).bla in java
14:14:47  <argoneus> in java everything is a magic reference or whatever they are
14:14:49  <Alberth> * doesn't exist
14:15:02  <argoneus> and you pass around reference
14:15:03  <argoneus> s
14:15:25  <Alberth> I think the idea is that * and ->  are different on objects, and you want consistency in operations
14:15:59  <Alberth> argoneus: not entirely,   the simple types (int, float etc)  are by value
14:16:06  <Alberth> to make it simpler :p
14:16:11  <argoneus> right, primitives
14:16:14  <argoneus> BUT WAIT, THERE'S MORE
14:16:17  <argoneus> you can do Integer x;
14:16:22  <argoneus> because... reasons?
14:16:32  <Alberth> templates
14:16:40  <Alberth> List<int>  doesn't work
14:16:44  <argoneus> huh, it doesn't?
14:16:50  <Alberth> although they are working on it
14:16:53  <argoneus> wait really?
14:16:53  <Wolf01> in C# everything is an object, and everything uses "."
14:16:56  <argoneus> I never knew
14:17:04  <Alberth> nope, must be List<Integer>
14:17:13  <Wolf01> (and you can do List<int> in C#)
14:17:14  <argoneus> "the java specification forbids the use of primitives in generics"
14:17:16  <argoneus> whoooa
14:17:23  <argoneus> for some reason I never needed this I guess
14:17:49  <argoneus> thanks, I learned something new
14:17:50  <Alberth> java spec is borked at lost of places :)
14:18:11  <peter1138> Does java have unsigned integers yet?
14:18:14  <Alberth> *lots
14:18:27  <Alberth> no, not that I know
14:18:58  <Alberth> although you can just use the 32 bits, if you ignore the weird values
14:19:24  <argoneus> this is one of the reasons why packing structs is annoying with Java
14:19:26  <argoneus> you need to use byte arrays
14:19:37  <argoneus> I tried doing something like that for openttd and it was a pain
14:19:47  <argoneus> openttd uses packed structs for networking, right
14:20:16  <Alberth> quite normal to use packed structs :)
14:20:26  <argoneus> I can't say I've seen it somewhere else
14:20:32  <argoneus> then again I've never really done networking on a low level
14:20:38  <Alberth> although I always expand it to reading bytes and glueing them together again
14:21:12  <argoneus> also
14:21:21  <argoneus> I feel slightly bad for picking up software engineering at uni
14:21:32  <argoneus> I thought it would teach me how to code
14:21:38  <argoneus> and how to work with large codebases
14:21:39  <argoneus> but nope
14:21:48  <Alberth> I could have told you that :p
14:22:12  <Alberth> many people believe CS is about programming :)
14:22:14  <argoneus> well, in the end, these degrees are similar, right
14:22:22  <argoneus> in terms of practical usability
14:22:29  <argoneus> you have to learn most things in the field anyway
14:22:43  <argoneus> and I know the basics of CS and automata and stuff
14:23:06  <argoneus> a friend of mine picked up CS instead of softeng and the only difference is when I was drawing UML diagrams he was writing a front-end for gcc
14:23:30  <argoneus> (which I suppose is much more fun and useful)
14:23:56  <Alberth> euhm, not sure about that :p
14:24:34  <Alberth> in general, uni teaches you to find structure in apparent chaotic problems
14:25:03  <Alberth> and then use that structure to solve the problem
14:27:19  <Alberth> how to work with tools, documents, and programming is learned by experience, and the uni doesn't have enough hours to teach you that
14:27:33  <Alberth> since it takes several years at least
14:27:38  <argoneus> right
14:27:46  <argoneus> also each company has different styles and policies and technologies
14:27:50  <argoneus> and it's physically impossible to cover those
14:28:21  <Alberth> but your "find structure in apparent chaos" skills do work there
14:28:33  <Wolf01> <Alberth> in general, uni teaches you to find structure in apparent chaotic problems <- and I reaaly need to do that but I never made it to that point of the course :(
14:28:36  <Alberth> which is why you are able to find your way around it
14:29:49  <Alberth> Wolf01: ha :)   Well, I found it doesn't teach you how to recognize apparent chaos from real chaos either :)
14:29:58  <argoneus> by the way, real talk, you have a lot more experience than me
14:30:04  <Alberth> I found out after 10 years :p
14:30:11  <argoneus> is it a bad idea to work at a start-up?
14:30:25  <argoneus> I used to think it was a hip thing where you have to work 80 hours a week and may or may not get results
14:30:39  <argoneus> but the flip side is you get to work on non-legacy code with enthusiastic people who don't suffer from depression
14:30:46  <argoneus> does it generally work or not work?
14:31:17  <Alberth> it really depends on what you like and need to have around you
14:31:22  <argoneus> I'm not sure what kind of dev job I want to do :(
14:31:43  <argoneus> I considered trying to apply for Factorio since that seems really fun and interesting
14:31:49  <argoneus> but they are only looking for senior developers
14:32:08  <argoneus> senior game developers, even
14:32:13  <Alberth> game industry is quite difficult, every kid wants to make games
14:32:13  <argoneus> I'm neither of those
14:32:14  <supermop> argoneus: start up = free beer
14:32:31  <supermop> my fiance's start up has two kegs on tap at all times
14:32:34  <argoneus> V453000: that's right, right
14:32:37  <argoneus> supermop: the fuck
14:32:47  <supermop> also the fire people all the time, so trade off
14:33:12  <argoneus> I just want a job where I don't work on 30 year old legacy code
14:33:13  <supermop> but that's a NYC start up which are more ruthless than in california or boston or europe
14:33:19  <Samu> the biggest line i had on ai_gui.cpp has been reduced to just this:
14:33:21  <argoneus> and my job is actually important to the company
14:33:22  <Samu> bool editable = _game_mode != GM_NORMAL || IsDead(this->slot) || (config_item.flags & SCRIPTCONFIG_INGAME) != 0;
14:33:33  <Samu> this is really cool
14:33:40  <argoneus> I did a part-time job at Oracle, doing QA
14:33:43  <argoneus> and it drained me mentally
14:33:44  <argoneus> really hard
14:33:55  <argoneus> not only was the work boring, no one even appreciated it or cared about it
14:33:56  <Alberth> QA sucks badly
14:34:10  <argoneus> and the devs sometimes gave me chores
14:34:14  <argoneus> that they didn't want to do
14:34:16  <argoneus> ffs
14:34:28  <argoneus> such is life being a part-time student at a super-company, right
14:34:47  <supermop> argoneus: also legacy code may be written by people who know what they are doing, at some start ups, most of the entry level devs might be straight out of a ruby bootcamp and have no idea yet
14:34:55  <argoneus> >ruby bootcamp
14:34:56  <argoneus> aaaaaa
14:34:58  <argoneus> NO WEBDEV
14:35:11  *** TheMask96 [] has quit [Ping timeout: 480 seconds]
14:35:20  <Alberth> argoneus: legacy code is an order of magnitude more complicated than new code
14:35:59  <supermop> Alberth: my fiance's frustration is not with code but with people she works with
14:36:02  <argoneus> Alberth: I saw some Solaris code
14:36:07  <argoneus> that code
14:36:17  <argoneus> it's basically super-optimized for the specific compiler version they're using
14:36:21  <supermop> but she is a data scientist so she is somewhat removed from their day to day work
14:36:26  <argoneus> some lines that seemed to make no sense actually helped it run faster somehow
14:36:41  <supermop> ie she writes and works on her own
14:36:41  *** TheMask96 [] has joined #openttd
14:36:47  <argoneus> and the code was hard to read
14:36:55  <Alberth> ha, that even happens with new code :p
14:37:22  <Alberth> I was trying to make a kinect decoder runs faster, and removed an always-false if condition.  It slowed down :p
14:37:45  <argoneus> what
14:37:54  <Alberth> argoneus: yep, genius programmers can write complicated code :p
14:38:18  <supermop> argoneus: depends also on the start up scene and culture of the city you live in/want to live in
14:38:22  <argoneus> but yeah, basically, I have absolutely no clue what kind of job I want to do
14:38:31  <Alberth> I am guessing it has to do with branch prediction
14:38:34  <argoneus> I'm not one to wear thick glasses and drink coffee from a fancy mug
14:38:48  <argoneus> I can't even grow a beard
14:38:52  <supermop> what about fancy coffee from a thick mug?
14:39:05  <argoneus> fancy coffee?
14:39:06  <argoneus> so starbucks?
14:39:17  <supermop> starbucks is shit
14:39:24  <argoneus> I have no idea, I don't like coffee
14:39:28  <argoneus> too bitter for me
14:39:52  <supermop>
14:40:09  <supermop> im off to buy fancy coffee from the above in a paper cup
14:40:27  <argoneus> ugh
14:40:33  <argoneus> why is their logo half my screen
14:40:38  <argoneus> I have to scroll down to even read text
14:40:47  <Alberth> screen too small?  :p
14:40:49  <supermop> but only because there is no intelligentsia, counter culture, or stumptown nearer to the office
14:40:52  <argoneus> 1080p
14:40:53  <V453000> ?
14:40:57  <supermop> yeah fine on my screen
14:41:05  <argoneus> click on "Coffee"
14:41:06  <argoneus> on that page
14:41:12  <argoneus> THAT logo.
14:41:30  <supermop>
14:41:35  <supermop> that one better?
14:41:44  <argoneus> V453000: I was just being sad you are only recruiting senior game developers
14:42:27  <supermop> V453000: argoneus instinctively highlighted you when i mentioned BEER
14:42:28  <argoneus> that looks nice supermop
14:42:31  <V453000> is the only difference between junior and senior that one knows his shit better?
14:42:47  <argoneus> V453000: I thought senior was "sorry you don't have 15 years of experience"
14:43:17  <argoneus> I mean
14:43:23  <argoneus> technically, it doesn't say you need experience
14:43:24  <V453000> idk what are the criteria and I doubt they are super strict
14:43:31  <argoneus> I might try applying for Factorio after finals
14:43:35  <argoneus> literally living in prague
14:44:10  <supermop> argoneus: if you dont like bitter, start with roasters like these, 3rd wave light roasts, especially the Kenyans and Ethiopians are fruiting and sweet
14:44:19  <supermop> slightly sour, not at all bitter
14:44:21  *** sim-al2 [] has joined #openttd
14:44:31  <supermop> like a fruity tea
14:44:37  <argoneus> supermop: m8 I don't even know what this is
14:44:44  <argoneus> I just bought some cheap coffee at my local grocery store
14:44:55  <argoneus> and decided I don't like coffee
14:45:03  <supermop> i didnt drink coffee until abt 4 years ago when i go into this stuff
14:45:12  <supermop> theres you problem
14:45:25  <supermop> im sure prague has a good 3rd wave roaster
14:45:35  <supermop> V453000: true?
14:46:04  <V453000> 3rd wave roaster?
14:48:55  <argoneus> Alberth: if I may ask, what kind of job do you personally think is the most "fun"?
14:48:59  <argoneus> in terms of development
14:49:10  <argoneus> or at least some jobs I should really avoid (other than QA)
14:49:25  <argoneus> you have a lot of experience, right
14:49:30  <supermop> idk if you can trust this argoneus but here is something:
14:49:31  <supermop>
14:49:35  <Alberth> that has no meaning to you
14:49:53  <V453000> I would avoid bathroom hygiene levels manager
14:50:13  <argoneus> I bet that's more fun than QA
14:50:15  <Alberth> you should ask yourself what environment do you need, what kind of work do I enjoy or hate, what languages
14:50:32  <argoneus> eh
14:50:46  <Alberth> do you want to go deep, same kind of stuff for 10 years
14:50:57  <V453000> yeah, I don't think there is an universal scale of more fun > less fun
14:50:57  <argoneus> I suppose a small-ish stable company working on a cool project with C#/C++/Python/whatever could be nice
14:50:57  <Alberth> or do something else every 3 months
14:51:11  <argoneus> something like Factorio seems really comfy
14:51:29  <Alberth> is stable job important, or place where the work is, or duration of journey
14:51:39  <argoneus> hmm
14:51:44  <argoneus> so instead of looking for one specific thing
14:51:50  <argoneus> I should just filter existing things and pick the best one?
14:52:12  <Alberth> one solution is no solution
14:52:14  <argoneus> als
14:52:20  <argoneus> it really is a privilege being able to choose the job
14:52:25  <argoneus> I sure am glad I'm not a lawyer
14:52:26  <Alberth> you cannot judge it, as there is no alternative
14:52:41  <argoneus> or a mentally ill webdev
14:53:14  <Alberth> so yeah, looks what's there, and picture yourself in that job
14:53:44  <argoneus> to be honest, at one point I was even wondering if I even like programming, as I absolutely hated QA
14:53:55  <argoneus> but from the reactions of other people it's normal to......not love that job
14:53:58  <supermop> if you are still fairly young and have not financial obligations or debt, you could just do whatever jobs to try them out
14:53:59  <argoneus> apparently.
14:54:12  <Alberth> QA is not even near programming
14:54:25  <argoneus> I did code some stuff in perl
14:54:30  <argoneus> but that was mostly maintaining legacy tools
14:54:34  <Alberth> although you get in contact with it
14:55:07  <argoneus> I was actually assigned to a new internal project and I had fun with it
14:55:21  <supermop> i thin it is good to try things from tiny garage start up with no funding up to huge government bureaucracy, just to find where you best fit
14:55:26  <argoneus> but then they hired a graduate full-time, kicked me off it, moved me to another desk and that was that
14:55:31  <supermop> that goes for any industry
14:55:31  <argoneus> ree
14:55:53  <argoneus> supermop: I thought it was really bad for your CV to jump jobs a lot
14:56:02  <argoneus> is that not the case then?
14:56:19  <supermop> depends on where you are in your career
14:56:20  <Alberth> as long as you can explain things, I think it would be alright
14:56:41  <argoneus> so a fresh graduate having 3 jobs in the span of 2 years is fine?
14:56:41  <supermop> and obviously spend longer than a month each place
14:56:49  <supermop> yes thats ideal
14:56:55  <argoneus> oh.
14:56:55  <Alberth> "I moved to a new employer because they paid  more / hour" :p
14:56:58  <argoneus> I thought I had to commit
14:57:06  <argoneus> well I feel a bit better now
14:57:45  <supermop> there has been a change
14:58:16  <supermop> and it depends on the place, but the culture of one job cradle to grave is gone
14:58:25  <argoneus> oh, that's good
14:58:30  <supermop> you need to spin it as a learning experience
14:58:38  <argoneus> so something like
14:58:42  <argoneus> "I joined a company to work on this new project"
14:58:44  <argoneus> "and left when it was done"
14:58:49  <argoneus> or something?
14:59:07  <Alberth> there are also companies that hire you, and then send you to different companies for a period to do  a job
14:59:12  <argoneus> huh
14:59:22  <supermop> that way the person hiring can say, they built up this broad experience, seeking to learn what they needed to
14:59:23  <Alberth> not sure what's called in English, perhaps posting?
14:59:37  <supermop> temp agency
15:00:44  <supermop> also in 5-10 years when you are looking for a more senior position doing a specific thing, not only will you know what you want, but the company will know, this guy has seen enough to know that he wants to do this
15:00:54  <argoneus> oh!
15:01:04  <argoneus> I didn't see it that way
15:01:06  <supermop> he's not going to discover that he hates it and walk out in 2 months
15:01:11  <argoneus> like "okay he's been in like 6 different jobs"
15:01:18  <argoneus> "and he's signing up for something he's done before"
15:01:21  <argoneus> "that's a good sign"
15:01:23  <argoneus> like that?
15:01:30  <supermop> nor has he been doing the same thing all his live and now it has driven him crazy
15:01:34  <supermop> yeah
15:01:50  <argoneus> I see
15:01:51  <Alberth> there is no inherent good or bad in anything, the reasoning is at least as important
15:01:55  <supermop> but there is a balance and it depends on how you pitch it
15:01:57  <argoneus> I'm glad to hear that
15:02:01  <argoneus> I thought I had to pick and stick with something
15:02:03  <argoneus> after graduating
15:02:06  <supermop> what alberth said ^
15:02:32  <supermop> also it almost doesnt matter at all what yo do right after graduating
15:03:00  <Alberth> do a world tour for 50 years :p
15:09:00  <supermop> again, what Alberth said ^
15:21:45  <Wolf01> mmmh, I knew I would have started again this trend... mod it until it does crash, like Skyrim
15:23:25  *** Doge [] has joined #openttd
15:23:39  <Doge> 1 Say fridge 5 times 2 Say hotdog 2 times 3 hold ur breath till u post this one another game check your voice
15:24:06  <Doge> Alberth is always here
15:24:54  <Alberth> nah, you're not around often enough to notice I am not :)
15:25:20  <Doge> LOL :P
15:25:40  <Doge> Im not always on the OpenTTD
15:25:47  <Doge> Because i have other stuff to do
15:25:53  <Doge> Play roblox..
15:25:59  <Doge> Make new operating system...
15:26:03  <Doge> And school.
15:26:47  <Doge> I have linux operating system.
15:27:07  *** Progman [] has joined #openttd
15:27:58  <Doge> I mean Ubuntu,Windows 95,Xp,Windows 7,8.1 And 10
15:30:57  *** Doge [] has quit [Quit: Page closed]
15:35:35  <Flygon> I'm still amused OTTD totally compiles for 9x still :3
15:35:59  <supermop> ok got my coffee
15:36:04  <Flygon> I mean
15:36:11  <Flygon> Not unhappy, actually rather quite happy
15:36:12  <Flygon> Just amused
15:36:37  <blathijs> Flygon: IIRC vim (the text editor) dropped support for MS-DOS only recently :-)
15:36:48  <Flygon> Yeah, I noticed that
15:36:53  <Flygon> Kind of a sad moment... but
15:36:58  <Flygon> Er, I don't think anyone really used it O_o
15:37:33  <Flygon> Then again
15:37:48  <Flygon> I'm the guy that got upset when Ragnarok Online client didn't work on Windows 98SE
15:38:00  <Flygon> (I wanted to see how the 90s era internal graphics would handle it :P)
15:38:14  <Flygon> Turns out post-2010ish clients require XP and up
15:38:34  <Flygon> xP
15:38:55  *** Wormnest [] has joined #openttd
15:43:40  <Alberth> with video display moving to the video card, the days of cpu blitting are pretty much over
15:46:44  *** Ketsuban [~ketsuban@2a02:c7d:a34a:9000:4847:e308:f702:6de3] has joined #openttd
15:46:59  <supermop> V453000: how many manhours do you spend painting up sprites post-render?
16:02:46  <Alberth> can't answer you now, he's too busy painting up sprites :p
16:02:55  <Samu> bah i found a bug with the move up / move down slot stuff, grrr
16:04:25  *** sim-al2 [] has quit [Ping timeout: 480 seconds]
16:04:36  <supermop> i wonder what typical, non vocal players want in a new grf
16:04:46  <supermop> or if they do not want new grfs at all
16:05:53  <Alberth> I would say playing
16:06:16  <Alberth> ie firs is popular, since it's designed to play
16:06:48  <supermop> yet only like 5% of servers seem to run firs
16:07:05  <Alberth> yes, only reddit does afaik
16:07:34  <Alberth> a far bigger percentage of MP at least, just play vanilla
16:07:58  <supermop> needs to be an official Andy server playing FIRS CHIPS RH IH Squid 24/7
16:07:59  <Alberth> downloading grfs before play is a big hurdle
16:08:37  <Alberth> don't know about train sets
16:08:52  *** Quatroking [] has joined #openttd
16:08:54  <Alberth> you see a lot of nationalism there, I think
16:09:11  <Alberth> german players like DBset, dutch players the Dutch set, and so on
16:10:01  <Alberth> although most are not designed for play, but more as replicating the trains of a country
16:10:20  <Alberth> even if it makes no sense, game-play wise
16:10:21  <Samu> darn slot 15 is now bugging me
16:10:35  <Samu> i can move slot 15 down.... that's not supposed to happen
16:11:00  <Samu> it's my code that's bugged, must find out where
16:11:05  *** Progman [] has quit [Remote host closed the connection]
16:12:03  <Alberth> A problem in slow adaption is perhaps unclarity what a newgrf offers
16:12:44  <Alberth> just a name has no meaning for all but a few nerds that read graphics tt-forums and/or hangout at #openttd
16:12:56  <Alberth> or #tycoon, or so
16:13:38  <Alberth> as a new player, you got this insane list of newgrfs, and no pointers at all about what they do, or the quality
16:18:21  <Alberth> we need an hour or more to set up a MP game with newgrfs, a newbie is not going to manage it at all, imho
16:22:42  *** Islacrusez [] has joined #openttd
16:22:42  *** Islacrusez [] has quit [Read error: Connection reset by peer]
16:23:10  *** Myhorta [] has quit [Ping timeout: 480 seconds]
16:26:00  <Samu> okay, the bug is in IsEditable
16:26:20  <Samu> that for cycle is ruining something
16:26:58  <Samu> it is saying that a supposedly slot 16 is editable
16:27:04  <Samu> there are no 16 slots grrr
16:30:55  <Alberth> likely, it has undefined behavior for out-of-range slots
16:33:42  <Samu> i solved it, i got rid of that for
16:34:01  <Samu> also got rid of max_slot
16:34:20  <Samu> return slot < MAX_COMPANIES;
16:34:23  <Samu> this does it
16:35:01  <Samu> I was always wondering what was the for cycle doing
16:35:15  <Samu> i didn't know for sure, so i let it stay there
16:43:49  <Samu> IsDead might need a better name
16:44:16  <Samu> IsValidAIOrGSAndDead
16:44:21  <Samu> :o
16:44:48  <Samu> IsValidDead?
16:44:53  *** Islacrusez [] has joined #openttd
16:44:57  *** Islacrusez [] has quit [Read error: Connection reset by peer]
16:45:15  <Samu> bah
16:45:30  <Samu> the issue i have with the name is about human companies
16:46:04  <Samu> IsDead is also taking care of what to return when the slot is a human company
16:46:43  <Samu> but also what to return when the slot doesn't have any company started
16:46:48  <Samu> hmm :(
16:47:11  *** Islacrusez [] has joined #openttd
16:48:10  <Samu> move up and down code is making use of IsDead, but sometimes there's not even a Human company in the slot above or below
16:48:22  <Samu> it assumes those slots are dead
16:49:02  <Samu> the assumption is correct, but the name "IsDead" makes little sense now
16:54:45  *** HerzogDeXtEr [] has joined #openttd
16:56:04  *** sim-al2 [] has joined #openttd
16:57:15  *** glx [] has joined #openttd
16:57:18  *** mode/#openttd [+v glx] by ChanServ
16:57:39  <Samu> IsNotStartedOrStartedButDead ?
16:57:46  <Samu> ugly
16:59:54  *** _johannes [] has joined #openttd
17:03:37  *** Gja [] has joined #openttd
17:04:22  <_johannes> Hi
17:05:20  <_johannes> I'm still writing that savegame->route-network-pdf exporter... Someone said it should not be included in the openttd main tree - is that correct?
17:06:23  <Samu> did someone say "savegame"?
17:07:22  <Samu> i made this patch, don't know if you seen it *cough*
17:07:29  <Samu> for savegame stuff
17:07:46  <Samu> no idea if it's related to what you're doing
17:15:08  <_johannes> no, it's not ;)
17:37:17  *** gelignite [] has joined #openttd
17:46:22  <supermop> Alberth: so just simple but pretty sets are not the answer?
17:46:33  <supermop> i guess that was the approach pineapple took
17:46:49  <supermop> and ive never seen a server running pineapple
17:47:03  <Alberth> simple but pretty may be the answer
17:47:08  *** ToneKnee_ [] has joined #openttd
17:47:36  <Alberth> but basing it on real-life, including speeds, costs, and other details, without regard to game play, is not, imho
17:47:53  <Alberth> at least not for all non-rail-enthousiasts
17:48:29  <Alberth> "you can buy the engine for 5 years"
17:48:52  <Alberth> wtf, before I finished a piece of track I am 10 years further in the game
17:48:54  <Alkel_U3> I've run a server with Pineapple for some time and people I had there liked it
17:49:17  <supermop> but it seems pineapple meets the simple but pretty goal, but you still run into the issue of new users don't know about it, don't want to have to download before playing mp
17:49:29  <supermop> Alkel_U3: never seen your servers online...
17:50:27  <Alkel_U3> supermop: just saying for good measure, I don't run the server too regularly
17:50:38  <supermop> V453000 was talking a bit ago about modularizing train sprites, i like that idea
17:51:24  <supermop> i think a lot of the wonder and fun of 'progression' in the game is lost if the train set is too prescriptive
17:51:43  <Alkel_U3> hm, I've been getting ready to get the server back up for at least a month now... :/
17:51:46  <supermop> there being only one thing that makes sense to use, you know when it comes about, wtc
17:51:54  <supermop> etc
17:52:13  <supermop> back in circa 1994, playing as a child
17:52:35  *** ToneKnee [] has quit [Ping timeout: 480 seconds]
17:52:54  <supermop> the first time playing was so fun because i would be legitimately surprised when a new train came out to use
17:53:12  <supermop> and also i was not familiar with the BR prototypes
17:55:19  <supermop> no way to replicate that in this game though
17:56:47  <Alkel_U3> I had an idea - you would task the manufactuers for a certain category of vehicles, they would be too busy to develop other things for some time and then they would give you a new engine, for example. I'm sure it doesn't sound impossible, not too sure how difficuilt it would be to actualy get it into openttd (probly hella) and not at all sure how viable that would be from gameplay perspective
17:57:26  <Alkel_U3> also modula sprites
17:58:31  <Alkel_U3> I usually think about this in the shower to pass time :-)
17:59:47  <supermop> well it could be simpler than that, but
17:59:47  <Wolf01> bbl
17:59:49  *** Wolf01 [] has quit [Quit: Once again the world is quick to bury me.]
18:01:03  <supermop> if a train sprite can be randomly composited of 2-3 images, and if vehicle names could be generated like towns
18:01:29  <supermop> you could have vehicles that you do not yet recognize in each game
18:01:52  <supermop> assuming hp and intro date etc changes as well
18:02:33  <Islacrusez> one approach would be to build an entirely fictional tech tree and have their stats randomized (or perhaps procedurally generated might be a better term?); the graphics are technically secondary
18:03:23  <Islacrusez> you could also have a system where you pay a company to develop a design, unlocking retrofits that improve certain aspects of the design
18:03:32  <supermop> but i do not think there would be a way to have say, one game you have 4 electric locomotives over the course of 50 years, and the next game only 2
18:03:51  <Alkel_U3> that would be good. The graphics are important, imho, for the right feel
18:04:06  <supermop> Islacrusez: i dont think the idea of tech trees or research really helps openttd gameplay
18:04:26  <Islacrusez> tech tree is the wrong word, more like a timeline
18:04:44  <supermop> some railroads did in fact develop technology themselves, but it was never a case of "unlocking" anything
18:06:00  <supermop> for example, if got a 10B$ contract to build a railway tomorrow, i could lay miles and miles of track, or i could call up hitachi and go ahead buy a shinkansen
18:06:14  <supermop> i don't need to first figure out what a steam engine is
18:06:18  <Islacrusez> supermop: I'm using the term to represent a new technology being developed and thus being revealed to the player; no point in trying to surprise them if they can see all the retrofits ahead of time
18:07:02  <Alkel_U3> well, a tech tree from the manufacturing companis' points of view, right? They would just kinda at random decide, what area to advance next, so you may have a game with early advanced expensive el. trains and late diesels or vice versa, maybe some advancements to keep steam in the business longer. Right?
18:07:24  <Alberth> Islacrusez: in a newgrf, that is too complicated
18:07:31  <Alkel_U3> on an unrelated note, I need a new keabord :I
18:07:45  <supermop> well my main issue is less ambitious
18:07:55  <Alkel_U3> or learn to type
18:08:04  <Alberth> supermop: add more engines that you give to the player, and skip a few at random each time?
18:08:18  <supermop> Alberth: yes
18:08:27  <Alberth> eg have 8 or 10, and give 4or5
18:08:57  <Alberth> openttd also does a bit stat randomizing, not sure how much
18:09:27  <supermop> now, if i play default, by the late 70s/early 80s i know not to buy anymore manley morels because i can just feel that Dash around the corner
18:09:58  <Alberth> oh, you actually bother about such things?  :)
18:10:14  <Alberth> I just run autoreplace on everything every now and then
18:10:31  <supermop> in 94 etc, i often went bankrupt early in game, the first time i even saw a DMU i had my mind blown
18:10:49  <supermop> then blown again the first time i got far enough to see the monorail
18:10:57  <Alberth> ah yes, the early games :)
18:11:03  <Islacrusez> Alkel_U3, yeah pretty much like that
18:11:42  <supermop>
18:12:30  <supermop> if the game could randomly introduce "DMU 1" with a 50s style locomotive cab one game, that would be exciting
18:12:55  <Islacrusez> Alberth, considering how much we managed to do before OTTD became a necessity, I doubt it's impossible; economy of effort is another matter though
18:13:24  <Islacrusez> I'm also speaking more generally, implementation is rarely the same as the concept that it follows
18:14:15  *** DDR [] has joined #openttd
18:15:46  *** frosch123 [] has joined #openttd
18:15:51  <Alberth> hola
18:18:51  <Islacrusez> having more engines than needed is certainly one way of doing it; if that can be made to work then it could perhaps be refined so that certain combinations become more or less likely (for flavour/balance reasons); and if one really wanted to go nuts you could design a set of alternate "solutions" to the problems that every engine made in reality was designed to solve, essentially creating a new alternate history of locomotion
18:18:52  <Islacrusez> every time the game was played
18:19:10  <Islacrusez> and isn't that what we play the game for?
18:22:23  <Alberth> nope, I don't :)
18:22:57  <supermop> well there is also the issue that any railroad witht e insane profits that you make in the game could develop and commission any type of bespoke train it desired
18:23:53  <Alberth> I always desire fast maglevs early in the game for my back bone, never happened thus far :p
18:23:59  <supermop> or it could just build new luxury apartments for everyone right next to their place of work so that they do not even need a train
18:24:22  <Alberth> and let others get my money, nah
18:25:10  <supermop> it seems though that this idea only really has legs if it is somewhat likely to randomly screw over players some games
18:26:32  <supermop> like release an early prototype channel maglev, player spends billions building maglev network, then only release transrapid style maglevs from then on
18:27:13  <supermop> or, say have only a kirby paul until 2010
18:27:49  <Islacrusez> abandoning the idea of directing the research in any way (for now at least; I have)
18:28:06  <Islacrusez> it shouldn't be too crazy, or at least it should have a setting for crazy
18:28:54  <Islacrusez> because I have to say, a ______ challenge sounds hilarious
18:29:43  <supermop> Islacrusez: much of what makes trains and railways so fascinating and idiosyncratic is a result of nearly 200 years of frequent bad decisions and mistakes
18:30:36  <Islacrusez> supermop, all we're doing is looking at those bad decisions and mistakes (as well as good decisions) and looking to see what other choices there were
18:30:46  <Islacrusez> and then randomising the results
18:31:00  <Islacrusez> so you get about as many good and bad decisions, they're just in different places
18:31:04  <supermop> people out there love steam trains, but a time traveller from today would have gone all in on electrics from the 1890s on
18:32:02  <supermop> basically if you could direct the research with modern knowledge, you would always make the "best" choice
18:33:21  <supermop> and it gets even more boring than knowing that your uu37 soon is made obsolete by a floss 47
18:33:49  <Islacrusez> that's kinda the point I'm addressing, isn't it?
18:38:13  <Islacrusez> unless I'm missing something?
18:38:15  <Islacrusez> o.O
18:38:41  <supermop> not sure
18:38:47  <frosch123> moin
18:38:52  <supermop> yo frosch123
18:41:24  <supermop> Alberth: dozens of unused vehicles seems like best way, but then grf gets huge unless they have some way of reusing some standard graphic elements
18:42:26  <Alberth> "huge" is bigger then 200MB, with yetis around :)
18:42:44  <Alberth> and zbase :p
18:43:17  <Samu> done!
18:43:27  <Alberth> but yeah, re-use of parts would be great, as it's a simple way to make loads of different engines
18:44:17  <supermop> esp if everything is same length
18:44:25  <Islacrusez> if you go with the alternative options theory, you could get away with simply reusing a lot of sprites from mutually exclusive engines; though ultimately modular engines would be very useful for a number of reasons
18:45:20  <supermop> cut every vehicle into 3 parts or so - 25% cab, 50% car body, 25% other cab
18:47:12  <supermop> where vehicle is "first generation diesel", chose 1 cab from list "mk1 cabs" chose mk1 carbody, etc
18:47:19  <Islacrusez> supermop, you could use the same technique to make vehicles of different length; though it may make some trickery to make it not throw a fit
18:48:02  *** Wolf01 [~Wolf01@] has joined #openttd
18:50:31  *** Myhorta [] has joined #openttd
18:57:15  <supermop> hmm my tiny 3d printed monorail jewelry has too much slack in the coupler
18:58:24  <Samu> hey Alberth - I am in doubt where exactly to place that IsDead function
18:58:38  <supermop> the space between the car and the 'bellows' can vary from 0-2mm depending on if you are pushing or pulling it along the track
18:58:41  <Samu> that's the full patch with everything already edited to make use of IsDead
18:58:56  <supermop> that is a lot of slack when the car is only 1cm long
18:59:04  <Samu> I'm not 100% sure about where IsDead should be placed, any advice?
19:01:31  <Alberth> seems fine to me
19:01:42  <Alberth> it misses a description of the slot parameter
19:03:26  <Alberth> everybody can find it, without forward declaration, you can't get it much better than that
19:05:05  *** sim-al2 [] has quit [Ping timeout: 480 seconds]
19:07:14  *** andythenorth [] has joined #openttd
19:07:16  <andythenorth> o/
19:07:51  <supermop> maybe i need alittle cotter pin or something to hold the coupler tight to the car
19:08:02  <andythenorth> cat iz
19:08:17  <Alberth> o/
19:09:58  <supermop> yo andythenorth
19:11:25  <Islacrusez> supermop, apparently I'm an idiot and can't read
19:11:38  <supermop> hm
19:11:38  <Islacrusez> I now understand what you meant
19:11:39  <supermop> ?
19:12:26  <Islacrusez> and I agree, too much agency in that sort of tech progression would be bad
19:12:40  <Islacrusez> kinda like rushing go-karts in RCT
19:15:20  <Islacrusez> and thinking about it, balancing that would be more trouble than it's worth; you'd need a civ3-esque tech tree and that'd not fit the game at all
19:21:50  <Islacrusez> I'm imagining creating a tech "tree", where you map the tech progression through history and with every new engine, design, or technology, you go through all the choices made against the requirements to produce that design; then you look at the other options, and make your tech "tree" choose randomly (weighted by previous decisions perhaps) as to which decision it makes... then you build the tree to completion, and make smaller
19:21:50  <Islacrusez> iterative jumps in designs more likely but larger jumps possible; a number of designs would be mutually exclusive (or a high likelihood of being so) to prevent spamming up the world with similar designs for the same uses...
19:21:59  <Islacrusez> In theory you could go monorail before you go diesel xD
19:23:52  <Islacrusez> in fact you could complete the game and never see a diesel engine, which would be amusing
19:27:12  * andythenorth wonders how you could short-cut that
19:27:20  <andythenorth> there’s probably a way to get the result without much complexity
19:28:15  <Islacrusez> the easy way is to fake it; come up with those scenarios and decisions and requirements based on the tech tree you want
19:28:24  <Islacrusez> cuts out all of that pesky research ;)
19:29:04  <Alberth> randomly add a bit, certain bit combinations enable adding an engine
19:29:46  <Alberth> if "sufficient" bits are on, make the engine available
19:30:21  <Alberth> could be problematic on eg model lifetime
19:30:51  <Alberth> but that also holds for the complicated idea
19:31:14  <Alberth> could add bits until next engine released
19:31:14  <Islacrusez> the complicated idea just needs a lot of protections like any procedurally generated anything
19:31:51  <Islacrusez> though the idea of a procedurally generated tech tree is a weird one
19:32:39  <Islacrusez> it sounds fun though, I'd love to see it done
19:33:35  <Islacrusez> you'd probably want to change the probability of a new tech/design being developed, increasing it as existing designs get old
19:34:10  <Islacrusez> the in-world analogue being designs being seen as unsuitable over time and new tenders being placed for better ones
19:35:43  <Alberth> nah, just add more bits to represent each piece of progress
19:35:58  <Alberth> nn
19:36:00  *** Alberth [~alberth@2001:981:c6c5:1:be5f:f4ff:feac:e11] has left #openttd []
19:38:11  <Islacrusez> I suspect that this is what the relationship between a designer and a developer feels like
19:54:42  *** _johannes [] has quit [Ping timeout: 480 seconds]
19:57:33  *** m4rek [] has joined #openttd
19:58:22  <m4rek> well, gotta run a download and apparently even IRC won't cope with what's left of the bandwidth
19:58:29  *** m4rek [] has quit []
19:59:36  *** Islacrusez [] has quit [Ping timeout: 480 seconds]
20:08:26  <supermop> i wonder if this is safe for MP?
20:11:22  *** frosch123 [] has quit [Quit: be yourself, except: if you have the opportunity to be a unicorn, then be a unicorn]
20:12:51  <Samu> back
20:12:55  <Samu> i was having dinner
20:15:40  *** Wolf01 [] has quit [Ping timeout: 480 seconds]
20:15:48  *** Wolf01 [~Wolf01@] has joined #openttd
20:18:08  <Samu> oh, right, the description for IsDead, i nearly forgot about it
20:19:28  <Samu> description kinda depends on the structure
20:23:34  <Samu> it is compatible with the 3 windows that make use of it. debug window checks if the selected script is dead. config window checks if the selected slot is dead. parameters window checks if the parameters of the currently selected script is dead.
20:23:56  <Samu> but they're all compatible
20:24:10  <Samu> maybe i shouldn't call it "slot"
20:25:30  *** drac_boy [] has joined #openttd
20:25:33  <drac_boy> hi
20:25:34  <Samu> hmm, id?
20:26:11  <drac_boy> just curious but anyone here from england/europe area and able to name a particular large rail books publisher? (I mean I already know of Platform 5 from england but still, just curious)
20:26:14  <Samu> meh, slot it is, it's the least confusing name
20:27:55  *** Wolf01 [] has quit [Ping timeout: 480 seconds]
20:30:27  <Samu> it can return 4 types of true's
20:30:32  <Samu> :P
20:32:48  *** Wolf01 [~Wolf01@] has joined #openttd
20:42:26  <Samu> Description: * Check whether a Game Script is not running, or if it is running, if it is dead. Check whether an AI slot is not started, or if it is started, it is not an AI, or if it is an AI, if it is dead.
20:43:14  <Samu> pfff
20:44:50  <Samu>
20:45:00  <Samu> every single outcome is useful
20:45:23  <Samu> that's why I'm having a hard time describing it
20:51:34  <Wolf01> I think that you should split it in more functions which do just one thing
20:51:45  <Wolf01> like IsAiDead() IsAiSlot()
20:52:30  <Wolf01> so if it's not an AI slot, it's not necessary to check if it's dead
20:53:17  <Wolf01> and you should ad asserts here and there to be sure to pass only the right thing
20:53:56  <Wolf01> for example you shouldn't pass a OWNER_DEITY slot to IsAiDead()
20:56:10  *** sim-al2 [] has joined #openttd
21:02:28  <drac_boy> hi sim :)
21:04:53  *** andythenorth [] has quit [Quit: andythenorth]
21:09:22  *** Gja [] has quit [Quit: Going offline, see ya! (]
21:13:31  *** M-E [] has quit [Ping timeout: 480 seconds]
21:18:28  *** Hiddenfunstuff [] has quit [Quit:  HydraIRC -> <- Organize your IRC]
21:32:39  <sim-al2> hi
21:44:14  <drac_boy> how doing?
21:44:23  <Samu> i'm having a headache
21:44:30  <Samu> can't think
21:45:06  <Samu> i orchestrated a function too much that it's now too hard to describe it
21:46:04  * drac_boy unfunctions samu? :)
21:46:05  <drac_boy> hehe
21:46:50  <Samu> it works for what I intended it to do, but.... it's like a 5-in-1 function
21:48:06  <Samu> splitting it into 2 functions could mean.... larger lines on already large lines
21:49:04  <drac_boy> (I was just being a bit silly ofc)
21:49:50  *** sla_ro|master [slamaster@] has quit []
21:50:08  <Samu> the function is used on 3 different struct's
21:50:20  <Samu> must think
21:50:40  <Samu> brb
21:52:57  <drac_boy> heh hm interesting
21:53:14  <drac_boy> its £20 anyhow
21:54:11  <sim-al2> Lol I didn't know they have opening engine room windows
21:54:28  <drac_boy> well sim..some of the locomotives actually had center doors
21:54:41  <drac_boy> or were you talking about the smoke instead? :)
21:55:14  <sim-al2> The guy hanging out of the middle, doesn't look like the door
21:56:02  <sim-al2> Doesn't look like they even have center doors"
21:56:21  <drac_boy> I had to check and I found a 52 outline .. its actually windows .. probably to make the engine walkways much less darker without having to bother with light bulbs
21:56:50  <drac_boy> the window location corresponds to the internals tho .. center window is inbetween the two engines .. and the outward windows are between engine and cab
21:56:55  <sim-al2> Yeah lots of locomotives of the 50s-70s have them, I wonder why they disapppeared anyway
21:57:22  <drac_boy> regulations may be to point at me think (especially only 1 or 2 person on a locomotive compared to before)
21:57:54  <drac_boy> heck even on emd geeps it wasn't too unusual to find at least one or more men just standing around on the walkway while train was underway
21:58:49  <Wolf01> oh, it's history channel time :)
21:59:13  * drac_boy whumps wolf01 with a pillow
21:59:14  <drac_boy> :P
21:59:40  <sim-al2> I don't know of any regulations on that. It seems cost would be a more pressing reason, with automatic light timers and stuff
22:00:19  <sim-al2> Of course, the modern electircs have center walkways, since they have so much equipment
22:01:34  <sim-al2> Hmm, the Chinese diesels seem to have them:
22:02:33  *** Wormnest [] has quit [Quit: Leaving]
22:03:23  <drac_boy> that looks like a dual unit russia-style to me :)
22:04:07  <sim-al2> Yeah, they seem to like those. The high power electrics for coal haulage are also built that way
22:04:22  <drac_boy> btw looking more through the catalogue booklet here I also found this which probably is amusing gift idea to some steam lover in an english country perhaps heh:,204,203,200_.jpg
22:04:24  <sim-al2> However, most of the locomotives are still single units
22:05:45  <drac_boy> hm too bad the catalogue doesn't seem to list any books for ivatt steam locomotives (I wouldn't had mind thinking about ordering one)
22:07:57  <Samu> split IsValidAiID from IsDead
22:08:17  <Samu> or just IsValid
22:08:17  *** FLHerne [] has joined #openttd
22:08:22  <Samu> for both AI and GS
22:08:41  <Samu> IsStarted
22:08:48  <Samu> instead of IsValid
22:09:12  <drac_boy> ah.. bluebell railway for £5 clearance .. too bad its not something I would want to read much
22:11:16  <drac_boy> btw sim-a12 about 'single units' .. did you know that one of the green russia electric locomotive (I'll have to look it up later re which one) actually was semi-permanently coupled together together with the unused cab being boarded up and corridors added
22:11:24  <drac_boy> only a few examples were done
22:11:46  <drac_boy> kinda a bit unusual move but I guess if they often needed the extra power .. this seem to make sense
22:12:01  <sim-al2> Yeah, I guess they didn't want to change the body work
22:12:49  <drac_boy> well it was only a few of them probably not worth the cost of new units ;)
22:12:54  <sim-al2> I think they actually did that on serveral types. I remember the M62 having it more often, there were even a few 4 packs
22:13:22  <drac_boy> reminds me of old emd geeps having their doors sealed and some windows boarded up to basically turn them into slave units
22:13:30  <sim-al2> I assume the assembly line just cranked them, and the windows were plated over afterwards
22:13:55  <Samu> arf.... it's too difficult to split this function
22:13:57  <drac_boy> yeah M62 looks like the exactly same thing
22:17:48  <sim-al2> Oh, the North Koreans made some interesting mods to a few M62s
22:18:36  <sim-al2> And Azerbaijan too, apparently
22:18:38  <sim-al2>
22:18:54  <drac_boy> heh...good name for a book "disconnected! broken links in britian's rail policy" .. it doesn't mention so but I suspect its mainly about the breech axe era too :)
22:19:19  <drac_boy> (I think the gov probably somewhat forgot that small lines actually feeds the big heavy lines)
22:20:22  <drac_boy> anyway sim..sorry about this but have to afk to grill some supper so have fun till another time ok? :)
22:20:29  <sim-al2> Ok later
22:20:35  *** drac_boy [] has left #openttd []
22:26:04  <Samu>
22:26:10  <Samu> 2 functions now
22:31:12  *** liq3 [] has joined #openttd
22:34:00  *** liq3 [] has quit []
22:34:14  *** Samu [] has quit [Quit: Page closed]
22:34:21  *** Samu [] has joined #openttd
22:46:31  <Samu> assert (IsStarted(slot));
22:50:22  <Samu> static inline bool or static bool?
23:04:23  <Wolf01> at least try to understand what are you asking
23:06:55  *** tokai|noir [] has quit [Quit: c('~' )o]
23:12:12  *** smoke_fumus [~smoke_fum@] has joined #openttd
23:15:24  <Samu> i can't do this split at least now
23:16:15  <Samu> well, i could, but i'm tired, and the function already works
23:16:52  <Samu> it would also mean, wherever it would be used, splitting it into 2 functions would only increase the size of those lines
23:17:12  <Samu> and those lines are already quite sized
23:17:56  <Samu> are these comments clear?
23:18:04  <Wolf01> just not saying that a function which just returns the result of another function is useless
23:18:30  *** _johannes [] has joined #openttd
23:19:15  <Wolf01> it makes some sense
23:21:36  <Samu> ty ty
23:28:05  <Samu> AssumeDead?
23:28:10  <Samu> instead of IsDead
23:28:38  <Samu> AssumedDead
23:29:48  <Wolf01> IsDead is right
23:33:21  <Samu> ;)
23:48:01  *** _johannes [] has quit [Ping timeout: 480 seconds]
23:54:41  <Wolf01> also, good night
23:54:43  *** Wolf01 [] has left #openttd []

Powered by YARRSTE version: svn-trunk