part_type_create() crashes compiled game
Reporter: TheSyrethClan | Status: open | Last Modified: April 18, 2021, 04:51:37 amDescribe the bug
Whenever the compiled game runs part_type_create() it crashes, opening a 'xyz.exe has stopped working' window.
Steps To Reproduce
Steps to reproduce the behavior:
- Create an object.
- Assign a part_type_create() to a variable, optionally other things.
- Compile and run.
Parse & Compiler Bugs
Here's the EML code for the test project I have created.
Object create code:
part_sys = part_system_create();
part_em = part_emitter_create(part_sys);
part = part_type_create();
part_type_sprite(part, Sp_0, 0, 0, 0);
part_type_gravity(part,0.05,90);
Object Space Key Press code:
part_emitter_burst(part_sys,part_em,part,10);
Crashes
The gbd backtrace log.
Starting program: C:\msys64\tmp\egm1303431095958538578.exe
[New Thread 9628.0xe9c]
[New Thread 9628.0x1234]
[New Thread 9628.0xec]
[New Thread 9628.0x1aa0]
[New Thread 9628.0x2520]
[New Thread 9628.0x24b4]
[Thread 9628.0x2520 exited with code 0]
[Thread 9628.0x24b4 exited with code 0]
[New Thread 9628.0x24e8]
[Thread 9628.0x1aa0 exited with code 0]
[New Thread 9628.0xa18]
[New Thread 9628.0x24ec]
[New Thread 9628.0x247c]
[New Thread 9628.0xc4c]
[New Thread 9628.0x248c]
warning: onecore\com\combase\objact\objact.cxx(834)\combase.dll!00007FF800868CC7: (caller: 00007FF800868046) ReturnHr(1) tid(8d4) 800401F0 CoInitialize has not been called.
[New Thread 9628.0x1e00]
[New Thread 9628.0x1e5c]
Thread 1 received signal SIGSEGV, Segmentation fault.
0x00007ff787318394 in std::less<enigma::pt_shape>::operator() (
this=0x7ff78750e6c0 <enigma::shape_to_sprite>,
__x=<error reading variable>, __y=@0xece5dfde60: enigma::pt_sh_pixel)
at C:/msys64/mingw64/include/c++/10.2.0/bits/stl_function.h:386
386 { return __x < __y; }
(gdb) bt
#0 0x00007ff787318394 in std::less<enigma::pt_shape>::operator() (
this=0x7ff78750e6c0 <enigma::shape_to_sprite>,
__x=<error reading variable>, __y=@0xece5dfde60: enigma::pt_sh_pixel)
at C:/msys64/mingw64/include/c++/10.2.0/bits/stl_function.h:386
#1 0x00007ff7873fbe57 in std::_Rb_tree<enigma::pt_shape, std::pair<enigma::pt_shape const, enigma::particle_sprite*>, std::_Select1st<std::pair<enigma::pt_shape const, enigma::particle_sprite*> >, std::less<enigma::pt_shape>, std::allocator<std::pair<enigma::pt_shape const, enigma::particle_sprite*> > >::_M_lower_bound (this=0x7ff78750e6c0 <enigma::shape_to_sprite>, __x=0xfeeefeeefeeefeee,
__y=0x7ff78750e6c8 <enigma::shape_to_sprite+8>,
__k=@0xece5dfde60: enigma::pt_sh_pixel)
at C:/msys64/mingw64/include/c++/10.2.0/bits/stl_tree.h:1935
#2 0x00007ff7873fc2b1 in std::_Rb_tree<enigma::pt_shape, std::pair<enigma::pt_shape const, enigma::particle_sprite*>, std::_Select1st<std::pair<enigma::pt_shape const, enigma::particle_sprite*> >, std::less<enigma::pt_shape>, std::allocator<std::pair<enigma::pt_shape const, enigma::particle_sprite*> > >::find (
this=0x7ff78750e6c0 <enigma::shape_to_sprite>,
__k=@0xece5dfde60: enigma::pt_sh_pixel)
at C:/msys64/mingw64/include/c++/10.2.0/bits/stl_tree.h:2553
#3 0x00007ff7873b7810 in std::map<enigma::pt_shape, enigma::particle_sprite*, std::less<enigma::pt_shape>, std::allocator<std::pair<enigma::pt_shape const, enigma::particle_sprite*> > >::find (
this=0x7ff78750e6c0 <enigma::shape_to_sprite>,
__x=@0xece5dfde60: enigma::pt_sh_pixel)
at C:/msys64/mingw64/include/c++/10.2.0/bits/stl_map.h:1170
#4 0x00007ff78726a30e in enigma::get_particle_sprite (
particle_shape=enigma::pt_sh_pixel)
at Universal_System/Extensions/ParticleSystems/PS_particle_sprites.cpp:940
#5 0x00007ff78726e818 in enigma::initialize_particle_type (pt=0x232b9705900)
at Universal_System/Extensions/ParticleSystems/PS_particle_type.cpp:53
#6 0x00007ff78726eb63 in enigma_user::part_type_create ()
at Universal_System/Extensions/ParticleSystems/PS_particle_type.cpp:105
#7 0x00007ff7871c3e7c in enigma::OBJ_O_0::myevent_create (this=0x232b9704380)
at C:/Users/Confidential/AppData/Local/ENIGMA/Preprocessor_Environment_Editable/IDE_EDIT_objectfunctionality.h:47
#8 0x00007ff7872337e5 in enigma::roomstruct::gotome (
this=0x7ff787507ae0 <enigma::grd_rooms>, gamestart=true)
at Universal_System/roomsystem.cpp:276
#9 0x00007ff7872378b0 in enigma::game_start ()
at Universal_System/roomsystem.cpp:885
#10 0x00007ff787244aeb in enigma::initialize_everything ()
at Universal_System/Resources/loading.cpp:128
#11 0x00007ff7871c730b in enigma::enigma_main (argc=1, argv=0x232b7e560d0)
at Platforms/General/PFmain.cpp:85
#12 0x00007ff7871cd9c7 in WinMain (hInstance=0x7ff7871c0000,
hPrevInstance=0x0, lpCmdLine=0x232b7cc45eb "", iCmdShow=10)
at Platforms/Win32/WINDOWSmain.cpp:460
#13 0x00007ff787445992 in main (flags=<optimized out>,
cmdline=<optimized out>, inst=<optimized out>)
at C:/_/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/crt/crt0_c.c:18
#14 0x00007ff7871c13c1 in __tmainCRTStartup ()
at C:/_/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/crt/crtexe.c:321
#15 0x00007ff7871c14f6 in mainCRTStartup ()
at C:/_/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/crt/crtexe.c:202
(gdb)
Expected behavior
Particles being created (with the sprite in question and a bit of gravity).
Game files & Screenshots
N/A
ENIGMA Configuration:
- Windows 64-bit
- Build > ENIGMA > API config:
- Compiler Mingw GCC G++
- Platform: Windows
- Graphics: OpenGL 1.1 / OpenGL 3.3 / Direct3D 9
- Audio: DirectSound
- Collision: Precise
- Widgets: Windows Widgets
- Networking: None
Leave a commentView this issue on GitHub
Please sign in to post comments, or you can view this issue on GitHub.