From e085fae3c435bbd048f2f03130752a90e9ad4417 Mon Sep 17 00:00:00 2001 From: Svornost <11434-svornost@users.noreply.gitgud.io> Date: Fri, 8 May 2020 11:10:22 -0700 Subject: [PATCH] Display miniscenes after the refresh instead of before. --- src/interaction/slaveInteract.js | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/src/interaction/slaveInteract.js b/src/interaction/slaveInteract.js index 6808ad215d4..0960e29f64c 100644 --- a/src/interaction/slaveInteract.js +++ b/src/interaction/slaveInteract.js @@ -1443,15 +1443,23 @@ App.UI.SlaveInteract.useSlaveDisplay = function(slave) { Object.assign(V, sexOption.update); } - // Scene - if (sexOption.scene) { - App.UI.replace('#miniscene', `<<include "${sexOption.scene}">>`); - } else if (sexOption.goto) { - App.UI.replace('#miniscene', `<<goto "${sexOption.goto}">>`); + if (sexOption.goto) { + // just play the passage, no need to refresh anything here + Engine.play(sexOption.goto); + } else if (sexOption.scene) { + // Run scene and store render results temporarily + let frag = document.createDocumentFragment(); + $(frag).wiki(`<<include "${sexOption.scene}">>`); + + // Refresh (clears scene display) + App.UI.SlaveInteract.refreshAll(V.slaves[V.slaveIndices[V.activeSlave.ID]]); + + // Display scene render results + $("#miniscene").append(frag); + } else { + // just refresh + App.UI.SlaveInteract.refreshAll(V.slaves[V.slaveIndices[V.activeSlave.ID]]); } - - App.UI.SlaveInteract.refreshAll(V.slaves[V.slaveIndices[V.activeSlave.ID]]); - return; } } return el; -- GitLab