Back to Home / #openttd / 2007 / 10 / Prev Day | Next Day
#openttd IRC Logs for 2007-10-16

---Logopened Tue Oct 16 00:00:32 2007
00:29|-|FlowaPowa [] has quit [Quit: FlowaPowa]
00:49|-|KouDy [user@] has joined #openttd
00:49|-|boekabart [~boekabart@] has joined #openttd
00:49|-|Deathmaker [] has joined #openttd
00:49|-|Farden [] has joined #openttd
00:50|-|KouDy [user@] has quit []
00:57|-|Markkisen [] has quit [Ping timeout: 480 seconds]
01:00|-|Zaviori [] has joined #openttd
01:00|-|Zavior [] has quit [Read error: Connection reset by peer]
01:01|-|Zavior [] has joined #openttd
01:16|-|Deathmaker [] has quit [Read error: Connection reset by peer]
01:26|-|Gekz [] has joined #openttd
01:38|-|Zaviori [] has quit [Read error: Connection reset by peer]
01:38|-|Zavior [] has quit [Read error: Connection reset by peer]
01:39|-|Zavior [] has joined #openttd
01:39|-|Zaviori [] has joined #openttd
01:41|-||Bastiaan| [~kvirc@] has joined #openttd
01:55|-|peterbrett [] has joined #openttd
02:00|-|Frostregen_ [] has joined #openttd
02:02|-|dihedral|away changed nick to dihedral
02:02<boekabart>hi dihedral
02:05|-|Gekz [] has quit [Remote host closed the connection]
02:06|-|Frostregen [] has quit [Ping timeout: 480 seconds]
02:07|-|Frostregen_ changed nick to Frostregen
02:07|-|Gekz [] has joined #openttd
02:08<dihedral>TrueBrain: is there anything specific you could point me towards regarding noai?
02:12|-|Gekz [] has quit [Remote host closed the connection]
02:13|-|Gekz [] has joined #openttd
02:16|-|Gekz [] has quit []
02:16|-|Gekz [] has joined #openttd
02:17|-|Gekz [] has quit [Remote host closed the connection]
02:18|-|Gekz [] has joined #openttd
02:19|-|Gekz [] has quit [Remote host closed the connection]
02:21|-|prakti [] has joined #openttd
02:22|-|Gekz [] has joined #openttd
02:23<dihedral>welcome back
02:25|-|Gekz [] has quit []
02:25|-|elmex [] has joined #openttd
02:26|-|Gekz [] has joined #openttd
02:29|-|elmex [] has quit [Remote host closed the connection]
02:29|-|elmex [] has joined #openttd
02:29|-|Gekz [] has quit []
02:30|-|Gekz [] has joined #openttd
02:32|-|Gekz [] has quit []
02:33|-|Gekz [] has joined #openttd
02:40<dihedral>the joiner :-P
02:49<blathijs>Gekz: Would you mind stopping your blinking in some way?
02:50<Gekz>err, what?
02:50<blathijs>Gekz: You've quit and joined 10 timesin the last hour
02:50<boekabart>Gekz: you were going off- and online every minute
02:51<Gekz>oh, I plan to stop now.
02:51<Gekz>my xorg was screwing up.
02:51<Gekz>and XFCE kept auto loading my irc client -_-
02:51<blathijs>Gekz: k :-)
03:00|-|G [] has joined #openttd
03:01|-|G_ [] has quit [Ping timeout: 480 seconds]
03:02|-|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.....]
03:05|-|Gekz [] has quit [Remote host closed the connection]
03:07|-|Gekz [] has joined #openttd
03:07<dihedral>why dont you disable the autoloading of your irc client?
03:07|-|G [] has quit [Read error: Connection reset by peer]
03:12|-|DNazarov [~Miranda@] has quit [Ping timeout: 480 seconds]
03:12|-|kampasky [] has quit [Remote host closed the connection]
03:12|-|stillunknown [] has quit [Remote host closed the connection]
03:12|-|Rubidium [] has quit [Remote host closed the connection]
03:13|-|valhallasw [] has quit [Remote host closed the connection]
03:13<dihedral>* for the time you are getting xorg to work
03:13|-|G [] has joined #openttd
03:13<Gekz>I didn't mean to kill it just then -_-
03:13<Gekz>I was in the middle of a movie when it happened
03:13|-|kampasky_ [] has joined #openttd
03:13|-|stillunk1own [] has joined #openttd
03:13|-|Rubidium_ [] has joined #openttd
03:13|-|Netsplit <-> quits: stillunk1own, Zavior, DJ_Mirage, Sionide, kampasky_, SpComb, eQualizer, _Ben_, peterbrett, hylje, (+55 more, use /NETSPLIT to show all of them)
03:13|-|Strid [] has quit [Ping timeout: 480 seconds]
03:14|-|Zaviori [] has quit [Nick collision]
03:14|-|Zaviori [] has joined #openttd
03:14|-|valhalla1w [] has joined #openttd
03:14|-|Netsplit over, joins: SpComb, G, Arpad58, Rubidium_, stillunk1own, kampasky_, Gekz, prakti, Frostregen, peterbrett (+55 more)
03:14|-|mode/#openttd [+v MiHaMiX] by ChanServ
03:15|-|Dephenom [] has quit [Ping timeout: 480 seconds]
03:20|-|BigBB [] has joined #openttd
03:21|-|prakti [] has quit [Quit: Quitting .... Hackedi...hackedi...weg.]
03:25|-|Strid [] has joined #openttd
03:26[~]dihedral greets Rubidium_
03:26|-|gule [~Administr@] has joined #openttd
03:26|-|Dephenom [] has joined #openttd
03:36|-|Alltaken [] has joined #openttd
03:36|-|Alltaken [] has quit []
03:38|-|Smoky555 [~Miranda@] has joined #openttd
03:43|-|mucht_work [~martin@] has joined #openttd
04:02|-|a1270 [] has joined #openttd
04:03|-|Vikthor [] has joined #openttd
04:19|-|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:23|-|Gekz [] has quit [Remote host closed the connection]
04:25|-|Vikthor [] has quit [Remote host closed the connection]
04:26|-|Vikthor [] has joined #openttd
04:27|-|tokai [] has quit [Ping timeout: 480 seconds]
04:29|-|tokai [] has joined #openttd
04:29|-|mode/#openttd [+v tokai] by ChanServ
04:32|-|a1270 [] has joined #openttd
04:58|-|Vikthor [] has quit [Remote host closed the connection]
04:59|-|Ammler [] has joined #openttd
05:04|-|Gekz [] has joined #openttd
05:07|-|TinoM [] has joined #openttd
05:07|-|DJ_Mirage [] has quit [Ping timeout: 480 seconds]
05:09|-|DJ_Mirage [] has joined #openttd
05:21|-|Progman [] has joined #openttd
05:24|-|FlowaPowa [] has joined #openttd
05:27|-|Vikthor [] has joined #openttd
05:27|-|FlowaPowa [] has left #openttd []
05:28|-|novotv6_ [] has joined #openttd
05:28|-|novotv6_ [] has quit []
05:32|-|Vikthor [] has quit [Remote host closed the connection]
06:17|-|Zavior [] has quit [Quit: ( :: NoNameScript 4.1 :: )]
06:19|-|Deathmaker [] has joined #openttd
06:20<Phazorx>Error: !invalid string id 0 in GetString
06:20<Phazorx>openttd: /home/ottdcoop/svn-devserver/src/openttd.cpp:110: void error(const char*, ...): Assertion `0'
06:21<Progman>fixed in a new revision
06:22[~]dihedral greets
06:22<Phazorx>we need a new #wwottdgd build then
06:22<Progman>I got this error with the ECS vectors too
06:23|-|Bakes [] has joined #openttd
06:23<Phazorx>so... shall we try vanila nighty
06:25<Phazorx>Progman: is 267 good enough?
06:26<Progman>tested with 11269
06:38|-|peterbrett [] has quit [Remote host closed the connection]
06:41<dihedral>whats going on Phazorx
06:42<Phazorx>recompiling latest nighty on .dev
06:43<dihedral>did something fail?
06:44<Phazorx>i posted the assert 10 lines above
06:46<Phazorx>err how do i check which files differ between local copy and trunk of same revision?
06:47<dihedral>svn st
06:55<boekabart>BigBB: Your patch changes flooding behaviour, right?
06:55<boekabart>as in - flood into 'canyons'
06:55|-|elmex [] has quit [Read error: Connection reset by peer]
06:55|-|elmex [] has joined #openttd
06:57|-|fjb [] has joined #openttd
06:58|-|TinoM [] has quit [Ping timeout: 480 seconds]
06:59<boekabart>BigBB: I mean - it does. I understand it's 'necessary' for newwater - but why change the behaviour for currentwater?
07:03|-|Mucht [] has quit [Remote host closed the connection]
07:07|-|Mucht [] has joined #openttd
07:08|-|Gekz [] has quit [Quit: KVIrc 3.2.6 Anomalies]
07:10|-|fjb [] has quit [Quit: KVIrc 3.2.0 'Realia']
07:11|-|Roujin [] has joined #openttd
07:13<Roujin>cheers, anyone else here getting asserts on game start that seem to have to do with the new face generator that made it in trunk?
07:13<Phazorx>hmm... can anyone suggest where do i get updated ttdpbasew.grf compatible with recent nighties?
07:13<Roujin>didn't encounter it on a clean build, but i didn't change anything that would cause it
07:14<Ammler>Phazorx: check TTDP at coop wiki
07:14<boekabart>Phazorx: I found it last week in the forums
07:15<Phazorx>Ammler: that one doesnt seem to work
07:15<Phazorx>i'm looking at forums but ones i see there dated july/august
07:15<Roujin>just now it happened again, assertion failed. expression: val < _pf_info[pfv].valid_values[ge] in file player_face.h, line 102
07:15<Ammler>hmm, maybe some posts forward
07:15<Ammler>could you update the wiki then?
07:16<Kommer>ammler, corrected some spelling errors on that pages
07:16<Phazorx>Ammler: our wiki doesnt even have that file
07:16<Ammler>Phazorx: but the link to the page
07:16<Roujin>any ottd devs present? :P
07:17<Ammler>Kommer: thanks
07:20|-|frosch123 [] has joined #openttd
07:22<Ammler>Heya frosch123, I know now, what you mean with action10
07:22<Ammler>in older versions only 0xE0.. was working
07:22<boekabart>Roujin: is this an unmodified build?
07:22<frosch123>Yes, but your code was valid, too.
07:22<Ammler>Is that a bad idea, to use it my way?
07:23<frosch123>It was the first time I saw it this way, so I did not thought of printing the labelid as character.
07:24<Ammler>yeah, not importend, as I am not a GRF coder yet ;)
07:24<frosch123>It is no problem to add that behaviour though.
07:24<BigBB>boekabart, a little bit. It's necessary for flooding corner-shores.
07:25<boekabart>BigBB: did you see my 'bug report' in the forum
07:25<frosch123>BigBB: Hi, are you planning to solve the issue with rails near the shore?
07:25<Ammler>I really like the way, Maedhros coded the IndustryStations
07:26<Ammler>does he use GRFMaker?
07:27|-|Brianetta [] has joined #openttd
07:28<BigBB>frosch123, atm, no. Because this are extra spirits. And there's no single railway graphic for overlay (railway with gravel under it).
07:28<Ammler>Phazorx: DaleStan says, its this grf on that thread
07:28<Phazorx>got it to work now
07:28<Ammler>so my little howto seems still to be correct ;)
07:29<frosch123>BigBB: See how it is solved in the halftile patch. Trunk can now draw rectangular subsprites, so you can construct the missing sprites.
07:29<BigBB>frosch123, hmm I have a look on it
07:29<Ammler>BigBB: you are working on the river patch?
07:30<BigBB>no, maybe after corner-shores
07:30<frosch123>Though the version on the forum is horribly outdated.
07:30<boekabart>Ammler: the river patch is done for a long time
07:30<boekabart>just no dev seems interested in merging it
07:31<Ammler>boekabart: you mean the tunnelUnderWater patch?
07:31<boekabart>(it was part of deepwater - taken out because it made deepwater smaller for better chances of trunking... that just never happened)
07:31<BigBB>boekabart, thanks for reporting the bug, I fix it
07:31<boekabart>Ammler: so yes :)
07:32<boekabart>BigBB: still - it's changed behaviour, those canyons used not to flood - which also looks OK with normal water sprites
07:32<Ammler>we need this patch to make a Swiss Scenario
07:32<boekabart>only with newwater its not pretty since that water is drawn 'as if' it's a little higher than the ground
07:32<Ammler>its impossible without different see levels
07:33<boekabart>Ammler: you can make canals instead :)
07:33<Ammler>!translate de_CH_en wähh
07:33<boekabart>anyway - I was planning to splitting the deepwater (tunnel under sea) patch even more to make rivers possible
07:34<Roujin>@boekabart: it was modified, but only so slightly it couldn't possibly have broken something in player_face.h ... i think. i'll go see if it happens on a clean build
07:34<Roujin>sorry for being away the last minutes
07:35<BigBB>boekabart, maybe we can work together on a river patch. It will be nice if the land generator generate rivers too.
07:36<Ammler>one little patch would be: make newwater looks also nice in ottd
07:36<Ammler>the missing tiles
07:36<BigBB>you mean my patch?
07:36<Roujin>ok it happens on a clean build aswell, r11272
07:37<Roujin>same line as before
07:37<Ammler>BigBB: does your patch solve that '^^?
07:37<Roujin>assertion failed. expression: val < _pf_info[pfv].valid_values[ge] in file player_face.h, line 102
07:37<BigBB>Ammler, yes
07:38<Roujin>ah well it's reported to flyspray now anyways ^^
07:39<Ammler>BigBB: big patch, has it chance to go in trunk?
07:40<Ammler>I really hope so.
07:41<BigBB>Ammler, of course.
07:41|-|Klanticus [] has joined #openttd
07:41<BigBB>but it's now not finished.
07:41<Ammler>whats missing?
07:41<Ammler>the flooding thing?
07:42<BigBB>yes, the bug fixing :D . And one other little thing.
07:44|-|Zr40 [~zr40@2001:960:786:0:21b:63ff:fe9e:ab24] has joined #openttd
07:46|-|LittleMikey [] has joined #openttd
07:47|-|Osai [] has joined #openttd
07:50<Roujin>hmm anyone of you more experienced coders willing to help me out for a sec? :/
07:50<LittleMikey>Roujin: Which language?
07:51<Roujin>well C++, but actually the question is rather about the OTTD source
07:52<Roujin>i want to make a check for the tile_height, to ensure it's not lower than the minimum or greater than the maximum allowed
07:52<LittleMikey>Roujin: Ok ^_^ I'm not good at that, thought you were asking general programming question lol
07:52<Roujin>ok ^^ anyone else?
07:53<frosch123>Roujin: Are you searching for MAX_TILE_HEIGHT?
07:54<Roujin>yes, kind of.. where is that defined, and would it be okay to make a raw check against that?
07:54<Roujin>like.. if variable > MAX_TILE_HEIGHT break;
07:54<frosch123>tile.h, and yes it is also used in the normal terraform command
07:55|-|Ihmemies [] has joined #openttd
07:55<Roujin>wouldn't that be some kind of duplication, then? should i rather let it try to terraform it, and break if terraform fails? but i can't archieve that ><
07:56<boekabart>what do you want to happen?
07:56<boekabart>if the h at the point you start, IS already at max level - do you want everything to become that height (== level tool) or do you want the whole thing to fail?
07:56<frosch123>I guess the easiest is to duplicate lines 163 to 165 to the start of your command function.
07:57<boekabart>it depends on what you (= we the users ) want
07:57<Roujin>i'm making the "area terraform" patch, but i have to ensure at some point it doesn't go below zero or above the max.
07:57<boekabart>Roujin: we know that
07:57<boekabart>the question is as I asked above
07:58<Roujin>er, sorry. hmmm clever question
07:58<Roujin>i'd say whole thing fails
07:59<Roujin>so i'll make that check for height before doing anything... thanks at you two :)
07:59<boekabart>then add before adding the param2: if (h == MAX_TILE_HEIGHT || h == 0) return CMD_SOME_ERROR
08:00<boekabart>this is better than if h>max_tile_height AFTER the adding / substracting since then you assume that h can contain values that big (not the case once it becomes max-height = 255, and h is byte - and not the case when h is already 0 : 0 -1 = 255 (unsigned!)
08:00<frosch123>Roujin: You should change the type of h from uint to int :)
08:01<boekabart>frosch123: no, he should check before adding param2
08:02<Roujin>hmm ok i see your point
08:04<Roujin>ok wait a second
08:04<Roujin>uint means no negative numbers rightß
08:05<Roujin>aah i'm confused right now
08:06|-|Diabolic-Angel [] has joined #openttd
08:06<boekabart>u = unsigned
08:07<boekabart>but that's ok if you check in advance
08:07<dihedral>f - funny
08:07<@Belugas>boekabart, PM
08:07<Roujin>my patch overflows and underflows, i didn't notice :D
08:08|-|paul_ [~paul@] has joined #openttd
08:08|-|GeneralTom [] has joined #openttd
08:08<GeneralTom> op please
08:09|-|LittleMikey [] has left #openttd []
08:09<Roujin>i put -1 in the parameter, which makes it ...4294967294 i guess, and add that to the tile height, which overflows, just to arrive at teilheight - 1 :D
08:09<Roujin>dang, i didn't even notice ><
08:10<Roujin>is it okay to let it just underflow and overflow (controlled) like that?
08:10<Roujin>or is that "bad coding"?
08:11|-|GeneralTom [] has left #openttd []
08:12|-|glx [] has joined #openttd
08:12|-|mode/#openttd [+v glx] by ChanServ
08:12<boekabart>Roujin: it won't if you add a check before - and then it's OK
08:12<Roujin>great, you helped me out a lot understanding what i am actually doing, or what i should be doing :D thanks a bunch
08:13[~]Roujin goes to fix his broken piece 'o code now
08:14<boekabart>no problem. it never hurts to help!
08:14|-|Dephenom [] has quit [Ping timeout: 480 seconds]
08:18|-|ThePizzaKing [] has quit [Quit: ThePizzaKing]
08:24|-|Bakes [] has quit [Read error: Connection reset by peer]
08:24|-|Bakes [] has joined #openttd
08:30|-|paul_ changed nick to Dephenom
08:33|-|Klanticus [] has quit [Quit: ChatZilla [Firefox]]
08:34<Roujin>thanks again, i have to go off now. until next time :)
08:34|-|Roujin [] has quit [Quit: HydraIRC -> <- The professional IRC Client :D]
08:38|-|frosch123 [] has quit [Remote host closed the connection]
08:40|-|frosch123 [] has joined #openttd
08:42|-|Osai [] has quit [Quit: Osai]
08:45<dihedral>would that then require a lot of callback function available to squirrel?
08:46<TrueBrain>[15:44] <dihedral> TrueBrain: with squirrel as the console language, would it be possible to actually make proper plugins,
08:46<TrueBrain>[15:44] <dihedral> in the sense of checking the chatmessages for certain words before sending out to all other clients?
08:46<TrueBrain>[15:44] <TrueBrain> if someone writes it, yes
08:46<TrueBrain>[15:44] <dihedral> so that one could replace 'bad' words with *** for example?
08:46<dihedral>as by looking at the noai code, it seems like there are a lot of SQAI functions, which i believe (and for sure may be mistaken) link to actual functions/methods in the code...
08:46<TrueBrain>dihedral: all what NoAI API is, are C++ wrappers around OpenTTD code
08:46<TrueBrain>it is nothing more, nothing less
08:46<TrueBrain>then we also have SQ wrappers around those C++ wrappers, to allow Squirrel
08:47<dihedral>is there a document that points out specifics that still need working on in the noai branch?
08:47<TrueBrain>basicly, if you want to have something like chat filter, all you need to do is a C++ callback, which runs a SQ callback
08:47<TrueBrain>dihedral: see the AI::TODO on the wiki
08:47<dihedral>great - thank you
08:47<+glx>and check what is done in API doc
08:47<dihedral>yes :-)
08:48<dihedral>sugar :-)
08:48<TrueBrain>updating the docs as we speak
08:48<TrueBrain>they are slightly out of date
08:48<+glx>hehe :)
08:49|-|gule [~Administr@] has left #openttd []
08:50|-|fjb [] has joined #openttd
08:51<dihedral>TrueBrain: what is the soonest you assume noai could be anywhere near ready?
08:51<TrueBrain>the soonest anyone finishes up the missing pieces
08:51<+glx>road and air are almost complete
08:51<dihedral>as of next week i have 2 weeks of school - so i can offer most of that time :-P
08:52<TrueBrain>most missing are bridges and tunnels
08:52<TrueBrain>but that is kind of tricky
08:52<TrueBrain>we need a PathFinder, which KUDr was working on, but I lost track of the status
08:52<dihedral>why is that?
08:52<TrueBrain>we still needs a GUI to control the AIs, but that is very tricky
08:52<TrueBrain>we need Train support
08:52<TrueBrain>road, air and ship is nearly done
08:53<TrueBrain>we need tons of Events
08:53<+glx><TrueBrain> we need Train support <-- but that is very very tricky ;)
08:53<TrueBrain>basicly, what is on the TODO list :p
08:53<TrueBrain>glx: not that tricky
08:53<TrueBrain>just a matter of doing in fact
08:53<TrueBrain>making an AI for trains, now that is tricky
08:53<TrueBrain>or a PF for that matter
08:53<+glx>yes placing rails is like placing road (in code POV)
08:53<boekabart>isn't that the task of the implementation of each AI?
08:53<TrueBrain>glx: the only real tricky part is thinking up a good way to lay tracks :)
08:54<TrueBrain>boekabart: 'that'?
08:54<boekabart>yes :)
08:54<TrueBrain>which 'that'
08:54<boekabart>the path-finding and placing of tracks
08:54<TrueBrain>we sum up like 10 things, and you say: that :p
08:54<TrueBrain>boekabart: pathfinding is a part of the AI, but to make AI building easier, I want a good example PF in the API
08:55<TrueBrain>laying tracks is also a part of the AI, but we need to make it possible to do it in a nice way
08:55<TrueBrain>you want to say: put tracks from A to B
08:55<TrueBrain>not: on A, A+1, A+2, A+3, ....
08:55<TrueBrain>for road that is no problem, but the diagonal tracks on rail needs a bit of thinking
08:55<boekabart>smth like 'autorail'
08:55<TrueBrain>yes, but look closely to autorail
08:55<TrueBrain>it depends on your position of mouse where the track is put
08:56<boekabart>i know
08:56|-|skidd13 [] has joined #openttd
08:56<TrueBrain>now that needs to be translated to a simple API command
08:56<TrueBrain>that is the part that needs thinking :) I made some drafts in the past, I blieve there was an elegant solutoin
08:56<+glx>CMD_* exists but we need to make it easy to use them
08:56<boekabart>not smth like 'from "tile+diagdir" to "tile" ?
08:56<TrueBrain>the whole NoAI API is about making easy :)
08:56<boekabart>i understand
08:57<boekabart>but pathfinder - totally AI job :)
08:57<TrueBrain>absolutely not
08:57<TrueBrain>(the totally part ;))
08:57<TrueBrain>in the API I created a subAPI which handles pathfinding
08:57<boekabart>well - the noai api has to give all relevant info about the tiles
08:57<+glx>a generic road pf should not be a rpoblem
08:57<TrueBrain>lays down some base rules
08:57<dihedral>TrueBrain: dont you want to be able to tell the ai, level all land that is in my way to get to B
08:57<dihedral>or blow up a few houses from that down :-P
08:58<dihedral>just so people /can/ build ai's that build just like they do
08:58<TrueBrain>boekabart: the main problem here is, that AIs are written in SQ. PF in SQ is slow. Also, SQ can't access YAPF. Therefor, you need a subAPI that handles PF, via for example YAPF
08:58<TrueBrain>basicly, you give a set of tiles as start position, and as end position
08:58<TrueBrain>and you want the PF to find a route
08:58<TrueBrain>of course you can always write your own, but this makes starting to work with AIs much easier :)
09:00<dihedral>but you also want to be able to have the ai 'know' if it has to go down 2 levels and up 1 right after, or if it can foolow a 'gordge'
09:00|-|Ammler [] has quit [Quit: Konversation terminated!]
09:00<boekabart>TrueBrain: i know how hard true pathfinding is - it's almost impossibly hard. I've written software that puts 1000's of connecting pipes in factories - automatically, not easy :)
09:00<TrueBrain>dihedral: terraforming will be one of the most difficult parts, and a subject on its own
09:00<TrueBrain>boekabart: YAPF does a nice job in pathfinding :)
09:01<dihedral>then why not make SQ functions also wrap YAPF stuff?
09:01<TrueBrain>anyway, as said, the NoAI API is all about making things easier :) Including PathFinding. As in C++, you don't need the API at all
09:01<TrueBrain>just the base commands, and you can do EVERYTHING you want
09:01|-|Markkisen [~shit@] has joined #openttd
09:01<TrueBrain>dihedral: impossible (templates)
09:01<TrueBrain>also, it doesn't make sense
09:01<TrueBrain>anyway, work
09:01<dihedral>i have never looked at yapf
09:02<dihedral>so i would not know :-P
09:03<dihedral>so - atm - the ai would still be pretty much limited
09:03<TrueBrain>limited how?
09:03<dihedral>no terraforming, no rails
09:03<TrueBrain>it is like saying driving on the German freeway is limited...
09:03<TrueBrain>or better: a racing track
09:04<TrueBrain>you can go as fast as you want
09:04<TrueBrain>can do all you want
09:04<TrueBrain>but still: you can't go outside the boundaries
09:04<TrueBrain>VERY limited indeed..
09:04<TrueBrain>sorry, it annoys me very much that people complain over and over that NoAI isn't completed or something
09:04<TrueBrain>because it doesn't do A dna B and C
09:04<TrueBrain>but people forget it does D .. Z
09:05<TrueBrain>you can make some darn good AIs with the current API already
09:06<TrueBrain>really, it annoys me immense that some people say: I won't start trying to make an AI, before I can make rails! They forget one big thing: starting your AI with rails, is asking for failure...
09:06<TrueBrain>anyway, my frustration
09:07|-|Markkisen [~shit@] has quit [Quit: Screw you guy, I'm going home and smoke pot]
09:16|-|Ammler [] has joined #openttd
09:17<TrueBrain>deep silence follows :p
09:17[~]fjb just never looked at the ai...
09:18<fjb>Should YAPF be used for ships?
09:18<TrueBrain>if you want to use 100% CPU, sure :p
09:18<fjb>Oh, ok, then better not...
09:19<+glx>ships should not use YAPF or NPF
09:20<+glx>there are just too many possible paths in water
09:20<fjb>How do ships find their way?
09:20<TrueBrain>like making 50% of your map road tiles ;)
09:21|-|KouDy [~KouDy@] has joined #openttd
09:23<fjb>I will try to run an OpenTTD server on a Pentium III 800. There it really shouldn't burn 100% of the cpu power...
09:26|-|Vikthor [~Vikthor@] has joined #openttd
09:28<blathijs>fjb: They use a simpler pathfinder, that does some rough guessing, does not plan too far ahead and never plans a route with more than four turns in it (really)
09:29<Phazorx>would be nice if someone would make "charted" PF for ships
09:30<Phazorx>where you "walk" them how you want route to be pretending to be capitan
09:30<frosch123>build buoys on every tile :)
09:31<Phazorx>similar by idea but different implementation
09:31|-|dstar215 [] has quit [Quit: -=SysReset 2.53=-]
09:31<Phazorx>and eliminates PF for ships as process
09:31<fjb>Phazorx: You mean like planes are operatet in Empire?
09:31<Phazorx>they just go to where they supposed to or tillthey hit an obsticle
09:31<Phazorx>fjb: i dont think i ever plaued TE
09:32<Phazorx>and for sure dont recall how planes work there
09:33<fjb>You give them an oder which tles they should fly over and then tell them to take off to take that route.
09:34<Phazorx>hmm i think i mean even simplier than that
09:34<Phazorx>like no pfing at all
09:34<Phazorx>you mark tail you want them to take in simlar fasion as you lay down rails
09:34<Phazorx>except they are sequential
09:34<fjb>You have to tell them eveytile they should fly over. There is no pathfinding involved.
09:35<Phazorx>however planes in ottd really should be p2p
09:35<Phazorx>since there are no obstacles at all
09:35<Phazorx>ships are differnt issue
09:35<fjb>Hm, other planes? :-)
09:35<Phazorx>no collision on plances as far as i know
09:36<fjb>Some planes seam to flay that low that I somestimes fear they will crash into the next mountain.
09:38|-|Zr40 [~zr40@2001:960:786:0:21b:63ff:fe9e:ab24] has quit [Quit: Zr40]
09:55<Eddi|zuHause3>we don't have that kind of mountain here...
09:58<Eddi|zuHause3> <- this is the highest elevation between here and the Ural mountains
10:00<fjb>Eddi|zuHause3: I'm playing alpine climate, you should know. :-)
10:02<Eddi|zuHause3>fjb: heights in OTTD are a great deal of perspective trickery... you should not believe everything your eyes see
10:02|-|SmatZ [] has joined #openttd
10:03<fjb>Eddi|zuHause3: You mean the real world doesn't look like that? Really?
10:04<hylje>he's serious
10:04<hylje>but you shouldnt believe everything people say on the internet
10:08<fjb>And I always thought that everything that got printed is true.
10:11|-|Osai [] has joined #openttd
10:11|-|nzvip [~svip@] has joined #openttd
10:15<Eddi|zuHause3>hey guys, it's kinda funny that you try to reply to each ironic phrase with a more ironic phrase, but it just doesn't translate well through the internet...
10:22[~]fjb takes everything serious now.
10:24<dihedral>16:20 <+glx> there are just too many possible paths in water <-- in regard to the path finder...
10:24<dihedral>is it not possible for one to build 'cannals' in the water anyway?
10:25<dihedral>say cannals in water were a lot cheeper than on land
10:25<dihedral>that could ease the job of yapf, no?
10:27<Eddi|zuHause3>dihedral: but that totally defeats the unique ability of ships to operate practically without infrastructure
10:27<+glx>and canals are water
10:32|-|SmatZ [] has quit [Quit: Konversation terminated!]
10:34|-|mucht_work [~martin@] has quit [Quit: Konversation terminated!]
10:35<dihedral>yes - but - it's releaves yapf
10:36|-|SmatZ [] has joined #openttd
10:36<dihedral>it offeres making not *every* tile a desicion point
10:37<Eddi|zuHause3>there are better ways to solve this
10:37<dihedral>which would be
10:37<Eddi|zuHause3>region based pathfinding
10:38<dihedral>caching every turning point?
10:38<dihedral>what do you mean with 'region base' pf?
10:38<Eddi|zuHause3>i'm sure there are pictures in the forum, somebody attempted it already
10:39|-|raimar3 [] has joined #openttd
10:44|-|raimar2 [] has quit [Ping timeout: 480 seconds]
10:45<Eddi|zuHause3>the idea is to divide the territory into regions, where each tile gets assigned a region number, then you plan a rough path only through region centers, and a fine path within the current region
10:45<Eddi|zuHause3>it shortens search ranges
10:45<Eddi|zuHause3>similar to placing buoys, just automatically
10:46<Eddi|zuHause3>you plan your route to the nearest buoy, and then only hop from one buoy to the next
10:49<Eddi|zuHause3>of course all of that areal pathfinding works much better in continuous spaces, rather than tile based... there you could solve that with linear algebra
10:49<Eddi|zuHause3>reducing stuff to integer usually makes it NP-complete
10:51|-|bruce89 [] has joined #openttd
10:52|-|Wezz6400 [] has joined #openttd
10:52|-|Peakki [] has joined #openttd
10:54|-|frosch123 [] has quit [Remote host closed the connection]
10:56|-|boekabart [~boekabart@] has left #openttd []
10:57<fjb>Hm, we should get rid of the tiles then. :-) But that would introduce some other problems.
10:57<Eddi|zuHause3>yeah, like you can't use floating point operations...
10:58<dihedral>thank you Eddi|zuHause3
10:59<dihedral>on me way home now - catch you guys later
10:59|-|dihedral changed nick to dihedral|away
11:01|-|SmatZ [] has quit [Remote host closed the connection]
11:04<fjb>But the ships are a minor problem for gameplay now.
11:07<CIA-5>OpenTTD: truelight * r11273 /branches/noai/src/ai/api/ (ai_order.cpp ai_order.hpp ai_order.hpp.sq): [NoAI] -Add: added AIOrder::MoveOrder (dynaxo)
11:09|-|TinoM [] has joined #openttd
11:09<Eddi|zuHause3>ships would be much more useful if we had rivers, also towns should be placed according to environmental aspects (in valleys, near rivers/coastlines, ...)
11:11<CIA-5>OpenTTD: truelight * r11274 /branches/noai/src/ai/api/ (ai_tile.cpp ai_tile.hpp ai_tile.hpp.sq): [NoAI] -Add: added LowerTile and RaiseTile to 'terraform' the map a bit (dynaxo)
11:12|-|SmatZ [] has joined #openttd
11:13|-|G [] has quit [Read error: Operation timed out]
11:14|-|Amix^ [] has joined #openttd
11:15|-||Jeroen| [] has joined #openttd
11:16|-|G [] has joined #openttd
11:18<bruce89>does the sell all vehicles thing not work or is this supposed to not work?
11:18<bruce89>my mistake, I was dragging vehicles to it
11:20|-|Bjarni [] has joined #openttd
11:20|-|mode/#openttd [+o Bjarni] by ChanServ
11:21|-|Deathmaker [] has quit [Read error: Connection reset by peer]
11:23<SmatZ>bruce89: I do the same thing :)
11:24|-|prakti [] has joined #openttd
11:24<bruce89>surely dragging should do it anyway
11:24<SmatZ>maybe somebody would sell all vehicles in the depot by mistake...
11:25<@Bjarni>well, hello and welcome to you too :P
11:25<SmatZ>hello Bjarni
11:28<Ammler>hmm, something happen with src in trunk?
11:28<Eddi|zuHause3>Ammler: what do you mean?
11:28<TrueBrain>it imploded
11:29<Ammler>I checkout and have no src folder
11:29<Ammler>like ti was in 0.5
11:29<Eddi|zuHause3>you got wrong branch?
11:29<+glx>Ammler: then you did something wrong
11:29<Ammler>oh, I checkd out a old revision
11:30<fjb>Eddi|zuHause3: Rivers are a great idea.
11:31<fjb>Is there a restriction how many block exits a presignal is able to find?
11:31<Eddi|zuHause3>fjb: yeah, but it's problematic... it would be stupid to have rivers at sea level, but multilevel water needs still a lot of work
11:32<Ammler>hmm, did you guys speak about that with boekebart and BigBB?
11:32|-|DaleStan [] has quit [Quit: Leaving]
11:32<Eddi|zuHause3>fjb: afaik there is a signal block size limit like 256 tiles or something
11:32<SmatZ>Eddi|zuHause3: I think it is ~2000 tiles
11:32<Eddi|zuHause3>SmatZ: whatever...
11:32<Ammler>BigBB: they just talked about rivers etc.
11:33<fjb>Eddi|zuHause3: Are cannals not some kind of multi level water?
11:33<Eddi|zuHause3>Ammler: i was referring to boekabarts work (of like half a year ago)
11:33<Ammler>Eddi|zuHause3: did you see the nice patch of BigBB for newwater?
11:33<Eddi|zuHause3>fjb: yes, but canals and rivers are totally different things
11:33<Eddi|zuHause3>fjb: for rivers you need to consider flooding, and waterfalls
11:34<Eddi|zuHause3>Ammler: no
11:37<Eddi|zuHause3>nice, but i don't really see how this is related to rivers
11:39<Ammler>hmm, I guess, the newwater has grfs for it, no?
11:39|-|DaleStan [] has joined #openttd
11:40|-|bruce89 [] has left #openttd []
11:41|-|skidd13 [] has left #openttd []
11:49|-||Bastiaan| [~kvirc@] has quit [Ping timeout: 480 seconds]
12:03|-|dihedral [] has joined #openttd
12:04<SpComb>Ammler: why openttdcoop?
12:05|-|Brianetta [] has quit [Quit: Tschüß]
12:05<Ammler>:) I like to ask you, if you could include that channel to your log analyzer
12:05<SpComb>Logs: (old: )
12:05<Ammler>^ that one I mean
12:06|-|Mucht [] has quit [Remote host closed the connection]
12:06<Ammler>hmm, you and the bot has same nick?
12:07|-|Mucht [] has joined #openttd
12:09|-|Mucht [] has quit []
12:11|-|Markkisen [] has joined #openttd
12:12|-|Mucht [] has joined #openttd
12:16<Ammler>SpComb: I am for a little time absent, bu I will read your log, if you answered. ;)
12:17|-|Ammler [] has quit [Quit: Konversation terminated!]
12:19|-|Markkisen [] has quit [Ping timeout: 480 seconds]
12:31|-|Ammler [] has joined #openttd
12:43|-|Roujin [] has joined #openttd
12:44<Roujin>good evening
12:48|-|Markkisen [] has joined #openttd
12:52|-|Brianetta [] has joined #openttd
12:55|-|KritiK [] has joined #openttd
13:04<Roujin>i almost got the issues with my patch solved now, just this one funny error...
13:04<Roujin>"Can't lower land here. Too high."
13:05<dihedral>that is funny
13:05<Roujin>somewhere i mixed something up ^_^
13:05<@Bjarni>replace < with > or vice versa
13:06<dihedral>Bjarni: what on earth would make you think that?
13:06<@Bjarni>I don't know
13:06<@Bjarni>I just said it without reading his diff :P
13:06<@Bjarni>but it sounded good when it comes to an issue like that
13:07<Roujin>hmmmm this should decide if which one it is:
13:07<dihedral>wrong window
13:07<Roujin>((oldh = 0) ? STR_1003_ALREADY_AT_SEA_LEVEL : STR_1004_TOO_HIGH
13:08<dihedral>oldh = 0 : can i set the variable to 0
13:08<dihedral>that is really cure
13:09<Roujin>noob mistakes issue 5912303: confuse == and = *cough*
13:12<Roujin>thanks, i would probably be still looking for the cause next week if you hadn't told me ><
13:12<Roujin>now everything's fine :)
13:13<@Bjarni>I once typoed == as = and didn't notice because it didn't matter in any of my test cases
13:14<@Bjarni>(it was autoreplace GUI stuff)
13:15<@Bjarni>it was noticed a few days after I committed it by somebody reading the diff. Nobody made a bug report because of the behaviour, only that "are you sure you want to do this? The code looks wrong. I didn't find incorrect behaviour in the game though"
13:15<Roujin>was that piece of code ever reached? :P
13:15<dihedral>that is awsome
13:15<dihedral>wunderbar :-)
13:16<@Bjarni>every single time somebody used the railroad window to switch railtype
13:16<Roujin>what do you have to do to reach it? play on a full moon night on a graveyard wearing a pink pyjama? :S
13:16<Roujin>ooh ok, not THAT unusual
13:17|-|Amix^ [] has quit [Quit: This computer has gone to sleep]
13:17<@Bjarni>the thing is... when I became aware of this, I tried to reach it from within the game, but failed
13:18<@Bjarni>it really looks like the bug even itself out before reaching the user
13:18<Prof_Frink>You should write a highlight rule that pops up a tooltip "assign" or "compare" for =/==
13:18<Roujin>erm, and now for something completely different, is there a log from this channel available somewhere? i didn't log myself before and would like to review something from this afternoon o_O'
13:18<SpComb>Logs: (old: )
13:19<Prof_Frink>The old logs generally work better.
13:19<Roujin>thank you :) i'm not very into irc...
13:19<@Bjarni>I don't use the new one at all
13:20<ln->Bjarni: 26th
13:21<@Bjarni>oh, I didn't notice that they had set a date for it yet
13:22<@Bjarni>but it hits the week I expected so I'm not surprised
13:23<@Bjarni>"Add a new Mac to your Mac" <-- is that some sort of virtulisation addon? :P
13:24<Eddi|zuHause3>Teacher in front of class: "and today we are going to calculate with computers"
13:24<Eddi|zuHause3>"what are 5 computers plus 7 computers?"
13:25|-|Greyscale [] has joined #openttd
13:27<@Bjarni>"Just 999 DKK" <--- wow.... do they expect me to wait outside the shop for the right moment and then paid that amount to get it
13:28<@Bjarni>you guys should test it for me and report back if I should invest in it :P
13:28<@Bjarni>either that or I will wait say a week or month for decent reviews on the net
13:34<Eddi|zuHause3>is that a threat?
13:34<@Bjarni>"Add a new Mac to your Mac. Mac OS X v10.5 Leopard is packed with over 300 new features" <-- for that price, I would like a detailed list before I buy
13:34|-|Ammller [] has joined #openttd
13:34<@Bjarni>Eddi|zuHause3: no.... it's my way of saving my hard earned money if it's not worth the price
13:35<@Bjarni>really needed because my income isn't that great
13:37<ln->get a job?
13:37<@Bjarni>that sounds like I would need to invest time in a plan like that
13:38|-|Ammler [] has quit [Ping timeout: 480 seconds]
13:38<ln->rob a money transport in sweden.
13:39<@Bjarni>why would I do that?
13:39<ln->just a common way to get rich quickly in sweden.
13:40<@Bjarni>yeah I heard
13:40<@Bjarni>even the police do that
13:40<@Bjarni>wait, that was robbing banks
13:41<ln->robbing banks is so 90's, and besides banks do not have a lot of cash nowadays.
13:41<@Bjarni>some police officer had problems finding the robber so some other police officers secretly looked at the case as noticed that the robber was the police officer in charge of the investigation
13:41|-|Rubidium_ changed nick to Rubidium
13:41<@Bjarni>no wonder the investigation went nowhere
13:42<Roujin>hmm.. seems the scenario editor raise and lower tools are something completely different from the regular raise and lower tool.. right?
13:43<@Bjarni>I wouldn't know, but it sounds reasonable to allow them to share code
13:43<Roujin>it seems my patch didn't affect the tools in scenario editor at all
13:44<@Bjarni>sounds silly
13:44<@Bjarni>though I'm not surprised
13:44<Roujin>they can still share code, but not at the level where i changed something in the regular tool
13:44<@Bjarni>we do have some odd places for duplicated code
13:45<Roujin>well at least i didn't break anything in the scenario editor like this :D
13:46<Roujin>was concerned about that for a sec, i don't want to know how a raise landscape tool acts that can be set to 5x5 AND dragged&dropped oO
13:46<Roujin>well it could by chance all go right... but you know... :D
13:47|-|YOYO-NL [] has joined #openttd
13:49<YOYO-NL>some one here who knows something about servers
13:50<Roujin>depends what exactly you want to know about servers i'd say...
13:50<ln->no, none of us has even ever used the internet.
13:50<TrueBrain>servers? Are that vegtables?
13:50<YOYO-NL>well it aint running as it should
13:51<Ammller>server thats the one in the bar, isn't?
13:51|-|Wolf01 [] has joined #openttd
13:52<YOYO-NL>maybe it hade to much drinks cause she is well lets say slow
13:52<Roujin>she? you have a female server? :D
13:53<YOYO-NL>hehehe oh yeah and she is gorgeus or how ever you write that :P
13:53<Wolf01>i should give a name to my server... now is called only mr.server
13:53|-|RamboRonny [] has quit [Quit: - nbs-irc 2.36 - -]
13:54<YOYO-NL>anyways the broadcasting thing aint runnig ok i think takes a long time before its getting an answer and i cant find it in the server list
13:54<YOYO-NL>running OpenSuse 10.3
13:54<YOYO-NL>she recieves an answer though from the broadcast server
13:55<YOYO-NL>it only takes some time and then does it 4/5 times and then slows down again
13:57|-|KUDr [] has quit [Read error: Connection reset by peer]
13:58|-|Ammller [] has quit [Remote host closed the connection]
13:59|-|Ammler [] has joined #openttd
14:01|-|KUDr [] has joined #openttd
14:02<YOYO-NL>hmm now it aint respondig at all
14:03<YOYO-NL>it listens to controls given but the broadcast thing doenst seem to work well
14:03<Roujin>is there a logical reason why the level land tool has the explosion sound instead of the "cccrp" terraform sound?
14:04<Wolf01>Rubidium, do you tried to get the error about the faces?
14:05<Rubidium>and another 15 tries gives me no luck
14:06<Rubidium>so it seems to be compiler specific
14:06<Roujin>i always wondered why it is like this... i mean i'm just messing around at exactly that position in the code, one little word changed and it makes "cccrrrp" :P
14:07<Wolf01>Rubidium, do you remember this: maybe our compilers work really in a different way.. i can compile without errors
14:09<ln->22:07 <@Justie^> openttd pilaa mun elämän
14:09<ln->22:08 <@Justie^> tänään piti tehdä ainejärjestöhommia, oho, viiden tunnin päästä oli hieno junarata :)
14:10<YOYO-NL>nvm its suses firewall
14:12|-|RamboRonny [] has joined #openttd
14:12<YOYO-NL>just got a second Q but that will be more Linux specifik i thing
14:13|-|gfldex [] has quit [Read error: Connection reset by peer]
14:13<YOYO-NL>how to get the openttd.cfg in a other map without destroying the working of it? exampel it stands in /home and i want to put it in /Server
14:14|-|Peakki [] has quit [Quit: Lähdössä]
14:14<YOYO-NL>maybe Brianetta?
14:17|-|gfldex [] has joined #openttd
14:27<CIA-5>OpenTTD: rubidium * r11275 /trunk/src/oldloader.cpp: -Fix: oldloader crashing when referencing a vehicle that is not yet loaded.
14:29|-|alex^^^^^ [] has joined #openttd
14:33<Wolf01>uhm, really? when i talk about my car then i should crash :/
14:34<Eddi|zuHause3>YOYO-NL: ./openttd -c path/to/openttd.cfg
14:35|-|alex^^^^^ [] has left #openttd []
14:35<Eddi|zuHause3><Roujin> hmm.. seems the scenario editor raise and lower tools are something completely different from the regular raise and lower tool.. right? <- once upon a time (meaning in TT World Editor) there was one terraforming tool in the road toolbar, that worked exactly like the ingame tool, and one terraforming tool in the landscaping toolbar, which could be resized, and id did not make dirty land
14:35<Eddi|zuHause3>i don't think that separation changed a lot
14:36<Eddi|zuHause3>i don't think i touched scenarios ever since
14:37<YOYO-NL>wow ty :)
14:37<YOYO-NL>ill try that
14:39|-||Jeroen| [] has quit [Quit: oO]
14:39<Eddi|zuHause3>alternatively, you could make openttd run under a different user, and have the cfg in /home/server/.openttd
14:40<YOYO-NL>hmm i want to try the first option. Cause who knows there might be ever a second server
14:40<YOYO-NL>cant use the same cfg
14:41<YOYO-NL>whoops says the file doesnt exist
14:41<+glx>you can also use -x to disallow write on save
14:42<YOYO-NL>hmmm entered the code Eddi gave me but it says the file aint there
14:42<YOYO-NL>dont understand
14:43|-|mikegrb Your nick is now mikegreb
14:43<Eddi|zuHause3>well, then copy the file there?
14:43|-|mikegreb Your nick is now mikegrb
14:43<YOYO-NL>when i do that openttd creates a new one leaving the Inet parts empty
14:44<YOYO-NL>resulting in a non starting Server
14:45<Eddi|zuHause3>copy it while openttd is NOT running :p
14:46<YOYO-NL>but does it matter for OpenTTD if the file is in /Home or somewhere else?
14:46<YOYO-NL>cause it has to point to something i guess
14:49<CIA-5>OpenTTD: rubidium * r11276 /trunk/src/ (8 files):
14:49<CIA-5>OpenTTD: -Codechange: be more consistent with naming of some accessors.
14:49<CIA-5>OpenTTD: -Fix: make sure canals are never owned by water. Based on a patch by boekabart.
14:49<YOYO-NL>but it can also be im a bit to much windows minded :)
14:50<Eddi|zuHause3>if you don't specify a location via the -c option, openttd searches it in a few preconfigured directories (at least in trunk)
14:51<Eddi|zuHause3>if it does not find any, it creates a default configuration
14:51<YOYO-NL>but how to guide openttd to the new place of the file
14:53<Eddi|zuHause3>if you specify -c once, you have to specify -c ever time
14:53<Eddi|zuHause3>that is the location for the file then
14:55<YOYO-NL>k thats not what i hade in mind. The server starts auto at 07:00 then also openttd server needs to start through a crontab assigment.
14:55<YOYO-NL>so basicly it needs to start on its own without any interference of me
14:56<Eddi|zuHause3>so what is the problem? just write that into the crontab entry
14:56<YOYO-NL>ah jezus stupid me
14:57<YOYO-NL>woul be like this then 0 7 * * * /windows/D/OpenTTDServer/openttd.cfg
14:57<YOYO-NL>ok ./ openttd -c in front of the windows part
14:57<Prof_Frink>Well, not ./
14:58<Prof_Frink>full patch to the executable
14:58<Eddi|zuHause3>right, the directory is not . from cron's point of view
14:58|-|Amix^ [] has joined #openttd
14:58<Eddi|zuHause3>and be careful with spaces
14:59<Eddi|zuHause3>and i'd try to avoid accessing windows drives from linux except when you really want to move the files between both
14:59<YOYO-NL>hmm lemme see if i get it right
14:59<Eddi|zuHause3>means especially write access
14:59<YOYO-NL>that feature quite stabelised
15:00<Eddi|zuHause3>you say that until the ntfs driver quits abnormally the first time
15:01<Eddi|zuHause3>no i mean it... suddenly all files you modified since mounting are gone or something
15:01<YOYO-NL>well i dont request any writting to or from linux
15:02<YOYO-NL>the ntfs disk are only used in order to use to the oudside world
15:02<YOYO-NL>show music intern ect
15:02<YOYO-NL>internal network i mean
15:02<Eddi|zuHause3>but the config file is written
15:03<Eddi|zuHause3>you can use samba to share linux drives
15:03<Eddi|zuHause3>works great
15:03<YOYO-NL>you always need samba in order to do that
15:03<+glx>use -x to not write it
15:04<YOYO-NL>the point im chasing about the cfg is that i alter them manually and then copie them to a other location
15:04<+glx>a server should not change it
15:04<YOYO-NL>mean it should start like this openttd -D-x
15:04<+glx>and -c ...
15:05<YOYO-NL>hmm i understand that way youre forcing openttd to look for the cfg?
15:05<+glx>you force a cfg with -c and "protect" it with -x
15:06<YOYO-NL>right the line has to be like this if i understand it correctly
15:07<YOYO-NL>0 0 * * * openttd -D-x-c /windows/D/OpenTTDServer
15:07<YOYO-NL>with /openttd.cfg
15:07<YOYO-NL>after the server part
15:08<YOYO-NL>0 0 * * * openttd -D-x-c /windows/D/OpenTTDServer/openttd.cfg
15:08<Prof_Frink>YOYO-NL: It'll be either -Dxc or "-D -x -c"
15:08<Eddi|zuHause3>usually you either do "-D -x -c" (with spaces) or "-Dxc" (without spaces and dashes)
15:09<YOYO-NL>hmm that aint the same for all the linux distro are they
15:09<Eddi|zuHause3>and you need /full/path/to/openttd
15:09<Eddi|zuHause3>YOYO-NL: that is pretty much standard for all linux programs
15:10<Eddi|zuHause3>at least i have never seen a program that refused one way, and accepted the other
15:10<YOYO-NL>k got that so probally this would do 0 7 * * * openttd -D -x -c /windows/D/OpenTTDServer/openttd.cfg
15:11<Eddi|zuHause3>still no, because you still need the path for openttd
15:11<YOYO-NL>hmmm thats strange
15:11<YOYO-NL>cause when using the console openttd -D results in starting up the dedicated server
15:12<Eddi|zuHause3>yeah, but cron might not have the full $PATH
15:13<YOYO-NL>hmmm so i need to locate where openttd is
15:13<Eddi|zuHause3>"which openttd"
15:14<YOYO-NL>that could be the same map as that i want the cfg to point to
15:14<Eddi|zuHause3>just type that... "which openttd"
15:14<Eddi|zuHause3>it will tell you where openttd is
15:15|-|Greyscale [] has quit [Quit: Leaving]
15:16<YOYO-NL>k one more time :P
15:16<Eddi|zuHause3>then just copy-paste that into the crontab entry
15:17<YOYO-NL>0 7 * * * /usr/bin/openttd -D -c -x /windows/D/OpenTTDserver/openttd.cfg
15:17<Prof_Frink>That sounds reasonable
15:17<dihedral>start at hour 7 every day
15:17<YOYO-NL>but that could be tricky cause the total system boots around that time
15:18<Prof_Frink>Make it 15 7 or similar then
15:18<dihedral>so you want to start a server with exactly the same config that will make the start fail if an ottd game is already running?
15:18<dihedral>make it @boot
15:18<Eddi|zuHause3>then cron is possibly not your way
15:18<YOYO-NL>hell no
15:18<YOYO-NL>the server shuts down auto at 00:00
15:18<YOYO-NL>also through a cron
15:18<Eddi|zuHause3>put it into /etc/boot.local or something
15:18<dihedral>well then @boot would be the one you want
15:19<YOYO-NL>powers up again at 7
15:19<Prof_Frink>Write an initscript for openttd :)
15:19<YOYO-NL>so instead of the 0 7 * * * i could say @ boot
15:20<Eddi|zuHause3>there should be a file /etc/init.d/boot.local
15:20<Eddi|zuHause3>put the command there
15:20<dihedral>which would not make openttd start as the designated user
15:21<dihedral>sorry - it's @reboot
15:22<YOYO-NL>ok so im viewing that file now
15:22<dihedral>you will also want to flush stdout somewhere
15:22<YOYO-NL>its empty (no wonder)
15:22<Eddi|zuHause3>yes, because it's for custom modification
15:23<YOYO-NL>so adding the part after the 0 7 * * * in that file will get me ride of the problem?
15:23<dihedral>i would not run openttd as rood
15:23<Eddi|zuHause3>there should be a similar file for runlevel 5
15:23<Eddi|zuHause3>or 3
15:23<Eddi|zuHause3>depending on what kind of server you run
15:24<YOYO-NL>lemme see that boot.local talks about things you can add before we go to the first runlevel
15:24<Eddi|zuHause3>runlevel 3 is what you want if you have a machine without grapic access (X server), runlevel 5 is what you want if you also need graphic access
15:25<gfldex>YOYO-NL: you should have a file called /etc/init.d/skeleton
15:25<gfldex>you can use it as a template to write a init script
15:25<gfldex>you add the exec name and the parameters and you are ready to go
15:27<dihedral>you will still not want to run that thing as root
15:27<Eddi|zuHause3>gfldex: i would not suggest modifying any of the default init scripts, because YaST likes to reset those
15:28<gfldex>as a template
15:28<Prof_Frink>Eddi|zuHause3: You presume YOYO-NL's system uses YaST
15:28<dihedral>and while running openttd as root, why not nice -n -19
15:28<YOYO-NL>it does
15:28<Eddi|zuHause3>Prof_Frink: he said opensuse 10.3, or not?
15:29[~]Prof_Frink wasn't paying attention
15:29<gfldex>it's not hard to add su openttd -c "<your stuff here>" to a init script
15:30<Prof_Frink>Ah, it was an hour and a half ago
15:31<YOYO-NL>hmm creating a new init script will take some time as im not a master in programming this style :) i can come along a long way with programming a PLC but this is some other material :)
15:32<YOYO-NL>when u do this i assume you can make a total control script around it in case of crashing ect
15:34<gfldex>YOYO-NL: check if you got that skeleton file
15:34<gfldex>it's really easy
15:34<Eddi|zuHause3>YOYO-NL: it's basically copying that line from the crontab into the right place of the skeleton
15:35<YOYO-NL>i got it but for the moment it doenst make thing much easyier
15:35<YOYO-NL>well i understand the file explains different types
15:35<YOYO-NL>of scripts
15:35<YOYO-NL>for different pupusses
15:35<gfldex>if you scroll a bit down you will find a line like: NAME=daemonexecutablename
15:35<gfldex>there you have to put the name of the exec
15:36<gfldex>and there should be a line for parameters nearby
15:36<gfldex>i dont got a suse by hand so i cant tell you how that line is called there
15:36<gfldex>but it's basicly pasting text at the right place
15:37<gfldex>_after_ you made a copy of skeleton
15:37<YOYO-NL>come along an option $named
15:39|-|prakti [] has quit [Quit: Quitting .... Hackedi...hackedi...weg.]
15:41<Wolf01>Rubidium, there is a way to fix that assert caused by the new faces feature? i'm using mingw as compiler... i can't continue to restart the game 2 times every 3 tries when i have to test my patches
15:43<YOYO-NL>k im calling it for the night
15:43<YOYO-NL>going to plunder it furter the comming days
15:43<YOYO-NL>when an crontab command is wrong btw will linux still boot?
15:44<Eddi|zuHause3>just your command will never be executed
15:45<YOYO-NL>well that wont be a problem
15:45<YOYO-NL>ty for the help so far
15:45<CIA-5>OpenTTD: glx * r11277 /trunk/src/openttd.cpp: -Fix (r8498): the check for ghost station (on water industries) always removed station for non-oilrig
15:45<YOYO-NL>good night
15:45<Eddi|zuHause3>and if you boot ad 7:00, you can run the cronjob at 7:05 or something
15:46<Eddi|zuHause3>now you can use fishing grounds? funny ;)
15:46<+glx>you could use them in a newgame ;)
15:47|-|YOYO-NL [] has quit [Quit: Gaat weer verder met leven. :)]
15:47<Eddi|zuHause3>until you hit 1 month or something? :p
15:47<+glx>it was only on load
15:48<SmatZ>Wolf01: if the devs don't get the error, it is harder to solve :-/ and I think Rubidium doesn't have the error
15:48<Eddi|zuHause3>ah, ok...
15:48<+glx>but if the loaded game has been saved the station will not reappear
15:49<Eddi|zuHause3>no, of course not
15:49<Eddi|zuHause3>but last time i checked, you could build a station near an oil rig, and transport the oil by train, does that still work?
15:49<+glx>it should
15:50<+glx>never tried to transport fish :)
15:50<Eddi|zuHause3>i always viewed that as a bug
15:51<+glx>industry send cargo to stations, they don't know they have a station in them
15:51<+glx>SmatZ: about 1342 ?
15:52<+glx>Wolf01: you can safely ignore these asserts
15:52<SmatZ>glx: yes... if I remember correctly, Rubidium yesterday said that he doesn't get the error...
15:52<SmatZ>I don't know if any other dev gets them
15:52<Wolf01>i can't, they continue to popup
15:53<+glx>I got it, it's a failing modulo
15:53<SmatZ>too much 0xffffffffff to mask cfg value?
15:54<+glx>SmatZ: 0x951119431 % 4 = 0xFFFFFFFD
15:55<SmatZ>make it unsigned then :)
15:55<SmatZ>hmm no :D
15:55<Eddi|zuHause3>Wolf01: you can ./configure without asserts
15:55<SmatZ>why do you get that value?
15:56<Rubidium>cause for some compilers enums are signed, whereas they are unsigned for other (like mine)
15:56<+glx> <-- works
15:56<Eddi|zuHause3>(or just comment out that line)
15:56<Wolf01>eh... but i might need asserts for testing my patches
15:56<SmatZ>ok :)
15:59|-|Osai [] has quit [Quit: Osai]
16:00<CIA-5>OpenTTD: glx * r11278 /trunk/src/player_face.h: -Fix [FS#1342] (r11269): modulo result can be negative for signed int
16:06|-|blathijs changed nick to hijacked
16:06|-|hijacked changed nick to blathijs
16:08<Roujin>was that the reason for the asserts?
16:09<Roujin>just updated my patch to 11277 shortly before this hit the trunk
16:09<SmatZ>Roujin: asserts are checks, that are done when compiled with debugging enabled
16:09|-|skidd13 [] has joined #openttd
16:09<SmatZ>reason - some parts of code assume something, that under normal conditions, should be met
16:09<SmatZ>if not, it is an error
16:09<Roujin>yes actually i should have said..
16:10|-|Zaviori [] has quit [Read error: Connection reset by peer]
16:10<Roujin>reason for the "assertion failed"'s happening lately
16:10<SmatZ>hmmm I am like blind
16:10<SmatZ>I read something different than you wrote :-/
16:12<SmatZ>Roujin: what is you patch?
16:14|-|G [] has quit [Read error: Operation timed out]
16:15<CIA-5>OpenTTD: rubidium * r11279 /trunk/src/ (misc_cmd.cpp openttd.h settings.cpp settings_gui.cpp): -Codechange: use a typedeffed type for all magic with GameDifficulty instead on relying ints to always be 32 bits, which they are not.
16:15<Roujin>so, bumped my patch to 11278
16:16<Roujin>why you!
16:16<CIA-5>OpenTTD: rubidium * r11280 /trunk/src/oldloader.cpp: -Fix [FS#1343]: wrong money related values when loading old games. Inspired on a patch by SmatZ.
16:17<SmatZ>I feel very satisfied when my work for ottd is useful ... I smile :-D
16:19|-|G [] has joined #openttd
16:19<Roujin>@SmatZ: my patch is the area_terraform patch
16:20<Wolf01>drag&drop elevation like rollercoaster?
16:21<SmatZ>hmm sometimes, my ISP's DNS stops working...
16:21<@Bjarni>SmatZ: you mean it creates the illusion that we trust you?
16:21<SmatZ>then after a while, often whole internet stops...
16:21<SmatZ>Bjarni: :'-)
16:22<SmatZ>ah... DNS working again :)
16:23<SmatZ>Roujin: ah, it is a nice thing
16:23<@Bjarni>well, the issue is that trust is a relative term
16:23<SmatZ>much easier than raise + level
16:23<SmatZ>why would I lie to you
16:23<@Bjarni>SmatZ: will you give me your visa card number and expiration date?
16:24<SmatZ>Roujin: it could even me done as a client-side patch
16:25<@Bjarni>I thought so
16:25<SmatZ>Bjarni: it is dangerous... not because you would misuse it, but because somebody could get that information
16:25<@Bjarni>SmatZ don't trust me :'(
16:25<Roujin>actually i'm not really experienced with OTTD development yet
16:25<@Bjarni>SmatZ: ever heard of PM?
16:25<SmatZ>:-D of course I trust you, but this is a different question
16:26<Roujin>i have no idea how what my patch does on multiplayer...
16:26<@Bjarni>ok, then I will tell you
16:26<SmatZ>Bjarni: it is not encrypted... logs on my and yours PC are not encrpted ... there may be keyloggers etc. on our computers
16:26<@Bjarni>if you totally ignored multiplayer, then it will cause desyncs every time it's used
16:27<@Bjarni>SmatZ: but I'm not using windows...
16:27<@Bjarni>that should take care of that issue
16:28<SmatZ>Bjarni: the more people know information, the higher is the danger that somebody else will know it, too ... by accident, by stealing...
16:28|-|[1]Bakes [] has joined #openttd
16:29<Sacro>DCC SEND "startkeylogger" 0 0 0
16:29|-|Amix^ [] has quit [Read error: Connection reset by peer]
16:29<SmatZ>Roujin: it could work in multiplayer ... the advantage of client-side patches is that you may run your patch even on non-modified server
16:29[~]Sacro got one
16:30|-|Amix^ [] has joined #openttd
16:32<@Bjarni>SmatZ: but the buttomline is that you don't trust me enough to give me vital information. Then why should we trust you? :P
16:32<SmatZ>Bjarni: why you shouldn't? :-)
16:32<@Bjarni>because you are Czech?
16:33<@Bjarni>for all we know you could actually be multiple people from KGB trying to infiltrate our software to include backdoors into the otherwise well protected linux computers
16:34|-|Bakes [] has quit [Ping timeout: 480 seconds]
16:34|-|[1]Bakes changed nick to Bakes
16:34<SmatZ>hmm I try to be nice
16:34|-|RamboRonny [] has quit [Quit: - nbs-irc 2.36 - -]
16:34<@Bjarni>good point
16:34<@Bjarni>that rules out the KGB theory
16:35|-|Amix^ [] has quit []
16:36<skidd13>Not only the FSB the NSA trys it too. ;)
16:36<SmatZ>I think I would never say someone "I don't trust you because you are from xxx country"
16:36|-|[1]Bakes [] has joined #openttd
16:36<SmatZ>if people really think what you said
16:36<SmatZ>then it is a bad world west from here
16:36<@Bjarni>do you really think that I was serious?
16:37<SmatZ>well... some things hurt me :(
16:37<Rubidium>Bjarni: can never be serious
16:37<SmatZ>and I am afraid you was
16:37<@Bjarni>I can be serious, but I'm not when I say stuff like that
16:37<SmatZ>no problem
16:37<+glx>Bjarni: stop scaring people and fix your bugs ;)
16:38<@Bjarni>if I wanted to scare him, then I would have done something completely different
16:38<SmatZ>Bjarni: the problem is that some people really look at czech people as at "somebody worse"
16:38<SmatZ>but okay :)
16:38<@Bjarni>something so cruel that it's unmentionable
16:39<SmatZ>sorry, I have a really bad mood nowadays
16:39<@Bjarni>SmatZ: but I said the same thing about French people and Dutch people and Spanish people....
16:39<@Bjarni>not to mention people from USA...
16:39<Vikthor>SmatZ: The problem is large number of Czechs looks as somebody worse as well
16:40<SmatZ>Vikthor: different lifestyle :)
16:40<Vikthor>its unfortunately normal human behavior
16:41<@Bjarni>the problem is that the Czech people who turns up here aren't the average Czech citizen... somehow we work as a magnet on criminal minds
16:41<SmatZ>Vikthor: large number of people from all countries look bad ... but when you travel abroad, you never meet them...
16:41<SmatZ>except... do you see the litter everywhere in big cities in the western Europe?
16:41<@Bjarni>whenever somebody is caught pickpocketing it usually turns out to be a Czech or from a nearly country (like Slovakia)
16:42<Vikthor>SmatZ: No but I see lot of cleaners who must be cotly to pay
16:42|-|Bakes [] has quit [Ping timeout: 480 seconds]
16:42|-|[1]Bakes changed nick to Bakes
16:43<SmatZ>Bjarni: :-/ well... I was in Denmark twice, people rather travel to beaches (Croatia, Italy, France, Spain), or skiing (Germany, Italy...)
16:44<@Bjarni>I didn't talk about how many Czech people who shows up here. I'm talking about the amount of Czech people who picks pockets compared to the total amount of people who picks pockets
16:44<Vikthor>Bjarni: You know that's intersteting how criminals move more to west - We have here criminal brigades from ex-USSR, Romanian beggar-gangs and so on
16:44<SmatZ>Bjarni: you cannot trust everything you see/read... there are hundreds or thousands of pickpockets daily, and if one is done by Czech citizen... it is interesting for newspapers, but not so bad
16:45<@Bjarni>no, this is based on police records
16:45<@Bjarni>not newspaper headlines
16:45<@Bjarni>basically a single story in the newspapers are just that... a single story
16:46<@Bjarni>unless it has solid facts to base it on like all the police records from a certain area or similar
16:46<SmatZ>Bjarni: show me the records
16:46<Vikthor>Maybe its just because Czechs are so bad pickpockets that unlike the others they get caught :)
16:46|-|boekabart [~boekabart@] has joined #openttd
16:47<SmatZ>actually, wise people don't say "Romanian people are bad" just because we have many Romanians pickpocketers etc. here
16:47<@Bjarni>pickpocketing in Copenhagen has turned into organised crime. Some people import people from the East to do the actual job for them
16:48<SmatZ>then it is problem of your people
16:48<SmatZ>if Danish people hire people from the East to do the bad job
16:48<Vikthor>Intersting, we can say absolutely the same, just subsitute Copenhagen with Prague
16:49<@Bjarni>but it's controlled by people in Eastern Europe
16:49<@Bjarni>no, it's not done by Danish citizens... at least nothing indicates that
16:49<Eddi|zuHause3><Bjarni> no, this is based on police records <- doesn't mean more czech people pick pockets, just above average get caught :p
16:50|-|Wolf01 [] has quit [Quit: Once again the world is quick to bury me.]
16:50<@Bjarni>well.... a few years ago pickpocketing was not a big issue... now it's something that happens daily at the central station in Copenhagen and they warn about it in the speakers like every 15th minute in 5 languages
16:50<Maarten>Logic tells us that the group who is the most succesfull in pickpocketing, is the group that is the least caught. :P
16:51<@Bjarni>I tend to agree
16:51<Eddi|zuHause3>Bjarni: there are countries more eastern than czechia
16:51<@Bjarni>I know
16:51<SmatZ>maybe it is a way to scare people
16:52<Roujin>well, i'm off for today. have a look at my patch if anyone feels bored, and leave a comment ;) good night
16:52<SmatZ>to change the people's opinion
16:52|-|Roujin [] has quit [Quit: HydraIRC -> <- *I* use it, so it must be good!]
16:53<@Bjarni>actually it looks like the issue is that some poor people get "jobs" here and when they arrive, they have to pick pockets. If they refuse, then something will happen to them and their families back home
16:53<SmatZ>Bjarni: no way
16:53<@Bjarni>they are told as little as possible so once they are caught (presumably often), then they can't tell who is behind this
16:53<SmatZ>if they pick pockets, they went to Denmark to pick pockets
16:53<SmatZ>only few people here are rotten enough to pick pickets
16:54<@Bjarni>maybe... it's not really known HOW people get into this
16:54<SmatZ>don't think average czech citizen would pick pockets
16:54<@Bjarni>the issue is that once they are here, they don't have a choice and they don't know enough to tell about the people behind the whole thing
16:55<@Bjarni>I presume that people who sets up a "business" like this knows what kind of people they should lure into getting the dangerous jobs for them
16:55<SmatZ>Bjarni: when people travel for a job, they know what job they will be doing
16:55<@Bjarni>so they aren't aiming at the average citizen
16:56<SmatZ>maybe it is like taking czech girls for job as a babysitter etc., but when they arrive, they are forced to work as prostitutes
16:56<SmatZ>but this is the reason why people here don't trust western countries
16:56<@Bjarni>yeah, we have that problem as well
16:56<@Bjarni>except most of those girls are from Ukraine and that area
16:56<@Bjarni>and Africa
16:56<SmatZ>girls went abroad because they were promised to do some job, but then they were forced to do this...
16:57<@Bjarni>and fined for not doing the job right so they end up with nothing
16:57<SmatZ>doesn't happen nowadays, it was worse ~15 years ago
16:57<@Bjarni>except AIDS and other STDs
16:57<@Bjarni>as I said, they just went further east to get the girls
16:57<@Bjarni>it's still a big issue
16:58<SmatZ>the money they get is worth the risk for ukrainian girls now...
16:58<dihedral>i dont seem to be able to find the definition of GetVehicle in the noai branch...
16:58|-|boekabart [~boekabart@] has left #openttd []
16:58<SmatZ>dihedral maybe it is hidden in the oldpool
16:59|-|joey_ [] has joined #openttd
16:59|-|joey_ changed nick to DJGummikuh
16:59<DJGummikuh>Hello everybody :)
17:00<DJGummikuh>I just found back to openttd today :)
17:00<SmatZ>Bjarni: simple thing: czech pickpocketers move to the west, because there they can "earn" more money... similiar, pickpocketers from the east move here because here they will earn more money than at their home
17:00<SmatZ>DJGummikuh: hello
17:00<DJGummikuh>is there anywhere a changelog about what has been changed?
17:00<DJGummikuh>I tried your page but didn't find one
17:01<SmatZ>DJGummikuh: for example this
17:04<@Bjarni>dihedral: I see what you mean.... odd... it's well hidden
17:04<@Bjarni>but it's there... somewhere ;)
17:04<dihedral>i was more trying to fine the IsInDepot() method of the Vehicle Structure
17:04<dihedral>and finding GetVehicle was the only way i thought of finding out what i get with it :-P
17:05|-|Kommer [] has quit [Remote host closed the connection]
17:05<dihedral>but as it returns the Vehicle structure...
17:05|-|Kommer [] has joined #openttd
17:06|-|Progman [] has quit [Remote host closed the connection]
17:06<SmatZ>structure, not the pointer?
17:07|-|Osai [] has joined #openttd
17:10<DJGummikuh>One thing I wanted to ask for some time now: why are you working with C most of the time? I mean there are plenty alternatives out there.
17:11<DJGummikuh>I just had to work a little with C++ and am more used to C# and just figured how much more comfortable a managed language can be ;-)
17:11<SmatZ>DJGummikuh: OTTD is afaik older than C#
17:11<@Bjarni>SmatZ: it's a pointer, not the struct itself
17:11<SmatZ>Bjarni: ok
17:11<DJGummikuh>SmatZ: yeah but take java for alternative
17:11<@Bjarni>we never use vehicle structs except for in the pool
17:11<DJGummikuh>ottd is surely not older than java
17:11<SmatZ>DJGummikuh: java :-x
17:11<@Bjarni>java is too slow
17:12<SmatZ>DJGummikuh: try to program it in java
17:12<@Bjarni>besides I'm no good with java
17:12<DJGummikuh>don't get me wrong I don't want to play smart on you I'm just really curious
17:12<DJGummikuh>Bjarni: hmm I guess that's a pretty obvious reason :D
17:12<@Bjarni>the thing is that ludde decided on C when he started the project and didn't go public with it until it was in a semi working state
17:12<SmatZ>DJGummikuh: C is a standard, it works on many platforms, it has good compilers
17:13<@Bjarni>at that time nobody seriously wanted him to switch to another language
17:13<SmatZ>it is not like having installed 3 different JRE for different java programs
17:13<DJGummikuh>SmatZ: lol
17:14<DJGummikuh>yeah I figured these probems as well
17:14<DJGummikuh>I personally prefer programs that need jre 1.6 but only use the compatibility mode for 1.2 ...
17:14<@Bjarni>freecol turned out to have OS specific bugs even though it's written in java, so java isn't as cross platform as we would like to think
17:14<DJGummikuh>Bjarni: hmm.. ok
17:15<dihedral>good night ladies
17:15<DJGummikuh>good nite
17:15<@Bjarni>and... we actually changed the code to C++
17:15|-|dihedral [] has quit [Quit: ChatZilla [Firefox]]
17:15<@Bjarni>basically we can code C in C++ so switching to C++ wasn't hard
17:16<@Bjarni>for the most parts
17:17<DJGummikuh>Bjarni: hm...
17:17<@Bjarni>changing to anything else now would mean a total rewrite and we don't want to do that :p
17:17|-|KUDr [] has quit [Ping timeout: 480 seconds]
17:18<@Bjarni>at one time one guy showed up and declared that he would start to port the whole thing to delphi... we never heard from him again
17:19<Sacro>good impression
17:21<@Bjarni>yapf/yapf_base.hpp: const Vehicle* GetVehicle() const {return m_veh;} <---- I think this is what dihedral asked for, but now he left :/
17:22<@Bjarni>I have no idea what it is doing in yapf though
17:22<SmatZ>Bjarni: it is a different GetVehicle
17:22<DJGummikuh>A new roadset, as ugly as hell. It has alignment issues, looks like plastic, and generally smells. I've been working on new versions since I released it. See the news for the preview of the newest version in development.
17:23<DJGummikuh>nice information on a NewGrf :D
17:23<SmatZ>Bjarni: I am almost sure it is hidden in the templates
17:24<skidd13>good night
17:24|-|skidd13 [] has left #openttd []
17:25<@Bjarni>it would be really stupid to have two GetVehicle()
17:25|-|Ihmemies [] has quit [Quit: Signed off]
17:25<SmatZ> inline T *Get(uint index) const
17:25|-|Vikthor [~Vikthor@] has quit [Quit: Leaving.]
17:28|-|Wezz6400 [] has quit [Quit: Zzz]
17:31<@Bjarni>I can't see how this Get function is translated into GetVehicle :s
17:31<@Bjarni>I can see that the function does the right thing
17:31<@Bjarni>but not the function name
17:32<SmatZ>OLD_POOL_ACCESSORS(name, type)
17:32<+glx>#define OLD_POOL_ACCESSORS(name, type) \
17:32<+glx> static inline type* Get##name(uint index) { return _##name##_pool.Get(index); } \
17:32<+glx> static inline uint Get##name##PoolSize() { return _##name##_pool.GetSize(); }
17:32<SmatZ>doesn't this declare the function?
17:32<SmatZ>faster :-p
17:33<@Bjarni>ahh now I get it
17:33<+glx>#define STATIC_OLD_POOL(name, type, block_size_bits, max_blocks, new_block_proc, clean_block_proc) \
17:33<+glx>this one creates them
17:34<@Bjarni>looks like a big hack to get the new pool stuff to work with the old pool calls
17:34<SmatZ>DECLARE_OLD_POOL(Vehicle, Vehicle, 9, 125)
17:34<@Bjarni>and... when will the new pool system be committed? :p
17:34<SmatZ>somebody is working on it?
17:34<@Bjarni>something is *supposed* to be working on it
17:34<SmatZ>isn't this "new" enough? :)
17:35<+glx>#define STATIC_OLD_POOL(name, type, block_size_bits, max_blocks, new_block_proc, clean_block_proc) \<-- indeed
17:35<SmatZ>it uses tamplates etc... it is C++ stuff
17:35<@Bjarni>no... the new pool system should have a whole lot of cool features
17:35<+glx>DECLARE_OLD_POOL(Vehicle, Vehicle, 9, 125) <-- in vehicle.h
17:36<SmatZ>I find actual features cool enough
17:37<SmatZ>if things don't have to change just because they are old
17:40<@Bjarni>it should be changed because we were promissed some really cool features
17:40<@Bjarni>oh well
17:40|-|KouDy [~KouDy@] has quit [Quit: Trillian (]
17:42|-|gfldex_ [] has joined #openttd
17:42<@Bjarni>huh... the news keep getting more and more weird
17:43<@Bjarni>some guy in Mexico was writing a book about cannibalism and now he is arrested for trying it out on his girlfriend (who went missing a while ago)
17:43<SmatZ>I heard that, too
17:43<SmatZ>it becomes rather usual to be a canibal
17:44|-|gfldex [] has quit [Ping timeout: 480 seconds]
17:44<@Bjarni>it's not usual to pray on one's own mate
17:45|-|AntB [~AntB-UK@] has joined #openttd
17:45<@Bjarni>besides it will never be "usual" for humans to be cannibals
17:47<SmatZ>hope so
17:58|-|Osai [] has quit [Quit: Osai]
17:58<Ammler>Rubidium: we have this assert now on the coop servers too, also without any patches...
17:58<Ammler>the packet.cpp assert
18:00<Sacro>A variable of type bool can hold values which are: ...
18:00<Sacro>Round or square
18:00<Sacro>0 or 1
18:00<Sacro>-1 or +1
18:00<Sacro>valid or invalid
18:00<Sacro>true or false
18:00<Sacro>only 1 is correct...
18:00<Sacro>place bets now
18:02<Sacro>SmatZ: cos bool is 1 or 0?
18:02<Sacro>well technically in memory it's only ever 1 or 0
18:02<Ammler>or -1 and 0
18:02<SmatZ>hmm I wouldn't say that
18:02<Sacro>Ammler: surely not?
18:02<SmatZ>but I placed my bet
18:02<Sacro>cos -1 would be 11111111
18:02<SmatZ>on "invalid"
18:03<SmatZ>yes, like in VHDL
18:03<SmatZ>the '1' is extended to "11111", actually meaning -1
18:03<SmatZ>so instead of adding 1, you substract it...
18:04<Ammler>with -1, you are sure, EVERY bit is set
18:04<@Bjarni>Sacro: is that homework?
18:04<Ammler>thats "really" true, isn't? :)
18:04<@Bjarni>why would we want to do your homework?
18:04<@Bjarni>Ammler: 1
18:05<Sacro>Bjarni: no, its a mock exam
18:05<Sacro>but it scares me if we are gonna get questions like that
18:05<Sacro>i wouldn't ask unless i was truely worried
18:05<SmatZ>ah.... it was a question! :D
18:05<SmatZ>[01:00:32] <Sacro> true or false
18:05<SmatZ>I would say this is the correct answer
18:05<SmatZ>you get 1/0 by converting it to int
18:06<SmatZ>but the representation may be whatever
18:06<Sacro>if (x = 99) {
18:06<Sacro>now will C# throw a wobbler at that
18:06<Sacro>or just not care
18:06<@Bjarni>reminds me of when I was to do an assignment about advanced electronics and electronic weight measurements... the professor uploaded a "walkthough" for the lab tests. The first page was used to explain Ohm's formula o_O
18:06<SmatZ>I don't know C#...
18:06<@Bjarni>you know, U= R*I
18:07<SmatZ>well... there are more complex way to describe the current
18:07<@Bjarni>we were like "we are missing something here because if this were as basic as we think he wouldn't have written it"
18:07<@Bjarni>we never found the complex part of it though
18:07[~]Sacro tries to compile it
18:08<Sacro>i could never remember ohms law
18:08<Sacro>test.cs(8,17): error CS0029: Cannot implicitly convert type `int' to `bool'
18:08<SmatZ>j = n e B E
18:08<SmatZ>or so...
18:08<@Bjarni>P = R*I*I
18:08<Sacro>F = bIL sin(theta)
18:08<Prof_Frink>V=IR. It's a man's equation.
18:08|-|TinoM [] has quit [Quit: Verlassend]
18:09<Sacro>wtf is "monadic"
18:09<Phazorx>openttd: /home/ottdcoop/svn-devserver/src/network/core/packet.cpp:136: void Packet::
18:09<Phazorx>Send_string(const char*): Assertion `this->size < sizeof(this->buffer) - strlen(data
18:09<Phazorx>) - 1' failed.
18:09<Phazorx>Server has exited
18:09<Phazorx>while game is paused
18:09<Phazorx>newgrf query?
18:10<Ammler>Phazorx: this is well known here...
18:10<@Bjarni>P = R*I*I <-- this formula can actually be used to calculate power loss in a wire. If you know the resistance/meter and you know the length and the current, then you can calculate your power loss
18:10<@Bjarni>notice that I^2 is present while U is missing
18:10<Phazorx>Ammler: and i'd like to be enlightened as well
18:10<SmatZ>or P = U * U / R
18:10<SmatZ>notice I is missing!
18:10<@Bjarni>that's the voltage drop though the wire
18:11<@Bjarni>I'm talking about the voltage difference between the two wires
18:11<@Bjarni>and if I had finished my next line then it would have been clear :P
18:11<SmatZ>finish him
18:11<Ammler>Phazorx: you self posted that here too
18:12<Ammler>the problem is, we can't debug it
18:12<Phazorx>is that same thing but different line number?
18:12<Phazorx>i was running gdb on .dev
18:12<SmatZ>not only wire, but also a resistor, blumb, ... with DC only
18:12<Phazorx>for 4 days
18:12<Ammler>hmm, you mean its something else?
18:12<Phazorx>Ammler: i dont know, i cane here to ask
18:13<@Bjarni>so if you want to send power to some far away place, you use a transformer to gain high voltage because then the current is reduced (P=U*I). Since this particular U has nothing to do with power loss in the wire, but I^2 has, then you will really notice why high voltage is a good idea for power transfer
18:13<Phazorx>as soon as they get done with basic electrodynamics conversation
18:13<+glx>it looks like the known assert :)
18:13<Phazorx>i hope someone will explain that one to me
18:13<+glx>tried to send a too long string
18:13<+glx>but we still failed to debug it
18:13<Phazorx>glx: any suggestion on debuging?
18:14<+glx>Ammler tried to run in gdb but it didn't failed then
18:14<SmatZ>Bjarni: yes
18:14<Phazorx>same here
18:14<@Bjarni><SmatZ> not only wire, but also a resistor, blumb, ... with DC only <--- the wire itself is the resistor and it's true for AC as well if you can get rid of the capacitance. Using unisolated wires can do that for you
18:14<Ammler>glx, I am not sure, if the debug failed
18:14<Ammler>it just gave no output
18:14<+glx>it happens when someone asks for grf details
18:14<Eddi|zuHause3><Sacro> wtf is "monadic" <-- i'm not sure if i got the translation right, but around here a "Monoid" was a half-group with a neutral element
18:15<+glx>but I failed to reproduce it
18:15<@Bjarni>Sacro: more interesting and hard questions?
18:15<Phazorx>glx: would it help to run it in gdb?
18:15<SmatZ>Bjarni: I don't know the characterical impedance of high voltage wires, do you?
18:15<Sacro>Bjarni: questions are fine
18:15<+glx>would be easier to know who triggered it so we know what grf he have
18:15<Sacro>its finding the right answer
18:15<Phazorx>glx: will net=2 help ?
18:16<Phazorx>i mean will one who caued it get reported in debug before server crashing ?
18:16<Sacro>sod it, can't be arsed :p
18:16<Ammler>glx, dosn't matter the grf
18:16<Ammler>its just one of the last
18:16<+glx>but the string sent depends on missing grfs
18:16|-|Brianetta [] has quit [Quit: Tschüß]
18:17<Ammler>1. was cstrams, then ukrs etc...
18:17<@Bjarni>ohh... at a math lecture not long ago, the professor calculated a whole lot of stuff and the conclusion is that the whole thing were true if and only if there is a number X that is equal to 5 and to -5 at the same time. The professor asked a rhetorical question "which number is the answer to this question?"
18:17<@Bjarni>somebody in the back said (loud): 42
18:17<Ammler>but its always the same as long as you don't change the grfs
18:17<Sacro>Bjarni: sqrt(25)
18:17<@Bjarni>and everybody laughed, even the professor
18:18<@Bjarni>Sacro: it should be a number in N (or was it R)... sqrt(25) is two numbers
18:18<Ammler>I didn't know this number until trueligt brought the bot
18:18<@Bjarni>we were only allowed to use one
18:19<+glx>Ammler: but to reproduce it we need a server with a known grf list, and a client with known missing grf and crashing server
18:19<@Bjarni>Ammler: in Hitchhikers Guide to the Galaxy it should be the answer to everything
18:19<+glx>and happening each time
18:19<@Bjarni>or so I'm told
18:19<Sacro>Bjarni: that is impossible
18:19<@Bjarni>never seen or read it
18:19<Ammler>Bjarni: yeah; I know that now too, since I asked why the bot has this name...
18:20<Ammler>glx. Its impossible to reproduce it
18:20<Ammler>its just randomizly
18:20<Eddi|zuHause3>is that some new pimp slang?
18:20<Ammler>oh sorry, noghing is impossible
18:20<+glx>how to debug an unreproducible crash?
18:21<@Bjarni><Sacro> Bjarni: that is impossible <-- yeah... read what I said. The whole calculation were true if and only if the answer could be found. We could see that there is no answer, hence we went backwards and could declare all of the calculations for incorrect and the original statement were incorrect. The assignment was to validate the statement and we proved that it was incorrect
18:21<Ammler>I just were not able to
18:21<Sacro>but sqrt 25 :(
18:21<Sacro>it *fits*
18:21<Eddi|zuHause3>you can prove the most interesting propositions if you are talking about the empty set :p
18:21<@Bjarni>but sqrt(25) was not in the allowed pool of numbers for the solution
18:22<@Bjarni>it's as basic as that
18:23<@Bjarni>the professor showed us a mathematical proof that all students are happy students. She got it from some student years ago and she said "we know this to be incorrect. Find the error and prove this to be wrong"
18:24<@Bjarni>afterwards I realised that my proof should be "I'm unhappy because I can't find the error, but since I found a student, who isn't happy, then I proved that the statement is wrong"
18:24|-|nzvip [~svip@] has quit [Quit: Leaving]
18:25<@Bjarni>proving that a statement is wrong can be very easy. Just find just one input where it fails, in this case a student ;)
18:25<@Bjarni>proving that it's true for all students can be a bit more tricky
18:25<Eddi|zuHause3>it's kinda funny, for each mathmatician who proves something, there are like 6 mathmaticians that try to proove that his proof is wrong
18:27<@Bjarni> <-- this is on the hallway with all the math professor offices :D
18:27<@Bjarni>without the URL though
18:27<@Bjarni>actually the wall is full of prints like that
18:28<Eddi|zuHause3>of course, like all cryptography experts go to the roof when a mathmatician proves something about distribution of primes without riemanns assumption
18:28<@Bjarni>we have some cool professors :D
18:30<Eddi|zuHause3>in our maths building, there are 3 seminar rooms... and some students made a prank when they put signs on them "Banachraum", "Hilbertraum" and "Hausdorffraum"
18:30<@Bjarni>Eddi|zuHause3: that sounds like a bad idea. The combined weight of all cryptography experts would be too much for the roof
18:30<@Bjarni>and how would they fit there anyway?
18:30<Eddi|zuHause3>the profs decided that it was to stay that way, and then added also the definitions to those signs ;)
18:30<Ammler>glx: my gdb always gives that: Cannot find user-level thread for LWP 18045: generic error
18:30<Ammler>what does that mean?
18:31<+glx>it does that on start
18:31<Ammler>no after the server crashes
18:31<Ammler>or even not
18:31<Ammler>its something like paused
18:31|-|Pinaa [Pina@] has joined #openttd
18:32<Phazorx>no debug symbols?
18:32<Pinaa>Can someone help me please?
18:32<Phazorx>Pinaa: 911 ?
18:32<Ammler>debug symbols?
18:32<+glx>Phazorx: not at all
18:32<@Bjarni>Pinaa: that is too much to ask of us
18:32<@Bjarni>we can't solve unknown issues
18:32<+glx>don't ask to ask, just ask
18:32<Phazorx>glx: once again - should we run it with gdb and debugg_level "net=2" ?
18:32<Pinaa>Here it goes:
18:33<@Bjarni>Eddi|zuHause3: I don't get those room names. I presume they refer to something I don't get :/
18:33<Pinaa>I have ottd, but i dont know how to download new things to the game...
18:33<@Bjarni>you mean newGRF?
18:33<Pinaa>I see very screenshots with new buildings, cars, roads, bridges, etc...
18:33<Pinaa>How can i have that?
18:34<Phazorx>coopers grf pak might help :)
18:34<Eddi|zuHause3>Bjarni: it doesn't translate well... banach space, hilbert space and hausdorff space (i think that is the proper translation) are mathematical constructs
18:34<Ammler>Phazorx: "our" pack is only for server player
18:35<Phazorx>our pack is good and comprehensive :)
18:36<@Bjarni>huh... nobody mentioned the newGRF GUI on the wiki....
18:36[~]Bjarni slaps everybody
18:36<@Bjarni>everybody should have noticed that and corrected that issue
18:36<Pinaa>So, i read that and than its just to follow the steps?»
18:36[~]AntB doesn't take well to being slapped
18:37[~]AntB slaps Bjarni back
18:37<@Bjarni>but... it's more simple that the wiki says
18:37|-|KritiK [] has quit [Quit: Leaving]
18:37<+glx>1) download grf
18:37<+glx>2) put it somewhere in data
18:38<+glx>3) start openttd
18:38<+glx>4) open newgrf window
18:38<+glx>5) add grfs
18:38<+glx>6) enjoy
18:39<DaleStan>Bjarni: I think "everybody" is supposed to evaluate to "whoever added that feature".
18:40<Pinaa>But... I dont know what grf i have to download glx... Can you tell me? Or put here the link please?
18:41<@Bjarni>as I said... we have a GUI for it now
18:41<@Bjarni>basically you get the file(s) you want, put them in the data dir, start the game and click newGRF and enable the files you want. Remember to save the changes before closing the window and start a new game
18:41<@Bjarni>and you will see new vehicles and stuff
18:41<@Bjarni>AntB: then fix the wiki and you are out of danger
18:41<Sacro>Bjarni: don't you have to add each newgrf individually
18:41<@Bjarni>both yes and no
18:41<@Bjarni>you can only highlight one line at a time, but then you can click add and you are free to add another one after that
18:41<+glx>Pinaa: <-- there are many grfs there
18:41|-|Pinaa [Pina@] has quit [Quit: Bye for now!]
18:41|-|Pinaa [Pina@] has joined #openttd
18:41|-|Pinaa [Pina@] has quit []
18:42<@Bjarni>wb Pinaa
18:42<@Bjarni>bye Pinaa
18:42<@Bjarni>that was quick
18:42|-|Pinaa [Pina@] has joined #openttd
18:42<@Bjarni>wb Pinaa
18:42<+glx>just make sure to not mix palettes
18:42<Pinaa>Sorry glx, can you put the link again...
18:43<@Bjarni>how do you pronounce that... I mean without any vocals....
18:43<@Bjarni>DaleStan: well... it could be an idea but a decent amount of changes on the OpenTTD wiki isn't done by the developers. We have some good people to do it for us so we are freed to code... but they failed this time :(
18:44<Ammler>Phazorx: I started dev with gdb
18:45<Phazorx>do debug_level "net=2" in console
18:45|-|Pinaa [Pina@] has left #openttd []
18:45<Phazorx>i diditn get a reply from glx but i gues it wont hurt
18:45<+glx>you'll get more output :)
18:45<Phazorx>and i bet it was Pinaa crashing our .dev
18:45<Ammler>hmm, I thought debug level doesn't matter
18:45<Phazorx>glx: just more or more useful?
18:45<Ammler>if you start with gdb
18:46<Phazorx>Ammler: gbd wont give you ip
18:46<+glx>yes it would be nice to know who trigger the crash
18:47<Ammler>hmm, the problem is ap doesn't stop
18:47<Ammler>maybe just start without ap
18:47<+glx>debugging in ap is a bad idea anyway
18:48<Ammler>if we are lucky the assert happens anyway
18:50<Ammler>glx how to start witout ap
18:50<Ammler>gdb openttd -D ... ?
18:50<+glx>gdb openttd
18:50<+glx>r -D ...
18:51<Ammler>no debug parameter?
18:51<+glx>not needed, by default -D uses -d net2
18:53|-|Farden [] has quit [Quit: ( :: NoNameScript 4.02 :: )]
18:53<Ammler>gdb openttd -D -g save/autosave/network_server.tmp
18:53<SmatZ>is it okay when OTTD segfaults when using some bad newgrfs?
18:54<SmatZ>segfault = sigsegv, not assert
18:54<SmatZ>I have disabled debugging
18:54<SmatZ>please ignore me
18:56<SmatZ>hmm yes it segfaults
18:56<SmatZ>should I report it?
18:58<Eddi|zuHause3>no. don't even attempt to report bugs, especially if they are serious crashes
18:58<Sacro>just add it to the feature list
18:58<SmatZ>I just ask
18:58<SmatZ>if newgrf support is so advanced
18:58<SmatZ>that segfaults should be reported
18:59<SmatZ>no matter how bad the newgrf is
18:59<+glx>yes we should handle bad newgrf without crashing
19:05|-|Amix^ [] has joined #openttd
19:09|-|Belugas_Gone [] has joined #openttd
19:13|-|KUDr [] has joined #openttd
19:17|-|Belugas_Gone [] has quit [Quit: How about sleeping? Yeaaa..]
19:18<DaleStan>Shouldn't that be "We should handle absolutely anything at all without crashing"?
19:19<@Belugas>everyone's wish, indeed
19:24<Eddi|zuHause3>ideally, you would also not fall nto an infinite loop :p
19:26|-|Eddi|zuHause3 changed nick to Eddi|zuHause2
19:26<Sacro>ooh clever
19:27<Eddi|zuHause2>and all that by one movement of the mouse wheel ;)
19:28<Eddi|zuHause2>self.bed = true;
19:30|-|SmatZ [] has quit [Quit: Konversation terminated!]
19:34<huma>self in python is annoying
19:38|-|Bjarni [] has quit [Quit: Leaving]
19:45|-|fjb [] has quit [Remote host closed the connection]
20:06|-|Diabolic1Angel [] has joined #openttd
20:10|-|AntB [~AntB-UK@] has quit [Quit: *poof!* I am gone -=- Using ChatZilla]
20:13|-|Diabolic-Angel [] has quit [Ping timeout: 480 seconds]
20:21|-|Ammler [] has quit [Remote host closed the connection]
20:21|-|Belugas_Gone [] has joined #openttd
20:22<Amix^>oki.. dont kill me. be nice with me. but i have to paste this youtube video. as it is a part of the history in scandinavia..
20:23<Amix^>you have to be swedish or norwegian to understand though
20:30|-|Eddi|zuHause3 [] has joined #openttd
20:33<CIA-5>OpenTTD: belugas * r11281 /trunk/src/music_gui.cpp:
20:33<CIA-5>OpenTTD: -Revert(r11259): the problem was not there. In fact, it made it so that no more music were allowed on intro.
20:33<CIA-5>OpenTTD: -Fix[FS#1331]: Somehow, the notion that the first song must be the ttd theme has been lost while on the intro window.
20:33<CIA-5>OpenTTD: When using shuffling setting (which was saved), the intro song at startup was shuffled too. No more :)
20:37|-|Eddi|zuHause2 [] has quit [Ping timeout: 480 seconds]
20:54|-|Belugas_Gone [] has quit [Quit: How about sleeping? Yeaaa..]
21:18|-|Diabolic1Angel [] has quit [Quit: leaving]
21:21|-|glx [] has quit [Quit: bye]
21:46<CIA-5>OpenTTD: belugas * r11282 /trunk/src/newgrf.cpp: -Fix[FS#1344]: Use the right pointer when evaluating the size of the layouts.
21:50<CIA-5>OpenTTD: belugas * r11283 /trunk/src/newgrf.cpp: -Fix(r11282): a typo. Don't ask.
22:02|-|a1270 [] has quit [Remote host closed the connection]
22:03|-|a1270 [] has joined #openttd
22:05|-|elmex_ [] has joined #openttd
22:10|-|elmex [] has quit [Ping timeout: 480 seconds]
22:15|-|Osai [] has joined #openttd
22:39|-|Osai [] has quit [Quit: Osai]
22:49|-|nairan_ZZzz [] has joined #openttd
22:49|-|mcbane [] has quit [Ping timeout: 480 seconds]
23:06|-|notbob [] has joined #openttd
23:06|-|GordonF [] has joined #openttd
23:07|-|GordonF [] has quit []
23:07<notbob>hi all
23:08<notbob>i'm having trouble getting newindustries to work in the latest nightly
23:09<notbob>specifically getting UK Renewal to work
23:09<notbob>the UK Renewal engines work but new industries don't
23:09<notbob>am i missing something obvious?
23:18|-|Arpad58 [] has quit [Ping timeout: 480 seconds]
23:37|-|Arpad58 [] has joined #openttd
23:42|-|Amix^ [] has quit [Quit: This computer has gone to sleep]
23:53<notbob>so it looks like you install the industry and vehicle grfs separately
---Logclosed Wed Oct 17 00:00:06 2007