IRC logs for #openttd.dev on OFTC at 2013-12-08
⏴ go to previous day
01:06:08 *** Supercheese has joined #openttd.dev
01:06:08 *** ChanServ sets mode: +v Supercheese
02:34:58 *** LuHa has joined #openttd.dev
02:34:58 *** ChanServ sets mode: +v LuHa
09:57:53 *** Alberth has joined #openttd.dev
09:57:54 *** ChanServ sets mode: +v Alberth
10:12:35 *** Ristovski has joined #openttd.dev
11:08:45 *** frosch123 has joined #openttd.dev
11:08:45 *** ChanServ sets mode: +v frosch123
12:22:17 *** adf88 has joined #openttd.dev
12:22:17 *** ChanServ sets mode: +v adf88
12:31:44 *** Supercheese has joined #openttd.dev
12:31:44 *** ChanServ sets mode: +v Supercheese
13:04:15 *** LordAro has joined #openttd.dev
13:04:15 *** ChanServ sets mode: +v LordAro
13:10:44 *** tycoondemon has joined #openttd.dev
14:14:09 *** adf89 has joined #openttd.dev
14:50:35 <frosch123> the important part is replacing the "if (order == NULL) return ORDER_INVALID;" with "::Vehicle::Get(vehicle_id)->GetNumManualOrders() == 0"
14:51:54 <frosch123> i dedup the GetNumManualORders thingie
15:13:47 <frosch123> 5825 is easy, but annoying
15:13:59 <frosch123> i wonder who released such a broken ai though
15:19:28 <frosch123> Rubidium: EnforcePrecondition calls ScriptObject::SetLastError, which i think is only meant for executing commands / setting stuff
15:19:50 <frosch123> according to that r26120 should be reverted
15:20:01 <frosch123> i do not see any Get function using EnforcePrecondition
15:44:34 <frosch123> thanks for review :)
17:22:21 <Rubidium> frosch123: feel free to
17:40:26 <Rubidium> I'd be really interested to know why it does the thing it does though (that bit of totally unclear code)
17:40:48 <frosch123> yeah, i am looking at it for 2 hours
17:41:07 <Rubidium> oh, so you still spent less time than me ;)
17:49:47 <frosch123> the rv disconnect because when the distance between the artic parts is more than one tile
17:50:10 <frosch123> the distance is up to 8 frames between artic parts (vehicle length)
17:50:26 <frosch123> so, the path on a tile must be at least 8 frames
17:50:59 <frosch123> the "return" after changing vehicle direction just makes the rv consume more frames in the inside curve
17:54:25 <frosch123> a inner courve has exactly 8 frames, and since the front vehicle is moved first, it has just left the tile when the following vehicle enters
17:55:40 <Rubidium> so... it is actually luck for the one that created articulated RVs that it worked
17:58:49 <frosch123> well, previously the if was almost always entered
17:59:03 <frosch123> there were only 3 curves in which one frame was skipped
17:59:06 <frosch123> which was still enough
18:02:01 <planetmaker> omg, you change corner speed! :D
18:02:31 <frosch123> no, i am reverting it to the old behaviour in 13 of 16 cases
18:03:03 <frosch123> it also makes curves fair :p
18:03:10 <frosch123> in 1.3 some curves are faster than other :p
18:11:03 <Rubidium> does it (or my 'fix-ish') cause any savegame issues?
18:12:03 <frosch123> with your fix-ish artic parts in curves would be faster than the front which already left the curve
18:12:21 <frosch123> with the new diff they would be slower in 3 curves
18:13:31 <frosch123> damn, so, if a artic vehicle with 8/8 parts is in a curve, it will disconnect behind the curve
18:15:13 <frosch123> hmm, maybe we are lucky
18:15:32 <frosch123> the curve is now 10 frames in some cases instead of 9 in 1.3
18:15:53 <frosch123> so, the vehicle distance may change to 9 instead of 8 after the curve
18:16:19 <frosch123> which is fine since the shortest curve is 10 frames
18:17:07 <frosch123> but it will look weird
18:17:16 <frosch123> until they enter a depot
18:17:42 <frosch123> so, savegame conversion :/
18:21:38 <frosch123> savegame conversion is far from easy
18:27:39 <frosch123> revert to old behaviour even if it is weird?
18:31:28 <Rubidium> didn't we have something similar with trains? Or am I just making things up?
18:31:46 <frosch123> yes, michi did that :)
18:32:05 <frosch123> but trains have no rv reversal
18:32:50 <frosch123> you would somehow have to deduce from "frame", "direction" and maybe more whether the rv is before or after the new delay
18:33:34 <frosch123> hmm, let's see whether those states can be derived from debug output then
19:53:53 <frosch123> savegames >= 26118 are broken
19:54:04 <frosch123> this should convert 1.3 saves properly
19:54:07 *** adf88 has joined #openttd.dev
19:54:07 *** ChanServ sets mode: +v adf88
19:54:13 <frosch123> but well, hard to check :p
19:57:07 <frosch123> no idea about rv turning around
20:00:20 <frosch123> but assuming that their rv->state is >= 8, i don't think they triggered the weird condition
21:40:26 *** Alberth has left #openttd.dev
22:43:22 *** adf88 has joined #openttd.dev
22:43:22 *** ChanServ sets mode: +v adf88
23:03:54 *** adf89 has joined #openttd.dev
continue to next day ⏵