From f22abb7defa9640a7cee5837976957a8c3b23770 Mon Sep 17 00:00:00 2001 From: Zeno Rogue Date: Mon, 15 May 2023 02:16:02 +0200 Subject: [PATCH] embeddings:: fixed with center_z --- embeddings.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/embeddings.cpp b/embeddings.cpp index 64137de5..f8331860 100644 --- a/embeddings.cpp +++ b/embeddings.cpp @@ -1216,11 +1216,13 @@ EX void swapmatrix_iview(transmatrix& ori, transmatrix& V) { if(geom3::swap_direction == -1) { auto& data = mdata[&V]; data.logical_coordinates = cgi.emb->intermediate_to_logical * cgi.emb->actual_to_intermediate(V*C0); + auto tl = cgi.emb->intermediate_to_actual_translation(cgi.emb->logical_to_intermediate * data.logical_coordinates); - auto itl = inverse(tl); + auto itl = inverse(tl * lzpush(cgi.emb->center_z())); data.rotation = itl * V; - data.logical_coordinates[2] = ilerp(cgi.FLOOR, cgi.WALL, data.logical_coordinates[2]); + auto& lc = data.logical_coordinates; + data.logical_coordinates[2] = ilerp(cgi.FLOOR, cgi.WALL, lc[2]); if(nisot::local_perspective_used) data.rotation = data.rotation * ori; swapmatrix(V);