diff --git a/src/melee/mp/mplib.c b/src/melee/mp/mplib.c index f718b16c96..c435a14949 100644 --- a/src/melee/mp/mplib.c +++ b/src/melee/mp/mplib.c @@ -3177,18 +3177,22 @@ void mpLib_80053DA4_Floor(int line_id, Vec3* pos_out) void mpLib_80053ECC_Floor(int line_id, Vec* vec) { + int shifted; + int new_id; CollVtx* temp_r3; LINEID_CHECK(4448, line_id); - while (true) { - int new_id = groundCollLine[line_id].x0->prev_id0; - if ((new_id != -1) && (groundCollLine[new_id].flags & CollLine_Floor)) - { - line_id = new_id; - } else { - break; - } + goto loop_entry; + +loop_start: + line_id = new_id; +loop_entry: + shifted = line_id << 3; + new_id = groundCollLine[line_id].x0->prev_id0; + if ((new_id != -1) && (groundCollLine[new_id].flags & CollLine_Floor)) + { + goto loop_start; } LINEID_CHECK(4453, line_id);