Doesn't compile against MyGUI 3.4.0
I tried building against MyGUI 3.4.0 and ended up with these errors:
In file included from /build/openmw/src/openmw-openmw-0.45.0/apps/openmw/mwgui/screenfader.cpp:1:
/build/openmw/src/openmw-openmw-0.45.0/apps/openmw/mwgui/screenfader.hpp:15:22: error: ‘shared_ptr’ in namespace ‘std’ does not name a template type
15 | typedef std::shared_ptr<FadeOp> Ptr;
| ^~~~~~~~~~
/build/openmw/src/openmw-openmw-0.45.0/apps/openmw/mwgui/screenfader.hpp:7:1: note: ‘std::shared_ptr’ is defined in header ‘<memory>’; did you forget to ‘#include <memory>’?
6 | #include "windowbase.hpp"
+++ |+#include <memory>
7 |
In file included from /build/openmw/src/openmw-openmw-0.45.0/apps/openmw/mwgui/screenfader.cpp:1:
/build/openmw/src/openmw-openmw-0.45.0/apps/openmw/mwgui/screenfader.hpp:67:28: error: ‘Ptr’ is not a member of ‘MWGui::FadeOp’
67 | std::deque<FadeOp::Ptr> mQueue;
| ^~~
/build/openmw/src/openmw-openmw-0.45.0/apps/openmw/mwgui/screenfader.hpp:67:28: error: ‘Ptr’ is not a member of ‘MWGui::FadeOp’
/build/openmw/src/openmw-openmw-0.45.0/apps/openmw/mwgui/screenfader.hpp:67:31: error: template argument 1 is invalid
67 | std::deque<FadeOp::Ptr> mQueue;
| ^
/build/openmw/src/openmw-openmw-0.45.0/apps/openmw/mwgui/screenfader.hpp:67:31: error: template argument 2 is invalid
/build/openmw/src/openmw-openmw-0.45.0/apps/openmw/mwgui/screenfader.cpp: In member function ‘void MWGui::ScreenFader::onFrameStart(float)’:
/build/openmw/src/openmw-openmw-0.45.0/apps/openmw/mwgui/screenfader.cpp:114:21: error: request for member ‘empty’ in ‘((MWGui::ScreenFader*)this)->MWGui::ScreenFader::mQueue’, which is of non-class type ‘int’
114 | if (!mQueue.empty())
| ^~~~~
/build/openmw/src/openmw-openmw-0.45.0/apps/openmw/mwgui/screenfader.cpp:116:25: error: request for member ‘front’ in ‘((MWGui::ScreenFader*)this)->MWGui::ScreenFader::mQueue’, which is of non-class type ‘int’
116 | if (!mQueue.front()->isRunning())
| ^~~~~
/build/openmw/src/openmw-openmw-0.45.0/apps/openmw/mwgui/screenfader.cpp:117:24: error: request for member ‘front’ in ‘((MWGui::ScreenFader*)this)->MWGui::ScreenFader::mQueue’, which is of non-class type ‘int’
117 | mQueue.front()->start();
| ^~~~~
/build/openmw/src/openmw-openmw-0.45.0/apps/openmw/mwgui/screenfader.cpp:118:20: error: request for member ‘front’ in ‘((MWGui::ScreenFader*)this)->MWGui::ScreenFader::mQueue’, which is of non-class type ‘int’
118 | mQueue.front()->update(dt);
| ^~~~~
/build/openmw/src/openmw-openmw-0.45.0/apps/openmw/mwgui/screenfader.cpp: In member function ‘void MWGui::ScreenFader::queue(float, float, float)’:
/build/openmw/src/openmw-openmw-0.45.0/apps/openmw/mwgui/screenfader.cpp:172:16: error: request for member ‘push_back’ in ‘((MWGui::ScreenFader*)this)->MWGui::ScreenFader::mQueue’, which is of non-class type ‘int’
172 | mQueue.push_back(FadeOp::Ptr(new FadeOp(this, time, targetAlpha, delay)));
| ^~~~~~~~~
/build/openmw/src/openmw-openmw-0.45.0/apps/openmw/mwgui/screenfader.cpp:172:34: error: ‘Ptr’ is not a member of ‘MWGui::FadeOp’
172 | mQueue.push_back(FadeOp::Ptr(new FadeOp(this, time, targetAlpha, delay)));
| ^~~
/build/openmw/src/openmw-openmw-0.45.0/apps/openmw/mwgui/screenfader.cpp: In member function ‘bool MWGui::ScreenFader::isEmpty()’:
/build/openmw/src/openmw-openmw-0.45.0/apps/openmw/mwgui/screenfader.cpp:177:23: error: request for member ‘empty’ in ‘((MWGui::ScreenFader*)this)->MWGui::ScreenFader::mQueue’, which is of non-class type ‘int’
177 | return mQueue.empty();
| ^~~~~
/build/openmw/src/openmw-openmw-0.45.0/apps/openmw/mwgui/screenfader.cpp: In member function ‘void MWGui::ScreenFader::clearQueue()’:
/build/openmw/src/openmw-openmw-0.45.0/apps/openmw/mwgui/screenfader.cpp:182:16: error: request for member ‘clear’ in ‘((MWGui::ScreenFader*)this)->MWGui::ScreenFader::mQueue’, which is of non-class type ‘int’
182 | mQueue.clear();
| ^~~~~
/build/openmw/src/openmw-openmw-0.45.0/apps/openmw/mwgui/screenfader.cpp: In member function ‘void MWGui::ScreenFader::notifyOperationFinished()’:
/build/openmw/src/openmw-openmw-0.45.0/apps/openmw/mwgui/screenfader.cpp:200:17: error: ‘Ptr’ is not a member of ‘MWGui::FadeOp’
200 | FadeOp::Ptr op = mQueue.front();
| ^~~
/build/openmw/src/openmw-openmw-0.45.0/apps/openmw/mwgui/screenfader.cpp:201:16: error: request for member ‘pop_front’ in ‘((MWGui::ScreenFader*)this)->MWGui::ScreenFader::mQueue’, which is of non-class type ‘int’
201 | mQueue.pop_front();
| ^~~~~~~~~
/build/openmw/src/openmw-openmw-0.45.0/apps/openmw/mwgui/screenfader.cpp:204:20: error: request for member ‘push_back’ in ‘((MWGui::ScreenFader*)this)->MWGui::ScreenFader::mQueue’, which is of non-class type ‘int’
204 | mQueue.push_back(op);
| ^~~~~~~~~
/build/openmw/src/openmw-openmw-0.45.0/apps/openmw/mwgui/screenfader.cpp:204:30: error: ‘op’ was not declared in this scope
204 | mQueue.push_back(op);
| ^~
Would be cool if this built properly against the most recent MyGUI release.