Log for #openttd on 24th March 2008:
Times are UTC Toggle Colours
00:02:12  *** divoafx [] has joined #openttd
00:02:12  *** divo [] has quit [Read error: Connection reset by peer]
00:05:45  *** lolman [] has quit [Read error: Connection reset by peer]
00:10:47  *** NukeBuster [] has joined #openttd
00:13:18  *** Mark is now known as MarkAsleep
00:16:08  *** cyber [~chatzilla@] has quit [Read error: Connection reset by peer]
00:23:29  *** Lillefix [] has quit [Read error: Connection reset by peer]
00:27:29  *** lolman [] has joined #openttd
00:29:41  <Ammller> heya
00:29:50  <Ammller> did something change with the clientlist?
00:30:36  <Ammller> its not accessable like it was in past with current nightly
00:30:56  *** planetmaker_ [] has joined #openttd
00:30:59  <Ammller> (click on company icon..)
00:33:43  *** planetmaker [] has quit [Ping timeout: 480 seconds]
00:33:44  *** divoafx [] has quit [Read error: Connection reset by peer]
00:33:51  *** planetmaker_ is now known as planetmaker
00:33:56  *** divo [] has joined #openttd
00:41:04  *** MarkAsleep is now known as Mark
00:44:52  *** roboman [] has quit [Read error: Connection reset by peer]
00:45:05  *** roboboy [] has joined #openttd
00:52:50  <CIA-1> OpenTTD: glx * r12401 /trunk/src/oldloader.cpp: -Fix (r9754): when loading TTD savegame some data were lost (profits, ...) due to a 'reallocation' for vehicle type conversion. The conversion is now done before loading the vehicle chunk.
00:57:55  *** stillunknown [] has quit [Ping timeout: 480 seconds]
01:07:47  *** ben_goodger [] has joined #openttd
01:09:10  *** divoafx [] has joined #openttd
01:09:10  *** divo [] has quit [Read error: Connection reset by peer]
01:13:44  *** divoafx [] has quit []
01:21:19  *** shodan [] has quit [Quit: Client Exiting]
01:21:19  *** xerxes is now known as shodan
01:25:47  *** lolman [] has quit [Read error: Connection reset by peer]
01:28:03  *** planetmaker [] has quit [Read error: Connection reset by peer]
01:28:06  *** planetmaker_ [] has joined #openttd
01:28:09  *** planetmaker_ is now known as planetmaker
01:30:40  *** ben_goodger [] has quit [Ping timeout: 480 seconds]
01:31:36  *** ben_goodger [] has joined #openttd
01:32:40  *** Brianetta [] has quit [Quit: TschÌß]
01:35:17  *** Eddi|zuHause3 [] has joined #openttd
01:40:11  *** planetmaker [] has quit [Quit: Good bye!]
01:41:45  *** Eddi|zuHause2 [] has quit [Ping timeout: 480 seconds]
01:45:03  *** Keir [] has quit []
01:51:48  *** HerzogDeXtEr [~Flex@] has joined #openttd
01:52:00  *** lobster [~michielbi@] has joined #openttd
01:55:53  *** Progman [] has quit [Remote host closed the connection]
01:59:08  *** HerzogDeXtE1 [~Flex@] has quit [Ping timeout: 480 seconds]
02:26:50  <nicfer> today I started a rv-only game
02:26:59  <nicfer> now I have 298 vehicles
02:42:32  *** Osai is now known as Osai`off
02:47:54  *** roboman [] has joined #openttd
02:47:56  *** roboboy [] has quit [Read error: Connection reset by peer]
02:53:02  *** NukeBuster [] has quit [Read error: Connection reset by peer]
03:14:45  *** lola22 [] has joined #openttd
03:16:32  *** lola22 [] has quit []
03:16:38  *** Ammller [] has quit [Remote host closed the connection]
03:40:19  *** gfldex [] has joined #openttd
03:42:13  *** gfldex_ [] has quit [Ping timeout: 480 seconds]
03:48:01  *** Poopsmith [] has joined #openttd
03:48:49  *** roboboy [] has joined #openttd
03:49:04  *** roboman [] has quit [Read error: Connection reset by peer]
04:00:29  *** Osai`off is now known as Osai
04:04:02  *** nicfer [] has left #openttd []
04:24:46  *** glx [] has quit [Quit: bye]
04:29:02  *** HerzogDeXtE1 [~Flex@] has joined #openttd
04:29:02  *** HerzogDeXtEr [~Flex@] has quit [Read error: Connection reset by peer]
04:46:54  *** a1270 [] has quit [Quit: The ending changes tone & is actually quite sad - but it involves a scene of necrophilia, so that's just another plus in my book.....]
04:48:52  *** a1270 [] has joined #openttd
04:49:37  *** roboboy [] has quit [Read error: Connection reset by peer]
04:49:38  *** roboman [] has joined #openttd
05:09:01  *** a1270 [] has quit [Quit: The ending changes tone & is actually quite sad - but it involves a scene of necrophilia, so that's just another plus in my book.....]
05:11:07  *** a1270 [] has joined #openttd
05:20:45  *** ben_goodger [] has quit [Ping timeout: 480 seconds]
05:29:09  *** ben_goodger [] has joined #openttd
05:54:43  *** ben_goodger [] has quit [Ping timeout: 480 seconds]
05:55:07  *** ben_goodger [] has joined #openttd
05:56:23  *** UserError [] has joined #openttd
05:57:05  *** UserErr0r [] has quit [Read error: Connection reset by peer]
06:00:05  <CIA-1> OpenTTD: rubidium * r12402 /trunk/src/ (main_gui.cpp toolbar_gui.cpp): -Fix: some toolbars didn't seem to show anymore.
06:05:16  *** UserErr0r [] has joined #openttd
06:05:17  *** UserError [] has quit [Read error: Connection reset by peer]
06:05:50  *** Zavior [] has joined #openttd
06:33:05  <CIA-1> OpenTTD: rubidium * r12403 /trunk/src/network/network_gui.cpp: -Codechange: unmisuse a variable in the chat window and make the code a little cleaner.
06:37:53  <Eddi|zuHause3> "unmisuse" ... great ;)
06:38:32  <CIA-1> OpenTTD: rubidium * r12404 /trunk/src/network/network_gui.cpp: -Codechange: rename the string buffer used for network GUIs to something more unique than what it is called now.
06:49:10  <peter1138> Morninginginging
06:50:12  *** roboboy [] has joined #openttd
06:50:13  *** roboman [] has quit [Read error: Connection reset by peer]
06:53:03  <CIA-1> OpenTTD: rubidium * r12405 /trunk/src/widget.cpp: -Codechange: some coding style and 'untodoifying' some comments that were certainly not todos.
06:58:02  <peter1138> He's on a roll...
07:01:06  <Poopsmith> having fun, i see
07:06:05  *** lestat_spanish [~Mesias7.4@] has joined #openttd
07:07:23  <lestat_spanish> hi
07:07:26  <lestat_spanish> hi all
07:07:28  <lestat_spanish> Which is the port for openttd?
07:07:50  <Rubidium> @openttd port
07:07:50  <DorpsGek> Rubidium: OpenTTD uses TCP and UDP port 3979 for server <-> client communication and UDP port 3978 for masterserver (advertise) communication (outbound)
07:09:52  <lestat_spanish> Thanks
07:13:33  *** lestat_spanish [~Mesias7.4@] has quit [Quit:  MESIAS 7.4 by: Lois & JAP-]
07:20:32  *** Alberth [] has joined #openttd
07:27:33  *** Slowpoke [] has joined #openttd
07:30:58  *** Arie^ [] has quit [Ping timeout: 480 seconds]
07:36:44  *** Osai is now known as Osai`off
07:44:03  *** ThePizzaKing [] has joined #openttd
07:55:05  *** admin [] has joined #openttd
07:55:07  *** admin [] has left #openttd []
07:55:27  *** admin [] has joined #openttd
07:55:32  <admin> hello
07:55:35  <admin> my name is bond
07:55:38  <admin> James Bond
07:55:42  <admin> Agent 007
07:59:53  *** admin [] has quit [Quit: BitchX-1.1-final -- just do it.]
07:59:53  *** Forked [] has quit [Read error: Connection reset by peer]
08:02:09  *** planetmaker [] has joined #openttd
08:04:00  *** Forked [] has joined #openttd
08:11:42  *** dR3x4cK [] has joined #openttd
08:15:09  *** PeterGriffin [] has joined #openttd
08:19:22  *** planetmaker is now known as pm_away
08:20:29  *** egladil [~egladil@] has quit [Quit: Leaving]
08:21:03  *** yorick [] has joined #openttd
08:21:45  *** Osai`off is now known as Osai
08:22:20  <yorick> hello
08:24:19  <Poopsmith> hi yorick
08:25:42  *** PeterGriffin is now known as geekNerd
08:26:39  * Poopsmith wonders if yorick is OOo yorick
08:26:42  * yorick is talking to a bot, and therefor, /me is GoneWacko
08:27:15  <yorick> [09:25] <@The__Master> yorick: Well, I'm stumped. If you were a lumberjack, you'd be pounding me flush with the ground right now.
08:27:15  <yorick> [09:25] <@yorick> The__Master, :o
08:27:15  <yorick> [09:25] <@The__Master> yorick: What a round statement that is.
08:27:56  <Poopsmith> lol
08:28:29  <yorick> 09:27] <@yorick> The__Master: thank you :)
08:28:29  <yorick> [09:28] <@The__Master> yorick: You are most welcome.
08:29:18  <yorick> hehe, he's in #?, if you would like to chat with it
08:32:22  *** Gekz [] has joined #openttd
08:36:39  *** pm_away is now known as planetmaker
08:39:08  *** ben_goodger [] has quit [Ping timeout: 480 seconds]
08:39:30  *** ben_goodger [] has joined #openttd
08:40:22  *** dR3x4cK [] has quit [Quit: dR3x4cK]
08:51:20  *** roboboy [] has quit [Read error: Connection reset by peer]
08:51:24  *** roboman [] has joined #openttd
08:55:48  *** ben_goodger [] has quit [Ping timeout: 480 seconds]
08:56:16  *** ben_goodger [] has joined #openttd
08:56:52  *** Purno [] has joined #openttd
09:04:43  *** Hassal [] has joined #openttd
09:05:32  <Hassal> Could Someone Tell Me how to set a welcome message to my dedicated server? I know it was something with a script folder, and a say_on_connect.bat but I cant recall it
09:05:51  *** jez9999 [] has joined #openttd
09:05:57  <yorick> yes, I could
09:06:41  <Hassal> Please proceed
09:07:44  <yorick> hehe, lets see where that wiki page is
09:08:06  <Hassal> There isn't I believe
09:09:03  *** Wolf01 [] has joined #openttd
09:09:28  <yorick> scripts/on_server_connect.scr
09:09:44  <yorick> and put some say commands in it
09:09:46  <Hassal> ah I knew it was something like that :P
09:09:47  <Hassal> Thx
09:13:04  <Hassal> It doesn't work :p
09:13:22  <Hassal> I have put some commands: say "blbalbal" in it
09:13:38  <yorick> yes
09:14:31  *** elmex [] has joined #openttd
09:14:51  <Wolf01> hello
09:15:28  <Hassal> Ah after restart of the server it worked
09:15:31  <Hassal> thx yorick
09:15:34  *** Hassal [] has quit [Quit: Bye for now!]
09:15:40  <yorick> :)
09:21:18  *** thgergo [] has joined #openttd
09:24:04  *** Ammler [] has joined #openttd
09:24:34  *** Osai is now known as Osai`off
09:30:01  *** Osai`off is now known as Osai
09:34:00  *** mrfrenzy [] has quit [Ping timeout: 480 seconds]
09:39:57  *** mrfrenzy [] has joined #openttd
09:45:05  *** XeryusTC is now known as Xeryus|bnc
09:50:11  *** Tefad [] has quit [Ping timeout: 480 seconds]
09:57:05  *** elmex [] has quit [Ping timeout: 480 seconds]
10:01:23  *** SpBot [] has quit [Ping timeout: 480 seconds]
10:02:48  *** strongfra [] has joined #openttd
10:02:51  *** strongfra [] has left #openttd []
10:03:18  *** SpBot [] has joined #openttd
10:03:49  <yorick> SpBot left?
10:04:33  <yorick> oh, he quit ^^
10:17:42  *** Zahl [] has joined #openttd
10:20:12  <jez9999> hmm
10:20:23  <jez9999> is there a way to disable the behaviour where Shift speeds up the game?
10:20:30  <Rubidium> yes
10:20:32  <jez9999> that's really annoying as shift it also used to get a cost animation
10:20:42  <jez9999> erm
10:20:44  <jez9999> cost estimate
10:21:55  *** Gekz_ [] has joined #openttd
10:22:44  <jez9999> how do you disable it
10:22:54  <yorick> I don't think there is
10:22:58  <Rubidium> by compiling a non-debug version
10:23:23  *** elmex [] has joined #openttd
10:23:45  <jez9999> weird, it only does it in debug
10:23:46  <jez9999> how come?
10:24:00  <Rubidium> because it's coded that way
10:24:14  <jez9999> you know full well i meant what is the reason for the decision.
10:24:19  <jez9999> why are you so pedantic?
10:24:22  *** Gekz_ [] has quit []
10:24:25  <yorick> because it was needed
10:24:29  <yorick> or useful
10:24:36  <yorick> or whatever you want it to be ;)
10:24:50  <Alberth> devs want easy way to ff for faster debugging
10:26:01  <Rubidium> what kind of answers were you expecting?
10:26:02  <Eddi|zuHause3> in non-debug build it's tab
10:26:10  <yorick> it is?
10:26:37  <Eddi|zuHause3> no, i am making up random stuff because i have nothing to say
10:26:45  <Eddi|zuHause3> </sarcasm>
10:26:48  <yorick> I guessed so
10:28:00  *** |Jeroen| [] has joined #openttd
10:28:04  <jez9999> hmm i have a slight dilemma
10:28:07  <Rubidium> Eddi|zuHause3: actually shift doesn't work in the non-sdl versions
10:28:29  <jez9999> im oding a patch that lets you upgrade trains in depots at the same time as converting track type
10:28:41  <yorick> we know
10:28:42  <jez9999> now say the player drags over a matrix that contains track and a depot with trains in
10:28:55  <jez9999> they have the money to upgrade the track but not the trains
10:29:05  <jez9999> i wanna allow them to upgrade the track but the depot just wont get upgraded
10:29:14  *** natacha29 [] has joined #openttd
10:29:21  <yorick> then you should spit a nice not enough money message
10:29:27  <jez9999> this presumably means not doing an AddCost when they're just querying the cost, or they wont be able to do the conversion
10:29:37  *** Poopsmith [] has quit [Quit: Poopsmith]
10:29:42  <jez9999> no because i want to allow them to just upgrade the track tiles but leave the depot
10:29:45  <jez9999> if there isnt the money
10:29:53  <yorick> why would they want that?
10:29:58  <jez9999> however this means that when they shift-click and see the cost estimation, it wont include the depot upgrade cost
10:30:11  <jez9999> because they might wanna upgrade track around a depot for now, and do the depot later
10:30:16  <jez9999> (other trains might use that track)
10:30:28  <yorick> then they shouldn't drag over the depot
10:30:35  <jez9999> it's handy if it just upgrades the track and leaves the depot, which is liable to be far more expensive if trains are to be upgraded
10:30:40  <Eddi|zuHause3> jez9999: the level land tool does area-terraforming like that, it goes on until the money runs out
10:30:49  <jez9999> yeah but if you have a complex track system with several depots that might be a pain
10:30:53  <jez9999> you might miss bits of track
10:30:57  *** natacha29 [] has quit []
10:31:01  <yorick> try ctrl-?
10:31:08  <jez9999> ctrl?
10:31:24  <yorick> ctrl with track upgrade ignores depots with trains?
10:31:45  <Rubidium> better do it the other way around
10:32:02  <yorick> ctrl without track upgrade?
10:32:26  <yorick> I don't think that's a good idea
10:32:37  <Rubidium> no, with ctrl upgrade the trains too, without ctrl upgrade empty depots and tracks
10:32:39  <Alberth> and probably be consistent, player shouldn't have to remember or know whether a depot contains trains or not
10:32:54  <jez9999> what would be nice is if the cost estimate could include the depot upgrade cost, but when actually doing the command it only upgrades them if you have the money
10:33:03  <Rubidium> as ctrl (usually) is used for the more "powerful" functions
10:33:37  <yorick> ok, then do it that way
10:33:44  <jez9999> but im guessing the system is designed to force the cost estimate to be identical to the actual cost added using AddCost
10:33:46  <Rubidium> as replacing trains is more "powerful" than not replacing the trains
10:34:18  <jez9999> what about replacing empty depots?  do i not do them either without ctrl?
10:34:24  <jez9999> or treat them like regular track?
10:36:23  <yorick> you should keep normal behavior like it is now without control pressed
10:36:49  <yorick> so also: upgrade normal depots with normal trains in them to electrified depots without upgrading the trains
10:37:17  <jez9999> and how do i test for ctrl pressed?
10:37:28  <yorick> err
10:37:59  <yorick> you could probably copy that from other functions
10:41:18  *** Vikthor [] has joined #openttd
10:44:31  *** SmatZ [] has joined #openttd
10:48:01  *** roboman [] has quit [Ping timeout: 480 seconds]
10:48:10  *** UserError [] has joined #openttd
10:48:39  *** Nitehawk [] has quit [Remote host closed the connection]
10:53:58  *** elmex [] has quit [Ping timeout: 480 seconds]
10:54:26  *** UserErr0r [] has quit [Ping timeout: 480 seconds]
10:57:44  *** Progman [] has joined #openttd
10:59:16  *** lidi20 [] has joined #openttd
11:00:55  *** lidi20 [] has quit []
11:02:52  *** einKarl [] has joined #openttd
11:03:19  *** Wolf01 is now known as Wolf01|AWAY
11:07:39  *** elmex [] has joined #openttd
11:17:44  *** UserErr0r [] has joined #openttd
11:18:00  *** keyweed_ [] has joined #openttd
11:18:21  *** UserError [] has quit [Read error: Connection reset by peer]
11:25:30  *** keyweed [] has quit [Ping timeout: 480 seconds]
11:26:40  <SpComb> we/llc
11:28:45  *** Xeryus|bnc is now known as XeryusTC
11:29:48  *** stillunknown [] has joined #openttd
11:38:00  *** lolman [] has joined #openttd
11:43:15  <yorick> how to modify own flyspray tasks?
11:56:41  *** lolman [] has quit [Quit: Ex-Chat]
12:00:34  *** lolman [] has joined #openttd
12:06:17  <yorick> you could close FS#294: already done, we have 11 now :-)
12:09:50  *** Tefad [] has joined #openttd
12:11:28  *** ben_goodger [] has quit [Ping timeout: 480 seconds]
12:11:49  *** ben_goodger [] has joined #openttd
12:12:19  *** fatal- [] has joined #openttd
12:13:14  <fatal-> hello
12:13:28  <yorick> hello
12:13:38  <fatal-> in which ways is ottd better than the patch?
12:13:43  <fatal-> are there big differences?
12:14:08  <yorick> ...
12:14:13  <yorick> multiplayer
12:15:12  <fatal-> but in gameplay? and is it possible that in ottd the AI only builds trucks etc and no trains?
12:15:33  <yorick> if you configure it that way
12:16:07  <Patrick`> fatal-: flamewar territory.
12:16:09  <yorick> but the AI's in Ottd will soon be replaced by user AI
12:16:15  <fatal-> k
12:16:18  <Patrick`> big maps
12:16:19  <yorick> 0.7.0, that is
12:16:25  <Patrick`> and we mean biiiiig maps
12:16:27  <fatal-> when will it come?
12:16:30  <yorick> 2048x2048
12:16:43  <Patrick`> and a zillion user-generated trainsets.
12:16:48  <Patrick`> but that's a common feature
12:17:06  <Patrick`> it's a matter of personal preference, there's a page on the wiki that compares features
12:17:38  <fatal-> thx
12:17:38  <yorick>
12:18:34  <fatal-> ill stay at ottd anyway
12:20:44  <fatal-> should i download the latest stable version or the new beta?
12:20:45  <Patrick`> imo, it doesn't make sense to switch from ottd to ttdp
12:20:58  <Patrick`> the patch has users because it was first.
12:21:07  *** Gekz [] has quit [Quit: leaving]
12:21:22  <yorick> beta :)
12:21:25  *** Gekz [~brendan@] has joined #openttd
12:21:54  <fatal-> when will 0.7 come? or is that unknown?
12:22:05  <yorick> when it's done
12:22:22  <DaleStan> The patch has users because some people like to be able to choose what features they will use, rather than having changes stuffed down their throat.
12:22:46  <yorick> openttd has something usefull called "Patch Settings"
12:22:47  *** UserError [] has joined #openttd
12:23:17  <DaleStan> That can't change everything.
12:23:27  <yorick> list what it can't change
12:24:07  <Rubidium> what DaleStan just means is that you can disable the ability to load newgrfs in TTDP and you can't in OTTD (amongst other things though)
12:24:08  <DaleStan> Like the Keyboard shortcuts. The landscape toolbar.
12:24:35  <DaleStan> And can you still get to OPF?
12:25:12  <yorick> who would want that?
12:25:22  <fatal-> oO
12:25:25  <DaleStan> It's far faster
12:25:31  <yorick> you can get NTP thoug
12:25:41  <DaleStan> And I know how not to break it.
12:25:41  <yorick> and OPF for roadvehicles and ships still exists
12:25:58  <yorick> 256 tiles is a stupid limit whith 2048x2048 maps ;)
12:26:40  <Patrick`> fatal-: basically, you just want better AI?
12:26:57  <Patrick`> but the default AI just shits all over the map and then goes bankrupt and opens a new one
12:27:01  <fatal-> i just want to play and know which one has the better gameplay, but ill stay at ottd anyway
12:27:10  <Patrick`> I find singleplayer on max difficulty to be far more of a fun challenge
12:27:17  <Patrick`> costs have gone up
12:27:20  <DaleStan> Also can't change the acceleration settings properly.
12:27:26  <yorick> breakdowns are crazy
12:27:34  <Patrick`> I, uh, disabled them
12:27:47  <yorick> realistic acceleration solves a whole bunch of nasty acceleration
12:27:48  <DaleStan> Two choices are not sufficient for someone who's used to 65536.
12:27:50  <Patrick`> what's the point of breakdowns when it just adds more micromanagement to make them go away?
12:27:59  <yorick> so you don't need acceleration settings anymore
12:28:12  <Patrick`> I may as well just not take the time to build depots and schedule services, and just play with breakdowns off
12:28:17  <yorick> because you can't build bigger networks with it?
12:28:33  *** UserErr0r [] has quit [Ping timeout: 480 seconds]
12:28:34  <Patrick`> RA's nice
12:28:44  <Patrick`> I just hope it never changes to make all my junction layouts obsolete
12:29:26  <Patrick`> jimmy left 1, straight for four, iiinto the bend, whip round after 7 half-tiles and bam! the train's ground to a halt because it's actually 10 cars long
12:31:03  *** thgergo [] has quit [Read error: Connection reset by peer]
12:32:18  *** jenny20 [] has joined #openttd
12:32:19  *** lolman is now known as lolfood
12:33:01  *** lolfood [] has quit [Remote host closed the connection]
12:33:04  *** SDK [] has joined #openttd
12:34:14  <SDK> hi
12:34:20  <SDK> I have a problem with the rcon commands
12:34:26  *** jenny20 [] has quit []
12:34:28  <SDK> for some reason when I am ingame they dont work
12:34:31  *** fatal- [] has quit [Quit: Bye for now!]
12:34:36  <SDK> when I enter them directly in the console they do work
12:34:40  <SDK> like kick 1
12:34:42  <SDK> and
12:34:45  <SDK> load 1.sav
12:34:53  *** lolman [] has joined #openttd
12:34:57  <yorick> try putting the command between "
12:36:50  <SDK> ah thanks I did it wrong:)
12:36:51  <SDK> I did
12:36:55  <SDK> load "1.sav"
12:37:00  <SDK> but "load 1.sav" worked:)
12:37:00  <SDK> ty
12:37:24  <SDK> cya:D
12:37:26  *** SDK [] has quit []
12:37:55  <yorick> is it "join, say hi, ask a question, get answer, and leave again" day?
14:47:48  *** SpComb [] has joined #openttd
14:48:04  <Rubidium> if the train leaves immediatelly then a) the timetable is not set up properly, b) the vehicle is late
14:48:16  <FloSoft> no train is in time
14:48:18  *** stillunknown [] has quit [Ping timeout: 480 seconds]
14:48:25  <FloSoft> but it waits 1 day
14:48:27  <FloSoft> and leaves
14:48:39  <Progman> the time value is used if the vehicle get the order, not if it already has the order
14:49:01  <Progman> maybe you must wait one order cycle
14:49:24  <FloSoft> so if i say drive 40 days to station, and wait 10 days, it leaves because it takes 40 days to reach the station?
14:51:05  <FloSoft> hmm those timetables, werent they in some old nightlys already? where you could say "wait at maximum of 5 days to fully load"? those orders dont exist anymore do they?
14:51:38  <glx> not that I remember
14:54:36  *** HMage` [~HMage@] has joined #openttd
14:56:44  *** HMage` [~HMage@] has quit []
14:58:17  <Volley> there are 2 different and seperate patches that do mess with stuff like that but ... well ... they seem to be more or less on hold and not quite up to date. and additionally i am not sure if that is the right way to go
14:58:36  <Volley> 1) timetables are complicated
14:58:53  <Volley> 2) what does one try to archive with a timetable?
14:59:15  <Rubidium> a more fluid ride
14:59:19  <Volley> in real Life, timetables are nice for passengers ... but in TT, there is no real-life-passenger
14:59:49  <Rubidium> *if* you time the trains in such a manner that they do not have to wait anywhere, you can make quite a bit more money and use less tracks
15:00:07  <Volley> hmm
15:00:34  <Patrick`> openttd is all about vast simplifications to make it model in a fun way and be playable and not too unrealistic
15:00:46  <Patrick`> perhaps there's an approximation we could make, to make timetabling approximate reality
15:00:47  <Volley> Patrick`: i fully agree
15:00:51  <Patrick`> in that it attracts more passengers somehow
15:00:58  <Volley> hmm
15:01:14  <Patrick`> an example of a simplification that games get away with: in defcon, units don't have health. bullets have probabilities.
15:01:58  <Volley> Rubidium: interesting point... that makes me wonder: is it better to have always a train waiting at a station to not miss any passengers/freight, or is it better to have all trains mooving non-stop and just picking up what is waiting at the station?
15:02:16  <Rubidium> the former
15:03:02  <Volley> well, if it is better to always have a train waiting at a station, then why not create a order type similar to full load, but just "load until next vehicle arrives"
15:03:40  <jez9999> why would you wanna do that
15:03:48  <Volley> extreamely easy, and propably as effective as a sophisticated timetable
15:04:02  <Rubidium> cause that's going to cause an uneven 'load' on the network, whereas you get a much more even load on the network with time tables
15:04:46  <Volley> hmm - you sure?
15:05:16  <yorick> do we have any 0.7 roadmap yet?
15:05:58  <Alberth> Volley: If a train has some delay, it may get pushed out of the station quickly because of the next train after it
15:06:29  <Alberth> yorick:
15:06:46  <Rubidium> if a train has a delay, another train will have to load longer -> unloading takes longer -> train has a delay -> ripple!
15:07:52  <Rubidium> the delayed train will be 'quicker' gone because of the next train arriving relatively sooner -> unloading takes shorter -> train leaves earlier -> ripple!
15:08:19  <Volley> hmm ... that would result in ... damn ... yep - instead of spreading out they will do the opposite
15:08:28  <Rubidium> so at one point all trains will come very close after eachother with one very big hole between two trains
15:10:24  *** Mucht [] has joined #openttd
15:11:56  <FloSoft> Rubidium: that happens without timetables currently too
15:12:31  <Volley> ok ... i'm convinced ... and i begin to understand that there is no (easy) solution without timetables
15:13:44  <FloSoft> but that old "wait at max x days for full load" worked well for me on older nightly versions (i think the patch was in there a year ago or so)
15:14:43  <FloSoft> and those copy&paste features werent bad for duplicating complex stations
15:15:12  <Volley> copy&paste features?
15:15:44  <FloSoft> there was a patch to copy&paste long time ago
15:15:54  <yorick> there still is
15:16:20  <Rubidium> it's only one big copy-paste, thus unmaintainable, thus unmergeable
15:16:26  <FloSoft> it is in the nightlys?
15:17:00  <yorick> read the above
15:17:10  <FloSoft> ah oh :(
15:18:23  <yorick> but Rubidium, I would be thankfull to see some more language flags in trunk, (the ones in FS#1866 for example)
15:19:43  <yorick> *hint* *hint*
15:20:56  <Volley> searched the forums for mentions of copy & paste patch and yeah - long ago, big bunch of unmaintainable written code
15:21:13  <yorick> I think greek and estonian people would also be happy with it
15:22:05  <yorick> (and I could continiue) poor greeks and estonians feel underrated now :(
15:22:46  <Rubidium> newBornAcorn?
15:23:09  <yorick> huh?
15:24:41  <Rubidium> glx is the man of the flags :)
15:24:54  <yorick> the color-disquise doesn't actually show up, does it?
15:25:12  <yorick> :)
15:32:28  <Ammler> yorick: but there are 2 different usages of flags, one is for language, the other for location
15:33:01  <Ammler> from where do you get the flag on the client list?
15:33:18  <aleex> how can the server-admin give money to someone?
15:33:59  <Ammler> aleex: thats not possible, iirc.
15:43:14  *** Zahl [] has quit [Read error: Connection reset by peer]
15:44:19  *** Zahl [] has joined #openttd
15:51:15  *** Amix [] has joined #openttd
15:51:29  <Amix> hey
15:51:49  <Amix> wondering if its possible to know where i can download ttd files for osx version of the game?
15:53:02  <yorick> Ammler: how do you mean? I get the language flag
15:53:59  <Amix> ?
15:54:10  <yorick> [16:32] <Ammler> yorick: but there are 2 different usages of flags, one is for language, the other for location
15:54:14  <Amix> where can i download the ttd datafiles?
15:54:24  <yorick>
15:55:10  <Ammler> yorick:
15:55:25  <yorick> yes, what's with that one/
15:55:53  <Ammler> well, is that flag meant for the language or the location?
15:55:55  <yorick> I currently use them for languages
15:56:06  <yorick> as I can't really detect location ^^
15:57:24  <yorick> with the extra flags, every language you can set in the config has its own flag
15:58:13  <Amix> thanks
15:58:28  *** urlauber [] has joined #openttd
15:59:46  <urlauber> hi there
16:01:50  <urlauber> I just discovered that some of my trains cost a minus amount of money. I'm using 0.5.3, is this a known thing or should I report that somewhere?
16:02:55  <blathijs> urlauber: Did you search on ?
16:05:58  <Ammler> yorick, what does that flag there help?
16:06:06  <urlauber> yes, blathijs, i searched for "money" and "negative" bugs, but didn't find something that fit
16:06:50  <Alberth> urlauber: I remember discussions about negative train income at tt-forums
16:06:56  <glx> overflow bug, fixed a long time ago
16:07:26  <Alberth> wasn't it something with taking too much time to reach a nearby dest?
16:08:09  <glx> no they have a negative running cost
16:08:56  <urlauber> not negative train income or running cost, but cost for bying them
16:09:01  <urlauber> buying
16:09:07  <glx> same cause :)
16:09:35  <Alberth> aka, upgrade :)
16:09:38  *** Amix [] has quit [Ping timeout: 480 seconds]
16:09:53  <Sionide> maybe they're just old and the manufacturers can't rid of 'em fast enough :P
16:10:12  <urlauber> ok, just wanted to know that, thx!
16:11:17  <urlauber> yeah, they have been a pretty long time on the market (~200 years) ;)
16:11:55  <Alberth> they shouls sell them to the steel factory instead :P
16:12:04  <Alberth> s/shouls/should/
16:12:20  <Sionide> heh
16:13:02  <urlauber> I'm gonna ask the guy at the steel factory :) cu, bye!
16:13:25  *** urlauber [] has quit [Quit: Ex-Chat]
16:14:10  *** helb [~helb@] has quit [Read error: Connection reset by peer]
16:17:12  *** lolman [] has joined #openttd
16:19:22  <yorick> Ammler: what flag where?
16:19:48  <Ammler> the flag on that screen, I linked
16:20:17  <yorick> yes, what about that?
16:21:26  <yorick> it helps in a way, players can see what language other players speak without them having to put [EN] [SP] [GR] in there name
16:21:28  <yorick> their*
16:24:23  *** Amix [] has joined #openttd
16:24:27  <Amix> hello
16:24:33  <Amix> :)
16:24:43  <Amix> downloaded the files
16:24:47  <Amix> installed
16:24:49  <yorick> hello again
16:24:52  <Amix> tried both 0.5.3
16:25:00  <Amix> and 0.6.0 beta
16:25:14  <Amix> both are infact disconnecting my wlan connection
16:25:22  <Amix> i am using macosx leopard
16:25:28  <yorick> they are?
16:25:33  <Amix> yes
16:25:40  <yorick> that is a serious bug, post it at!
16:25:42  <Amix> when i click for searching servers
16:25:49  <Alberth> Rubidium: Would a refactor-patch with the window.cpp file split in 'window struct funcs' (ie methods), 'window functions', and 'window list functions' be acceptable?
16:25:56  <Amix> it finds lots of ips
16:26:04  <glx> Alberth: if well done why not
16:26:13  <Amix> and it stops the net
16:26:20  <Amix> then i have to go to the router
16:26:23  <Amix> and reset it
16:26:30  <yorick> the second one shouldn't be happening
16:26:34  <glx> you have a bad router
16:26:37  <yorick> the third one is fine :)
16:26:48  <yorick> not supporting UDP correctly ;(
16:26:53  <yorick> blame the router!
16:27:06  <Amix> its a good router
16:27:07  <Amix> SMC
16:27:29  <Amix> it worked before
16:27:35  <yorick> SMC :o
16:27:39  <yorick> bad routers ^^
16:27:39  <Amix> but ive never tried openttd on leopard before
16:27:53  <Amix> worked in tiger
16:28:02  <Amix> and it works in morphos
16:28:20  <Amix> though the morphos version have problems with my keyboard
16:28:58  <yorick> morphos is known to be buggy with openttd, isn't it?
16:29:12  *** lolman [] has quit [Read error: Connection reset by peer]
16:30:03  <Amix> no
16:30:12  <Amix> not really
16:30:49  *** Pinchiukas [~lox@] has joined #openttd
16:32:44  *** helb [~helb@] has joined #openttd
16:32:49  <Amix> yorick: could you send the buggreport for me?
16:33:14  <Amix> strange that openttd manages to disconnect my SMC router
16:33:33  <Amix> never happened before
16:34:23  <yorick> what should I say in it?
16:34:48  <glx> Amix: it would be better to report it yourself
16:34:49  <Amix> OpenTTD disconnects wlan connection on osx
16:35:11  <Amix> i am not registered there
16:35:24  *** Singaporekid [] has quit []
16:35:27  <yorick> then register
16:35:42  *** valhalla1w [] has joined #openttd
16:36:05  <yorick> glx: could you take a look at , as Rub1d1um said you're the flags guy
16:36:24  *** valhallasw [] has quit [Read error: Connection reset by peer]
16:36:41  <yorick> ?
16:36:52  <yorick> "please" *begs*
16:36:55  <Amix> i think the reason why morphos version is behind
16:37:02  <Amix> is that you want to go new ways
16:39:42  *** einKarl [] has quit [Read error: Connection reset by peer]
16:39:46  <Amix> i cant register
16:39:47  <Amix> Notice: Undefined variable: register_text in /www/ on line 559
16:39:50  <Amix> getting this
16:40:47  <yorick> try again?
16:42:07  <Amix> dosent work
16:42:07  <glx> I can see Amix in user list
16:42:31  <yorick> lets see if we can submit a bug about the bug tracker at the bug tracker that the bug tracker register to the bug tracker contains a bug that should be posted to the bug tracker but the user can't post a bug to the bug tracker because he can't register at the bug tracker because of the bug in the bug tracker the user wants to post...
16:42:33  <glx> Amix (Michal)
16:42:39  <yorick> try logging in
16:43:02  <Amix> i dont have a password
16:43:35  *** Alberth [] has left #openttd []
16:43:40  <yorick> not emailed to you
16:43:42  <yorick> ?
16:43:43  *** Amix [] has quit [Quit: Leaving]
16:44:26  <yorick> now that is a bug that we should submit at the bug tracker that the bug tracker register to the bug tracker contains a bug that should be posted to the bug tracker but the user can't post a bug to the bug tracker because he can't register at the bug tracker because of the bug in the bug tracker the user wants to post...
16:45:44  <yorick> hmm...I guess you get it
16:49:21  <FloSoft> yorick: thats sth for -.-
16:50:05  <yorick> add it :)
16:52:55  <yorick> meh...there it goes
16:53:01  *** Wolfolo|AWAY [] has joined #openttd
16:53:01  *** Wolf01 is now known as Guest2432
16:53:01  *** Wolfolo|AWAY is now known as Wolf01
16:54:06  *** Amix [] has joined #openttd
16:54:10  <Amix> damn
16:54:14  <yorick>
16:54:18  <Amix> disconnecting me everytime
16:55:08  <yorick> its pending moderation :(
16:56:00  <Amix> how is it possible that it disconnects me when trying to find the openttd servers?
16:56:12  <yorick> UDP, probably
16:56:12  <Amix> i write a name
16:56:30  <yorick> mass connections
16:56:43  <yorick> baad routers
16:56:50  <Amix> i have a linksys router it seems
16:56:51  <Amix> hehe
16:57:01  <FloSoft> oh linksys
16:57:10  <FloSoft> crashed at my house with only 4 computers online -.-
16:57:22  <yorick> ottd makes lots of connections when scanning server list, it queries all of the servers
16:57:47  <FloSoft> for the money of that damn router i bought an additional network card and a 4 port hub and accesspoint, no problems anymore -.-
16:59:06  *** Guest2432 [] has quit [Ping timeout: 480 seconds]
17:01:39  *** Bjarni [] has joined #openttd
17:01:40  *** mode/#openttd [+o Bjarni] by ChanServ
17:02:11  <yorick> Bjarni!
17:02:25  <Bjarni> dammit
17:02:31  <yorick> Bjarni! Bjarni! Bjarni! bjarni! bjarni! bjarni!
17:02:37  <Bjarni> my plan about out of sight, out of mind didn't work
17:02:43  <Bjarni> you still do that crap :s
17:03:05  <yorick> you'll never be able to escape it
17:03:16  <yorick> or you should stay connected
17:03:28  <Bjarni> then I wouldn't get any work done
17:04:01  *** Amix2 [] has joined #openttd
17:04:11  <Amix2> i reset the security settings
17:04:14  <yorick> Amix: just get another router
17:04:18  <Amix2> then it worked
17:04:23  <yorick> oh ^^
17:04:34  <yorick> consider upgrading the firmware
17:04:54  *** Amix [] has quit [Ping timeout: 480 seconds]
17:07:51  <ln> royal danish Bjarni!
17:08:12  <Sacro> Bjarni!
17:08:21  <Bjarni> so now I' royal?
17:08:30  <Bjarni> well I guess that's one way of gaining power
17:08:35  <Bjarni> but it wasn't part of the plan
17:10:03  <Bjarni> from now on you should all call me "your highness"
17:10:51  *** nicfer [] has joined #openttd
17:11:06  <Bjarni> and if you don't want to do that then you should blame ln- for starting this
17:12:48  *** Amix2 [] has quit [Ping timeout: 480 seconds]
17:16:07  <ln> greetings from express train 928.
17:25:49  *** MDGrein [] has joined #openttd
17:36:54  *** Pinchiukas [~lox@] has quit [Ping timeout: 480 seconds]
17:40:13  *** nicfer [] has left #openttd []
17:40:26  *** raimar2 [] has joined #openttd
17:42:27  *** Purno [] has joined #openttd
17:44:13  *** Volley [~worf@] has quit []
17:45:35  *** raimar3 [] has quit [Ping timeout: 480 seconds]
17:56:12  *** nicfer [] has joined #openttd
17:59:03  *** XeryusTC is now known as Xeryus|bnc
18:02:36  <glx> yorick: what version of grfcodec did you use for your patch?
18:02:38  *** Xeryus|bnc is now known as XeryusTC
18:03:45  *** stillunknown [] has joined #openttd
18:08:35  *** Wolfolo|AWAY [] has joined #openttd
18:08:35  *** Wolf01 is now known as Guest2440
18:08:36  *** Wolfolo|AWAY is now known as Wolf01
18:10:46  *** Arie- [] has joined #openttd
18:15:33  *** Guest2440 [] has quit [Ping timeout: 480 seconds]
18:16:32  *** a1270 [] has quit [Quit: The ending changes tone & is actually quite sad - but it involves a scene of necrophilia, so that's just another plus in my book.....]
18:24:24  *** NukeBuster [] has joined #openttd
18:31:06  <jez9999> Bjarni: got a question for you about autoreplace
18:31:51  <jez9999> is there a particular reason you wrote the code to ignore the wagon list that can be returned back by BuildDepotVehicleList, thereby causing 'orphaned' trains (or chains of just wagons with no engine) not to get upgraded?
18:32:15  <jez9999> given that you can now auto upgrade wagons, it would seem to make sense to have the code upgrade everything
18:33:28  <Patrick`> the circumstances you'd want to do that, though ...
18:35:17  <jez9999> 'autoupgrade this depot' button?
18:35:24  <jez9999> there may be orphaned wagons on the wagon upgrade list
18:35:58  <Wolf01> devs, what about an abandoned roads feature like ttdpatch?
18:37:19  <Wolf01> I can't buy out the competitor because I don't have enough money, and he built a stupid road to nowhere with a nice loop at the end... just in the middle of a big junction
18:40:15  *** Arie^ [] has joined #openttd
18:42:03  *** Aerandir [] has quit [Quit: - nbs-irc 2.36 - -]
18:43:33  *** divo [] has joined #openttd
18:44:03  *** Arie- [] has quit [Ping timeout: 480 seconds]
18:44:06  <Patrick`> Wolf01: that's because the AI is retarded
18:45:00  <Patrick`> build around it, then buy it out
18:45:29  <Wolf01> if only it was so easy :P
18:45:37  *** a1270 [] has joined #openttd
18:45:41  *** ooo4tom [~tom@] has joined #openttd
18:49:44  *** ooo4tom [~tom@] has quit []
18:50:04  <Bjarni> jez9999: sounds like a bug to me :/
18:50:18  <yorick> [19:02] <+glx> yorick: what version of grfcodec did you use for your patch? <-- there isn't a grf in there, is it?
18:50:39  <Rubidium> but there is a md5 checksum
18:50:57  <Bjarni> then again.... what would happen if autoreplace triggers on a row of wagons
18:50:59  <Rubidium> (that is changed and doesn't match)
18:51:08  <Bjarni> it's not designed to do that
18:51:25  <yorick> how do I check?
18:51:37  <Rubidium> try the help of grfcodec
18:51:44  <yorick> GRFCodec version 0.9.10 - Copyright (C) 2000-2005 by Josef Drexler
18:52:21  <jez9999> Bjarni: the code that does it is CmdDepotMassAutoReplace
18:52:29  <jez9999> i think that only happens when you click the 'upgrade depot' button
18:53:16  <Rubidium> yorick: that sounds quite old (as in containing bugs causing artefacts in OpenTTD)
18:53:22  <Wolf01> 7 minutes to retry the buyout of that AI
18:53:50  <Rubidium> "0.9.10 r1839" should not give those artefacts
18:54:00  <yorick> Rubidium: and as in: there are no newer binaries
18:54:07  <glx> compile yourself
18:54:13  <Wolf01> I never understood where the money used to purchase the shares go..."
18:55:43  <yorick> Can't modify constant item in scalar assignment at - line 1, at EOF
18:55:43  <yorick> Execution of - aborted due to compilation errors.
18:55:43  <yorick> make: *** [.rev] Error 255
18:56:49  <Rubidium> looks bad
18:57:14  *** Wolf01 [] has quit [Read error: Connection reset by peer]
18:57:34  <Rubidium> but DaleStan would probably love to help you with that ;) (or he might know a location with precompiled binaries that are not 1.5 years old)
18:57:38  *** Wolf01 [] has joined #openttd
18:57:40  <glx> I use make -f
18:57:51  <glx> with a patch ;)
18:57:52  <Bjarni> jez9999: autoreplace assumes that it's called for a locomotive. It would appear that something bad would happen if we just gave it a wagon instead
18:58:09  <yorick> gets stuck at [PERL] ttdpal.h
18:58:12  <jez9999> how hard would it be to fix that?
18:58:13  <DaleStan> yorick: Do you have svn and perl?
18:58:18  <jez9999> it would be mighty useful for my patch
18:58:20  <Bjarni> hard to say
18:58:23  <jez9999> and you might wanna upgrade wagons
18:58:57  <Bjarni> I will take a look tomorrow
18:59:01  <jez9999> k, cheers
18:59:07  <yorick> and /bin/sh: i686-pc-mingw-g++: command not found
18:59:26  <Bjarni> I have something which should be done by tomorrow... I better try to meet that deadline instead of replacing virtual trains
18:59:38  <Bjarni> (even though I want to do the latter a whole lot more)
19:00:07  <yorick> DaleStan: I do not have perl
19:00:11  <DaleStan> And what host? (Cygwin, MinGW/MSYS, Linux)
19:00:17  <yorick> MingW32
19:00:18  <glx> looks like msys
19:00:31  <DaleStan> Making GRFCodec requries Perl.
19:00:40  <yorick> I am not gonna get perl
19:00:45  <glx> <-- that's what I need for msys
19:01:23  * yorick copies perl over
19:01:36  <glx> just install activeperl
19:01:50  <yorick> I hate everything with Active before it
19:01:55  <yorick> it gets you teacup aswell
19:02:49  <Rubidium> :O glx yorick hates you (and me too)
19:03:02  <yorick> [PERL] ttdpal.h
19:03:02  <yorick> Can't locate in @INC (@INC contains: .) at line 3.
19:03:02  <yorick> BEGIN failed--compilation aborted at line 3.
19:03:02  <yorick> make: *** [ttdpal.h] Error
19:03:29  <glx> perl.exe is not enough :)
19:03:37  <glx> you need all libs that comes with it
19:03:41  <yorick> I don't have anything else
19:03:45  <yorick> just plain perl.exe
19:06:18  <yorick> glx, can't you get me windows binary?
19:12:35  <yorick> heh, I hope openttd runs on
19:14:35  <DaleStan> I suppose it is high time I post an update.
19:14:43  <yorick> thank you
19:15:14  <Patrick`> there's a windows CE port
19:15:21  <Patrick`> by some guy we're not affiliated with
19:15:27  <yorick> it runs winXP and linux QPlus ;)
19:15:33  <Patrick`> obviously the linux one will compile
19:21:21  *** Frostregen_ [] has joined #openttd
19:27:03  *** Frostregen [] has quit [Ping timeout: 480 seconds]
19:27:31  *** Frostregen_ is now known as Frostregen
19:29:56  <yorick> glx: there you go, new checksums added
19:30:21  *** yorick [] has quit [Quit:  and I quit]
19:35:03  *** egladil [] has joined #openttd
19:40:29  *** icone [] has joined #openttd
19:40:33  <jez9999> erm
19:40:47  <jez9999> maybe im being dumb here, but why in c++ does a std::list pop() function not return a value?
19:41:49  <Noldo> it's easier to implement that way
19:42:10  <Noldo> use the top() or something like that to access the object you want
19:42:19  <ln> jez9999: see std::list documentation at, it is explained somewhere there.
19:45:15  <jez9999> heh
19:45:25  <jez9999> easier to for the writer of std::list to implement?
19:45:40  <jez9999> i can really see the point of using OOP code there
19:45:53  <jez9999> no wonder C# is more popular
19:46:09  <SmatZ> this is OOP
19:46:12  <jez9999> c++: for(type_listOfNodes::iterator iter = m_listOfNodes.begin(); iter != m_listOfNodes.end(); iter++)
19:46:23  <jez9999> c#: foreach (string str in mylist) { str...; }
19:46:30  <jez9999> c++ is so goddamn retarded
19:46:41  <jez9999> the day it dies, i will be happy
19:46:59  <Bjarni> you have to wait that long to become happy?
19:47:03  <jez9999> happier
19:47:04  <jez9999> :-)
19:47:16  <jez9999> thing is, c++ put me off OOP for years
19:47:18  <SmatZ> you will never be happy
19:47:23  <jez9999> i came across java and C# and now i like oop
19:47:38  <jez9999> i never realised it was c++'s dumbassedness that put me off until i realised c# actually made sense
19:47:43  <Bjarni> I prefer C++
19:47:58  <jez9999> madness. :-)
19:48:03  <Bjarni> no
19:48:06  <jez9999> it's frigging horrible
19:48:16  <Bjarni> it's because it's easy to mix with C if needed
19:48:22  <jez9999> erm
19:48:28  <jez9999> OOP and C should never mix.
19:48:37  <jez9999> OOP OR C, dont combine them
19:48:37  <Bjarni> and C has some nice features where you don't give away control
19:48:48  <jez9999> features not needed in and end-user application.
19:48:48  *** TinoM [] has joined #openttd
19:49:04  <stillunknown> It's a matter of preference.
19:49:11  <ln> Bjarni: kick him for insulting C++
19:49:13  <Bjarni> I think you missed what I meant
19:49:30  <jez9999> so is preferring to eat chocolate or shit, but one preference is more common and sensible ;-)
19:49:54  <Bjarni> then why do you pick the other one???
19:49:58  <jez9999> ln: hey, ottd may yet be rewritten in c#
19:49:59  <jez9999> :-)
19:50:05  <Rubidium> LOL
19:50:10  <stillunknown> I find that unlikely.
19:50:27  <jez9999> yeah, me too.  but it makes it harder to hack.
19:50:34  <jez9999> still, at least it aint Mozilla.
19:50:42  <jez9999> they invented Mozilla-c++, and it's 100 times worse than c++
19:50:43  <ln> jez9999: it also may yet be rewritten in qbasic.
19:51:07  <Bjarni> what's so great about Mozilla-C++?
19:51:34  <jez9999> SomeRandomDataStructureICameUpWithYesterday.Implements(SomeInterfaceIThinkTheNameIsAmbiguous).doThings->iLikeChocolate.stuff
19:51:43  <jez9999> i said it's worse
19:52:10  <jez9999> (&somethinghere, *somethingthere, something::everywhere)
19:52:11  <Bjarni> I bet it has some nice feature somewhere or they wouldn't have bothered
19:52:21  <ln> jez9999: that's Java
19:52:22  <stillunknown> That's still C++, maybe not using stdlib.
19:52:28  <jez9999> yeah; trouble is you have to learn a new, very ugly language, to begin to hack it
19:52:28  <Patrick`> mmm, quick basic
19:52:33  <jez9999> it's a pretty terrible idea IMHO
19:52:33  <Patrick`> rewrite it in python
19:52:37  <Patrick`> for speed
19:52:41  <SmatZ> :D
19:52:42  *** helb [~helb@] has quit [Read error: No route to host]
19:52:43  <ln> Patrick`: quick basic is not qbasic.
19:52:44  <Patrick`> or ruby
19:53:17  <Patrick`> run it in a c emulator written in procedurally-generated ruby
19:53:17  <jez9999> i cant believe that std::list implementation. :-)  it's actually funny
19:53:17  *** helb [~helb@] has joined #openttd
19:53:17  *** KritiK [~Maxim@] has joined #openttd
19:53:23  <jez9999> you people just like incredibly convoluted and disgusting syntax, dont you?
19:53:34  <jez9999> simple stuff looks too VBish, you can stand it
19:54:20  <Rubidium> makes me think about the really ugly stuff I had to do to get something working in C#
19:54:30  <Bjarni> newsflash: OpenTTD is C++, not some weird language you want it to be... live with it
19:54:52  <jez9999> void std::list<typename>::func(const _Ty &_Val)
19:54:53  <Rubidium> it actually involved using C++
19:54:53  <jez9999> ugh!
19:55:09  <Patrick`> we should rewrite in a mixture of lisp and COBOL
19:55:20  * Bjarni slaps Patrick`
19:55:21  <Rubidium> COBOL sounds like a good idea!
19:55:41  <Rubidium> being a COBOL programmer gets you quite a bit of money every month...
19:55:54  <jez9999> they pay you to stay away
19:56:09  <Bjarni> hehe... one guy once told me he wanted to code in Kobold (I think he mishead something somewhere)
19:56:19  <jez9999> lol
19:56:27  <Bjarni> *misheard
19:56:36  <jez9999> when, 80s?
19:56:43  <SpComb> all the OpenTTD code that I write is pure C
19:56:47  <Bjarni> 90s
19:56:51  <jez9999> see i dont mind pure C
19:57:00  <SpComb> well, actually not, it's C with MallocT<struct foobar>(1); mixed in
19:57:00  <jez9999> because it doesnt have some guy's disgusting syntactic hacks on top of it
19:57:07  <ln> jez9999: English, please.
19:57:14  <jez9999> what?
19:57:17  <ln> jez9999: that is, with apostrophes.
19:57:25  <jez9999> is ln a bot?
19:57:29  <Bjarni> yes
19:57:31  <Patrick`> yes.
19:57:33  <jez9999> mm
19:57:34  * SpComb has managed to avoid C++ so far
19:57:35  <Patrick`> wait, really?
19:57:41  <SpComb> I've heard a lot of bad things about it
19:57:45  <Rubidium> jez9999: and C# is better in what way? That you need C++ to be able to talk to devices on a low level?
19:57:50  <jez9999> SpComb: dont learn c++, learn c#
19:57:56  <jez9999> it's OOP, implemented properly
19:58:02  <SpComb> no, I'm not going to learn C# either
19:58:04  <Patrick`> SpComb: it's the definitive archetypal OO language from which all syntax flows
19:58:06  <ln> jez9999: and it's Microsoft-only
19:58:09  * SpComb does C, Python and JavaScript
19:58:10  <Patrick`> everyone is a descendant of C++
19:58:15  <Patrick`> SpComb: python, good call
19:58:19  <ln> jez9999: AND USE THOSE APOSTROPHES
19:58:20  <jez9999> ln: you're not Turing-complete
19:58:23  <Prof_Frink> SpComb: Don't learn C#, you already know python
19:58:27  <Noldo> syntax isn't everything
19:58:37  <Rubidium> anyhow... C# is not pure OO (neither is Java though)...
19:58:46  <Patrick`> nothing's pure oo
19:58:47  <SpComb> indeed, I actively avoid C#, in fact
19:58:50  <Patrick`> apart possibly from java
19:58:51  <ln> jez9999: errr.... you probably don't know what Turing-complete means then.
19:58:55  <SpComb> anti-Micrsoft bias
19:58:55  <Bjarni> C++ works well and fast on nearly all platforms... I have yet to see the same for other OOP
19:58:57  <Patrick`> yes, let's use java
19:59:03  <Patrick`> ln: what's two plus two?
19:59:09  <jez9999> ln: licks in Asia rather quickly turn to blue stone
19:59:33  <Bjarni> Patrick`: it's true :D
19:59:39  <jez9999> Bjarni: so does assembly.
19:59:51  <Bjarni> no
19:59:53  <Noldo> jez9999: really?
19:59:59  <jez9999> runs fast :-)
20:00:06  <Patrick`> FORTRAN
20:00:07  <ln> Patrick`: depends on the definition of "is", i.e. we must first find out whether this world exists or is only in your imagination.
20:00:16  <Patrick`> ln: see, you're not turing complete.
20:00:21  <Bjarni> jez9999: have you seen ASM that works on nearly all platforms?
20:00:37  <Patrick`> addition can be emulated by a complex series of linguistic loopholes and trash talking, but the operation fails 55% of the time
20:00:37  <Noldo> wehee! language wars! how about editors next?
20:00:46  <SpComb> the only really annoying thing that I've run into in C is const pointer arrays
20:00:47  <Patrick`> Noldo: no need, everyone knows that emacs is the best
20:01:07  <jez9999> needing stuff to work on 'nearly all platforms' is a bit of a problem.  one which i would fail to solve, if it means having a significantly nicer language to work with.
20:01:10  <icone> I had stayed in Java for several years, but now I finally learned my C
20:01:13  <SpComb> "const *struct sockaddr_storage[ADDR_COUNT]" or somesuch, they're slightly weird
20:01:25  <icone> I got to tell you, it has some goddamn elegance, C
20:01:56  <jez9999> c# works on some platforms actually
20:02:07  <jez9999> 'nearly all platforms' is overrated
20:02:13  <Patrick`> what was the quote
20:02:13  <Rubidium> jez9999: but not getting the job done in C# quite sucks... (as I said before, I needed C++ to solve some things that couldn't be solved in C#)
20:02:14  <jez9999> for an end-user app
20:02:21  <Patrick`> programming in c is like sending a three year old to the shops
20:02:25  <jez9999> Rubidium: im betting one of them wasnt OpenTTD
20:02:38  <Patrick`> you gotta tell it exactly what to do or you'll end up with a pantry full of lollipops and molten icecream
20:02:42  <jez9999> Patrick`: curious analogy
20:02:53  <Patrick`> jez9999: it's from bash
20:02:54  <Rubidium> does C# work on the most used OS?
20:03:07  <jez9999> afaik, yes
20:03:18  <jez9999> MSIL can be executed by Mono
20:03:20  * icone whimpers and walks away (what's with those lang wars, anyway?)
20:03:27  <SpComb> F-spot is written in C#, iirc
20:03:31  <SpComb> ships with ubuntu by default
20:04:29  <jez9999> hmm not sure whether Eclipse has a c# module though, does it?
20:04:47  <Rubidium> jez9999: I couldn't find any references that C# works on Tron
20:04:52  <jez9999> doesnt matter, where i work we're being forced down the MS path anyway :-(  we have this one guy who is a programmer-cum-MS sales rep
20:05:18  <jez9999> pretty much no way to counter that
20:05:28  <SpComb> unfortunate accident?
20:05:32  <jez9999> :-)
20:05:33  <SpComb> xkcd comics?
20:05:53  <jez9999> the idiots
20:05:58  <jez9999> i spent weeks working on a project
20:06:10  <jez9999> this weekend, they just switched the source control over from SVN to TFS ithout any notice to me
20:06:24  <jez9999> so they could quickly do easier unit testing and upgrde to VS2008 to use some of MS's AJAX stuff
20:06:28  <jez9999> i got really annoyed
20:08:25  *** Purno [] has quit [Read error: Connection reset by peer]
20:09:47  <SpComb> hrh
20:11:07  <Rubidium> but TFS must be better because it's (more likely) to be written in C# than C++, you should only applaude such swift actions to stop the spread of C++ written applications!
20:11:32  *** Aerandir [] has joined #openttd
20:14:10  <jez9999> if TFS was OSS, i would. :-)
20:14:29  <jez9999> it's pay-microsoft-your-wages-please-ware
20:17:53  <Rubidium> so is most associated with C# too
20:18:25  <jez9999> not really
20:18:29  <SpComb> it would suck to be an OSS-type in a micrsoft-shop
20:18:37  <jez9999> yeah but in the UK you have little choice
20:18:58  <jez9999> i thought this company might be different and it was when i joined 6 months ago, but this MS guy has basically convinced most people to go with MS for stuff
20:19:05  <jez9999> we're gonna buy a Sharepoint server (yay) and exchange
20:19:07  <jez9999> more money to MS
20:19:09  <DaleStan> Belugas: I believe you said that you were discussing alternative ways to feed extra stack data to CB37 strings? Did you find that discussion?
20:19:15  <jez9999> it's like, "we're paying MS loads, why not pay some more?"
20:19:21  <SpComb> my sympathies
20:20:32  <Rubidium> jez9999: you got to love the pointer magic you can do in C# too, don't you? Makes it immediatelly virtually impossible to use it on websites and such though...
20:21:25  <jez9999> why would i love it?
20:21:42  <jez9999> a few things about C# get to me, lack of pointer magic isnt one of them,
20:22:02  * SpComb wonders what Rubidium is on about
20:22:05  <jez9999> i wish it would do a few more implicit conversions.  being able to say "if (int) {}" would be nice
20:22:22  <jez9999> but basically c# makes OOP manageable
20:22:29  <jez9999> c++ makes it look like line noise
20:22:31  <Rubidium> a language promoted as not having any problems with memory leaks and the like, but then you find out about the magic world or unsafe expressions...
20:23:17  <ln> end of discussion
20:24:29  <jez9999> ln: leave #openttd
20:24:51  *** Gekz [~brendan@] has quit [Ping timeout: 480 seconds]
20:25:01  <peter1138> Hello
20:25:07  <jez9999> hi
20:25:24  <ln> jez9999: no.
20:25:44  <jez9999> ln: i know you're a bot
20:26:03  <Rubidium> ln: `/ignore jez9999` would make it a monologue
20:27:20  <CIA-1> OpenTTD: glx * r12406 /extra/ottd_grf/split/ (flags.nfo flags.pcx): -Change [FS#1866]: add more flags
20:29:04  <jez9999> ohh
20:29:12  <jez9999> i just thought of one good thing c++ introduced!
20:29:18  <jez9999> // comments
20:29:41  <stillunknown> That's in C99 too.
20:30:21  <CIA-1> OpenTTD: glx * r12407 /trunk/ (8 files in 6 dirs): -Add [FS#1866]: more language flags for servers
20:30:50  <stillunknown> Personally i prefer /* */ comments.
20:31:37  <peter1138> So do we.
20:31:49  <SpComb> depends on what's in the comments
20:33:50  <jez9999> MS implemented quite a nice thing where you can do /// comments before a method
20:34:02  <jez9999> it autogenerates some XML there so you can document the method
20:34:12  <ln> jez9999: err..
20:34:19  <ln> sounds a lot like javadoc behavior.
20:34:20  <jez9999> and of course because it's c# and not c++ there's only one place for the function signature (no header files) so it's in the right place
20:34:34  <glx> headers are nice
20:35:16  <jez9999> heh
20:35:20  <jez9999> we very much disagree on that
20:35:30  <jez9999> they're 100% redundant, usually
20:35:38  <glx> but nobody forces to use them
20:36:18  <glx> and they are not redundant, they are used to split implementation from interface
20:36:54  <Rubidium> that's why C# is so much liked by people who do not care about proper design...
20:37:06  <glx> if someone wants to use a lib you written you give it the headers and you can keep the implementation hidden
20:37:20  <jez9999> you can do that in c# too
20:37:33  <jez9999> metadata is included in compiled files
20:37:53  <jez9999> try linking in a dll with your code, VS can show you all the class's interfaces
20:38:12  *** planetmaker [] has quit [Quit: Good bye!]
20:39:54  <Rubidium> which is kinda useless as it doesn't contain *any* documentation about how to use the functions
20:42:47  <peter1138> MS' documentation usually consists of function parameters, and not a lot else.
20:43:01  *** TinoM [] has quit [Quit: Verlassend]
20:43:17  <hylje> that's not documentation, that's reference
20:45:41  <Rubidium> yes, they're hard trying to reduce the increment in size of their 'documentation'. The less new stuff is included, the better.
20:47:56  <stillunknown> I prefer working with code for which i can check the implementation as well.
20:50:38  *** |Jeroen| [] has quit [Quit: oO]
20:51:02  *** Tekky_ [] has joined #openttd
20:53:07  <jez9999> Rubidium: except that it *does* if you've done the /// comment XML thing i spoke about before
20:55:04  * Rubidium ponders testing that... let's find out how to cross-compile a dll on unix from C with some /// comment XML in there...
20:55:55  <Rubidium> oops... 90+% of the DLLs don't have that as it didn't exist when they were made. That's disappointing.
20:56:41  *** Tekky [] has quit [Ping timeout: 480 seconds]
20:56:50  <Rubidium> then again, XML for comments is like XML for writing code or XML for saving an OTTD savegame (if you use XML in the way it's supposed to be used)
20:56:55  *** Tekky_ is now known as Tekky
20:59:03  *** lolman [] has joined #openttd
20:59:20  <henkie> when a factory doesnt accept my lumber, is that a bug, or am i doing something wrong?  :)
20:59:34  <ln> or both!
20:59:39  *** Guest2089 [] has quit [Quit: ZNC by prozac -]
21:00:23  <henkie> that not very helpful :)
21:00:26  <henkie> +is
21:01:28  <jez9999> i thought sawmills accepted lumber
21:03:03  <peter1138> Sawmills accept wood.
21:05:07  <Rubidium> lumber would mean he uses some NewIndustries/NewCargos NewGRF.
21:07:02  *** icone_ [] has joined #openttd
21:13:23  *** neo_ [] has joined #openttd
21:13:28  *** icone [] has quit [Ping timeout: 480 seconds]
21:15:28  *** FloSoft [] has quit [Quit: computer has gone to sleep]
21:17:06  *** neo_ [] has quit []
21:17:34  *** Wezz6400 [] has joined #openttd
21:18:39  *** divo [] has quit [Quit: Quitting]
21:20:30  *** Zahl [] has quit [Quit: (~_~]"]
21:20:47  *** SmatZ [] has quit [Quit: Konversation terminated!]
21:23:52  *** MarkAway is now known as Mark
21:24:20  *** SmatZ [] has joined #openttd
21:26:36  <henkie> yeah, prob. some bug, when i built the new factory it says it will accept steel lumber and plastic
21:26:56  <henkie> but when i build a station, it only accepts wood and steel
21:27:25  <glx> mixing different newindustry grfs?
21:29:08  <Patrick`> hmm
21:29:09  <henkie> i only see pikka's newindustries v1.2
21:29:26  <henkie> hmm, and opengfx
21:29:36  <Patrick`> we can imagine that different goods inbound produces different goods outbound
21:29:52  <henkie> opengfx newindustries v0.5
21:30:04  <Patrick`> for example: livestock + steel = mecha cows
21:30:18  <henkie> yes, but the goods that must be supplied to the factory are not accepted at the station
21:30:51  <henkie> how do i make a screenshot?
21:30:58  <glx> ctrl-s
21:31:45  <Patrick`> how i mine for fish?
21:32:09  <Prof_Frink> Patrick`: Never heard of dynamite fishing?
21:32:27  <Patrick`> how do I shot web?
21:32:39  <henkie>
21:32:47  <glx> Patrick`: using newcargo?
21:33:23  <Patrick`> haha, fish
21:33:25  <Prof_Frink> Patrick`: Step 1: Get bitten by a radioactive spider
21:33:35  <Patrick`> glx: it was a joke quote
21:33:36  <Patrick`> :)
21:33:44  *** Digitalfox_ [] has joined #openttd
21:34:03  <glx> henkie: that looks like a grf conflict
21:34:04  <henkie> i can also make a screenshot of my newgrf settings if that might help
21:34:28  <henkie> ah, one overruling the other?
21:36:01  <henkie> ok, when i move newindustries above the other it does seem to work
21:37:42  <henkie> tnx
21:39:05  *** Sacro` [~Sacro@adsl-87-102-119-5.karoo.KCOM.COM] has joined #openttd
21:39:13  *** Sacro [~Sacro@adsl-87-102-119-5.karoo.KCOM.COM] has quit [Ping timeout: 480 seconds]
21:40:06  *** Digitalfox [] has quit [Ping timeout: 480 seconds]
21:40:57  *** Sacro` is now known as Sacro
21:46:58  *** dR3x4cK [] has quit [Quit: dR3x4cK]
21:48:23  *** Slowpoke [] has quit [Quit: Verlassend]
21:55:10  *** Progman [] has quit [Remote host closed the connection]
22:01:50  <Eddi|zuHause3> urgs... sharp turns... very ugly
22:04:48  <Wolf01> 'night
22:05:06  *** Wolf01 [] has quit [Quit: Once again the world is quick to bury me.]
22:08:17  <jez9999> hmm
22:08:24  <jez9999> why would you call DoCommandP instead of DoCommand?
22:08:40  <glx> because one is network safe
22:09:04  *** Leviath [] has joined #openttd
22:09:44  <Eddi|zuHause3> one is for user initiated commands that are sent over the network, the other is for program initiated commands, that do not need to be sent over the network, because they happen on all clients synchronously
22:11:14  <jez9999> hmmmmmmm
22:11:24  <jez9999> i have one command that is calling another command
22:11:32  <jez9999> as it's in a chain the first needs to determine the second's cost
22:11:43  <jez9999> it can only do that with DoCommand as that returns a CommandCost
22:11:48  <jez9999> but it might not be network safe?
22:12:08  <Bjarni> getting costs only should be network safe as nothing happens
22:12:22  <jez9999> hmm ok and another thing
22:12:28  <Eddi|zuHause3> only the very first command must be network synchronised, all following commands automatically are
22:12:29  <Bjarni> you just get a number... you don't alter vehicle orders, the map or anything
22:12:56  <jez9999> is there any way i can get command 1 to report that it will cost x, where x is determined by adding the costs of several command 2s, but
22:13:06  <jez9999> the cost animation for command 2 is displayed seperately?
22:13:23  <SmatZ> if it is directly called because of user action (that is, from GUI), use DoCommandP - else use DoCommand (AI calls, recursive DoCommand calls, town calls....)
22:13:31  <Bjarni> autoreplace deals with this issue
22:13:38  <jez9999> ?
22:13:43  <Bjarni> but I can't tell if you can do the same
22:13:52  <Bjarni> it depends on how you call the first function
22:14:00  <jez9999> it's the track conversion tool
22:14:10  <jez9999> i want one anim for the track costs, and one anim per depot autoreplace
22:14:21  <jez9999> tough to see how i can do it as it displays the CommandCost i return
22:14:28  <jez9999> but that has to include the cost of upgrading the trains
22:14:59  <Bjarni> well
22:15:15  <Bjarni> I guess you call one command that will then call other commands
22:15:18  *** thgerg1 [] has joined #openttd
22:15:31  <SmatZ> I think it is not possible - you can have only 1 "floating money" for 1 DoCommandP, that is for 1 user action
22:15:39  <Bjarni> since it would be advisable to get the first one synced then the problem is gone
22:15:42  <jez9999> i need a way to say "if the player can afford this CommandCost, run this command
22:15:53  <Bjarni> hmm
22:16:01  <SmatZ> jez9999: call it without DC_EXEC even in the exec run
22:16:03  <Bjarni> wait you want for both the track and then one for each depot?
22:16:06  <jez9999> SmatZ: not if command 1 calls DoCommandP itself
22:16:09  <jez9999> you can have several
22:16:11  <SmatZ> and if he has enough money, call it with DC_EXEC
22:16:23  <jez9999> yes
22:16:29  <Bjarni> tricky
22:16:32  <jez9999> yup.
22:16:45  <jez9999> although if i could say 'test whether the player has the money for this CommandCost' i can do it
22:16:47  <Bjarni> it's not how the command system is intended to be used
22:16:57  <jez9999> it will simply go thru the list of depots, and try and convert them 1 by 1
22:17:02  <jez9999> if it cant do it it ignores the depot
22:17:11  <jez9999> but i want to test it first as i dont want it half-converting the depot
22:17:18  <Bjarni> I'm not sure it's possible
22:17:30  <jez9999> but i can get the CommandCost
22:17:37  <Bjarni> I know
22:17:51  <Bjarni> you can display on each depot without any problems
22:18:14  <Bjarni> but the place where you get the total costs will display the total costs including the depot costs
22:18:31  <Bjarni> which would be incorrect since you want them to turn up elsewhere
22:18:31  <jez9999> for the total costs of the track conversion, i dont want to include the depot costs
22:18:45  <jez9999> basically the code says 'treat track and empty depots as normal track; add up their costs'
22:18:54  *** Leviath [] has quit [Remote host closed the connection]
22:18:56  <Bjarni> I get the idea
22:18:56  <jez9999> 'then for each depot with trains, try one-by-one to convert the trains and depot'
22:19:05  <Bjarni> but the command handling system don't
22:19:08  *** thgergo [] has quit [Ping timeout: 480 seconds]
22:19:09  <jez9999> the track cost is added to the CommandCost for the convert command, the autoreplace cost takes care of itself
22:19:31  <jez9999> it's true that i only need a method of determining whether a player can afford to do a command, isnt it?
22:19:40  <Bjarni> err
22:19:47  <Bjarni> I just noticed one other issue
22:19:55  <Bjarni> one of greater concern than cost animation
22:20:04  <Bjarni> how will you get autoreplace to work?
22:20:08  <jez9999> how?
22:20:20  <Bjarni> I mean say you convert from rail to monorail
22:20:32  <Bjarni> how will you know the price?
22:20:43  <jez9999> of the autoconversion?
22:20:49  <jez9999> i was assuming DoCommand would return me a price
22:21:07  <Bjarni> if you run autoreplace then it will fail because monorail isn't buildable in the depot
22:21:22  <jez9999> really?  hehe i already got that part working
22:21:26  <Bjarni> o_O
22:21:28  <SmatZ> CMD_CONVERT_RAIL can be put back to set of commands that can have different test and exec runs...
22:21:35  <jez9999>
22:21:44  <SmatZ> jez9999: is it your patch at FS?
22:21:56  <jez9999> Bjarni: ohh i see, if i havent changed the track it will fail
22:22:10  <jez9999> how about i change the track, run autoconvert, then change it back if you cant afford it :-)
22:22:34  <glx> SmatZ: no
22:22:36  <SmatZ> this one
22:22:37  <SmatZ> hmm
22:23:44  <jez9999> "things such as
22:23:44  <jez9999> service history and custom train names are not preserved
22:23:46  <jez9999> yuk.
22:24:25  <Bjarni> jez9999: new issue (I think it's only matters with newGRF). Currently autoreplace builds a vehicle, adds it to the train and then it will get rid of the old one. This means that the new and old one will be connected for a short time (the user will not see this)
22:24:32  *** Osai is now known as Osai^zZz
22:24:33  <Bjarni> you connect normal rail to a monorail train
22:24:53  <Bjarni> I bet some newGRF will really hate that
22:24:58  <jez9999> newgrf sux :-)
22:25:03  <jez9999> i always play with oldgrf
22:25:20  <SmatZ> :)
22:25:24  <Bjarni> the default vehicles will most likely not care at all
22:25:25  <jez9999> cant you create a train, copy the other one's info, then kill the old one?
22:25:44  <Bjarni> because nobody thought of putting more than one type in the same depot
22:26:22  <Bjarni> <jez9999> cant you create a train, copy the other one's info, then kill the old one? <-- easier said than done. I have an idea but it turned out to take ages to code :(
22:26:59  <jez9999> curious that guy submitted that to flysprap almost the same time i started coding my patch
22:27:00  <jez9999> heh
22:27:03  <jez9999> *spray
22:27:40  *** maad [~maad@] has joined #openttd
22:28:14  <jez9999> he based it on cloning, i based it on using the autoreplace code
22:28:43  <jez9999> luckily at some point someone changed the code so that if you change a train's railtype underneath it to something incompatible it just stops with 'no power'
22:28:50  <jez9999> i seem to recall it used to instantly crash the train
22:28:58  <jez9999> however this behaviour lets you change the track type then upgrade the train
22:29:04  <jez9999> just need a reliable way to upgrade the train
22:29:05  *** Leviath [] has joined #openttd
22:29:48  <jez9999> Bjarni: anyway i was kinda relying on you or someone improving the autoreplace code to fix my patch :-)
22:29:58  <jez9999> it's leaning heavily on other code
22:30:14  <jez9999> but for now i can just not care about newGRF difficulties, so back to calculating cost... can i do it for autoreplace?
22:30:33  *** Progman [] has joined #openttd
22:33:43  <Bjarni> <jez9999> Bjarni: anyway i was kinda relying on you or someone improving the autoreplace code to fix my patch :-) <--- hehe
22:33:55  <Bjarni> I hope you are patient
22:34:10  <Bjarni> I mean it will take a while to get it fully working with what you want it to do
22:34:36  <jez9999> well not for the default grf
22:34:39  <jez9999> maybe with newgrf
22:35:09  <jez9999> best to get it implemented with oldgrf quickly, submit it to forum and flyspray so people can muck around with it and see if we can get it playing nicely with autoreplace
22:35:09  <Bjarni> step one: allow wagons only replacement
22:35:13  <jez9999> than maybe it could go in trunk :-D
22:35:29  <jez9999> yeah, well that shouldnt be too hard
22:35:35  <Bjarni> step two: ensure that the mass autoreplace command can tell if it can replace everything
22:35:49  <Bjarni> (you don't want to replace 2/3 of the trains and then say it's ok)
22:35:52  <jez9999> you just have to not ignore the last 3 params from BuildDepotVehicleList
22:36:01  <Bjarni> I don't have an ETA on when this will work :/
22:36:03  <jez9999> Bjarni: step 2 is why im asking about getting CommandCost
22:36:09  <Bjarni> no
22:36:15  <jez9999> if i can determine that the cost is too high i dont do the autoreplace
22:36:29  <jez9999> my current patch has that problem
22:36:45  <Bjarni> because if I recall correctly it can replace train A and not B and then return the costs for train A only
22:36:48  <Bjarni> ignoring B
22:36:52  <jez9999> can it?  bugger
22:36:59  <jez9999> what idiot coded autoreplace?
22:37:00  <jez9999> :-)
22:37:24  <Bjarni> it makes sense when you aren't considering railtype
22:37:36  *** Brianetta [] has joined #openttd
22:37:37  <Bjarni> imagine you have 10 trains in the depot and you have money to convert 9 of them
22:37:43  <jez9999> still if i code it *as if* your stuff did that the way i want, autoreplace can be changed later
22:37:52  <Bjarni> then it would make sense to replace 9 instead of failing
22:38:07  <glx> <jez9999> what idiot coded autoreplace? <-- well Bjarni did every autoreplace versions :)
22:38:17  <jez9999> glc: i know
22:38:23  <Bjarni> glc?
22:38:25  <Bjarni> :P
22:38:30  <jez9999> maybe CmdDepotMassAutoReplace can use p2 to take a bitfield, one can be 'determine cost for entire autoreplace'
22:38:34  <jez9999> glx
22:38:41  <Bjarni> glx: this time the problem isn't autoreplace, it's jez9999
22:38:51  <Bjarni> he wants it to do something it's not designed to do
22:39:02  <glx> autoreplace has at least 2 reported bugs
22:39:06  <Bjarni> it can be modified to do so though
22:39:16  <jez9999> it comes close to doing it already though, i'd say it's the closest feature to being upgradable to do what is needed
22:39:44  <jez9999> i can put some comments into the patch to say 'in future, autoreplace needs to do x y and z for this to work'
22:39:55  <jez9999> im just trying to code it now as if autoreplace worked perfectly
22:40:15  <jez9999> i might even try and fix autoreplace after this patch heh
22:40:31  <Bjarni> I will likely have to add a flag (single bit) in p1/p2 in the mass autoreplace command
22:40:36  <Bjarni> and you will need to set it
22:40:42  <jez9999> yeah, 'determine cost for entire autoreplace'
22:40:45  <Bjarni> but that's it
22:40:58  <Bjarni> <jez9999> yeah, 'determine cost for entire autoreplace' <-- no
22:41:13  <Bjarni> "all or nothing"
22:41:18  <jez9999> right
22:41:36  <jez9999> there's that, and the ability to replace a vehicle by creating a new one and copying old info
22:41:40  <jez9999> not modifying an old vehicle
22:41:53  <jez9999> that said newgrf may whinge about all sorts of stuff, like incompatible cargo
22:42:01  <jez9999> frankly im not sure worrying about stupid newgrf rules is a priority
22:42:07  <jez9999> whats wrong with carrying cows on a maglev anyway
22:42:38  <Bjarni> the cows might not like getting electrified :P
22:42:49  <jez9999> on a maglev? :-)
22:42:53  <jez9999> it's magnetic
22:43:08  <Bjarni> or to be placed either in a car without ventilation or in a really windy car
22:43:14  <jez9999> anyway
22:43:23  <jez9999> for now i can catch the CommandCost for current autoreplace
22:43:29  <jez9999> it's not 'all or nothing' but it can be adapted later
22:43:31  <Bjarni> <jez9999> it's magnetic <-- with one hell of a magnetic field flux
22:43:42  <jez9999> how do i catch that cost, and determine whether the player can afford it?
22:43:53  <jez9999> well i know how to catch it
22:43:55  <jez9999> but not determine
22:45:04  <Bjarni> you need to trigger the flag DC_QUERY_COST
22:45:28  <jez9999> yes that gives me the cost
22:45:31  <jez9999> my code basically says
22:45:42  <jez9999> foreach depot, get the cost for an upgrade.  if player can afford it, upgrade.
22:45:49  <jez9999> the bit i cant do is "if player can afford it"
22:45:56  <Bjarni> the question is... how do we set it? :)
22:46:00  <jez9999> set what?
22:46:07  <Bjarni> DC_QUERY_COST
22:46:19  <jez9999> it seems your code only replaces if you specify the DC_EXEC flag
22:46:22  <jez9999> unless i read it wrong
22:47:02  <Bjarni> yeah
22:47:07  <jez9999> ret = MaybeReplaceVehicle(v, !(flags & DC_EXEC), false);
22:47:20  <Bjarni> don't look at that part of the code
22:47:28  <Bjarni> that's not the interesting part
22:47:53  <jez9999> i dont know why there is a DC_QUERY_COST actually
22:48:05  <jez9999> isnt that implied if (!flags & DC_EXEC) ?
22:48:16  <jez9999> !( rather
22:48:49  *** Digitalfox_ [] has quit [Quit: Leaving]
22:49:17  <Bjarni> hmm
22:49:54  <glx> no it's another flag
22:50:27  <SmatZ> [23:47:55] <jez9999> i dont know why there is a DC_QUERY_COST actually
22:50:31  <Bjarni> you are right. I never check for DC_QUERY_COST
22:50:36  <SmatZ> I am interested in it, too :)
22:50:47  <Bjarni> because in this specific case it would appear that it's not needed
22:50:49  <jez9999> but you do return a cost only if EXEC isnt set
22:51:04  <Bjarni> but DC_EXEC and DC_QUERY_COST would never be set at the same time
22:51:10  <glx> DC_QUERY_COST is usually used when shift is pressed
22:52:16  <jez9999> i'll probably pass it for good measure
22:52:35  <jez9999> oh i see what you mean with the 'all or nothing'
22:52:39  <jez9999> i dont need to query the cost.
22:52:55  <jez9999> your code determines whether the replacement is done
22:52:55  <jez9999> hmm
22:53:06  <jez9999> there's another problem
22:53:18  <jez9999> say i convert 10 pieces of track, then start upgrading depots
22:53:30  <jez9999> the cmdconvertrail has added up that 10 track cost, but then a depot is upgraded
22:53:45  <jez9999> say that depot upgrade cost means you no longer have the money to upgrade those 10 pieces of track
22:53:55  <jez9999> that means the depot is upgraded but not the track, i'd want it the other way around
22:54:02  <jez9999> so i think my code does still need to check for the cost
22:54:25  <jez9999> basically if (track_upgrade_cost + depot_upgrade cost is too expensive), dont upgrade depot
22:55:15  <Bjarni> if you call DoCommand() and set flags to flags(from the arguments in the command you write this in) then during the test run it will give you the costs and when afterwards when DC_EXEC is set for the main function (this will only happen if there is no errors at all) then the replacement will go ahead
22:55:21  <Bjarni> that should do it
22:55:34  <Bjarni> there is no reason to make it more complex than needed
22:56:20  <jez9999> well a) that means there is only 1 cost animation
22:56:20  <SmatZ> Bjarni: will it work if you are converting 10 depots, but you have money to convert only one?
22:56:38  <jez9999> and b) it won't work because autoreplace will say "here's the cost to upgrade 5 trains of the 8 in the depot, have a nice day"
22:57:08  <Bjarni> SmatZ: yes if but only if he codes it like he already said he will
22:57:22  <Bjarni> he combines the total costs and return them in the main command
22:57:31  <jez9999> i specifically want it to convert as many depots as possible, but leave the ones it cant afford
22:57:52  <jez9999> almost a different function from the track upgrading, just done after the track upgrading
22:58:11  <Bjarni> ohh
22:58:17  <Bjarni> new idea
22:58:22  <SmatZ> ohhh! :)
22:58:26  <jez9999> otherwise you're dragging the track converter tool over a complex section of track, and no track is upgraded because it cant afford 1 depot
22:58:37  *** KritiK [~Maxim@] has quit [Quit: Leaving]
22:58:50  <Bjarni> make a function to convert rails (but not depots)
22:59:12  <Bjarni> it might be possible to reuse the current function for this and then add a "skip depots" button
22:59:30  <Bjarni> and write a callback function for this
22:59:30  <Patrick`> um
22:59:45  <Bjarni> and the callback function will then try to take care of depots
22:59:55  <Patrick`> is this specifically for, e.g. autoupgrading deisel to electric?
23:00:00  <jez9999> isnt that similar to what im doing at the moment?
23:00:04  * SmatZ is looking forward for 50 commands sent over network when converting larger area :)
23:00:05  <Patrick`> because upgrading trains from, say, monorail to maglev
23:00:16  <Patrick`> that's basically a "play the game for me" button
23:00:16  <jez9999> or do you mean that by the time the callback func is called, the track conversion money is already taken?
23:00:39  <jez9999> Patrick`: no, it's a "make the game something other than utterly tedious for me" ;-)
23:00:49  <jez9999> manual conversion of 100 trains is bloody awful
23:00:51  <Patrick`> bhmm
23:00:52  <Bjarni> a callback function is called when the original function is done and it worked
23:01:03  <Patrick`> I do admit that I just move to a new area of the map when a new railtype is out
23:01:09  <Patrick`> or just start with maglev ;)
23:01:18  <SmatZ> Bjarni: isn't there an intention to reduce number of commands sent over network?
23:01:31  <jez9999> Bjarni: mmhmm, so it successfulyl converts the track then goes for the depots.  how does that work with the cost estimatio?
23:01:34  <Bjarni> one for tracks and one for depots
23:01:39  <Patrick`> for example, "convert this area" is sent as one command
23:01:42  <Bjarni> I think we can live with two
23:01:57  *** lolman [] has quit [Remote host closed the connection]
23:02:11  <Bjarni> but I reject a patch sending more than that
23:02:13  <jez9999> Bjarni: im guessing that for the purposes of this excercise, empty depots are 'track'.  ive already basically modified the autoconvert code to do that
23:02:31  <Bjarni> that sounds reasonable
23:02:42  <jez9999> how does that work with cost estimation?
23:03:00  <jez9999> when you cost estimate it should probably include the autoreplace cost
23:03:31  <Bjarni> it will not include the callback costs
23:04:02  <jez9999> mmm
23:04:17  <jez9999> so the code needs to manually call the callback func IF you're querying
23:05:46  <Bjarni> if I recall correctly (this needs to be verified) then it will do the command like there is no callback and if the command works then it will call the callback
23:06:03  <Bjarni> so the first step is to just ignore whatever the callback should handle
23:06:12  <Bjarni> hmm
23:06:26  <Bjarni> another good question is if the callback is handled in sync
23:06:49  <Bjarni> I never needed to know that so I never investigated that
23:07:01  <SmatZ> do you want to have "floating money" above each depot?
23:07:05  <jez9999> yup
23:07:17  <jez9999> and if it can only convert 3 of 4, then the cost animation would be above those 3
23:07:19  <jez9999> but not the 4th
23:07:32  <Bjarni> it's used for stuff like opening a vehicle window when you build a new one
23:07:55  <jez9999> right
23:08:04  <jez9999> would it matter whether it was in sync or not?
23:08:08  <Bjarni> opening a window will not care if you do it in sync
23:08:19  <Bjarni> it would matter if you convert the depots in sync
23:08:25  <jez9999> ?
23:08:31  <Bjarni> imagine if it converts a depot on some clients but not all
23:08:42  <SmatZ> wat
23:08:55  <Bjarni> you have to be sure that the same amount of depots are converted everywhere
23:09:00  * Bjarni wats
23:09:09  <SmatZ> :)
23:09:32  <jez9999> you mean it converts the track, then the client takes 5 ticks to send the depot command
23:09:44  <jez9999> hmm but i dont see why it would cause a problem
23:10:43  *** Osai^zZz is now known as Osai^zZz`off
23:12:04  <Bjarni> it would cause a problem if it waits 5 somewhere and 3 somewhere else
23:12:17  <Bjarni> or
23:12:21  <Bjarni> even worse
23:12:32  <Bjarni> is only executed on one computer
23:12:46  <jez9999> given that callback is only available in DoCommandP which is described as 'network safe', it would be strange if it wasnt in sync
23:12:47  <Bjarni> I fear for the latter
23:13:38  <Bjarni> the command is safe. The question is if the callback is handled the same way everywhere
23:14:00  <jez9999> 		NetworkSend_Command(tile, p1, p2, cmd, callback);
23:15:19  <jez9999> hm, /* Only the local client (in this case, the server) gets the callback */
23:15:42  <jez9999> how can you make the commands happen synchronously?
23:15:49  <jez9999> arent they all put in a queue?
23:18:09  <Bjarni> yeah only the client who calls the command will get the callback
23:18:58  <jez9999> so there is some way to indicate to the server "execute these commands atomically"?
23:19:19  *** Ammler [] has quit [Remote host closed the connection]
23:19:49  <Bjarni> so to get the behaviour you want then you should write in the callback that it should call "convert depot+vehicles" and make that one use the same callback (or something like that)
23:20:19  <Bjarni> the problem is that while it's not difficult to code it will create a package on the network for each depot which is what we didn't want it to do
23:20:19  <jez9999> make that one use the same callback?
23:20:59  <jez9999> well is there a mechanism for bundling commands together atomically?>
23:21:18  <jez9999> this IS executing a lot of different commands, unless there is a way to do that i dont see how you can avoid having lots of commands
23:21:43  <Bjarni> yeah... imagine it will convert tile 1-10 and there are depots on tile 4 and 7. The callback will then trigger on the depot for tile 4. Next time if the callback/command is coded correctly the same arguments will trigger on tile 7
23:21:48  <Bjarni> but that doesn't matter
23:21:54  <Bjarni> we will not accept that solution
23:22:03  <Bjarni> it wastes too much bandwidth
23:22:29  <jez9999> the only way to get something to be atomic is to make it a command, right?
23:22:43  <jez9999> so my original solution of adapting the convert rail command was probably best :-)
23:22:55  <jez9999> that single conversion would do all the work in one go
23:23:12  <Bjarni> what you need to do is to call DoCommandP() once and the function it calls will then call DoCommand() a number of times to get the job done
23:23:24  <Bjarni> DoCommandP() makes a package each time it's called
23:23:32  <jez9999> ohh so that's what P is
23:23:32  <Bjarni> DoCommand() doesn't
23:24:03  <jez9999> if you do a track conversion in a network game, it calls docommandp, right?
23:24:13  <Bjarni> DoCommand() will only execute locally but we just ensured that it will be executed in sync because it's in the piece of code we used DoCommandP() to handle in sync
23:24:34  <jez9999> right
23:24:34  <Bjarni> <jez9999> if you do a track conversion in a network game, it calls docommandp, right? <-- it should
23:24:58  <jez9999> ok, so im safe to call a few DoCommands in CmdConvertRail
23:25:02  <jez9999> ie. one for each depot
23:25:07  <jez9999> which i was planning to do anyway
23:25:11  <Bjarni> yes
23:25:25  <Bjarni> but then you can't fix the cost animation issue
23:25:38  <jez9999> well
23:25:53  <jez9999> i might be able to
23:26:07  <jez9999> i can calculate the cost for just upgrading track and empty depots
23:26:12  <jez9999> in the existing loop
23:26:21  <jez9999> i also build a std::list of depot info for other depots
23:26:28  <jez9999> at that point we have the CommandCost for just the track
23:26:58  <jez9999> somehow there needs to be a way to calculate whether a command can be afforded
23:27:01  <jez9999> then i could do it
23:28:06  <jez9999> isnt there some CanAfford(Player, CommandCost)? :-)
23:29:07  <jez9999> so close..........
23:29:22  <glx> autoreplace can't know the real cost for the replacement
23:29:39  <jez9999> because?
23:29:41  <glx> as it can't query refit cost without building
23:29:51  <Bjarni> it can
23:29:55  <Bjarni> I fixed that
23:30:40  <Bjarni> bool CheckPlayerHasMoney(CommandCost cost) <-- I think you are looking for this one (in players.cpp)
23:30:47  <jez9999> ok
23:30:57  <jez9999> so if in my second loop i call that for each autoreplace
23:31:03  <jez9999> i can do the autoreplace if they can afford
23:31:12  <jez9999> that way in one command track is upgraded, and any depots possible are too
23:31:19  <jez9999> and it is synchronous
23:31:36  <Bjarni> remember that you need to convert the track before replacing
23:31:44  <Bjarni> and convert back if replacing fails
23:31:49  <jez9999> yup
23:31:57  <jez9999> one other thing i thought of
23:32:00  <Bjarni> and if you convert back it should be free
23:32:01  <jez9999> not sure whether it's a problem
23:32:19  <jez9999> well it's always free, the CmdConvertRail adds the convert cost itself
23:32:20  <jez9999> i think
23:32:22  <Bjarni> while it should cost to convert if it stays converted
23:32:27  <jez9999> really>
23:32:29  <jez9999> hmm
23:32:36  *** SmatZ [] has quit [Quit: Konversation terminated!]
23:32:36  <Bjarni> that's how you should ensure that it works
23:33:11  <jez9999> this is seen a lot in CmdConvertRail:
23:33:11  <jez9999> cost.AddCost(RailConvertCost(type, totype));
23:33:13  *** Progman [] has quit [Remote host closed the connection]
23:33:16  <jez9999> it's adding the cost manually
23:33:45  <Bjarni> DoCommandP() will automatically take the money from the player so you should "just" return the right number
23:34:09  <jez9999> it will for the autoreplac
23:34:10  <Bjarni> but when calling DoCommand() inside the command will not automatically make you pay
23:34:19  <jez9999> but CmdConvertRail doesnt use DoCommandP for converting the rail
23:34:21  <Bjarni> so you should add the costs from the return value
23:34:31  <jez9999> it calls SetRailType
23:40:26  *** SpComb^ [] has joined #openttd
23:40:32  <Bjarni> it would have another nasty sideeffect
23:41:03  <Bjarni> it would kill whatever replace settings you already set for that particular enginetype
23:41:18  <jez9999> nope, because i first record them and afterwards replace them
23:41:35  <Bjarni> do you restore completely?
23:41:39  <jez9999> ?
23:41:49  <Bjarni> the replace commands?
23:41:55  <glx> well if you change railtype, the old railtype is already invalid
23:41:55  <jez9999> well this is one of the things i had in the issues list
23:42:02  <jez9999> im not sure whether i deal correctly with the whole groups thing
23:42:05  <jez9999> it's quite complex
23:42:08  <jez9999> but it can be done i think
23:42:08  <glx> the old replacement*
23:42:20  <jez9999> not 'invalid'
23:42:23  <jez9999> it can stay
23:42:27  *** SpComb [] has quit [Ping timeout: 480 seconds]
23:42:44  <glx> yes but not applicable
23:42:50  <jez9999> yeah but the rule can stay
23:43:05  <jez9999> obviously if you then build older track and an older vehicle it will be replaced again
23:43:14  <Bjarni> glx: no because you didn't convert the entire network. It's easy to presume that the engine is in use elsewhere
23:43:26  <glx> oh right
23:43:46  *** You're now known as SpComb
23:43:52  <jez9999> hmm this should work
23:44:16  <jez9999> are you meant to use DoCommand to call AddEngineReplacement, or call it directly?
23:44:25  <jez9999> likewise RemoveEngineReplacement
23:45:22  *** thgerg1 [] has quit [Read error: Connection reset by peer]
23:46:15  <Bjarni> maybe it would be wiser to make autoreplace use a different set of replacement rules if the current train can't drive in the depot because then we know that we change railtype
23:47:22  <Bjarni> so we will not mess with the "normal" setup but use our own special set for this particular usage
23:47:32  <jez9999> we may want the option of upgrading normal depots to electrified depots
23:47:35  <jez9999> (and the trains in them)
23:47:59  <Bjarni> upgrading a normal depot to an electric one shouldn't mess with the trains inside it
23:48:02  *** Prof_Frink [~proffrink@] has quit [Remote host closed the connection]
23:48:25  <Bjarni> as steam/diesel can drive on electrified raillines
23:48:47  *** thgergo [] has joined #openttd
23:48:48  <jez9999> as i said, you might want the option of doing that
23:48:55  <jez9999> dunno maybe not
23:49:09  <Bjarni> you can then set a normal replace rule to replace the engines and it will only be executed in electrified depots
23:51:16  <jez9999> yeah
23:51:34  *** thgergo [] has quit [Read error: Connection reset by peer]
23:51:38  <jez9999> i did notice, for AddEngineReplacement
23:51:48  <jez9999> it takes a EngineRenewList argument
23:52:27  <jez9999> im not sure whether that could somehow be used to construct a new renew list just for the purposes of this conversion, i didnt really see it used except to specify p->engine_renew_list
23:52:53  <jez9999> if you could somehow say 'autoreplace' on a depot and specify an engine renew list, you could avoid what they player's current renew list is
23:54:48  *** stillunknown [] has quit [Ping timeout: 480 seconds]
23:56:28  <Bjarni> Groups can do that but that's not what we want to do
23:56:33  <Bjarni> I mean
23:56:52  <Bjarni> we shouldn't use groups for this
23:57:17  <Bjarni> or should we?
23:57:29  <Bjarni> no
23:57:40  <glx> there's a conflict between groups and global
23:57:54  <Bjarni> imagine a failure because there is no free groups
23:58:01  <Bjarni> or global issues as glx said
23:59:02  <jez9999> hmm
23:59:12  <jez9999> but if you could specify a list
23:59:16  <jez9999> EngineRenewList i mean
23:59:24  <jez9999> to autoreplace (autoreplace might need modifying)
23:59:36  <jez9999> it would ignore all the groups and global stuff, it just takes the list you specify

Powered by YARRSTE version: svn-trunk