@@ -1336,7 +1336,7 @@ Stage *Engine::stage() const
13361336 if (it == m_targets.end ())
13371337 return nullptr ;
13381338 else
1339- return dynamic_cast <Stage *>((*it).get ());
1339+ return static_cast <Stage *>((*it).get ());
13401340}
13411341
13421342const std::vector<std::shared_ptr<Monitor>> &Engine::monitors () const
@@ -1658,8 +1658,7 @@ const std::vector<Script *> &Engine::getHats(Target *target, HatType type)
16581658
16591659 // Get root if this is a clone
16601660 if (!target->isStage ()) {
1661- Sprite *sprite = dynamic_cast <Sprite *>(target);
1662- assert (sprite);
1661+ Sprite *sprite = static_cast <Sprite *>(target);
16631662
16641663 if (sprite->isClone ())
16651664 target = sprite->cloneSprite ();
@@ -1746,7 +1745,7 @@ const std::unordered_set<std::string> &Engine::unsupportedBlocks() const
17461745
17471746void Engine::compileMonitor (std::shared_ptr<Monitor> monitor)
17481747{
1749- Target *target = monitor->sprite () ? dynamic_cast <Target *>(monitor->sprite ()) : stage ();
1748+ Target *target = monitor->sprite () ? static_cast <Target *>(monitor->sprite ()) : stage ();
17501749 Compiler compiler (this , target);
17511750 auto block = monitor->block ();
17521751 auto section = blockSection (block->opcode ());
@@ -1812,9 +1811,8 @@ void Engine::deleteClones()
18121811 m_clones.clear ();
18131812
18141813 for (auto target : m_targets) {
1815- Sprite *sprite = dynamic_cast <Sprite *>(target.get ());
1816-
1817- if (sprite) {
1814+ if (!target->isStage ()) {
1815+ Sprite *sprite = static_cast <Sprite *>(target.get ());
18181816 std::vector<std::shared_ptr<Sprite>> clones = sprite->clones ();
18191817
18201818 for (auto clone : clones) {
@@ -1837,7 +1835,7 @@ void Engine::removeExecutableClones()
18371835void Engine::addVarOrListMonitor (std::shared_ptr<Monitor> monitor, Target *target)
18381836{
18391837 if (!target->isStage ())
1840- monitor->setSprite (dynamic_cast <Sprite *>(target));
1838+ monitor->setSprite (static_cast <Sprite *>(target));
18411839
18421840 monitor->setBlockSection (blockSection (monitor->opcode ()));
18431841 auto container = blockSectionContainer (monitor->opcode ());
0 commit comments