Skip to content

Commit 06ee5fd

Browse files
committed
Set world from last edited level
This is more correct, as it no longer treats the last edited level as just a filename; this also lets you select a level in the options menu
1 parent 42ca471 commit 06ee5fd

File tree

1 file changed

+5
-7
lines changed

1 file changed

+5
-7
lines changed

src/editor/editor.cpp

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1032,10 +1032,9 @@ Editor::quit_editor()
10321032
{
10331033
remove_autosave_file();
10341034

1035-
// TODO: What about external files?
1036-
if (!get_levelfile().empty() && g_config->editor_remember_last_level)
1035+
if (m_world && !get_levelfile().empty() && g_config->editor_remember_last_level)
10371036
{
1038-
g_config->editor_last_edited_level = FileSystem::join(get_level_directory(), FileSystem::basename(get_levelfile()));
1037+
g_config->editor_last_edited_level = FileSystem::join(get_level_directory(), get_levelfile());
10391038
}
10401039

10411040
// Quit level editor.
@@ -1241,10 +1240,9 @@ Editor::setup()
12411240
if (g_config->editor_remember_last_level &&
12421241
!g_config->editor_last_edited_level.empty())
12431242
{
1244-
// We technically don't set m_world here, so this is considered
1245-
// "editing a file". We have to do some silly basename logic later. Hack,
1246-
// but whatever.
1247-
set_level(g_config->editor_last_edited_level);
1243+
set_world(std::move(
1244+
World::from_directory(FileSystem::dirname(g_config->editor_last_edited_level))));
1245+
set_level(FileSystem::basename(g_config->editor_last_edited_level));
12481246
}
12491247
else
12501248
set_level(nullptr, true);

0 commit comments

Comments
 (0)