Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Mouse camera controls #922

Draft
wants to merge 20 commits into
base: develop
Choose a base branch
from

Conversation

lightmanLP
Copy link
Contributor

@lightmanLP lightmanLP commented Jan 4, 2025

Depends on:

Tasks:

  • Telescope control
  • Separate toggle for shield mouse control
  • Check all axis invert toggles
  • Investigate N64 mouse? (I know nothing about it)
  • Improve mouse capture logic (temp auto disabled capture when menu engaged out of fullscreen, etc)

Other:

  • Mouse quickspin enhancement
  • Z-target lock with free camera enhancement

Build Artifacts

lightmanLP and others added 20 commits January 10, 2025 03:19
Now requires to manually construct `Window` and `ControlDeck`. Both constructors depends on partially initialized `Context` object (via console variables for example).
Stack:
```
std::__shared_ptr<Ship::ConsoleVariable, (__gnu_cxx::_Lock_policy)2>::__shared_ptr(std::__shared_ptr<Ship::ConsoleVariable, (__gnu_cxx::_Lock_policy)2> * const this) (/usr/include/c++/11/bits/shared_ptr_base.h:1152)
std::shared_ptr<Ship::ConsoleVariable>::shared_ptr(std::shared_ptr<Ship::ConsoleVariable> * const this) (/usr/include/c++/11/bits/shared_ptr.h:150)
Ship::Context::GetConsoleVariables(Ship::Context * const this) (/home/lightmanlp/git/2ship2harkinian/libultraship/src/Context.cpp:329)
CVarGetInteger(const char * name, int32_t defaultValue) (/home/lightmanlp/git/2ship2harkinian/libultraship/src/public/bridge/consolevariablebridge.cpp:10)
Ship::GuiWindow::GuiWindow(Ship::GuiWindow * const this, const std::string & consoleVariable, bool isVisible, const std::string & name, ImVec2 originalSize, uint32_t windowFlags) (/home/lightmanlp/git/2ship2harkinian/libultraship/src/window/gui/GuiWindow.cpp:11)
Ship::GuiWindow::GuiWindow(Ship::GuiWindow * const this, const std::string & consoleVariable, const std::string & name) (/home/lightmanlp/git/2ship2harkinian/libultraship/src/window/gui/GuiWindow.cpp:34)
Ship::StatsWindow::GuiWindow(Ship::StatsWindow * const this) (/home/lightmanlp/git/2ship2harkinian/libultraship/src/window/gui/StatsWindow.h:8)
std::construct_at<Ship::StatsWindow, char const (&) [19], char const (&) [6]>(Ship::StatsWindow * __location) (/usr/include/c++/11/bits/stl_construct.h:97)
std::allocator_traits<std::allocator<Ship::StatsWindow> >::construct<Ship::StatsWindow, char const (&) [19], char const (&) [6]>(std::allocator_traits<std::allocator<Ship::StatsWindow> >::allocator_type & __a, Ship::StatsWindow * __p) (/usr/include/c++/11/bits/alloc_traits.h:518)
std::_Sp_counted_ptr_inplace<Ship::StatsWindow, std::allocator<Ship::StatsWindow>, (__gnu_cxx::_Lock_policy)2>::_Sp_counted_ptr_inplace<char const (&) [19], char const (&) [6]>(std::_Sp_counted_ptr_inplace<Ship::StatsWindow, std::allocator<Ship::StatsWindow>, (__gnu_cxx::_Lock_policy)2> * const this, std::allocator<Ship::StatsWindow> __a) (/usr/include/c++/11/bits/shared_ptr_base.h:519)
std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<Ship::StatsWindow, std::allocator<Ship::StatsWindow>, char const (&) [19], char const (&) [6]>(std::__shared_count<(__gnu_cxx::_Lock_policy)2> * const this, Ship::StatsWindow *& __p, std::_Sp_alloc_shared_tag<std::allocator<Ship::StatsWindow> > __a) (/usr/include/c++/11/bits/shared_ptr_base.h:650)
std::__shared_ptr<Ship::StatsWindow, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::allocator<Ship::StatsWindow>, char const (&) [19], char const (&) [6]>(std::__shared_ptr<Ship::StatsWindow, (__gnu_cxx::_Lock_policy)2> * const this, std::_Sp_alloc_shared_tag<std::allocator<Ship::StatsWindow> > __tag) (/usr/include/c++/11/bits/shared_ptr_base.h:1342)
std::shared_ptr<Ship::StatsWindow>::shared_ptr<std::allocator<Ship::StatsWindow>, char const (&) [19], char const (&) [6]>(std::shared_ptr<Ship::StatsWindow> * const this, std::_Sp_alloc_shared_tag<std::allocator<Ship::StatsWindow> > __tag) (/usr/include/c++/11/bits/shared_ptr.h:409)
std::allocate_shared<Ship::StatsWindow, std::allocator<Ship::StatsWindow>, char const (&) [19], char const (&) [6]>(const std::allocator<Ship::StatsWindow> & __a) (/usr/include/c++/11/bits/shared_ptr.h:863)
std::make_shared<Ship::StatsWindow, char const (&) [19], char const (&) [6]>() (/usr/include/c++/11/bits/shared_ptr.h:879)
Ship::Gui::Gui(Ship::Gui * const this, std::vector<std::shared_ptr<Ship::GuiWindow>, std::allocator<std::shared_ptr<Ship::GuiWindow> > > guiWindows) (/home/lightmanlp/git/2ship2harkinian/libultraship/src/window/gui/Gui.cpp:68)
std::construct_at<Ship::Gui, std::vector<std::shared_ptr<Ship::GuiWindow>, std::allocator<std::shared_ptr<Ship::GuiWindow> > >&>(Ship::Gui * __location) (/usr/include/c++/11/bits/stl_construct.h:97)
std::allocator_traits<std::allocator<Ship::Gui> >::construct<Ship::Gui, std::vector<std::shared_ptr<Ship::GuiWindow>, std::allocator<std::shared_ptr<Ship::GuiWindow> > >&>(std::allocator_traits<std::allocator<Ship::Gui> >::allocator_type & __a, Ship::Gui * __p) (/usr/include/c++/11/bits/alloc_traits.h:518)
std::_Sp_counted_ptr_inplace<Ship::Gui, std::allocator<Ship::Gui>, (__gnu_cxx::_Lock_policy)2>::_Sp_counted_ptr_inplace<std::vector<std::shared_ptr<Ship::GuiWindow>, std::allocator<std::shared_ptr<Ship::GuiWindow> > >&>(std::_Sp_counted_ptr_inplace<Ship::Gui, std::allocator<Ship::Gui>, (__gnu_cxx::_Lock_policy)2> * const this, std::allocator<Ship::Gui> __a) (/usr/include/c++/11/bits/shared_ptr_base.h:519)
std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<Ship::Gui, std::allocator<Ship::Gui>, std::vector<std::shared_ptr<Ship::GuiWindow>, std::allocator<std::shared_ptr<Ship::GuiWindow> > >&>(std::__shared_count<(__gnu_cxx::_Lock_policy)2> * const this, Ship::Gui *& __p, std::_Sp_alloc_shared_tag<std::allocator<Ship::Gui> > __a) (/usr/include/c++/11/bits/shared_ptr_base.h:650)
std::__shared_ptr<Ship::Gui, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::allocator<Ship::Gui>, std::vector<std::shared_ptr<Ship::GuiWindow>, std::allocator<std::shared_ptr<Ship::GuiWindow> > >&>(std::__shared_ptr<Ship::Gui, (__gnu_cxx::_Lock_policy)2> * const this, std::_Sp_alloc_shared_tag<std::allocator<Ship::Gui> > __tag) (/usr/include/c++/11/bits/shared_ptr_base.h:1342)
std::shared_ptr<Ship::Gui>::shared_ptr<std::allocator<Ship::Gui>, std::vector<std::shared_ptr<Ship::GuiWindow>, std::allocator<std::shared_ptr<Ship::GuiWindow> > >&>(std::shared_ptr<Ship::Gui> * const this, std::_Sp_alloc_shared_tag<std::allocator<Ship::Gui> > __tag) (/usr/include/c++/11/bits/shared_ptr.h:409)
std::allocate_shared<Ship::Gui, std::allocator<Ship::Gui>, std::vector<std::shared_ptr<Ship::GuiWindow>, std::allocator<std::shared_ptr<Ship::GuiWindow> > >&>(const std::allocator<Ship::Gui> & __a) (/usr/include/c++/11/bits/shared_ptr.h:863)
std::make_shared<Ship::Gui, std::vector<std::shared_ptr<Ship::GuiWindow>, std::allocator<std::shared_ptr<Ship::GuiWindow> > >&>() (/usr/include/c++/11/bits/shared_ptr.h:879)
Ship::Window::Window(Ship::Window * const this, std::vector<std::shared_ptr<Ship::GuiWindow>, std::allocator<std::shared_ptr<Ship::GuiWindow> > > guiWindows) (/home/lightmanlp/git/2ship2harkinian/libultraship/src/window/Window.cpp:16)
Fast::Fast3dWindow::Fast3dWindow(Fast::Fast3dWindow * const this, std::vector<std::shared_ptr<Ship::GuiWindow>, std::allocator<std::shared_ptr<Ship::GuiWindow> > > guiWindows) (/home/lightmanlp/git/2ship2harkinian/libultraship/src/graphic/Fast3D/Fast3dWindow.cpp:20)
Fast::Fast3dWindow::Fast3dWindow(Fast::Fast3dWindow * const this) (/home/lightmanlp/git/2ship2harkinian/libultraship/src/graphic/Fast3D/Fast3dWindow.cpp:17)
std::construct_at<Fast::Fast3dWindow>(Fast::Fast3dWindow * __location) (/usr/include/c++/11/bits/stl_construct.h:97)
std::allocator_traits<std::allocator<Fast::Fast3dWindow> >::construct<Fast::Fast3dWindow>(std::allocator_traits<std::allocator<Fast::Fast3dWindow> >::allocator_type & __a, Fast::Fast3dWindow * __p) (/usr/include/c++/11/bits/alloc_traits.h:518)
std::_Sp_counted_ptr_inplace<Fast::Fast3dWindow, std::allocator<Fast::Fast3dWindow>, (__gnu_cxx::_Lock_policy)2>::_Sp_counted_ptr_inplace<>(std::allocator<Fast::Fast3dWindow>)(std::_Sp_counted_ptr_inplace<Fast::Fast3dWindow, std::allocator<Fast::Fast3dWindow>, (__gnu_cxx::_Lock_policy)2> * const this, std::allocator<Fast::Fast3dWindow> __a) (/usr/include/c++/11/bits/shared_ptr_base.h:519)
std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<Fast::Fast3dWindow, std::allocator<Fast::Fast3dWindow>>(Fast::Fast3dWindow*&, std::_Sp_alloc_shared_tag<std::allocator<Fast::Fast3dWindow> >)(std::__shared_count<(__gnu_cxx::_Lock_policy)2> * const this, Fast::Fast3dWindow *& __p, std::_Sp_alloc_shared_tag<std::allocator<Fast::Fast3dWindow> > __a) (/usr/include/c++/11/bits/shared_ptr_base.h:650)
std::__shared_ptr<Fast::Fast3dWindow, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::allocator<Fast::Fast3dWindow>>(std::_Sp_alloc_shared_tag<std::allocator<Fast::Fast3dWindow> >)(std::__shared_ptr<Fast::Fast3dWindow, (__gnu_cxx::_Lock_policy)2> * const this, std::_Sp_alloc_shared_tag<std::allocator<Fast::Fast3dWindow> > __tag) (/usr/include/c++/11/bits/shared_ptr_base.h:1342)
std::shared_ptr<Fast::Fast3dWindow>::shared_ptr<std::allocator<Fast::Fast3dWindow>>(std::_Sp_alloc_shared_tag<std::allocator<Fast::Fast3dWindow> >)(std::shared_ptr<Fast::Fast3dWindow> * const this, std::_Sp_alloc_shared_tag<std::allocator<Fast::Fast3dWindow> > __tag) (/usr/include/c++/11/bits/shared_ptr.h:409)
std::allocate_shared<Fast::Fast3dWindow, std::allocator<Fast::Fast3dWindow>>(std::allocator<Fast::Fast3dWindow> const&)(const std::allocator<Fast::Fast3dWindow> & __a) (/usr/include/c++/11/bits/shared_ptr.h:863)
std::make_shared<Fast::Fast3dWindow>() (/usr/include/c++/11/bits/shared_ptr.h:879)
OTRGlobals::OTRGlobals(OTRGlobals * const this) (/home/lightmanlp/git/2ship2harkinian/mm/2s2h/BenPort.cpp:165)
InitOTR() (/home/lightmanlp/git/2ship2harkinian/mm/2s2h/BenPort.cpp:656)
main(int argc, char ** argv) (/home/lightmanlp/git/2ship2harkinian/mm/src/code/main.c:74)
```
Now requires to manually construct `Window` and `ControlDeck`. Both constructors depends on partially initialized `Context` object (via console variables for example).
Stack:
```
std::__shared_ptr<Ship::ConsoleVariable, (__gnu_cxx::_Lock_policy)2>::__shared_ptr(std::__shared_ptr<Ship::ConsoleVariable, (__gnu_cxx::_Lock_policy)2> * const this) (/usr/include/c++/11/bits/shared_ptr_base.h:1152)
std::shared_ptr<Ship::ConsoleVariable>::shared_ptr(std::shared_ptr<Ship::ConsoleVariable> * const this) (/usr/include/c++/11/bits/shared_ptr.h:150)
Ship::Context::GetConsoleVariables(Ship::Context * const this) (/home/lightmanlp/git/2ship2harkinian/libultraship/src/Context.cpp:329)
CVarGetInteger(const char * name, int32_t defaultValue) (/home/lightmanlp/git/2ship2harkinian/libultraship/src/public/bridge/consolevariablebridge.cpp:10)
Ship::GuiWindow::GuiWindow(Ship::GuiWindow * const this, const std::string & consoleVariable, bool isVisible, const std::string & name, ImVec2 originalSize, uint32_t windowFlags) (/home/lightmanlp/git/2ship2harkinian/libultraship/src/window/gui/GuiWindow.cpp:11)
Ship::GuiWindow::GuiWindow(Ship::GuiWindow * const this, const std::string & consoleVariable, const std::string & name) (/home/lightmanlp/git/2ship2harkinian/libultraship/src/window/gui/GuiWindow.cpp:34)
Ship::StatsWindow::GuiWindow(Ship::StatsWindow * const this) (/home/lightmanlp/git/2ship2harkinian/libultraship/src/window/gui/StatsWindow.h:8)
std::construct_at<Ship::StatsWindow, char const (&) [19], char const (&) [6]>(Ship::StatsWindow * __location) (/usr/include/c++/11/bits/stl_construct.h:97)
std::allocator_traits<std::allocator<Ship::StatsWindow> >::construct<Ship::StatsWindow, char const (&) [19], char const (&) [6]>(std::allocator_traits<std::allocator<Ship::StatsWindow> >::allocator_type & __a, Ship::StatsWindow * __p) (/usr/include/c++/11/bits/alloc_traits.h:518)
std::_Sp_counted_ptr_inplace<Ship::StatsWindow, std::allocator<Ship::StatsWindow>, (__gnu_cxx::_Lock_policy)2>::_Sp_counted_ptr_inplace<char const (&) [19], char const (&) [6]>(std::_Sp_counted_ptr_inplace<Ship::StatsWindow, std::allocator<Ship::StatsWindow>, (__gnu_cxx::_Lock_policy)2> * const this, std::allocator<Ship::StatsWindow> __a) (/usr/include/c++/11/bits/shared_ptr_base.h:519)
std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<Ship::StatsWindow, std::allocator<Ship::StatsWindow>, char const (&) [19], char const (&) [6]>(std::__shared_count<(__gnu_cxx::_Lock_policy)2> * const this, Ship::StatsWindow *& __p, std::_Sp_alloc_shared_tag<std::allocator<Ship::StatsWindow> > __a) (/usr/include/c++/11/bits/shared_ptr_base.h:650)
std::__shared_ptr<Ship::StatsWindow, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::allocator<Ship::StatsWindow>, char const (&) [19], char const (&) [6]>(std::__shared_ptr<Ship::StatsWindow, (__gnu_cxx::_Lock_policy)2> * const this, std::_Sp_alloc_shared_tag<std::allocator<Ship::StatsWindow> > __tag) (/usr/include/c++/11/bits/shared_ptr_base.h:1342)
std::shared_ptr<Ship::StatsWindow>::shared_ptr<std::allocator<Ship::StatsWindow>, char const (&) [19], char const (&) [6]>(std::shared_ptr<Ship::StatsWindow> * const this, std::_Sp_alloc_shared_tag<std::allocator<Ship::StatsWindow> > __tag) (/usr/include/c++/11/bits/shared_ptr.h:409)
std::allocate_shared<Ship::StatsWindow, std::allocator<Ship::StatsWindow>, char const (&) [19], char const (&) [6]>(const std::allocator<Ship::StatsWindow> & __a) (/usr/include/c++/11/bits/shared_ptr.h:863)
std::make_shared<Ship::StatsWindow, char const (&) [19], char const (&) [6]>() (/usr/include/c++/11/bits/shared_ptr.h:879)
Ship::Gui::Gui(Ship::Gui * const this, std::vector<std::shared_ptr<Ship::GuiWindow>, std::allocator<std::shared_ptr<Ship::GuiWindow> > > guiWindows) (/home/lightmanlp/git/2ship2harkinian/libultraship/src/window/gui/Gui.cpp:68)
std::construct_at<Ship::Gui, std::vector<std::shared_ptr<Ship::GuiWindow>, std::allocator<std::shared_ptr<Ship::GuiWindow> > >&>(Ship::Gui * __location) (/usr/include/c++/11/bits/stl_construct.h:97)
std::allocator_traits<std::allocator<Ship::Gui> >::construct<Ship::Gui, std::vector<std::shared_ptr<Ship::GuiWindow>, std::allocator<std::shared_ptr<Ship::GuiWindow> > >&>(std::allocator_traits<std::allocator<Ship::Gui> >::allocator_type & __a, Ship::Gui * __p) (/usr/include/c++/11/bits/alloc_traits.h:518)
std::_Sp_counted_ptr_inplace<Ship::Gui, std::allocator<Ship::Gui>, (__gnu_cxx::_Lock_policy)2>::_Sp_counted_ptr_inplace<std::vector<std::shared_ptr<Ship::GuiWindow>, std::allocator<std::shared_ptr<Ship::GuiWindow> > >&>(std::_Sp_counted_ptr_inplace<Ship::Gui, std::allocator<Ship::Gui>, (__gnu_cxx::_Lock_policy)2> * const this, std::allocator<Ship::Gui> __a) (/usr/include/c++/11/bits/shared_ptr_base.h:519)
std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<Ship::Gui, std::allocator<Ship::Gui>, std::vector<std::shared_ptr<Ship::GuiWindow>, std::allocator<std::shared_ptr<Ship::GuiWindow> > >&>(std::__shared_count<(__gnu_cxx::_Lock_policy)2> * const this, Ship::Gui *& __p, std::_Sp_alloc_shared_tag<std::allocator<Ship::Gui> > __a) (/usr/include/c++/11/bits/shared_ptr_base.h:650)
std::__shared_ptr<Ship::Gui, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::allocator<Ship::Gui>, std::vector<std::shared_ptr<Ship::GuiWindow>, std::allocator<std::shared_ptr<Ship::GuiWindow> > >&>(std::__shared_ptr<Ship::Gui, (__gnu_cxx::_Lock_policy)2> * const this, std::_Sp_alloc_shared_tag<std::allocator<Ship::Gui> > __tag) (/usr/include/c++/11/bits/shared_ptr_base.h:1342)
std::shared_ptr<Ship::Gui>::shared_ptr<std::allocator<Ship::Gui>, std::vector<std::shared_ptr<Ship::GuiWindow>, std::allocator<std::shared_ptr<Ship::GuiWindow> > >&>(std::shared_ptr<Ship::Gui> * const this, std::_Sp_alloc_shared_tag<std::allocator<Ship::Gui> > __tag) (/usr/include/c++/11/bits/shared_ptr.h:409)
std::allocate_shared<Ship::Gui, std::allocator<Ship::Gui>, std::vector<std::shared_ptr<Ship::GuiWindow>, std::allocator<std::shared_ptr<Ship::GuiWindow> > >&>(const std::allocator<Ship::Gui> & __a) (/usr/include/c++/11/bits/shared_ptr.h:863)
std::make_shared<Ship::Gui, std::vector<std::shared_ptr<Ship::GuiWindow>, std::allocator<std::shared_ptr<Ship::GuiWindow> > >&>() (/usr/include/c++/11/bits/shared_ptr.h:879)
Ship::Window::Window(Ship::Window * const this, std::vector<std::shared_ptr<Ship::GuiWindow>, std::allocator<std::shared_ptr<Ship::GuiWindow> > > guiWindows) (/home/lightmanlp/git/2ship2harkinian/libultraship/src/window/Window.cpp:16)
Fast::Fast3dWindow::Fast3dWindow(Fast::Fast3dWindow * const this, std::vector<std::shared_ptr<Ship::GuiWindow>, std::allocator<std::shared_ptr<Ship::GuiWindow> > > guiWindows) (/home/lightmanlp/git/2ship2harkinian/libultraship/src/graphic/Fast3D/Fast3dWindow.cpp:20)
Fast::Fast3dWindow::Fast3dWindow(Fast::Fast3dWindow * const this) (/home/lightmanlp/git/2ship2harkinian/libultraship/src/graphic/Fast3D/Fast3dWindow.cpp:17)
std::construct_at<Fast::Fast3dWindow>(Fast::Fast3dWindow * __location) (/usr/include/c++/11/bits/stl_construct.h:97)
std::allocator_traits<std::allocator<Fast::Fast3dWindow> >::construct<Fast::Fast3dWindow>(std::allocator_traits<std::allocator<Fast::Fast3dWindow> >::allocator_type & __a, Fast::Fast3dWindow * __p) (/usr/include/c++/11/bits/alloc_traits.h:518)
std::_Sp_counted_ptr_inplace<Fast::Fast3dWindow, std::allocator<Fast::Fast3dWindow>, (__gnu_cxx::_Lock_policy)2>::_Sp_counted_ptr_inplace<>(std::allocator<Fast::Fast3dWindow>)(std::_Sp_counted_ptr_inplace<Fast::Fast3dWindow, std::allocator<Fast::Fast3dWindow>, (__gnu_cxx::_Lock_policy)2> * const this, std::allocator<Fast::Fast3dWindow> __a) (/usr/include/c++/11/bits/shared_ptr_base.h:519)
std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<Fast::Fast3dWindow, std::allocator<Fast::Fast3dWindow>>(Fast::Fast3dWindow*&, std::_Sp_alloc_shared_tag<std::allocator<Fast::Fast3dWindow> >)(std::__shared_count<(__gnu_cxx::_Lock_policy)2> * const this, Fast::Fast3dWindow *& __p, std::_Sp_alloc_shared_tag<std::allocator<Fast::Fast3dWindow> > __a) (/usr/include/c++/11/bits/shared_ptr_base.h:650)
std::__shared_ptr<Fast::Fast3dWindow, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::allocator<Fast::Fast3dWindow>>(std::_Sp_alloc_shared_tag<std::allocator<Fast::Fast3dWindow> >)(std::__shared_ptr<Fast::Fast3dWindow, (__gnu_cxx::_Lock_policy)2> * const this, std::_Sp_alloc_shared_tag<std::allocator<Fast::Fast3dWindow> > __tag) (/usr/include/c++/11/bits/shared_ptr_base.h:1342)
std::shared_ptr<Fast::Fast3dWindow>::shared_ptr<std::allocator<Fast::Fast3dWindow>>(std::_Sp_alloc_shared_tag<std::allocator<Fast::Fast3dWindow> >)(std::shared_ptr<Fast::Fast3dWindow> * const this, std::_Sp_alloc_shared_tag<std::allocator<Fast::Fast3dWindow> > __tag) (/usr/include/c++/11/bits/shared_ptr.h:409)
std::allocate_shared<Fast::Fast3dWindow, std::allocator<Fast::Fast3dWindow>>(std::allocator<Fast::Fast3dWindow> const&)(const std::allocator<Fast::Fast3dWindow> & __a) (/usr/include/c++/11/bits/shared_ptr.h:863)
std::make_shared<Fast::Fast3dWindow>() (/usr/include/c++/11/bits/shared_ptr.h:879)
OTRGlobals::OTRGlobals(OTRGlobals * const this) (/home/lightmanlp/git/2ship2harkinian/mm/2s2h/BenPort.cpp:165)
InitOTR() (/home/lightmanlp/git/2ship2harkinian/mm/2s2h/BenPort.cpp:656)
main(int argc, char ** argv) (/home/lightmanlp/git/2ship2harkinian/mm/src/code/main.c:74)
```
Now requires to manually construct `Window` and `ControlDeck`. Both constructors depends on partially initialized `Context` object (via console variables for example).
Stack:
```
std::__shared_ptr<Ship::ConsoleVariable, (__gnu_cxx::_Lock_policy)2>::__shared_ptr(std::__shared_ptr<Ship::ConsoleVariable, (__gnu_cxx::_Lock_policy)2> * const this) (/usr/include/c++/11/bits/shared_ptr_base.h:1152)
std::shared_ptr<Ship::ConsoleVariable>::shared_ptr(std::shared_ptr<Ship::ConsoleVariable> * const this) (/usr/include/c++/11/bits/shared_ptr.h:150)
Ship::Context::GetConsoleVariables(Ship::Context * const this) (/home/lightmanlp/git/2ship2harkinian/libultraship/src/Context.cpp:329)
CVarGetInteger(const char * name, int32_t defaultValue) (/home/lightmanlp/git/2ship2harkinian/libultraship/src/public/bridge/consolevariablebridge.cpp:10)
Ship::GuiWindow::GuiWindow(Ship::GuiWindow * const this, const std::string & consoleVariable, bool isVisible, const std::string & name, ImVec2 originalSize, uint32_t windowFlags) (/home/lightmanlp/git/2ship2harkinian/libultraship/src/window/gui/GuiWindow.cpp:11)
Ship::GuiWindow::GuiWindow(Ship::GuiWindow * const this, const std::string & consoleVariable, const std::string & name) (/home/lightmanlp/git/2ship2harkinian/libultraship/src/window/gui/GuiWindow.cpp:34)
Ship::StatsWindow::GuiWindow(Ship::StatsWindow * const this) (/home/lightmanlp/git/2ship2harkinian/libultraship/src/window/gui/StatsWindow.h:8)
std::construct_at<Ship::StatsWindow, char const (&) [19], char const (&) [6]>(Ship::StatsWindow * __location) (/usr/include/c++/11/bits/stl_construct.h:97)
std::allocator_traits<std::allocator<Ship::StatsWindow> >::construct<Ship::StatsWindow, char const (&) [19], char const (&) [6]>(std::allocator_traits<std::allocator<Ship::StatsWindow> >::allocator_type & __a, Ship::StatsWindow * __p) (/usr/include/c++/11/bits/alloc_traits.h:518)
std::_Sp_counted_ptr_inplace<Ship::StatsWindow, std::allocator<Ship::StatsWindow>, (__gnu_cxx::_Lock_policy)2>::_Sp_counted_ptr_inplace<char const (&) [19], char const (&) [6]>(std::_Sp_counted_ptr_inplace<Ship::StatsWindow, std::allocator<Ship::StatsWindow>, (__gnu_cxx::_Lock_policy)2> * const this, std::allocator<Ship::StatsWindow> __a) (/usr/include/c++/11/bits/shared_ptr_base.h:519)
std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<Ship::StatsWindow, std::allocator<Ship::StatsWindow>, char const (&) [19], char const (&) [6]>(std::__shared_count<(__gnu_cxx::_Lock_policy)2> * const this, Ship::StatsWindow *& __p, std::_Sp_alloc_shared_tag<std::allocator<Ship::StatsWindow> > __a) (/usr/include/c++/11/bits/shared_ptr_base.h:650)
std::__shared_ptr<Ship::StatsWindow, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::allocator<Ship::StatsWindow>, char const (&) [19], char const (&) [6]>(std::__shared_ptr<Ship::StatsWindow, (__gnu_cxx::_Lock_policy)2> * const this, std::_Sp_alloc_shared_tag<std::allocator<Ship::StatsWindow> > __tag) (/usr/include/c++/11/bits/shared_ptr_base.h:1342)
std::shared_ptr<Ship::StatsWindow>::shared_ptr<std::allocator<Ship::StatsWindow>, char const (&) [19], char const (&) [6]>(std::shared_ptr<Ship::StatsWindow> * const this, std::_Sp_alloc_shared_tag<std::allocator<Ship::StatsWindow> > __tag) (/usr/include/c++/11/bits/shared_ptr.h:409)
std::allocate_shared<Ship::StatsWindow, std::allocator<Ship::StatsWindow>, char const (&) [19], char const (&) [6]>(const std::allocator<Ship::StatsWindow> & __a) (/usr/include/c++/11/bits/shared_ptr.h:863)
std::make_shared<Ship::StatsWindow, char const (&) [19], char const (&) [6]>() (/usr/include/c++/11/bits/shared_ptr.h:879)
Ship::Gui::Gui(Ship::Gui * const this, std::vector<std::shared_ptr<Ship::GuiWindow>, std::allocator<std::shared_ptr<Ship::GuiWindow> > > guiWindows) (/home/lightmanlp/git/2ship2harkinian/libultraship/src/window/gui/Gui.cpp:68)
std::construct_at<Ship::Gui, std::vector<std::shared_ptr<Ship::GuiWindow>, std::allocator<std::shared_ptr<Ship::GuiWindow> > >&>(Ship::Gui * __location) (/usr/include/c++/11/bits/stl_construct.h:97)
std::allocator_traits<std::allocator<Ship::Gui> >::construct<Ship::Gui, std::vector<std::shared_ptr<Ship::GuiWindow>, std::allocator<std::shared_ptr<Ship::GuiWindow> > >&>(std::allocator_traits<std::allocator<Ship::Gui> >::allocator_type & __a, Ship::Gui * __p) (/usr/include/c++/11/bits/alloc_traits.h:518)
std::_Sp_counted_ptr_inplace<Ship::Gui, std::allocator<Ship::Gui>, (__gnu_cxx::_Lock_policy)2>::_Sp_counted_ptr_inplace<std::vector<std::shared_ptr<Ship::GuiWindow>, std::allocator<std::shared_ptr<Ship::GuiWindow> > >&>(std::_Sp_counted_ptr_inplace<Ship::Gui, std::allocator<Ship::Gui>, (__gnu_cxx::_Lock_policy)2> * const this, std::allocator<Ship::Gui> __a) (/usr/include/c++/11/bits/shared_ptr_base.h:519)
std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<Ship::Gui, std::allocator<Ship::Gui>, std::vector<std::shared_ptr<Ship::GuiWindow>, std::allocator<std::shared_ptr<Ship::GuiWindow> > >&>(std::__shared_count<(__gnu_cxx::_Lock_policy)2> * const this, Ship::Gui *& __p, std::_Sp_alloc_shared_tag<std::allocator<Ship::Gui> > __a) (/usr/include/c++/11/bits/shared_ptr_base.h:650)
std::__shared_ptr<Ship::Gui, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::allocator<Ship::Gui>, std::vector<std::shared_ptr<Ship::GuiWindow>, std::allocator<std::shared_ptr<Ship::GuiWindow> > >&>(std::__shared_ptr<Ship::Gui, (__gnu_cxx::_Lock_policy)2> * const this, std::_Sp_alloc_shared_tag<std::allocator<Ship::Gui> > __tag) (/usr/include/c++/11/bits/shared_ptr_base.h:1342)
std::shared_ptr<Ship::Gui>::shared_ptr<std::allocator<Ship::Gui>, std::vector<std::shared_ptr<Ship::GuiWindow>, std::allocator<std::shared_ptr<Ship::GuiWindow> > >&>(std::shared_ptr<Ship::Gui> * const this, std::_Sp_alloc_shared_tag<std::allocator<Ship::Gui> > __tag) (/usr/include/c++/11/bits/shared_ptr.h:409)
std::allocate_shared<Ship::Gui, std::allocator<Ship::Gui>, std::vector<std::shared_ptr<Ship::GuiWindow>, std::allocator<std::shared_ptr<Ship::GuiWindow> > >&>(const std::allocator<Ship::Gui> & __a) (/usr/include/c++/11/bits/shared_ptr.h:863)
std::make_shared<Ship::Gui, std::vector<std::shared_ptr<Ship::GuiWindow>, std::allocator<std::shared_ptr<Ship::GuiWindow> > >&>() (/usr/include/c++/11/bits/shared_ptr.h:879)
Ship::Window::Window(Ship::Window * const this, std::vector<std::shared_ptr<Ship::GuiWindow>, std::allocator<std::shared_ptr<Ship::GuiWindow> > > guiWindows) (/home/lightmanlp/git/2ship2harkinian/libultraship/src/window/Window.cpp:16)
Fast::Fast3dWindow::Fast3dWindow(Fast::Fast3dWindow * const this, std::vector<std::shared_ptr<Ship::GuiWindow>, std::allocator<std::shared_ptr<Ship::GuiWindow> > > guiWindows) (/home/lightmanlp/git/2ship2harkinian/libultraship/src/graphic/Fast3D/Fast3dWindow.cpp:20)
Fast::Fast3dWindow::Fast3dWindow(Fast::Fast3dWindow * const this) (/home/lightmanlp/git/2ship2harkinian/libultraship/src/graphic/Fast3D/Fast3dWindow.cpp:17)
std::construct_at<Fast::Fast3dWindow>(Fast::Fast3dWindow * __location) (/usr/include/c++/11/bits/stl_construct.h:97)
std::allocator_traits<std::allocator<Fast::Fast3dWindow> >::construct<Fast::Fast3dWindow>(std::allocator_traits<std::allocator<Fast::Fast3dWindow> >::allocator_type & __a, Fast::Fast3dWindow * __p) (/usr/include/c++/11/bits/alloc_traits.h:518)
std::_Sp_counted_ptr_inplace<Fast::Fast3dWindow, std::allocator<Fast::Fast3dWindow>, (__gnu_cxx::_Lock_policy)2>::_Sp_counted_ptr_inplace<>(std::allocator<Fast::Fast3dWindow>)(std::_Sp_counted_ptr_inplace<Fast::Fast3dWindow, std::allocator<Fast::Fast3dWindow>, (__gnu_cxx::_Lock_policy)2> * const this, std::allocator<Fast::Fast3dWindow> __a) (/usr/include/c++/11/bits/shared_ptr_base.h:519)
std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<Fast::Fast3dWindow, std::allocator<Fast::Fast3dWindow>>(Fast::Fast3dWindow*&, std::_Sp_alloc_shared_tag<std::allocator<Fast::Fast3dWindow> >)(std::__shared_count<(__gnu_cxx::_Lock_policy)2> * const this, Fast::Fast3dWindow *& __p, std::_Sp_alloc_shared_tag<std::allocator<Fast::Fast3dWindow> > __a) (/usr/include/c++/11/bits/shared_ptr_base.h:650)
std::__shared_ptr<Fast::Fast3dWindow, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::allocator<Fast::Fast3dWindow>>(std::_Sp_alloc_shared_tag<std::allocator<Fast::Fast3dWindow> >)(std::__shared_ptr<Fast::Fast3dWindow, (__gnu_cxx::_Lock_policy)2> * const this, std::_Sp_alloc_shared_tag<std::allocator<Fast::Fast3dWindow> > __tag) (/usr/include/c++/11/bits/shared_ptr_base.h:1342)
std::shared_ptr<Fast::Fast3dWindow>::shared_ptr<std::allocator<Fast::Fast3dWindow>>(std::_Sp_alloc_shared_tag<std::allocator<Fast::Fast3dWindow> >)(std::shared_ptr<Fast::Fast3dWindow> * const this, std::_Sp_alloc_shared_tag<std::allocator<Fast::Fast3dWindow> > __tag) (/usr/include/c++/11/bits/shared_ptr.h:409)
std::allocate_shared<Fast::Fast3dWindow, std::allocator<Fast::Fast3dWindow>>(std::allocator<Fast::Fast3dWindow> const&)(const std::allocator<Fast::Fast3dWindow> & __a) (/usr/include/c++/11/bits/shared_ptr.h:863)
std::make_shared<Fast::Fast3dWindow>() (/usr/include/c++/11/bits/shared_ptr.h:879)
OTRGlobals::OTRGlobals(OTRGlobals * const this) (/home/lightmanlp/git/2ship2harkinian/mm/2s2h/BenPort.cpp:165)
InitOTR() (/home/lightmanlp/git/2ship2harkinian/mm/2s2h/BenPort.cpp:656)
main(int argc, char ** argv) (/home/lightmanlp/git/2ship2harkinian/mm/src/code/main.c:74)
```
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant