From 9c52ea3b268669e16487baf655f8d7f04db53e61 Mon Sep 17 00:00:00 2001 From: Strangerke Date: Sat, 14 Jan 2017 00:32:56 +0100 Subject: CRYO: Remove a GOTO --- engines/cryo/eden.cpp | 51 +++++++++++++++++++++++++-------------------------- 1 file changed, 25 insertions(+), 26 deletions(-) (limited to 'engines/cryo') diff --git a/engines/cryo/eden.cpp b/engines/cryo/eden.cpp index 610694ac83..83f59026f5 100644 --- a/engines/cryo/eden.cpp +++ b/engines/cryo/eden.cpp @@ -2001,32 +2001,31 @@ void EdenGame::moveDino(perso_t *perso) { if (dir2 & 0x80) dir2 = -(dir2 & ~0x80); dir2 += loc; - if (canMoveThere(dir2, perso)) - goto ok; - dir2 = *dirs++; - if (dir2 & 0x80) - dir2 = -(dir2 & ~0x80); - dir2 += loc; - if (canMoveThere(dir2, perso)) - goto ok; - dir2 = *dirs++; - if (dir2 & 0x80) - dir2 = -(dir2 & ~0x80); - dir2 += loc; - if (canMoveThere(dir2, perso)) - goto ok; - dir2 = *dirs++; - if (dir2 & 0x80) - dir2 = -(dir2 & ~0x80); - dir2 += loc; - if (canMoveThere(dir2, perso)) - goto ok; - dir2 = perso->_lastLoc; - perso->_lastLoc = 0; - if (!canMoveThere(dir2, perso)) - return; - ok: - ; + if (!canMoveThere(dir2, perso)) { + dir2 = *dirs++; + if (dir2 & 0x80) + dir2 = -(dir2 & ~0x80); + dir2 += loc; + if (!canMoveThere(dir2, perso)) { + dir2 = *dirs++; + if (dir2 & 0x80) + dir2 = -(dir2 & ~0x80); + dir2 += loc; + if (!canMoveThere(dir2, perso)) { + dir2 = *dirs++; + if (dir2 & 0x80) + dir2 = -(dir2 & ~0x80); + dir2 += loc; + if (!canMoveThere(dir2, perso)) { + dir2 = perso->_lastLoc; + perso->_lastLoc = 0; + if (!canMoveThere(dir2, perso)) + return; + } + } + } + } + perso->_lastLoc = perso->_roomNum & 0xFF; perso->_roomNum &= ~0xFF; perso->_roomNum |= dir2 & 0xFF; -- cgit v1.2.3