Page 1 of 1
[Rseding91] [0.17.68] Steam engine ghost lua set direction to northeast weird graphics
Posted: Wed Sep 11, 2019 6:43 pm
by boskid
Place steam engine ghost
Point cursor to steam engine ghost
Code: Select all
/c game.player.selected.direction=defines.direction.northeast
steam-engine-northeast.png (43.73 KiB) Viewed 3438 times
Re: [0.17.68] Steam engine ghost lua set direction to northeast weird graphics
Posted: Wed Sep 11, 2019 6:59 pm
by boskid
Heat exchanger ghost, when set to "northeast" crashes game:
log Code: Select all
0.001 2019-09-11 20:55:11; Factorio 0.17.68 (build 47074, win64, steam)
Code: Select all
27.753 Player 0 ran command: game.player.selected.direction=defines.direction.northeast
Code: Select all
c:\cygwin64\tmp\factorio-build-cdvldo\src\entity\boiler.cpp (165): Boiler::draw
c:\cygwin64\tmp\factorio-build-cdvldo\src\entity\boiler.cpp (165): Boiler::draw
c:\cygwin64\tmp\factorio-build-cdvldo\src\entity\entityghost.cpp (211): EntityGhost::draw
c:\cygwin64\tmp\factorio-build-cdvldo\src\entity\entityghost.cpp (211): EntityGhost::draw
c:\cygwin64\tmp\factorio-build-cdvldo\src\gra\entitybutton.cpp (282): EntityRenderer::prepareRow
c:\cygwin64\tmp\factorio-build-cdvldo\src\gui\entitybutton.cpp (78): EntityButtonBase<agui::EmptyWidget>::draw
c:\cygwin64\tmp\factorio-build-cdvldo\src\graphics\entityrenderer.cpp (186): EntityRenderer::threadJob
c:\cygwin64\tmp\factorio-build-cdvldo\src\gui\entitybutton.cpp (157): EntityButtonBase<agui::EmptyWidget>::paintComponent
c:\cygwin64\tmp\factorio-build-cdvldo\libraries\agui\widget\widget.cpp (1280): agui::Widget::recursivePaintChildrenInternal
c:\cygwin64\tmp\factorio-build-cdvldo\src\util\workerthread.cpp (42): WorkerThread::loop
c:\cygwin64\tmp\factorio-build-cdvldo\libraries\agui\widget\widget.cpp (1268): agui::Widget::recursivePaintChildren
c:\program files (x86)\microsoft visual studio\2017\buildtools\vc\tools\msvc\14.15.26726\include\thr\xthread (230): std::_LaunchPad<std::unique_ptr<std::tuple<void (__cdecl WorkerThread::*)(void),WorkerThread *>,std::default_delete<std::tuple<void (__cdecl WorkerThread::*)(void),WorkerThread *> > > >::_Go
c:\cygwin64\tmp\factorio-build-cdvldo\libraries\agui\widget\layout.cpp (80): agui::Layout::recursivePaintChildrenInternal
c:\cygwin64\tmp\factorio-build-cdvldo\libraries\agui\widgetols\vc\tool (1268): agui::Widget::recursivePaintChildren
c:\program files (x86)\microsoft visual studio\2017\buildtools\vc\tools\msvc\14.15.26726\include\thr\xthread (209): std::_Pad::_Call_func
c:\cygwin64\tmp\factorio-build-cdvldo\libraries\agui\widget\layout.cpp (80): agui::Layout::recursivePaintChildrenInternal
minkernel\crts\ucrt\src\appcrt\startup\thread.cpp (115): thread_start<unsigned int (__cdecl*)(void * __ptr64)>
ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 00007FFC09B47BD4)
00007FFC09B47BD4 (KERNEL32): (filename not available): BaseThreadInitThunk
ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 00007FFC0A2ECE71)
00007FFC0A2ECE71 (ntdll): (filename not available): RtlUserThreadStart
Stack trace logging done
c:\cygwin64\tmp\factorio-build-cdvldo\libraries\agui\widget\frame.cpp (108): agui::Frame::recursivePaintChildrenInternal
c:\cygwin64\tmp\factorio-build-cdvldo\libraries\agui\widget\widget.cpp (1268): agui::Widget::recursivePaintChildren
c:\cygwin64\tmp\factorio-build-cdvldo\libraries\agui\widget\layout.cpp (80): agui::Layout::recursivePaintChildrenInternal
c:\cygwin64\tmp\factorio-build-cdvldo\libraries\agui\widget\frame.cpp (108): agui::Frame::recursivePaintChildrenInternal
c:\cygwin64\tmp\factorio-build-cdvldo\libraries\agui\widget\widget.cpp (1286): agui::Widget::recursivePaintChildrenInternal
c:\cygwin64\tmp\factorio-build-cdvldo\libraries\agui\gui.cpp (739): agui::Gui::render
c:\cygwin64\tmp\factorio-build-cdvldo\src\graphics\guirenderer.cpp (78): GuiRenderer::prepare
c:\cygwin64\tmp\factorio-build-cdvldo\src\mainloop.cpp (971): MainLoop::prepare
c:\cygwin64\tmp\factorio-build-cdvldo\src\mainloop.cpp (632): MainLoop::mainLoopStep
c:\cygwin64\tmp\factorio-build-cdvldo\src\mainloop.cpp (377): MainLoop::run
c:\cygwin64\tmp\factorio-build-cdvldo\src\main.cpp (1362): wmain
Code: Select all
29.112 Error Boiler.cpp:165: Wrong direction
Re: [0.17.68] Steam engine ghost lua set direction to northeast weird graphics
Posted: Wed Sep 11, 2019 7:07 pm
by boskid
Express loader ghost, when set to northeast also crashes but in a different way:
log Code: Select all
0.001 2019-09-11 21:04:49; Factorio 0.17.68 (build 47074, win64, steam)
Code: Select all
23.023 Player 0 ran command: game.player.selected.direction=defines.direction.northeast
Code: Select all
Factorio crashed. Generating symbolized stacktrace, please wait ...
Factorio crashed. Generating symbolized stacktrace, please wait ...
c:\cygwin64\tmp\factorio-build-cdvldo\src\util\fourdirectionpointers.hpp (35): FourDirectionPointers<WallConnectable>::operator[]
c:\cygwin64\tmp\factorio-build-cdvldo\src\util\fourdirectionpointers.hpp (35): FourDirectionPointers<WallConnectable>::operator[]
c:\cygwin64\tmp\factorio-build-cdvldo\src\entity\transportbeltconnectable.cpp (665): TransportBeltConnectable::drawHalfBelt
c:\cygwin64\tmp\factorio-build-cdvldo\src\entity\transportbeltconnectable.cpp (665): TransportBeltConnectable::drawHalfBelt
c:\cygwin64\tmp\factorio-build-cdvldo\src\entity\loader.cpp (114): Loader::drawBase
c:\cygwin64\tmp\factorio-build-cdvldo\src\entity\loader.cpp (114): Loader::drawBase
c:\cygwin64\tmp\factorio-build-cdvldo\src\entity\transportbeltconnectable.cpp (506): TransportBeltConnectable::draw
c:\cygwin64\tmp\factorio-build-cdvldo\src\entity\transportbeltconnectable.cpp (506): TransportBeltConnectable::draw
c:\cygwin64\tmp\factorio-build-cdvldo\src\entity\entityghost.cpp (211): EntityGhost::draw
c:\cygwin64\tmp\factorio-build-cdvldo\src\entity\entityghost.cpp (211): EntityGhost::draw
c:\cygwin64\tmp\factorio-build-cdvldo\src\gui\encs\entityrende (78): EntityButtonBase<agui::EmptyWidget>::draw
c:\cygwin64\tmp\factorio-build-cdvldo\src\graphics\entityrenderer.cpp (282): EntityRenderer::prepareRow
c:\cygwin64\tmp\factorio-build-cdvldo\src\graphics\entityrenderer.cpp (186): EntityRenderer::threadJob
c:\cygwin64\tmp\factorio-build-cdvldo\src\gui\entitybutton.cpp (157): EntityButtonBase<agui::EmptyWidget>::paintComponent
c:\cygwin64\tmp\factorio-build-cdvldo\src\util\workerthread.cpp (42): WorkerThread::loop
c:\cygwin64\tmp\factorio-build-cdvldo\libraries\agui\widget\widget.cpp (1280): agui::Widget::recursivePaintChildrenInternal
c:\prgwram files (x86)\microsoft visualibraries\agui\widget\widget.cpp (1268): agui::Widget::recursivePaintChildren
c:\prgwram files (x86)\microsoft visualibraries\agui\widget\widget.cpp (230): std::_LaunchPad<std::unique_ptr<std::tuple<void (__cdecl WorkerThread::*)(void),WorkerThread *>,std::default_delete<std::tuple<void (__cdecl WorkerThread::*)(void),WorkerThread *> > > >::_Go
c:\cygwin64\tmp\factorio-build-cdvldo\libraries\agui\widget\layout.cpp (80): agui::Layout::recursivePaintChildrenInternal
c:\program files (x86)\microsoft visual studio\2017\buildtools\vc\tools\msvc\14.15.26726\include\thr\xthread (209): std::_Pad::_Call_func
minkernel\crts\ucrt\src\appcrt\startup\thread.cpp (115): thread_start<unsigned int (__cdecl*)(void * __ptr64)>
c:\cygwin64\tmp\factorio-build-cdvldo\libraries\agui\widget\widget.cpp (1268): agui::Widget::recursivePaintChildren
ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 00007FFC09B47BD4)
00007FFC09B47BD4 (KERNEL32): (filename not available): BaseThreadInitThunk
ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 00007FFC0A2ECE71)
00007FFC0A2ECE71 (ntdll): (filename not available): RtlUserThreadStart
Stack trace logging done
c:\cygwin64\tmp\factorio-build-cdvldo\libraries\agui\widget\layout.cpp (80): agui::Layout::recursivePaintChildrenInternal
c:\cygwin64\tmp\factorio-build-cdvldo\libraries\agui\widget\frame.cpp (108): agui::Frame::recursivePaintChildrenInternal
c:\cygwin64\tmp\factorio-build-cdvldo\libraries\agui\widget\widget.cpp (1268): agui::Widget::recursivePaintChildren
c:\cygwin64\tmp\factorio-build-cdvldo\libraries\agui\widget\layout.cpp (80): agui::Layout::recursivePaintChildrenInternal
c:\cygwin64\tmp\factorio-build-cdvldo\libraries\agui\widget\frame.cpp (108): agui::Frame::recursivePaintChildrenInternal
c:\cygwin64\tmp\factorio-build-cdvldo\libraries\agui\widget\widget.cpp (1286): agui::Widget::recursivePaintChildrenInternal
c:\cygwin64\tmp\factorio-build-cdvldo\libraries\agui\gui.cpp (739): agui::Gui::render
c:\cygwin64\tmp\factorio-build-cdvldo\src\graphics\guirenderer.cpp (78): GuiRenderer::prepare
c:\cygwin64\tmp\factorio-build-cdvldo\src\mainloop.cpp (971): MainLoop::prepare
c:\cygwin64\tmp\factorio-build-cdvldo\src\mainloop.cpp (632): MainLoop::mainLoopStep
c:\cygwin64\tmp\factorio-build-cdvldo\src\mainloop.cpp (377): MainLoop::run
c:\cygwin64\tmp\factorio-build-cdvldo\src\main.cpp (1362): wmain
Code: Select all
24.368 Error FourDirectionPointers.hpp:35: Wrong direction of FourDirectionPointers.
Re: [0.17.68] Steam engine ghost lua set direction to northeast weird graphics
Posted: Wed Sep 11, 2019 7:44 pm
by Rseding91
Thanks for the report(s). The main issue is: setting direction of a ghost after creation currently isn't supported - so I'm not surprised that it crashes when you do so.
Re: [Rseding91] [0.17.68] Steam engine ghost lua set direction to northeast weird graphics
Posted: Wed Sep 11, 2019 7:58 pm
by Rseding91
It's now fixed for the next version of 0.17 by disallowing writing direction on entity ghosts. There's a to-do to make ghosts work the same as standard entities (let you rotate them, change settings, and so on) for one of the future versions of the game and when that happens the Lua API will allow setting direction on them again.
Re: [Rseding91] [0.17.68] Steam engine ghost lua set direction to northeast weird graphics
Posted: Wed Sep 11, 2019 8:10 pm
by boskid
Rseding91 wrote: ↑ Wed Sep 11, 2019 7:58 pm
[...] There's a to-do to make ghosts work the same as standard entities (let you rotate them, change settings, and so on) for one of the future versions of the game and when that happens the Lua API will allow setting direction on them again.
So both
75594 and
75595 are "duplicate" for now because core issue is "entity ghost lua set direction" not supported. Second one is not yet marked as duplicate. Is it intentional so Dominik makes note that this will need to be fixed in future?
Re: [Rseding91] [0.17.68] Steam engine ghost lua set direction to northeast weird graphics
Posted: Wed Sep 11, 2019 8:57 pm
by Rseding91
I'll move the other report into duplicates. The desync will most likely be fixed when support to set direction on ghosts is implemented. Most likely the reason it desyncs is it's not doing the normal rotation logic because it's a ghost and all of the pipe logic expects that ghosts don't rotate after creation.