Skip to content

Commit a2fa133

Browse files
committed
Engine: Add resolveIds method
1 parent 27a7b5f commit a2fa133

File tree

2 files changed

+14
-4
lines changed

2 files changed

+14
-4
lines changed

src/engine/engine.cpp

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,12 +27,11 @@ void Engine::clear()
2727
}
2828

2929
/*!
30-
* Compiles all scripts to bytecode.
31-
* \see Compiler
30+
* Resolves ID references and sets pointers of entities.
31+
* \note This function shouldn't normally be called because it's called from compile().
3232
*/
33-
void Engine::compile()
33+
void Engine::resolveIds()
3434
{
35-
// Resolve entities by ID
3635
for (auto target : m_targets) {
3736
std::cout << "Processing target " << target->name() << "..." << std::endl;
3837
auto blocks = target->blocks();
@@ -66,6 +65,16 @@ void Engine::compile()
6665
block->updateFieldMap();
6766
}
6867
}
68+
}
69+
70+
/*!
71+
* Compiles all scripts to bytecode.
72+
* \see Compiler
73+
*/
74+
void Engine::compile()
75+
{
76+
// Resolve entities by ID
77+
resolveIds();
6978

7079
// Compile scripts to bytecode
7180
for (auto target : m_targets) {

src/engine/engine.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ class LIBSCRATCHCPP_EXPORT Engine
3030
Engine(const Engine &) = delete;
3131

3232
void clear();
33+
void resolveIds();
3334
void compile();
3435

3536
void frame();

0 commit comments

Comments
 (0)