@@ -215,6 +215,7 @@ void QuestLoader::render_ui() {
215
215
}
216
216
217
217
if (API::get ()->reframework ()->is_drawing_ui ()) {
218
+ ImGui::SetNextWindowPos ({100 , 40 }, ImGuiCond_FirstUseEver);
218
219
ImGui::Begin (" Quest Loader" );
219
220
220
221
if (ImGui::TreeNode (" Quest Exporter" )) {
@@ -254,6 +255,10 @@ void QuestLoader::render_ui() {
254
255
const auto questdict = *quest_manager->get_field <ManagedObject*>(" _QuestDataDictionary" );
255
256
256
257
if (ImGui::Button (" Reload Quests" )) {
258
+ if (utility::call<bool >(quest_manager, " isActiveQuest" )) {
259
+ utility::call (quest_manager, " questCancel" );
260
+ }
261
+
257
262
for (auto & quest : m_custom_quests) {
258
263
quest.second .cleanup (questdict);
259
264
}
@@ -303,10 +308,10 @@ void QuestLoader::render_ui() {
303
308
ImGui::TreePop ();
304
309
}
305
310
306
- if (ImGui::TreeNode (" Debug" )) {
311
+ /* if (ImGui::TreeNode("Debug")) {
307
312
ImGui::Checkbox("Skip Hook", &m_skip_hook);
308
313
ImGui::TreePop();
309
- }
314
+ }*/
310
315
311
316
ImGui::End ();
312
317
}
@@ -326,7 +331,7 @@ void QuestLoader::parse_quest(const std::filesystem::path& path) {
326
331
}
327
332
328
333
if (!j.contains (" QuestID" )) {
329
- return ;
334
+ throw std::exception ( " Not a valid Quest File. Quest ID is missing. " ) ;
330
335
}
331
336
332
337
const auto quest_id = j[" QuestID" ].get <int32_t >();
0 commit comments