How to migrate animation name change
Posted: Sun Dec 08, 2024 2:40 pm
Hi, I'm trying to change an animation prototype name. I was told that forward slash is not an acceptable entity name character any more.
After changing the name, games with that animation present crash on load:
I've never written a migration before, but this JSON doesn't seem to help:
Nor this:
Nor this Lua:
Factorio doesn't complain about the migrations, but the same crash occurs. What should I do?
After changing the name, games with that animation present crash on load:
Code: Select all
68.758 Loading level.dat: 16962342 bytes.
68.760 Info Scenario.cpp:178: Map version 2.0.23-0
68.763 Info PrototypeMigrationList.cpp:197: Activating migration DiscoScience/entity-name.json
68.946 Blueprint storage "blueprint-storage-2.dat" was not found, trying to load previous version storage "blueprint-storage.dat"
Factorio crashed. Generating symbolized stacktrace, please wait ...
src/Util/StacktraceToStream.cpp (52): walkStackAndPrintToStream
src/Util/StacktraceToStream.cpp (60): printStacktraceToStream
src/Util/Logger.cpp (334): writeStacktrace
src/Util/Logger.cpp (379): logStacktrace
src/Util/Logging.cpp (58): logStackTrace
src/Util/Logging.cpp (103): logAndAbortOrThrow
src/Util/Logging.cpp (95): logAndAbortOrThrow
src/Util/ReleaseAssert.cpp (7): ReleaseAssertFailed
src/Script/ScriptRendering/ScriptRendering.cpp (69): checkConsistency
src/Map/Map.cpp (1742): checkConsistency
src/Map/MapSetupHelper.cpp (187): MapSetupHelper
src/Map/MapSetupHelper.cpp (69): MapSetupHelper
src/Map/Map.cpp (828): setupEntities
src/Scenario/Scenario.cpp (330): loadFactory
src/Scenario/ParallelScenarioLoader.cpp (192): doLoad
/opt/libcxx16-macos10.10-11.0/lib/../include/c++/v1/__functional/invoke.h (394): __invoke<void (*)(MapInterface, ParallelScenarioLoader *, MapDeserialiser *, InputType, InputSource *, MultiplayerManagerBase *, NamedBool<EnableReplayTag>), MapInterface, ParallelScenarioLoader *, MapDeserialiser *, InputType, InputSource *, MultiplayerManagerBase *, NamedBool<EnableReplayTag>::Enum>
/opt/libcxx16-macos10.10-11.0/lib/../include/c++/v1/thread (282): __thread_execute<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, void (*)(MapInterface, ParallelScenarioLoader *, MapDeserialiser *, InputType, InputSource *, MultiplayerManagerBase *, NamedBool<EnableReplayTag>), MapInterface, ParallelScenarioLoader *, MapDeserialiser *, InputType, InputSource *, MultiplayerManagerBase *, NamedBool<EnableReplayTag>::Enum, 2UL, 3UL, 4UL, 5UL, 6UL, 7UL, 8UL>
/opt/libcxx16-macos10.10-11.0/lib/../include/c++/v1/thread (293): __thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, void (*)(MapInterface, ParallelScenarioLoader *, MapDeserialiser *, InputType, InputSource *, MultiplayerManagerBase *, NamedBool<EnableReplayTag>), MapInterface, ParallelScenarioLoader *, MapDeserialiser *, InputType, InputSource *, MultiplayerManagerBase *, NamedBool<EnableReplayTag>::Enum> >
0x181cb6f93
Stack trace logging done
71.232 Error ScriptRendering.cpp:69: this->objectsToDestroy.count(object.getID()) was not true
71.232 Error CrashHandler.cpp:643: Received 6
Code: Select all
{
"entity":
[
["discoscience/lab-storm", "discoscience-lab-storm"]
]
}
Code: Select all
{
"animation":
[
["discoscience/lab-storm", "discoscience-lab-storm"]
]
}
Code: Select all
rendering.clear("DiscoScience")