fix: inverted rotation/movement

This commit is contained in:
2025-06-26 11:27:58 +02:00
parent dba2e102ab
commit 390ca02172

View File

@@ -116,10 +116,10 @@ void place_update(struct gamedata* gdat, int movdat) {
}
// update X axis
tmp = !!(movdat & MOVL) - !!(movdat & MOVR);
tmp = !!(movdat & MOVR) - !!(movdat & MOVL);
gdat->pdat.sel[0] += (tmp && !shape_intersects(gdat->rows, id, gdat->pdat.sel + (i8vec2){tmp, 0})) * tmp;
// update roll
tmp = id ^ (((!!(movdat & MOVRL) - !!(movdat & MOVRR)) * 8 + id) & 31);
tmp = id ^ (((!!(movdat & MOVRR) - !!(movdat & MOVRL)) * 8 + id) & 31);
gdat->pdat.nxt[idx] ^= (tmp && !shape_intersects(gdat->rows, id ^ tmp, gdat->pdat.sel)) * tmp;
}