diff --git a/src/fragment_store/message_fragment_store.cpp b/src/fragment_store/message_fragment_store.cpp index b81ca07..c1050a9 100644 --- a/src/fragment_store/message_fragment_store.cpp +++ b/src/fragment_store/message_fragment_store.cpp @@ -50,6 +50,12 @@ namespace Fragment::Components { } // Fragment::Components void MessageFragmentStore::handleMessage(const Message3Handle& m) { + if (_fs_ignore_event) { + // message event because of us loading a fragment, ignore + // TODO: this barely makes a difference + return; + } + if (!static_cast(m)) { return; // huh? } @@ -319,10 +325,15 @@ float MessageFragmentStore::tick(float time_delta) { continue; } + // require msg and file for now if (!reg->any_of(m)) { continue; } + if (_fuid_save_queue.front().id != reg->get(m).v) { + continue; // not ours + } + auto& j_entry = j.emplace_back(nlohmann::json::object()); for (const auto& [type_id, storage] : reg->storage()) {