From cf7d19c775fa5d58ef084ba4a767624fbbbf14a5 Mon Sep 17 00:00:00 2001 From: Zeno Rogue Date: Tue, 1 Jun 2021 18:02:58 +0200 Subject: [PATCH] ray:: fixed the interaction of m_via_texture and changing gms_array_size --- raycaster.cpp | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/raycaster.cpp b/raycaster.cpp index 5f21c519..d5f1b43d 100644 --- a/raycaster.cpp +++ b/raycaster.cpp @@ -1714,6 +1714,7 @@ struct raycast_map { } bool gms_exceeded() { + if(m_via_texture) return false; return isize(ms) > gms_array_size; } @@ -1966,10 +1967,19 @@ EX void cast() { if(rmap->need_to_create(cs)) { rmap->create_all(cs); if(rmap->gms_exceeded()) { - gms_array_size = isize(rmap->ms); - println(hlog, "changing gms_array_size to ", gms_array_size); - reset_raycaster(); - cast(); + if(isize(rmap->ms) > gms_limit || can_via_texture) { + m_via_texture = true; + wall_via_texture = true; + println(hlog, "enabling m_via_texture"); + reset_raycaster(); + cast(); + } + else { + gms_array_size = isize(rmap->ms); + println(hlog, "changing gms_array_size to ", gms_array_size); + reset_raycaster(); + cast(); + } return; } rmap->assign_uniforms(&*o);