From 923a0e60d6df0b334dd9371ef8a8f486295ea421 Mon Sep 17 00:00:00 2001 From: celestar Date: Wed, 12 Apr 2006 09:36:27 +0000 Subject: (svn r4378) -Add and make use of an accessor function two-way => one-way => one-way => two-way signal cycling --- rail_cmd.c | 21 +-------------------- 1 file changed, 1 insertion(+), 20 deletions(-) (limited to 'rail_cmd.c') diff --git a/rail_cmd.c b/rail_cmd.c index a4e013f9f..a3ca08a20 100644 --- a/rail_cmd.c +++ b/rail_cmd.c @@ -703,26 +703,7 @@ int32 CmdBuildSingleSignal(TileIndex tile, uint32 flags, uint32 p1, uint32 p2) SetSignalType(tile, type == SIGTYPE_COMBO ? SIGTYPE_NORMAL : type + 1); } else { - // cycle between two-way -> one-way -> one-way -> ... - /* TODO: Rewrite switch into something more general */ - switch (track) { - case TRACK_LOWER: - case TRACK_RIGHT: { - byte signal = (_m[tile].m3 - 0x10) & 0x30; - if (signal == 0) signal = 0x30; - _m[tile].m3 &= ~0x30; - _m[tile].m3 |= signal; - break; - } - - default: { - byte signal = (_m[tile].m3 - 0x40) & 0xC0; - if (signal == 0) signal = 0xC0; - _m[tile].m3 &= ~0xC0; - _m[tile].m3 |= signal; - break; - } - } + CycleSignalSide(tile, track); } } } else { -- cgit v1.2.3-54-g00ecf