Back to Home / #openttd / 2008 / 02 / Prev Day | Next Day
#openttd IRC Logs for 2008-02-18

---Logopened Mon Feb 18 00:00:35 2008
00:00-!-keyweed_ [] has quit [Ping timeout: 480 seconds]
00:14-!-gfldex_ [] has joined #openttd
00:15-!-roboboy [~Leo@] has joined #openttd
00:16-!-gfldex [] has quit [Ping timeout: 480 seconds]
00:19-!-Jortuny [] has quit [Ping timeout: 480 seconds]
00:32-!-DaleStan_ [] has joined #openttd
00:32-!-DaleStan is now known as Guest384
00:32-!-DaleStan_ is now known as DaleStan
00:33-!-DaleStan_ [] has joined #openttd
00:33-!-DaleStan is now known as Guest385
00:33-!-DaleStan_ is now known as DaleStan
00:36-!-Guest384 [] has quit [Ping timeout: 480 seconds]
00:37-!-UFO64 [] has joined #openttd
00:40-!-Guest385 [] has quit [Ping timeout: 480 seconds]
01:05-!-TinoM [] has joined #openttd
01:13-!-CaptObvious [] has quit [Read error: Connection reset by peer]
01:22-!-UFO64 [] has quit [Quit: Leaving]
01:24-!-HerzogDeXtE1 [] has joined #openttd
01:30-!-HerzogDeXtEr [] has quit [Ping timeout: 480 seconds]
01:39-!-TinoM [] has quit [Quit: Verlassend]
01:43-!-Gonozal_VIII [] has joined #openttd
02:01-!-Wezz6400 [] has joined #openttd
02:05-!-Wezz6400 [] has quit []
02:10-!-Gekz [~brendan@] has joined #openttd
02:19-!-XeryusTC [] has joined #openttd
02:20-!-Christoph [] has quit [Quit: This computer has gone to sleep]
02:39-!-Jacy [] has joined #openttd
02:49-!-Gonozal_VIII [] has quit [Ping timeout: 480 seconds]
02:49-!-ben_goodger [] has quit [Quit: Ex-Chat]
02:49-!-Gonozal_VIII [] has joined #openttd
02:54-!-shodan [user@] has joined #openttd
02:57-!-Vikthor [] has joined #openttd
02:58-!-Ammlller [] has quit [Remote host closed the connection]
03:01-!-ThePizzaKing [] has quit [Read error: Connection reset by peer]
03:08-!-llugo [] has joined #openttd
03:12-!-dih [~dihedral@] has joined #openttd
03:13<dih>sup :-)
03:15-!-lugo [] has quit [Ping timeout: 480 seconds]
03:15<Gonozal_VIII>trying to update some oldish patches
03:19<Gonozal_VIII>hmmm strange
03:19<Gonozal_VIII>some of the viewpoints are not redrawn
03:20<Gonozal_VIII>they don't get set to dirty
03:25<Gonozal_VIII>only 32 of them are
03:31-!-Osai^zZz is now known as Osai
03:35-!-mikl [] has joined #openttd
03:38-!-|Bastiaan| [~Bastiaan@] has joined #openttd
03:42<Gonozal_VIII>yay a working patch
03:46-!-DJ-Nekkid [] has quit [Ping timeout: 480 seconds]
04:00-!-SmatZ [] has joined #openttd
04:09-!-peter1138 [] has joined #openttd
04:09-!-mode/#openttd [+o peter1138] by ChanServ
04:10-!-Wezz6400 [] has joined #openttd
04:12-!-dih [~dihedral@] has quit [Quit: This computer has gone to sleep]
04:16<CIA-1>OpenTTD: peter1138 * r12172 /trunk/src/newgrf_gui.cpp: -Codechange: Allow buttons to resize in NewGRF settings window
04:17-!-a1270 [] has quit [Remote host closed the connection]
04:17-!-peter1138 [] has quit [Remote host closed the connection]
04:17-!-peter1138 [] has joined #openttd
04:17-!-mode/#openttd [+o peter1138] by ChanServ
04:20-!-SmatZ [] has quit [Remote host closed the connection]
04:22-!-a1270 [] has joined #openttd
04:33-!-Aerandir [] has quit [Read error: Connection reset by peer]
04:48-!-eQualizer [] has quit [Ping timeout: 480 seconds]
04:50-!-peter1138 [] has quit [Quit: Ex-Chat]
04:50-!-peter1138 [] has joined #openttd
04:50-!-mode/#openttd [+o peter1138] by ChanServ
04:56-!-Morloth [] has joined #openttd
05:01-!-eQualizer [] has joined #openttd
05:12-!-dih [~dihedral@] has joined #openttd
05:12<Gonozal_VIII>all new! teh yays!
05:20-!-Diabolic-Angel [] has joined #openttd
05:21<Morloth>hail t3h patches! :)
05:22<dih>hello Belugas :-)
05:23<@peter1138>... where ...
05:23<Gonozal_VIII>dih does that
05:23<Gonozal_VIII>all the time...
05:24-!-Gonozal_VIII [] has quit [Read error: Connection reset by peer]
05:25-!-Gonozal_VIII [] has joined #openttd
05:26<@peter1138>Oh, I see...
05:29*peter1138 has posted an updated version of engine pools to his webspace.
05:29<dih>what do i do Gonozal?
05:30<Gonozal_VIII>[11:22:40] <dih> hello Belugas :-) <-- that
05:30<dih>yes - because he likes using tab completion even for a 3 letter nick
05:31<dih>and then he gets Diabolic-Angel :-P
05:32<@peter1138>Who never speaks.
05:33<Diabolic-Angel>I'm just throwing in some flames now and then
05:41-!-Singaporekid [] has joined #openttd
05:44<Gonozal_VIII>[11:29:09] * @peter1138 has posted an updated version of engine pools to his webspace. <-- where would one find that?
05:45-!-ThePizzaKing [] has joined #openttd
05:48<@peter1138>In the usual place.
05:48<Gonozal_VIII>i know of no such place
05:49<Gonozal_VIII>yay food
05:53<dih>sounds like you have someone to cook for you....
05:55-!-Progman [] has joined #openttd
05:56<Morloth>btw, you were right about using DC_QUERY_COST last night peter1138 :)
05:57<@peter1138>Nice guess ;)
05:57<Gonozal_VIII>yep, grandma cooked today :-)
05:57<Morloth>Damn, still tired. Worked till 5 a.m. in the morning last night :X
05:57<Gonozal_VIII>now where is that mysterious "usual place"?
05:57<Morloth>Gonozal_VIII: You wouldn't be Italian would you? ;)
05:58<Morloth>k :)
06:00<Morloth>Last night I couldn't attach patches to posts on Is this fixed now?
06:02-!-Greyscale is now known as Greysc[a]le
06:04<Gonozal_VIII>:-/ looked all of peters forum posts containing the word "engine" but still can't find it
06:09-!-eQualizer [] has quit [Ping timeout: 480 seconds]
06:12-!-eQualizer [] has joined #openttd
06:12<Gonozal_VIII>nothing in the forum, nothing on flyspray, nothing in google... mentioned once in the wiki but no link...
06:13-!-dih [~dihedral@] has quit [Quit: This computer has gone to sleep]
06:15<Gonozal_VIII>fuzzle? now how on earth should i have guessed that
06:15<Vikthor>You have not tried to search logs of this channel ;)
06:16-!-Greysc[a]le is now known as Greyscale
06:18<Gonozal_VIII>peter, i guess after all that work you put into hiding that patch as far away as possible, you don't want me to include it in my patchpack, right?
06:22<@peter1138>It's not hidden, it's plainly there in sight.
06:23<Noldo>now that's a hair well split
06:24<@peter1138>Gah, someone needs to make a ship set that starts in a useful timeframe.
06:24<Gonozal_VIII>i changed newships to start in 1873
06:25<Gonozal_VIII>because serbian railset starts in 1873...
06:26<Gonozal_VIII>i've downloaded a test version of some tool i needed for uni stuff..
06:26<Gonozal_VIII>now the company i downloaded it from wants to give me free cebit tickets
06:27<Gonozal_VIII>hmmm aren't all tickets free there :S
06:29<Gonozal_VIII>hehe, free free stuff
06:29<@peter1138>YAY FOR PBS
06:29<Gonozal_VIII>yay for pbs indeed
06:34<pm|away>Gonozal_VIII:: Cebit tickets certainly aren't free:
06:35<Gonozal_VIII>that's more than free
06:35<Gonozal_VIII>17 euro...
06:35<pm|away>yeah. starting at 17€ only for weekend. The company will give you probably business cards valid on any day - 33€ worth.
06:36<pm|away>I'd say: take the offer, if you're interested :D
06:37<Gonozal_VIII>i'm not planning on going there
06:37-!-tokai [] has joined #openttd
06:37-!-mode/#openttd [+v tokai] by ChanServ
06:38-!-roboboy [~Leo@] has quit [Read error: Operation timed out]
06:40<Gonozal_VIII>is it intended, that you can activate the dynamic engine pool only through editing the cfg file?
06:40-!-Greyscale is now known as Greysc[a]le
06:40<@peter1138>Gonozal_VIII, well, I couldn't be arsed doing the GUI bit originally...
06:41<Gonozal_VIII>ah i see i see
06:44<Gonozal_VIII>deactivated a grf
06:45<Gonozal_VIII>index < this->GetSize()
06:48<Gonozal_VIII>changing grfs in running game no goody
06:48<CIA-1>OpenTTD: peter1138 * r12173 /trunk/src/newgrf_config.cpp: -Cleanup: Minor codestyle fixes.
06:49<@peter1138>"You are about to make changes to a running game; this can crash OpenTTD. Are you absolutely sure about this?"
06:51<Gonozal_VIII>i read that^^ but it used to work
06:54<Morloth>Code code code.... We should ask for donations :)
06:55-!-Greysc[a]le is now known as Greyscale
06:56-!-White_Rabbit [] has joined #openttd
07:02-!-dih [~dihedral@] has joined #openttd
07:06<Gonozal_VIII>hmmm notgood, vehicle tab is full
07:07<Gonozal_VIII>now do i resize the configure patches window or put it somewhere else...
07:11<Gonozal_VIII>i move disable electric rails to construction :D
07:11<Gonozal_VIII>i'm so many intellent :D
07:14<@peter1138>That's why I didn't add it ;)
07:14<Gonozal_VIII>works fine now :-)
07:20-!-eQualizer [] has quit [Quit: Reconnecting]
07:20-!-eQualizer [] has joined #openttd
07:21<Gonozal_VIII>Message subject: enginepool settings gui
07:21<Gonozal_VIII>From: Gonozal_VIII
07:21<Gonozal_VIII>Sent at: Mon Feb 18, 2008 1:20 pm
07:21<Gonozal_VIII>To: peter1138
07:22<@peter1138>Well I don't need to worry about it, as in trunk there is a space in the vehicle patches tab now ;)
07:22<@peter1138>Also I might just make it dynamic.
07:22<@peter1138>(The window)
07:23<Gonozal_VIII>trunk doesn't have timetable seperation, right...
07:24<Gonozal_VIII>anyways.. you wouldn't mind if i released a version of my patchpack that includes your enginepool?
07:29<Sacro>Gonozal_VIII: is tht a question, or are you waving your hand jedi style?
07:29<Sacro>peter1138: you wouldn't mind me borrow your credit card would you?
07:30*Sacro waves hand
07:30<Gonozal_VIII>yay :-) mergered
07:32<Gonozal_VIII>will work nicely with the build and refit patch
07:32<Sacro>Gonozal_VIII: SERVAR!
07:33<@peter1138>Sacro, as I don't have one...
07:33<Gonozal_VIII>servar :S
07:33-!-Greyscale is now known as Greysc[a]le
07:35<Gonozal_VIII>btw does anybody know what that is?
07:36<CIA-1>OpenTTD: peter1138 * r12174 /trunk/src/settings_gui.cpp: -Codechange: Make the patches window dynamically resize to the largest patch tab, so adding patch options is simply a case of adding to the lists.
07:36<Gonozal_VIII>that was fast
07:37<@peter1138>That should make your life a little tiny bit easier ;)
07:38<Gonozal_VIII>but i think electric rails fits better in the construction tab anyways
07:40<Gonozal_VIII>and it works :D
07:40-!-shodan [user@] has quit [Quit: Client Exiting]
07:42-!-frosch123 [] has joined #openttd
07:43<White_Rabbit>why can't I forbid towns to build roads in the scenario editor? what if I want to build roads for the town manually, and then simply press the expand button without having to deal with messy road junctions that the town creates?
07:44<Gonozal_VIII>2*2 or 3*3 isn't messy...
07:44<frosch123>Wasn't there a patch option to disable road building for towns, or does that work only ingame?
07:45<White_Rabbit>I'd still prefer to have greater control over the roads, Gonozal
07:46<White_Rabbit>somwetimes I wonder how Jim Powers does it..
07:46<@peter1138>frosch123, "The town layout "no more roads" isn't valid in the secnario editor"
07:47<White_Rabbit>I think Belugas disabled that, but I never got to read the reason, and now I've lost track of his post
07:48<Gonozal_VIII>the dynamic resizing works fine but the window appears on a different position now
07:50-!-SmatZ [] has joined #openttd
07:51<Gonozal_VIII>ah.. that 50 pixel top part is centered
07:53<Gonozal_VIII>but only on opening, if you resize the game window it centers
07:53-!-Brianetta [] has joined #openttd
07:55<@peter1138>I shall need to fix that then :o
07:58<@peter1138>Hmm, what is it that repositions them when the game window is resized...
08:07<@peter1138>Oh my, that's nasty...
08:08<Gonozal_VIII>calculate the size earlier?
08:08<@peter1138>Wouldn't help.
08:11<Eddi|zuHause3>several windows get centered when the game window is resized
08:12<Gonozal_VIII>configure patches window gets centered when you open it too... but it seems to use the wrong size now
08:12<Gonozal_VIII>when it's centered because of game window resize it uses the right size
08:13<Gonozal_VIII>and now i'll try the stuff you wrote about middlestop...
08:14-!-ThePizzaKing [] has quit [Quit: ThePizzaKing]
08:14<Morloth>Whoohooo, my pathfinding is working quite nicelly :). It only fails on really mountainous maps, can't figure out yet how to check if a road from A -> B can actually be build :/
08:15<Gonozal_VIII>does it build on slopes?
08:16<Morloth>but if it crosses a road on a slope it sometimes fails, still have to figure out how to catch or check for this
08:16<Gonozal_VIII>aaaand does it reuse existing roads?
08:17-!-LordAzamath [] has joined #openttd
08:17-!-keyweed_ [] has joined #openttd
08:18<Morloth>Gonozal_VIII: yeah, that too :)
08:18<Morloth>I'll post a screenshot I just took
08:19<Morloth>So it's working quite nice, except for mountain maps :/
08:20<CIA-1>OpenTTD: peter1138 * r12175 /trunk/src/settings_gui.cpp: -Fix (r12174): Ensure the patches window is centred properly.
08:20<Gonozal_VIII>yay fixed
08:20<@peter1138>Gonozal_VIII, it got centred to the initial size which is for no options at all, hehe...
08:21<@peter1138>Why did I do w->top = w->top - instead of w->top -= ...
08:21<@peter1138>Oh well ;)
08:22<Gonozal_VIII>fix for the fix?^^
08:22<@peter1138>Doesn't matter, hehe
08:23-!-Jortuny [] has joined #openttd
08:24-!-keyweed [] has quit [Ping timeout: 480 seconds]
08:27-!-divo [] has joined #openttd
08:30-!-dih [~dihedral@] has quit [Quit: Leaving]
08:40-!-glx [] has joined #openttd
08:40-!-mode/#openttd [+v glx] by ChanServ
08:43-!-TinoM [] has joined #openttd
08:56-!-Singaporekid [] has quit []
08:59-!-Dominik [] has joined #openttd
09:01-!-Brianetta [] has quit [Ping timeout: 480 seconds]
09:06-!-Yexo [] has joined #openttd
09:09-!-Osai is now known as Guest418
09:09-!-Osai_old [] has joined #openttd
09:09-!-Osai_old is now known as Osai
09:15-!-Brianetta [] has joined #openttd
09:15-!-Guest418 [] has quit [Ping timeout: 480 seconds]
09:15<LordAzamath>hmm.. What an idea...
09:16<LordAzamath>to be able to make completely random maps
09:16<LordAzamath>so all settings in world generation would be randomized too
09:16<LordAzamath>not only random seed
09:17-!-Greysc[a]le is now known as Greyscale
09:19<LordAzamath>did you just smoke Belugas? ^^
09:20<@Belugas>long time i did, in fact
09:20-!-Christoph [] has joined #openttd
09:20<@Belugas>and if i'd smoked, it would have been poff
09:20<@Belugas>not boff
09:20<LordAzamath>what's the 'buff' for then?
09:20<@Belugas>your random idea
09:20<LordAzamath>and that means?
09:21<@Belugas>not interesting idae
09:23<Gonozal_VIII>could be useful for a server that restarts with a random map every x years
09:23<@Belugas>someone asked me to react more when an idea caomes up...
09:23<Gonozal_VIII>but for single player... nah
09:23<@Belugas>seems it is not always a wanted behavuour ;)
09:23<@Belugas>i had a much better idea on HOW to DO signals on bridges ;)
09:24<Gonozal_VIII>signals on bridges!!! and in tunnels!!! givegivegive
09:26<LordAzamath>...and Belugas points to the hungry birds pic... ^^
09:26<Gonozal_VIII>in theory a single bit on every bridgehead/tunnel entry could be enough
09:26<@Belugas>wrong at Gonozal_VIII
09:27<Yexo>Gonozal: how about one-way/two-way signals?
09:27<Gonozal_VIII>bit set on the left bridgehead... one way signals from left to right with signal drag distance
09:27<Gonozal_VIII>signal on the right end... one way other direction
09:27<Gonozal_VIII>both bits... two way
09:27<Gonozal_VIII>-signal + bit
09:27<Yexo>but that means if you change the signal drag distance all your signals on bridges will change
09:28<Yexo>that's not good if you have two networks on the same map with different signal distance
09:28<Eddi|zuHause3>Gonozal_VIII: the problem is not how to place signals on the bridge, the problem is how to make the trains recognize them
09:28<Yexo>for example some feeder lanes to a large network
09:28<Yexo>and IIRC the state of the signals is stored in the map array
09:28<Eddi|zuHause3>trains only recognise signals when moving between tiles
09:28<Eddi|zuHause3>but the tile does not change while on the bridge
09:29<+glx>Gonozal_VIII: and how do you know if a signal is red or not?
09:29<Eddi|zuHause3>that's the exact reason why the custom bridgeheads project was cancelled
09:29<White_Rabbit>cancelled? :(
09:30<@Belugas>Eddi|zuHause3, i think i've solved already hotw to put signals on bridges :)
09:30<Eddi|zuHause3>well, marked as "impossible with the current system"
09:30<@Belugas>YOU'RE NOT :D
09:30<Eddi|zuHause3>i'm not what?
09:30<Yexo>Belugas: and how would you do it?
09:30<@Belugas>Yexo, there are many ways to store values, map is just one suppor ;)
09:31<@Belugas>Eddi|zuHause3, not you, put signals on bridge...
09:31<Eddi|zuHause3>Belugas: what about SmatZ's flexible tunnel/bridge work?
09:31<Yexo>creating a new pool of bridges and store an id at each of the bridge heads?
09:31*Belugas shuts up
09:34*Belugas shuts up but smiles
09:35<Yexo>so you're going that way? then custom bridgeheads will be easy
09:36*Belugas shuts up but smiles
09:46<Eddi|zuHause3>anyone got a pencil?
09:46*Belugas silently passes his pencil to Eddi|zuHause3
09:47-!-HerzogDeXtE1 [] has quit [Read error: Connection reset by peer]
09:49-!-HerzogDeXtEr [] has joined #openttd
09:50<@peter1138>Custom bridge heads were easy back in r2800
09:50-!-UFO64 [] has joined #openttd
09:50-!-NukeBuster [] has joined #openttd
09:53<Yexo>and what changed that they're not so easy now?
09:55<@Belugas>Tron and Celestar changed the way they were done, basically
09:56<Yexo>can someone give me some help with my programmable waypoints patch?
09:57<Yexo>I would like to change it from waypoints to signals, so it would become more like routing restrictions from the patch
09:58<Yexo>but for that I need to store 2 ID's in the map array
09:59<CIA-1>OpenTTD: smatz * r12176 /trunk/src/sound.cpp: -Codechange: one division less when playing sounds (patch by Dominik)
10:00<@peter1138>There's not enough room for one let alone two :o
10:00<Yexo>yes, there can be two signals on one tile
10:00<Yexo>there is enough room for one if I can shift some data from m2 to m7
10:01<Yexo>Or if I can move out all signals related data to an extern struct, I'd fit
10:01<Yexo>but I think that'd hurt speed a lot
10:02<frosch123>Yexo: Why do you need 2 ids? Just store the info for both signals in the external table
10:02<@peter1138>In my version of restrictions I just used waypoints like you.
10:02<Gonozal_VIII>would be ok with diagonal waypoints
10:03<Yexo>that's not the same Gonozal_VIII
10:03<Yexo>as you can't have a waypoint and signals on one tile
10:03<Yexo>for example the free tile before stations
10:04<Yexo>frosch123, that's also possible, but'll give very messy code
10:04<Yexo>but perhaps that's the best option
10:04-!-Wezz6400 [] has quit [Quit: Caught sigterm, terminating...]
10:05<frosch123>Alternative you can store the index of the second signal in the information for the first signal
10:06<@Belugas>nnaaaa.... just add a new byte :S
10:06<Yexo>two new bytes I'd need :)
10:06<@peter1138>Add enough memory to store all the restrictions!
10:07<Yexo>that's just about 100 bytes x2 :)
10:08<@peter1138>I ought to finish the GUI on mine.
10:09<Yexo>I will go try to move all signal bits from m2 to m7
10:10<Yexo>what files should I like at to start with?
10:11<@peter1138>Why not just use m7?
10:11<@Belugas>it was a joke...
10:11<Yexo>because I'd like more then just 9 bits?
10:11<@peter1138>Moving stuff around does not give you more bits.
10:12<@peter1138>You've got 22 bits to play with.
10:12<Gonozal_VIII>defragmenting :-)
10:12<Yexo>I know
10:12<Yexo>Gonozal_VIII, that's what I was up to
10:12<Yexo>but I realise now that's give problems with old savegames
10:13<@peter1138>I'd use m7 0-7 | m2 8-15
10:13<Yexo>I'll do that
10:16-!-a1270 [] has quit [Remote host closed the connection]
10:16<Yexo>is this ( the right coding style for switch?
10:16<@peter1138>Add a blank line after the break
10:20<@Belugas>and comments!
10:20<Yexo>I know :)
10:20<Yexo>I need lots more comments in my code
10:23<Eddi|zuHause3>comments are overrated ;)
10:23<Eddi|zuHause3>better is self-commenting code ;)
10:23<Yexo>some comments above each function about what is does is very handy
10:24<Yexo>comments within functions only when the function is large or obscure
10:24-!-DJ-Nekkid [] has joined #openttd
10:24<Gonozal_VIII>int number; //this is a number
10:24<+glx>silly comment
10:25<blathijs>It should also be ///<
10:25<+glx>too much comments kill comments
10:25<Gonozal_VIII>what is that ///< stuff anyways?
10:25<blathijs>Gonozal_VIII: Doxygen
10:26<Eddi|zuHause3>like that hex-converter in 3000 lines
10:26<Eddi|zuHause3>each line is commented with 3 line comments ;)
10:26<blathijs>Gonozal_VIII: It tells doxygen to parse the comments when producing API docs
10:29<Gonozal_VIII>x = (5 / 2) * 2 // x == 4 ///< here is a very useful comment
10:30<Gonozal_VIII>like that?
10:30<Gonozal_VIII>or doesn't look for that stuff inside comments?
10:30<Yexo>//< is only used for declarations, or not?
10:30<Yexo>so more like:
10:31<Yexo>int x; ///< x will be maximum speed
10:35-!-pm|away is now known as planetmaker
10:46<Morloth>Arg! Where can I find the max speed of a vehicle when he's driving on a flat surface??
10:46-!-UFO64 [] has quit [Quit: Leaving]
10:47<Morloth>I can ask for the value of RoadVehInfo->max_speed, but this isn't the correct value
10:47-!-raimar3 [] has joined #openttd
10:48<Morloth>Hmmz... let's check :)
10:49-!-planetmaker is now known as pm|away
10:50-!-Brianett1 [] has joined #openttd
10:51-!-Brianetta [] has quit [Ping timeout: 480 seconds]
10:51-!-Gonozal_VIII [] has quit [Ping timeout: 480 seconds]
10:51-!-nappe1 [] has quit [Quit: reboot]
10:52-!-Gonozal_VIII [] has joined #openttd
10:53<Gonozal_VIII>17:47:14 < Morloth> I can ask for the value of RoadVehInfo->max_speed, but this isn't the correct value <-- even if you multiply it by 1.6?
10:54<Morloth>Wel, yes. The speed in the gui says : 48 km/h. But max_speed = 96
10:54-!-raimar2 [] has quit [Ping timeout: 480 seconds]
10:54<Morloth>I could divide in by 2, but I would have no idea what I'm doing
10:56<Morloth> SetDParam(1, rvi->max_speed * 10 / 32); << I could find this, but it doesn't give the correct value.
10:56-!-TinoM [] has quit [Quit: Verlassend]
10:58<Gonozal_VIII>did i mention that imperial units suck and that they should be removed from everywhere in the code because of that?
10:58<Morloth>Gonozal_VIII: No, but I do agree :)
10:59<Gonozal_VIII>grfs have vehicle speed in km/h, the game converts that to something close to mph, calculates everything with that and then converts back to km/h
11:01-!-|Bastiaan| [~Bastiaan@] has quit [Quit: KVIrc 3.2.6 Anomalies]
11:01-!-LordAzamath [] has quit [Ping timeout: 480 seconds]
11:02-!-LordAzamath [] has joined #openttd
11:02<LordAzamath>whoa, LordAzamath pings out soon
11:02<LordAzamath>a blackout
11:02<LordAzamath>or something like that
11:02<LordAzamath>I thought I was LordAzamath_ now :D
11:02<Gonozal_VIII>who's lordazamath? never heard of that guy
11:03<LordAzamath>aka LA[lord]
11:03<Gonozal_VIII>nope, doesn't ring a bell
11:03<LordAzamath>Gonozal_VIII: You mistyped his name..
11:03<LordAzamath>that's why..
11:03<Gonozal_VIII>did not
11:04<Eddi|zuHause3>did too
11:04<Gonozal_VIII>did not
11:04<Eddi|zuHause3>did too
11:04<Gonozal_VIII>did not
11:04<Eddi|zuHause3>i have no time for this...
11:04<LordAzamath>have too
11:04<Gonozal_VIII>compile of your new patch thingy finished...
11:04<LordAzamath>Gonozal_VIII: Capital letters, do these ring a bell?
11:04<Gonozal_VIII>an hour ago or something^^
11:06<Gonozal_VIII>that's borken
11:06<Gonozal_VIII>slows down way too much
11:08<Gonozal_VIII>maglev thingy one tile long on a 7 tile station, comes in with 643, slows down to 49 on the first station tile, 24 on the second, 8 on the third, stops at the fourth
11:08-!-TinoM [] has joined #openttd
11:08<LordAzamath>nope, that's your eyes being slow
11:09<Gonozal_VIII>and the sprite is misaligned :S
11:09<Gonozal_VIII>that's the old lev4 chimera....
11:10<Gonozal_VIII>how can that have misaligned sprites
11:10<@peter1138>Sometimes the original graphics are misaligned...
11:10<@Belugas>Yexo, your ruleset... poolitem... could it be done in a better way, i guess
11:10<@Belugas>Yexo :
11:10<@Belugas>+ RuleType rule_type[MAX_RULES];
11:10<@Belugas>+ Compare rule_cmp[MAX_RULES];
11:10<@Belugas>+ int32 rule_value[MAX_RULES];
11:10<@Belugas>+ uint8 rule_depth[MAX_RULES];
11:10<@Belugas>+ int32 rule_data[MAX_RULES];
11:10<@Belugas> sucks
11:10-!-DJ-Nekkid [] has quit [Read error: Connection reset by peer]
11:10<@Belugas>make a structure instead
11:10<Yexo>I had that first, but then I had problems with saving
11:11<Yexo>struct/class, the same thing
11:11<Gonozal_VIII>but struct sounds so old fashioned
11:11<Yexo>First I had a struct Rule
11:11<@Belugas>plenty of examples in the code...
11:11<CIA-1>OpenTTD: smatz * r12177 /trunk/src/ (13 files): -Codechange: use 'side' parameter in GetTileTrackStatus so there can be less checks in pathfinders for depots/stations/tunnels/bridges
11:11<Yexo>saving a rule[20] or so?
11:13<Yexo>Can you give me some some of the code where that is done?
11:13<Yexo>I couldn't find it last time I searched
11:14<Yexo>and I guess I'll have to split progsignal.cpp/h in multiple files
11:15<@Belugas>question is... you already have a pool. Why do you need a bunch of arrays for each rule?
11:16<Yexo>Well, I could use a pool of rules (instead of a pool of rulesets), but then it'd be very hard to keep the display as it is
11:16<Yexo>I'd have to change to a routing restrictions gui (and/or are before any of the actual rules)
11:17<Yexo>and I don't like that prefix notation.
11:17<Yexo>Or I could cache the ruleset the user is editing in a structure kinda like it is now
11:18<@peter1138>My version is at
11:18<@peter1138>GUI needs work, heh...
11:19-!-stillunknown [] has joined #openttd
11:20-!-Diabolic-Angel [] has quit [Quit: leaving]
11:21<@Belugas>Yexo, changing the behaviour of widgets with that argument stuff seems a bit strange for me. I mean, it will only be used for that purpose
11:21<@peter1138>Belugas, that's because the code is from before my drop down list changes
11:22<Yexo>Around that time I proposed a new dropdown list system and a few days later peter1138 came with the new system
11:22<Yexo>I already changed that in my code, but I haven't uploaded that yet
11:22*Belugas shuts up
11:25<Yexo>peter1138, if I read your diff correctly, it's only possible to have one restriction per tile?
11:25<@peter1138>You misread it, then.
11:26<Yexo>I'll try again :)
11:26<@peter1138>+ Restriction *next; ////< Next restriction in list
11:27<Yexo>I just saw it
11:28<Yexo>But you create some linked list of rules instead of a tree like I do
11:31<Yexo>Anyway, I got to go now
11:31<Yexo>See you
11:35<CIA-1>OpenTTD: smatz * r12178 /trunk/src/train_cmd.cpp: -Codechange: use the 'side' parameter in TrainController and TrainCheckIfLineEnds to simplify the code
11:41-!-dih [] has joined #openttd
11:44-!-Aerandir [] has joined #openttd
11:46<@Belugas>pfff.. redoing logs from r12138 to head
11:48-!-frosch123 [] has quit [Remote host closed the connection]
11:52-!-Zaviori [] has joined #openttd
11:52-!-Zavior [] has quit [Read error: Connection reset by peer]
11:56-!-Frostregen_ [] has joined #openttd
11:57<LordAzamath>I think it's a typo for removig :D ^^
11:57-!-jp [] has joined #openttd
12:01<@Belugas>doing logs instead...
12:01-!-Brianett1 is now known as Brianetta
12:01<@Belugas>but performing once more the log deciphering-reformating task
12:01-!-Wezz6400 [] has joined #openttd
12:01-!-Frostregen [] has quit [Read error: Operation timed out]
12:02-!-Frostregen_ is now known as Frostregen
12:02-!-Danielsonkc [] has joined #openttd
12:04-!-mikl [] has quit [Quit: Ex-Chat]
12:04<Danielsonkc>Im trying to auto replace my vehicles. If I do not have a new model vehicle than the ones im using than i can't auto replace. any advice?
12:04<Gonozal_VIII>that's autorenew then
12:09<Danielsonkc>but when my vehicles are old and the model offered to autorenew is an older than the model I already have what do i do then?
12:09-!-Aerandir [] has quit [Quit: - nbs-irc 2.36 - -]
12:09<Gonozal_VIII>no what you're looking at is autoreplace
12:09<Gonozal_VIII>autorenew happens automatically if you have the patch settings right
12:09<Vikthor>Now that you mention it, is there a way to replace(for new model) a locomotive, but only when the old is really old?
12:10<Gonozal_VIII>not that i know of...
12:11<Gonozal_VIII>but the value decrease is linear so it doesn't really matter
12:11<Vikthor>What I mean is combining both autorenew and autoreplace
12:11<Gonozal_VIII>(if you sell a vehicle after half its lifespan, it still has half the value)
12:11<Gonozal_VIII>i know what you mean
12:12<Danielsonkc>how do i do that- I already autoreplace with newer models when they come out, my problem is - no new versions of vehicles are coming out and now i can't autorepair. When I look at avalible vehicles it shows newer vehicle options but when i go into the depot to replace them they option of the newer vehicles is no longer there
12:12<+glx>wrong depot type?
12:13<Danielsonkc>noppers, i think i found a glitch in autoreplace
12:13<+glx>there's a dropdown box in bottom
12:13<+glx>to select railtype
12:13<Gonozal_VIII>nonono, you're still mixing up autoreplace with autorenew
12:14<Gonozal_VIII>autorenew is replacing with the same vehicle type, autoreplace is replacing with different type
12:15<Danielsonkc>so how do i autoreplace?
12:15<Gonozal_VIII>autorenew :-)
12:15<Gonozal_VIII>that happens automatically
12:15<+glx>only if enabled
12:16<Gonozal_VIII>you can set it the time when it happens from 12 month befor up to 12 month after it reaches its max age
12:16<Danielsonkc>mine was set at 6 months like normal - then i set it to 0 is that my problem autorenew after 0 months old?
12:17<Gonozal_VIII>no, 0 means the same month it reaches its max age
12:17<Danielsonkc>so it should be working
12:18-!-yorick [] has joined #openttd
12:18<Gonozal_VIII>there's a button autorenew vehicle when it gets old
12:18<Gonozal_VIII>that has to be active
12:18<Danielsonkc>located? in patches
12:18<Gonozal_VIII>right above the month...
12:21<Gonozal_VIII>a combination of autoreplace and autorenew could really be nice for some more (attention, bad word following) realism... not all vehicles would be replaced at once then
12:21<ln->where can i find 4x03?
12:21<Sacro>Frostregen: that's no PBS bug, you've not done the layout right
12:22<Gonozal_VIII>always signal after station
12:22<Danielsonkc>thank you thank you, gonozal
12:22<Gonozal_VIII>always signal everywhere trains should stop...
12:25<Gonozal_VIII>what are you talking about ln?
12:25<+michi_cc>Sacro: actually, the wrong track reservation is a PBS bug. You're right about why the train doesn't leave the depot though.
12:26<Gonozal_VIII>isn't that triangular track piece the one the signal is on? that one should be reserved..
12:27<Sacro>michi_cc: i didn't view the save, but the station needs starter signals
12:29<+michi_cc>Sacro: the problem with the station is that it only has one signal after the platforms that acts as a safe stopping point. The second train can't exit the depot as long as the only safe point is still blocked by the first train.
12:29-!-DJ-Nekkid [] has joined #openttd
12:30<Gonozal_VIII>that's new, they just entered end crashed while exiting before
12:30-!-pm|away is now known as planetmaker
12:34<@peter1138>I just noticed that vehicles say "Waiting for free path" in the status bar :D
12:34-!-ben_goodger [] has joined #openttd
12:34<Gonozal_VIII>oh, nice
12:35-!-laz0r [] has quit [Remote host closed the connection]
12:36<LordAzamath>peter1138: When did that change take place? :D
12:36<@peter1138>Well I didn't notice it in v3...
12:37-!-stillunknown [] has quit [Read error: Connection reset by peer]
12:42*LordAzamath is compiling 12178
12:47-!-Yexo [] has quit [Read error: Connection reset by peer]
12:47-!-Yexo_ [] has joined #openttd
12:49-!-peter1138 [] has quit [Quit: Ex-Chat]
12:50-!-yorick is now known as Yorick|AFK
12:53-!-Jacy [] has left #openttd []
12:54<White_Rabbit>anyone feel like playing a multiplayer game?
12:54-!-Zaviori [] has quit [Read error: Connection reset by peer]
12:54-!-Zavior [] has joined #openttd
12:55-!-Zaviori [] has joined #openttd
12:58-!-Axamentia [] has joined #openttd
13:03<Danielsonkc>is 2051 the end? I know you can pick start date so does that mean there is no end date parsay?
13:03<Danielsonkc>anyone... anyone... buler?
13:05<Danielsonkc>momma talkin to me tryin to tell me how to live
13:05-!-UFO64 [] has joined #openttd
13:06<Axamentia>Afaik 2051 is the game end date
13:06<Axamentia>I know you can end earlier
13:06<Axamentia>But you can still keep playing after scoring
13:07-!-Diabolic-Angel [] has joined #openttd
13:08-!-Danielsonkc [] has quit [Quit: Bye for now!]
13:08-!-Zaviori [] has quit [Quit: ( :: NoNameScript 4.1 :: )]
13:09-!-thgergo [] has joined #openttd
13:11-!-Brianetta [] has quit [Quit: Tschüß]
13:17-!-tokar [] has quit [Read error: Connection reset by peer]
13:19-!-tokar [] has joined #openttd
13:26-!-Wolf01 [] has joined #openttd
13:27-!-tokar [] has quit [Read error: Connection reset by peer]
13:28-!-dih_ [] has joined #openttd
13:29-!-tokar [] has joined #openttd
13:30-!-peter1138 [~petern@] has joined #openttd
13:30-!-mode/#openttd [+o peter1138] by ChanServ
13:30-!-LordAzamath [] has quit [Read error: Connection reset by peer]
13:31-!-stillunknown [] has joined #openttd
13:34-!-dih [] has quit [Ping timeout: 480 seconds]
13:35-!-Yorick|AFK is now known as Yorick
13:36<CIA-1>OpenTTD: smatz * r12179 /trunk/src/ (5 files): -Codechange: use GetCrossingRailTrack() and GetCrossingRailAxis() to improve code readability
13:38-!-UFO64-alt [] has joined #openttd
13:38-!-UFO64 [] has quit [Read error: Connection reset by peer]
13:38-!-tokar [] has left #openttd []
13:39-!-Diabolic1Angel [] has joined #openttd
13:41-!-UFO64-alt [] has quit []
13:44-!-Diabolic1Angel [] has quit []
13:55-!-Brianetta [] has joined #openttd
13:57-!-Thraxian|Work [] has joined #openttd
13:59-!-Zaviori [] has joined #openttd
13:59-!-Zavior [] has quit [Read error: Connection reset by peer]
13:59-!-Zavior [] has joined #openttd
14:00-!-Thraxian|Work [] has left #openttd []
14:04-!-Zavior [] has quit []
14:09<+michi_cc>Frostregen: your bug is fixed :) (
14:11<Yorick>michi_cc: did you test the 0x44 newgrf station variable without the path debugging?
14:13<ln->where is 4x03!?
14:13<@peter1138>What is 4x03?
14:14<Yorick>I said 0x44, not 4x03?
14:14<Gonozal_VIII>next to 4x02
14:14<ln->Yorick: everyone knows there is no 0th season, and rarely 44 episodes per season.
14:15<Gonozal_VIII>4x03 from WHAT
14:16<Yorick>48? lost? ER? SG: A?
14:16<Gonozal_VIII>that was the first google hit when i searched for 4x03 an hour or so ago when you asked the first time
14:17-!-Dominik [] has quit [Quit: Leaving]
14:19<+michi_cc>Yorick: at least the newgrf I test works
14:20<ln->this level of 4x03lessness is becoming unacceptable.
14:20<Yorick>I'm still waiting for 3x14...
14:20<CIA-1>OpenTTD: peter1138 * r12180 /trunk/src/newgrf_engine.cpp: -Fix: Test purchase list loading/loaded sprites instead of unconditionally returning a possibly non-existant sprite.
14:22-!-ben_goodger [] has quit [Remote host closed the connection]
14:22-!-ben_goodger [] has joined #openttd
14:25<Sacro> :\
14:27<ben_goodger>you saw the page, there is no swedish conspiracy. move along
14:28*peter1138 has a cup of chai...
14:29-!-tokai [] has quit [Quit: icebears... take care of them!]
14:29*peter1138 ponders updating his server to v4.2...
14:29-!-tokai [] has joined #openttd
14:29-!-mode/#openttd [+v tokai] by ChanServ
14:30*Forked is compiling win32 binary for 4.2
14:32<@peter1138>0.7 is going to rock ;)
14:33<ben_goodger>no doubt.
14:34-!-dih_ is now known as dih
14:35<@peter1138>michi_cc's PBS implementation
14:36<@peter1138>Blame SDL...
14:36<Sacro>it's probably using ALSA
14:36<Sacro>=oss ?
14:36<@peter1138>Something like that
14:36<Sacro>mmm, nope
14:37<@peter1138>Why are you not using ALSA, anyway?
14:37<Sacro>Audio write: Input/output error
14:37<Sacro>because I have a new X-Fi
14:37<Sacro>which isn't supported by ALSA
14:38<@peter1138>And the obsolete and dead OSS does? :o
14:38<Sacro>unless i use the shitty creative "open source" binary, 64 bit, gcc3 only driver
14:38<Sacro>OSS is reborn
14:38<ben_goodger>actually that explains a lot.
14:38<ben_goodger>I got an x-fi for christmas and couldn't work out why it didn't work
14:38<Sacro>ben_goodger: works pretty well with OSS
14:39<@peter1138>All Creative's stuff sucks...
14:39<ben_goodger>I'm not using OSS, not ever
14:39<@peter1138>They're good at lying about the hardware capabilities...
14:39<Sacro>tis BSD now
14:39<ben_goodger>peter1138: unfortunately my dad spent £60 on it
14:42<Sacro>i like it
14:45<ben_goodger>well, I'm still not using OSS. it's tripe
14:45<Sacro>i like it
14:46<@peter1138>Once upon a time, the OSS SB Live! was better...
14:46<@peter1138>Still supports things that ALSA doesn't.
14:47<@peter1138>Like modifying a matrix of input to output mapping.
14:47<@peter1138>And uploading new software to do new effects
14:47<@peter1138>ALSA just does the generic thing with it
14:50<Sacro>fretsonfire works...
14:50<Sacro>what else uses SDL for sound though
14:50<Sacro>can OpenTTD use anything else? like jack, or portaudio?
14:50<SmatZ>SDL can have output to esd
14:51<@peter1138>No, there are only SDL, Win32 and Cocoa drivers.
14:51<@peter1138>Yeah, I have SDL set up to use pulseaudio.
14:51<Sacro>SmatZ: mmm, and I did just update esd-oss
14:52<Sacro>actually, i might be the official ArchLinux maintainer for that :s
14:52<@peter1138>There's an SDL_mixer driver in the works, but that won't help much.
14:53<Sacro>peter1138: what is your SDL_AUDIODRIVER =?
14:53-!-UFO64 [] has joined #openttd
14:57<Prof_Frink>Oooh, shiny
14:57<Sacro>i installed portaudio
14:58<Sacro>Many SDL games and applications can use PulseAudio. To make them do this, just set & export the variable SDL_AUDIODRIVER="esd"
14:58<blathijs>Pulseaudio is nice :-)
14:58<blathijs>There's also an also plugin that will probably work fine with openttd
14:59<Sacro>blathijs: i don't have alsa
14:59<Sacro>hence my problems
14:59<blathijs>Sacro: You don't have alsa, or you don't have an alsa driver for your sound card?
14:59<blathijs>In the latter case, you could use openttd's alsa interface -> alsa-pulse -> pulse -> oss
14:59<@peter1138>Sacro, yeah, pulse supports the esd protocol, but using the driver set to pulse is better
14:59<Sacro>blathijs: i don't have the driver
15:00<blathijs>But, can't openttd just do OSS itself?
15:00<@peter1138><Sacro> Audio write: Input/output error
15:01<blathijs>Meaning your soundcard doesn't work with OSS either, or it is only not working with OpenTTD?
15:03<Sacro>blathijs: no, soundcard is working mostly
15:04<blathijs>You could try using pulse as I described. It has OSS output modules AFAIK
15:04<Sacro>mmm, it won't start
15:05-!-tokar [] has joined #openttd
15:05-!-Gekz [~brendan@] has quit [Remote host closed the connection]
15:08<Sacro>capability is no longer a module
15:09-!-Zaviori [] has quit [Ping timeout: 480 seconds]
15:11-!-Zavior [] has joined #openttd
15:17-!-KritiK [] has joined #openttd
15:19-!-White_Rabbit [] has quit []
15:22-!-Zaviori [] has joined #openttd
15:28-!-Axamentia [] has quit [Ping timeout: 480 seconds]
15:29-!-Zavior [] has quit [Ping timeout: 480 seconds]
15:38-!-Zavior [] has joined #openttd
15:40<Sacro>peter1138: it is working D:
15:41<Sacro>timidity++ needs alsa
15:42<dih>!seen Bjarni
15:42<dih>@seen Bjarni
15:42<@DorpsGek>dih: Bjarni was last seen in #openttd 23 hours, 27 minutes, and 49 seconds ago: <Bjarni> knowing this channel I presume some of you will in fact do that o_O
15:42<blathijs>Sacro: Neh, timidty can also use oss as output I think?
15:43<+glx><Sacro> timidity++ needs alsa <-- you need a sound server (esd, alsa, ...) whenever you need concurrent access on sound device
15:44<Sacro>tis using -iA
15:44<Sacro>but i don't have alsa...
15:45-!-Zaviori [] has quit [Ping timeout: 480 seconds]
15:47<Sacro>blathijs: yes, oss out is fine, but it seems to use alsa in
15:49<blathijs>Sacro: Yeah, but openttd can call timidity directly, right?
15:49<blathijs>Or did we remove that?
15:50-!-thgerg1 [] has joined #openttd
15:51<Sacro>blathijs: i'm not sure...
15:51<blathijs>yeah, that :-)
15:51<Sacro>doesn't work
15:52<blathijs>You probably need to put options to timidity in your ./configure call
15:53<Sacro>extmidi= in .cfg
15:54-!-thgergo [] has quit [Ping timeout: 480 seconds]
15:54<Sacro>still nothing
15:55<Sacro>-d9 XD
15:56<Sacro>how do i capture stderr
15:56<Sacro>thought it was 2&>1
15:57<Prof_Frink>That redirects it to stdout
15:57<Sacro>oh yes
15:57<Sacro>i want 2&> debug.tmp ?
15:57<Prof_Frink>no ampersand
15:57<+glx>2> debug.tmp
15:57<Sacro>ah yes, thanks
15:58<Sacro>it finds sdl
15:58<Sacro>and extmidi
15:58<Sacro>but it ain't passing the -Od to timidity i reckon
15:58<Prof_Frink>*** Sacro detected. Refusing to work.
15:59-!-UFO64 [] has quit [Quit: Leaving]
15:59<Sacro>would this be a bug?
15:59<CIA-1>OpenTTD: belugas * r12181 /trunk/ (5 files in 3 dirs): -Change: update some documentation.
16:01-!-Zavior [] has quit [Ping timeout: 480 seconds]
16:02*Sacro goes to fix it himself D:
16:03<Yorick>Error: it no such channel/nick
16:04<Yorick>Error: *** Sacro detected. Refusing to work.
16:07<Prof_Frink>Yorick: Hmm, who owns DorpsGek?
16:08<+glx>TB does
16:10<Prof_Frink>get him to implement E_SACRO in the bot
16:10<Yorick>we could code that in ottd
16:12-!-Zaviori [] has joined #openttd
16:12<Sacro>how to pass params to timidity++
16:13<Prof_Frink>Sacro: What if you write a sh one-liner that calls timidity++ with the required options, then tell openttd to call that
16:14<Sacro>Prof_Frink: ooh, i could
16:15<Sacro>timidty -Od $@
16:27-!-De_Ghost [] has quit []
16:27-!-Yexo__ [] has joined #openttd
16:28-!-Yorick [] has left #openttd [...]
16:30-!-De_Ghost [] has joined #openttd
16:35-!-Yexo_ [] has quit [Ping timeout: 480 seconds]
16:37-!-a1270 [] has joined #openttd
16:46-!-thgerg1 [] has quit [Read error: Connection reset by peer]
16:46-!-thgergo [] has joined #openttd
16:49<CIA-1>OpenTTD: glx * r12182 /tags/0.6.0-beta4/ (9 files in 3 dirs): -Release 0.6.0-beta4
16:50<Gonozal_VIII>beta 4?
16:50<XeryusTC>hmm, wtf
16:50<Gonozal_VIII>no stable?
16:50<Prof_Frink>Where will we keep the horse?
16:50<SmatZ>no way!
16:50<XeryusTC>i watch what's going on here for a change and i see beta 4 being released :P
16:50<@peter1138>Gonozal_VIII, there's been quite a lot of changes...
16:51<@peter1138>And beta3 was pretty bad...
16:51-!-TinoM [] has quit [Quit: Verlassend]
16:51-!-divo [] has quit [Quit: Quitting]
16:51-!-Axamentia [] has joined #openttd
16:53<Axamentia>hmm Openttd on scenario editor was using 97% of cpu resources :/
16:54<Gonozal_VIII>map generation?
16:55<Axamentia>Nope just running idle in fast foward
16:55<Prof_Frink>Well, fast forward is "as fast as the processor will allow", so that's sensible
16:55<Axamentia>Just a bog standard 0.6.3 install as well as it wasnt one of my patch installs
16:56<Axamentia>Hmm good point, cant think of what its got to process though on scenario editor
16:56<+glx>0.6.0 is not out yet, where did you get 0.6.3 ?
16:56<Axamentia>i mean 0
16:56<Axamentia>gah i mean 0.6.0 beta 3
16:56<+glx>outdated ;)
16:57<Axamentia>i know, im using it to create vanilla scenarios
16:58<Axamentia>I have a couple of nightlies and patched versions, Gonozal, that patchpack is good imo ;), but for scenario creation i use bog standard with no grfs
16:59<Gonozal_VIII>well... to create it in an old version is good if you want to have it compatible to different versions
16:59<Gonozal_VIII>i guess
16:59<+glx>that's the recommended way
17:00<+glx>Axamentia: wait a little and you'll be able to use rivers
17:00-!-Morloth [] has quit [Ping timeout: 480 seconds]
17:00<Axamentia>I cant wait to use rivers!
17:00<Gonozal_VIII>rivers are teh kuhls
17:00<Axamentia>I have them in a patched version
17:00<Gonozal_VIII>you don't have to wait
17:01<@peter1138>Hmm, rivers need GRFs, don't they?
17:01<@peter1138>Oh, only too look nicer...
17:01<Gonozal_VIII>they look like canals without
17:01<SmatZ>like water, without canal borders
17:02*SmatZ doesn't have any rivers grf
17:02<Axamentia>But scenarios for general release, no point adding grfs, and extra features, or patches as a lot of people cant fugure out how to compile
17:02*peter1138 does, but doesn't have any rivers...
17:02<Eddi|zuHause3><ln-> where can i find 4x03? <- in the usual places
17:02<Gonozal_VIII>there are already rive replacement grfs in the 8bpp replacement topic
17:02<@peter1138>Gonozal_VIII, not a replacement as there's nothing to replace ;p
17:02<Axamentia>Peter, you can build river in scenarios, dont think terragenisis makes rivers yet though
17:03<Gonozal_VIII>ok... valid point
17:03<@peter1138>Strangely I know that...
17:03<Gonozal_VIII>no need to ask for mbs permission with them ;-)
17:03<@peter1138>And damn it, I have a 20-span wooden bridge... it's too early for faster bridges :(
17:04<Gonozal_VIII>brick viaduct rocks :D
17:04<@peter1138>Gonozal_VIII, is it the one with very straight edges? 'Cos that looked a bit... not as good as MB's...
17:04<Gonozal_VIII>i think there've been different versions
17:04<@peter1138>I suppose I should've used ships for this gap, but... ARGH, THERE ARE NO SHIPS EARLY ENOUGH
17:04<Gonozal_VIII>didn't follow the sprites too closely after i started my patchpack thingy
17:05<@peter1138>Also two-way transfers don't work...
17:05<Gonozal_VIII>yes, that sucks
17:06<Gonozal_VIII>why is there no "do not enter a vehicle that goes to where you came from" rule?
17:07<@peter1138>Because nobody wrote that yet... I have thought about it though...
17:08-!-Mark [] has joined #openttd
17:11<@peter1138>Hmm, maybe with a bit more money I can build an island and have two shorter spans... and signals...
17:12<CIA-1>OpenTTD: smatz * r12183 /trunk/src/road_cmd.cpp: -Codechange: give a better error message when building road over existing road with vehicle on it, or do not fail at all
17:13-!-Morloth [] has joined #openttd
17:14-!-Diabolic-Angel [] has quit [Quit: leaving]
17:17<@peter1138>Hmm, only cost a hundred grand...
17:17<Gonozal_VIII>well... you only need to raise 3 water corners
17:17-!-thgergo [] has quit [Quit: Leaving.]
17:18<Eddi|zuHause3>foundation for the bridge ramp, tile with signal, next bridge ramp
17:18<Eddi|zuHause3>have space for doubletrack, too
17:19<Gonozal_VIII>i thought 2 first but then i reconsidered^^
17:19<Eddi|zuHause3>need to be fast, or you have to pay clear cost for the bridge foundation again
17:19<@peter1138>i made it double track too...
17:19<@peter1138>Yeah, very fast, coast edges are quicker than normal tiles...
17:19<Gonozal_VIII>can't build the bridge that fast
17:20<Eddi|zuHause3>you have pause key ;)
17:20<Eddi|zuHause3>you only need to unpause while starting to build
17:21<Eddi|zuHause3>and why is it faster? i thought it was just in the regular tile loop
17:21<@peter1138>Regular tiles have an extra counter, I believe.
17:22<@peter1138>Either that or it's just luck
17:22<Gonozal_VIII>yes counter
17:22-!-Wolf01 [] has quit [Quit: Once again the world is quick to bury me.]
17:23<Eddi|zuHause3>i can't really imagine that...
17:24<Gonozal_VIII>clear something... cost is back to normal right after that, rest stays clear
17:25<@peter1138>It's a 3 bit counter.
17:25<Gonozal_VIII>3 bit counter, 2 bit density
17:26<Eddi|zuHause3>for grass growing, yes, but for flooding?
17:26<Gonozal_VIII>that's not flooding
17:26<Gonozal_VIII>hmmm it is...
17:27<Gonozal_VIII>flooding always looked kind of random
17:27<@peter1138>Gonozal_VIII, "On another note, r12180M doesn't load r12141M games (invalid chunk size) :("
17:28<@peter1138>Yay for users who can't read :o
17:28<Gonozal_VIII>yes, it's the first version with the saveload stuff that dalestan suggested
17:29<Eddi|zuHause3>like the miniin system?
17:29<@peter1138>Oh, I bet that was fun :o
17:29<@peter1138>Still, your users will always expect everything to always work...
17:30<Gonozal_VIII>i give no guarantees at all^^
17:30<Morloth>That's weird, sometimes cars don't get the money after delivering the good. Anyone noticed that before?
17:30<@peter1138>Neither do Microsoft.
17:30<Eddi|zuHause3>Morloth: don't use transfer
17:30<Gonozal_VIII>morloth... daylength?
17:30<Morloth>Eddi|zuHause3: I don't
17:31<Gonozal_VIII>new version of daylength?
17:31<Morloth>Gonozal_VIII: Not sure... I'm running the latest NoAI branch
17:31<Gonozal_VIII>then no
17:31<Gonozal_VIII>but values < 8 pounds get rounded to 0
17:32<Eddi|zuHause3>but then you'll need to figure out under which circumstances this occurs
17:32<Morloth>No, just random if I start a map some trucks simply don't get any money
17:32<@peter1138>Damn, that's wrong. A 400 passenger train getting a full load... without full load orders, in 1930.
17:33<Morloth>but I check and they have cargo and deliver it
17:33<@peter1138>Using new cargos?
17:33<Morloth>No, just the basic stuff. In this case Coal from mine -> power plant
17:34<Morloth>Wait I'll make a savegame
17:35-!-ThePizzaKing [] has joined #openttd
17:36<Morloth>k, if you want to check: User: ftp Pass: guest
17:36<Morloth>filename is 'Is_this_a_bug'
17:38*SpComb wonders if OpenTTD supports IPv6
17:38<Gonozal_VIII>you already wondered that some weeks ago
17:41<SpComb>did I really?
17:41<SpComb>completely forgot
17:42<SpComb>what was the answer?
17:42<Morloth>This is weird... The AI in the game does make money when delivering cargo but I don't :(
17:42-!-XeryusTC [] has quit [Quit: May the ducttape be with you]
17:43<Morloth>Oh, wait my bad I placed the road stations to far off :X; Stupid! :P
17:43<blathijs>SpComb: It might, and in any case it shouldn't be too hard to get it to support IPv6
17:43<Gonozal_VIII>you didn't notice that the trucks don't unload?
17:44<SpComb>I need to learn how to use linux's IPv6 API...
17:44<SpComb>(well, generic BSD sockets)
17:44<blathijs>I think it's just the same, perhaps pass some flag here or there
17:44<Morloth>Gonozal_VIII: Well... they did unload
17:45<Morloth>Gonozal_VIII: But at the station it would mark the cargo as 'in transfer'
17:45<Morloth>while the order was 'Unload'
17:46<Morloth>Well, sleepy time for me :)
17:46<Gonozal_VIII>don't use unload orders
17:46<Morloth>good night guys!
17:46<Gonozal_VIII>unload is exactly the same as transfer if the station doesn't accept the stuff
17:48-!-dih [] has quit [Quit: Leaving]
17:50-!-Morloth [] has quit [Remote host closed the connection]
17:51<CIA-1>OpenTTD: smatz * r12184 /trunk/src/ai/default/default.cpp: -Fix: take into account possible loan when AI is deciding which bridge to build, so it won't build wooden bridges everytime
17:51-!-Aerandir [] has joined #openttd
17:54-!-Leviath [] has joined #openttd
17:56<@peter1138>michi_cc, I found a sort of bug :o
17:56<Gonozal_VIII>oh noes, not again
17:57<@peter1138>Overbuilding a reserved station platform is allowed.
17:57<Gonozal_VIII>last bugfix came right after i finished including and stuff..
17:57<Gonozal_VIII>had to look through every single line of code... *cries*
17:57-!-Jortuny [] has quit [Ping timeout: 480 seconds]
17:59-!-Yexo__ [] has quit [Quit: Ik ga weg]
18:01<blathijs>michi_cc: Could you compile 64 bit binaries for 0.6.0-beta4? Source is at
18:02<Gonozal_VIII>katherina? O_o
18:02*Axamentia is amused that he has to build a flood path, to flood lac leman lol
18:04-!-fjb [] has joined #openttd
18:05<fjb>How does the station rating get calculated?
18:05<Gonozal_VIII>in strange and very wrong ways
18:05<Gonozal_VIII>rtfm :P
18:05<Prof_Frink>fjb: first two bytes from /dev/random
18:06<@peter1138>Axamentia, or press ctrl to place a sea tile?
18:06<fjb>Gonozal_VIII: The manual page is almost empty.
18:06<@peter1138>(assuming scenario editor)
18:07<Gonozal_VIII>almost empty?
18:07<Axamentia>aye peter
18:08<fjb>Gonozal_VIII: I found another page with the search function of the manual wiki. And that one was almost empty.
18:08<Axamentia>i know but flooding and entire lake is not easy, so i figure just flood it and let it do it
18:08-!-peter1138 [~petern@] has quit [Quit: bwaaahahaha, te eeeh eeehee boingk!]
18:08<Gonozal_VIII>i just typed "wiki openttd station rating" into the browser adress bar :-)
18:11<fjb>Hm, looks like you have to do constant advertising to get a rating of 75% or higher in the first half of the game when the vehicles are still kind of slow.
18:11-!-Vikthor [] has quit [Quit: Leaving.]
18:11-!-stillunknown [] has quit [Ping timeout: 480 seconds]
18:11<Gonozal_VIII>and buy new vehicles every year^^
18:12<fjb>Hm, on the second thought that doesn't work for most industries because thay are to far away from the town center.
18:12<fjb>Yes, that also.
18:13<fjb>I have a constant rating of 69% and the mines from ECS are constantly degrading the output.
18:13<Gonozal_VIII>yep, normal
18:13<fjb>Buying new vehicles gives a short boost, but some month later the mines get a lower and lower output.
18:14<Gonozal_VIII>statue is 10%
18:14<fjb>But a statue is expensive, especially in the first years of the game.
18:14<Gonozal_VIII>but the only way to get >75%
18:15<fjb>But you can nort afford a statue with your first monay.
18:16<fjb>You have to buy the vehicles, build tracks or roads, build stestations.
18:16<fjb>And then the mines have a low output and you can not get the industry chains started.
18:17<Gonozal_VIII>true, true, everything true
18:18<fjb>You could start with passengers first, but then no industry is left when you have the money for the statues.
18:18<Gonozal_VIII>you can make money with passengers while industries die off all around... then after some years you have enough money to serve the last remaining minimum output industries
18:20<fjb>One of each kind, you can stay in a passenger only game then...
18:21<Gonozal_VIII>it should be possible to set the probability of new industries
18:22<Gonozal_VIII>then you can start without industries and a high possibility for new ones
18:22<fjb>Hm, another patch for the Gonozal patch pack? :-)
18:22<Gonozal_VIII>if you make it^^
18:25<+michi_cc>SmatZ: road_cmd.cpp, line 1334 since rev 12177: shouldn't it be (DiagDirToRoadBits(side) & bits) == 0 (with parentheses?)
18:26<Gonozal_VIII>that's almost line 1337 :-)
18:30-!-jp [] has quit [Quit: jp]
18:31<fjb>michi_cc: I found two problems with YAPP v4.1 (I will compile v4.2 soon): The trains don't find their depot on a single line track if they don't have an explicit depot order. And trains reversing inside a station don't clear their path inside the station and get stuck in a terminal station that way. Maybe that is already fixed in v4.2.
18:32<Eddi|zuHause3>afaik & has higher priority than ==, but == is higher than &&
18:34<Gonozal_VIII>&& is shortcut thingy, has to be low priority
18:34<SmatZ>michi_cc: thanks, hopefully this is harmless now :)
18:35<SmatZ> "+" > "==" > "&" > "&&"
18:36<+michi_cc>blathijs: 435c5c19945e0ceee4e62a4c7bdd6d86 (and
18:37-!-mikl [] has joined #openttd
18:37<CIA-1>OpenTTD: smatz * r12185 /trunk/src/road_cmd.cpp: -Fix (r12177): wrong operator priority, hopefully harmless (spotted by michi_cc)
18:40-!-De_Ghost [] has quit [Remote host closed the connection]
18:40-!-De_Ghost [] has joined #openttd
18:50-!-Gonozal_VIII [] has quit [Ping timeout: 480 seconds]
18:51-!-Gonozal_VIII [] has joined #openttd
18:55<SpComb>ha, it's taken a while to make it into the international news media
18:56<SpComb>who knows, perhaps one day it'll get on slashdot
19:00-!-mikl [] has quit [Quit: Connection reset by Peer Gynt]
19:07<Sacro>michi_cc: i thought that said there :(
19:14<fjb>michi_cc: I still have a case where a train locked itself in a station with v.4.2. The train doesn't find a free path path out of the station. After some time waiting it decides to reverse. But it forgets to clear the reserved part of the platform behind it (because it didn't leave that paltform). Not it has the reserved platform tiles in front of it and is locked.
19:17<fjb>Here is a picture showing it:
19:20<Gonozal_VIII>trains should check if there's a path behind them before reversing...
19:25<fjb>Yes, that would help. The problem here is that the platform doesn't get released tile by tile, it gets released as a whole when the train left the platform. But it never leaves it.
19:26<Gonozal_VIII>no path, no reversing, no problem :-)
19:27<fjb>Cleaning up reserved path is not bugfree yet. That should be fixed.
19:41-!-Progman [] has quit [Remote host closed the connection]
19:42-!-UFO64 [] has joined #openttd
19:42<Eddi|zuHause3><Gonozal_VIII> no path, no reversing, no problem :-) <- you are missing the problem
19:43<Gonozal_VIII>i know the problem... station is always one piece
19:43<Eddi|zuHause3>the train does not find a path because it hits its previously reserved, now invalid, path
19:44<ln->ah, 91.8% of 4x03
19:45<Eddi|zuHause3>ln-: why are you always 3 days late?
19:47<ln->this time didn't provide the thing at all. the previous times i only remembered a bit late.
19:50-!-Jortuny [] has joined #openttd
19:53<ln->had to get it from torrent this time, never before have i needed to revert to such complicated methods.
19:53<Gonozal_VIII>since when is a torrent complicated?
19:55<ln->it's more complicated than saving a file to disk through firefox.
19:55<Gonozal_VIII>hmm no
19:55<+glx>it's easy with µtorrent
19:55<Gonozal_VIII>open the .torrent file, wait until finished... nothing more
19:57<ln->the "wait until finished" part is also complicated, as it takes many hours.
19:57<Gonozal_VIII>many hours?
19:57<ln->many hours.
19:57<Gonozal_VIII>how big exactly are those episodes?
19:57<+glx>depends on file size and source count
19:57-!-UFO64-alt [] has joined #openttd
19:57<ln->this one was like 120MB.
19:57<Gonozal_VIII>i usually download 350mb episodes
19:57<+glx>and you need to open ports
19:57<Gonozal_VIII>takes about 20 minutes
19:58<ln->and i don't really have open ports.
19:58<+glx>torrent without at least an open port is slow
19:58<+glx>it can even not finish
19:58<ln->i usually download 350mb episodes through http, and it takes ~10 mins.
19:59<Gonozal_VIII>would be faster but i only have 3mbit
19:59<ln->glx: i've noticed that.. actually i'm surprised i was actually able to get the file tonight and not next week.
20:00-!-mode/#openttd [+o glx] by DorpsGek
20:01-!-glx changed the topic of #openttd to: 0.5.3, 0.6.0-beta4 | Website: * (DevBlog: blog, Translator: translator2, Gameservers: servers, Nightly-builds: nightly, NightlyArchive: archive, WIKI: wiki, SVN mailinglist: maillist, Dev-docs: docs, Patches & Bug-reports: bugs) | #openttd.notice for FS + SVN notices | UTF-8 is mandatory
20:01-!-mode/#openttd [-o glx] by DorpsGek
20:04-!-UFO64 [] has quit [Read error: Operation timed out]
20:10<fjb>Hm, will YAPP become stable before 0.6.0?
20:10<Gonozal_VIII>what has the one to do with the other?
20:11<@Belugas>even if he is, he's not going ot be in 0.6
20:12<fjb>It needs more testing?
20:13<Gonozal_VIII>no big stuff gets in right before a release
20:13*Sacro sniggers
20:16<fjb>THE ECS coal mines are stupid, one train arriving late and the output drops from 500 tons to 30 in no time. But it needs ages (and a statue) to get back up near that level again.
20:16-!-Wezz6400 [] has quit [Quit: Zzz]
20:17<Gonozal_VIII>they are designed for patch, high transported% is easier to reach there
20:18<ln->what's the opposite of a flashback?
20:18<Gonozal_VIII>a vision?
20:18<fjb>Not disigned only for the patch. He smooth output change is only working in OpenTTD yet.
20:21-!-Frostregen [] has quit [Quit: und weg]
20:24-!-Frostregen [] has joined #openttd
20:28<DaleStan>So, designed for Patch, where the things that cause breakage don't happen.
20:29<Gonozal_VIII>and again in english please?
20:30<fjb>No jams in patch? Sounds boring. :-P
20:32-!-NukeBuster [] has quit [Quit: using sirc version 2.211+KSIRC/1.3.12]
20:32-!-KritiK [] has quit [Quit: Leaving]
20:34<fjb>DaleStan: Are you the main patch develeoper now?
20:35<DaleStan>It seems that way. JGR's good for foisting random "impossible" features on us, though.
20:35<DaleStan>I keep hoping Patchman will come back from wherever he went.
20:35-!-Eddi|zuHause2 [] has joined #openttd
20:36<fjb>Who is JGR?
20:38<@Belugas>another ttdpatch dev
20:38<@Belugas>the newest recruit, if i'm not mistaken
20:38*Belugas search "recruit" in his dictionnary
20:38<fjb>I guess some features would cause the rewrite of the whole game. It is harder for a patch to push some limits than for a project like OpenTTD where you have the whole source and can change almost anything.
20:39<@Belugas>recruit is fine :)
20:39<@Belugas>fjb, i would not say that...
20:39<fjb>:-) My English is so bad, I wouldn't notice any difference.
20:39<@Belugas>both sides have their difficulties
20:40<@Belugas>for sure, it is easier for OTTD to do some massive changes. But it easier for us too to get some pretty nasty bugs
20:40<fjb>Yes, but when you have the source you can just look into it and can change things using a high level language. Ofcourse you have to be backward compatible and things.
20:41<@Belugas>ttdp may have bugs too, but somehow, i think they are not as severe as some of ours
20:41*SmatZ hopes there are not any 'severe' bugs in beta4
20:42*Belugas hopes too
20:42-!-llugo [] has quit [Ping timeout: 480 seconds]
20:42<@Belugas>fjb, the sources are immense
20:42-!-Eddi|zuHause3 [] has quit [Ping timeout: 480 seconds]
20:42<fjb>ttdp has astonishing few bugs, considering that it is heavy assembler hacking in something that you don't have a comented source of.
20:42<@Belugas>it is easy to get lost
20:42<DaleStan>Most of ours are easily reproducible and fixable. Like when I confuse "call [esp]" and "call esp"
20:43-!-Jortuny [] has quit [Quit: Lost terminal]
20:43<fjb>Yes, it is. But assembler scares my more than C++. And I think even C++ is not the best language to write bugfree code.
20:43<Sacro>grr... null pointers
20:46<@Belugas>no language is garanteed to write bugfree code...
20:46<@Belugas>helll. some wonderfull bugs i've done in delphi...
20:46*ln- writes 100% bugfree code with C++.
20:46<DaleStan><fjb> something that you don't have a comented source of. <-- We do have two somewhat-commented "sources"; the DOS and Windows IDA databases. The DOS one is especially good at documenting the calling conventions.
20:47<Gonozal_VIII>i can write hello world bugfree :-)
20:47<fjb>You can have bugs in every project, but some languages help you to make fewer bugs.
20:48<fjb>DaleStan: So the patch hooks into the os calls?
20:50-!-lugo [] has joined #openttd
20:51<DaleStan>No, the conventions for things like RefreshRectangle, which wants X1,X2,Y1,Y2 in ax,bx,dx,bp. Or the return values for GetLandscapeInfo. (Which fills [e]si, dh, dl and, di from ax and cx, IIRC)
20:52<Sacro>Gonozal_VIII: go on then
20:52<DaleStan>$ hello --license
20:52<fjb>Ah, ok. The os calls are reference points for understanding the code inbetween?
20:52<Gonozal_VIII>i already did
20:52<Gonozal_VIII>i can do it again...
20:52<Gonozal_VIII>hello world bugfree
20:52<Gonozal_VIII>see? :-)
20:53<DaleStan>The conventions of the TTD functions. I think the OS calls are mostly untouched, except that win2k fixes the DirectX calls.
20:53-!-Brianetta [] has quit [Quit: Tschüß]
20:54<fjb>Still sounds far more difficult than to look at a huge C++ source.
20:55<@Belugas>depnds of your capacity of understanding and abstraction of the concept...
20:56<fjb>Maybe. I have less problems with assembler than with machine code. And I even have less problems with a higher level language than with assembler.
20:57<DaleStan>But some of the games we can play with register conventions get really quite nice. My understanding is that if you have a call stack ten functions deep that all deal with the same vehicle in C or C++, that vehicle pointer will appear on the stack once for each function. In Patch, it won't be on the stack at all; it'll be in ESI instead.
20:59<SmatZ>one can create his own internal ABI if he needs so
20:59<fjb>A good compiler will keep the pointer in a register then.
21:02<DaleStan>But you can't declare that type of calling convention (at least with MSVC), and you have to use some convention so you know that the calls in file1.obj will fill the registers properly for the functions in file2.obj.
21:04<fjb>You don't have to declare it. The compiler does it for you, if it is smart. the compiler sees the whole source, if it is devided into files or not. A smart compiler can have it's own custom conventions that work across file borders.
21:05<SmatZ>compiler sees only the file(s) it is compiling
21:06<SmatZ>for each object file, it starts from scratch
21:06<DaleStan>Else, you'd have to recompile all objects because you changed one source file, and that obviously doesn't happen/
21:06<fjb>That depends on the compiler.
21:07-!-llugo [] has joined #openttd
21:07<SmatZ>maybe you could compile whole OTTD in 1 compile run...
21:08<fjb>Or the compiler could remeber his optimized calling conventions between diffenrent files.
21:09<DaleStan>What happens when file1.obj is compiled, and then file2.cpp is changed so that a different convention is preferable?
21:11<fjb>You get nonoptimal code. But you probably will have some debugging code anyway while you are developing. You can recompile the whole project for a realease and get optimized code.
21:11<DaleStan>And what happens when the compiler can't find file1.obj, because it's called file1.o, or because it's yet to be created by some other tool, like NASM?
21:12-!-lugo [] has quit [Ping timeout: 480 seconds]
21:13<fjb>Then it takes the nonoptimal default convention. For the release all the files have to be there. Else some parts of the program would be missing.
21:15<DaleStan>And what happens when it compiles file1.o and file2.o (with whatever custom convention happens to be best) and then NASM generates file3.o, which assumes some earlier custom convention, and then the linker throws the whole mess together. How does the compiler know that the func1 and func3 are called by assembly code, while func2 is not?
21:16<DaleStan>After all, the compiler doesn't see the assembly code.
21:17<fjb>You have to tell the compiler that a function can not be optimized because it relies on some conventions out of it's scope.
21:17<DaleStan>Only the assembler sees the assembly code, so the compiler can't make decisions based on what it might or might not contain.
21:19<DaleStan>So I have to modify the C header to use the function in assembly? This is a feature? (And you still haven't named this hypothetical compiler that can do this magic within the bounds of the standard makefile, which compiles one file at a time, without giving the compiler any information as to what other files might or might not be related.)
21:19<fjb>That assembler code is declared to be external code. So the compiler doesn't optimize that calls.
21:20<DaleStan>No, the calls from assembler into C.
21:20<+glx>fjb: you should take a look at ttdpatch source ;)
21:21<fjb>There are not only C compilers in the world. I have to admit that most C compilers didn't advance that much from the early 70s.
21:21<fjb>Only compiling one file after the other limits the possibilities for optimization very much.
21:22<fjb>is that source availlable?
21:22<DaleStan>And every single makefile in existence does exactly that.
21:23<fjb>It does that only in the world of C compilers.
21:23<DaleStan>So, what language are you thinking of where it doesn't?
21:24<SmatZ>that's the advantage of object files
21:25<fjb>One is Eiffel. Most ML dialects are also more advanced.
21:25<SmatZ>every object file can come from different compiler (even assembler) and be linked together by a linker
21:25<DaleStan>And why is a language that OpenTTD and TTDPatch are neither using nor considering using relevant?
21:26<DaleStan>And what benefit does having multiple source files provide if every object depends on every source file?
21:26<fjb>Because a C compiler can adopt that behavior. And I'm not sure if really no C compiler does an optimisation over the whole sorce.
21:27<fjb>The benefit is that you can handle the source better when it is in small files than it would be in one big file.
21:27<DaleStan>Over whole file, sure. But it can't possibly do it over the whole source unless you tell it what constitutes the whole source.
21:27<+glx>having many files is also good to reduce compile time
21:28<DaleStan>But if every object depends on every source file, does that still apply?
21:28<+glx>I don't want to recompile everything after changing a line in one file
21:29<+glx>and fjb suggestion totally breaks that
21:30<fjb>As I said you don't have to compile the whole source while developing. You only do that for a release.
21:30<SmatZ>I was thinking about this a few days ago...
21:30<SmatZ>maybe it would have some benefit
21:31<fjb>That is usual with many modern compilers for modern languages.
21:31<SmatZ>like KDE, you can compile whole packages in one run
21:32<fjb>C was developed in the early 70s. But coputers are smarter today.
21:32<fjb>You have far more RAm and computing power today to do the optimisations.
21:33<SmatZ>yes, that's why we have -O3 -ftree-ssa -ftree-loop-linear -fzomg-fast switches :)
21:33-!-Gonozal_VIII [] has quit [Ping timeout: 480 seconds]
21:33<fjb>You compile unoptimized codes in small parts while developing. And then you do a compile run over the whole project for release.
21:34-!-Axamentia [] has quit [Quit: Triplets, More triplets and palm muting...]
21:34<SmatZ>fjb: do you want to try to do this for openttd?
21:34<SmatZ>maybe it wouldn't be hard
21:34<fjb>But most people seam to only know C or C++, maybe some java.
21:35<fjb>Do what for OpenTTD? Finding a C++ compiler that does that optimisations I was talking about?
21:36<SmatZ>compile whole project at once
21:36<SmatZ>so it can be better optimised
21:36<SmatZ>with -fwhole-program
21:37<SmatZ>probably makefile changes, path changes...
21:39<fjb>Hm, I can look at it. Didn't work with makefiles for a long time.
21:40-!-De_Ghost [] has quit [Ping timeout: 480 seconds]
21:41-!-De_Ghost [] has joined #openttd
21:42<fjb>Which compiler does support that option? GCC? Which version?
21:42<SmatZ>I am running gcc 4.2.3
21:43<SmatZ>probably gcc 4.x supports it
21:43<SmatZ>but it is not needed
21:43<fjb>Oh, I'm still having 3.4.6
21:43<SmatZ>if it compiles everything in one run, it is fine :)
21:46<fjb>GCC is availlable for most platforms. That would be an advantage.
21:47<fjb>SmatZ: Have you looked at ?
21:48<fjb>Looks interesting what they are doing.
21:48<SmatZ>yeah, I am at #llvm :)
21:48<SmatZ>but only listening ;)
21:49<fjb>Oh. :-)
22:02<fjb>The --combine option would also be important beside the -fwhole-program option.
22:07-!-SmatZ [] has quit [Quit: Konversation terminated!]
22:07<fjb>The ttdp sources look a bit scaring. C++ is easier to read.
22:08<DaleStan>Just don't get too worried when you see "jmp near $" or "call near $". We really did mean to type that.
22:09<fjb>I guess you know what you are doing.
22:10-!-ThePizzaKing [] has quit [Ping timeout: 480 seconds]
22:11<DaleStan>Those instructions never get executed. The magic of self-modifying code.
22:12<+glx>they are just placeholders for something else :)
22:12<DaleStan>We just need a five-byte placeholder where the first byte is E8 or E9, and those two instructions are the easiest way to generate that.
22:14-!-UFO64-alt [] has quit [Quit: Leaving]
22:15<fjb>Now I know why nfo looks so odd and has self modifying code. :-)
22:17<DaleStan>I keep meaning to adjust the system so those instructions call or jmp to the "code" at address 0 (which will save space in the patching code) but I haven't done that yet.
22:22<fjb>I guess you have more important things to do.
22:37-!-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.....]
22:41<fjb>Good night.
22:42-!-fjb [] has quit [Remote host closed the connection]
22:44-!-a1270 [] has joined #openttd
23:00-!-roboboy [] has joined #openttd
23:09-!-glx [] has quit [Quit: bye]
23:19-!-Jortuny [] has joined #openttd
---Logclosed Tue Feb 19 00:00:11 2008