diff --git a/deps/nostalgia/src/olympic/studio/modlib/src/project.cpp b/deps/nostalgia/src/olympic/studio/modlib/src/project.cpp index edbb732..9b9843a 100644 --- a/deps/nostalgia/src/olympic/studio/modlib/src/project.cpp +++ b/deps/nostalgia/src/olympic/studio/modlib/src/project.cpp @@ -56,9 +56,13 @@ ox::FileSystem &Project::romFs() noexcept { } ox::Error Project::mkdir(ox::CRStringView path) const noexcept { - oxReturnError(m_fs.mkdir(path, true)); - fileUpdated.emit(path, {}); - return {}; + auto const [stat, err] = m_fs.stat(path); + if (err) { + oxReturnError(m_fs.mkdir(path, true)); + fileUpdated.emit(path, {}); + } + return stat.fileType == ox::FileType::Directory ? + ox::Error{} : OxError(1, "path exists as normal file"); } ox::Result Project::stat(ox::CRStringView path) const noexcept {