Pages: « 1 2 3 »
  Print  
Author Topic: Are particles working in ENIGMA? Not for me !  (Read 7139 times)
Offline (Unknown gender) TheExDeus
Reply #15 Posted on: April 21, 2014, 08:43:31 AM

Developer
Joined: Apr 2008
Posts: 1872

View Profile
Quote
For the pre-made stuff (action_effect) no, did not notice.  For my fire1 custom particles, I noticed, but I cannot compare to anything since they did not work for me previously :(  The fire1 example is a streamed particle,  first instance does not slow much, but when adding another things start to really slow down.
Now I already posted my PC and GPU specs they are up to date and fast, can run all latest games at their full settings.  So CPU/GPU is not a limitation.
Okay I got around to testing the draw calls and indeed blend mode caused the VBO to render and blend modes were changed per particle. So it ended up rendering 1 quad per VBO which is rubbish. With 10400 particles I got 25FPS. After I fixed that I got 140FPS now. Current progress is here:
On the right is Code XL debugger. Right now it's total of 70GL calls and only 3 draw calls (being glClear to clear the screen, then one draw call for the text and one draw call for all the particles). In all the graphics systems I get 140-160FPS which leads me to believe this is no longer a drawing limitation, but now it's CPU bound (all the particles are calculated on the CPU).

I only have old GM8 installed in that I get about 35FPS with the same example. But I guess the new GM:S would probably work even faster than ENIGMA in that code (maybe someone can test? The example is here: https://dl.dropboxusercontent.com/u/21117924/particle_test.gmk) as they use GPU to calculate particles. So it might be a lot faster, but a lot more limited. Like they no longer have attractors, destructors and so on.

What we could do is use instances in in the particle system. It would lower bandwidth by factor of 4. We could technically use instances for all sprites, but that would not allow mixing vertices like we can do now.

The branch with fixes is here: https://github.com/enigma-dev/enigma-dev/tree/particle_fix . Could you Dark check and see what FPS you get now?

Also, I previously was mistaken. I was very sure we used batching even in GL1. That apparently is not the case. For backwards compatibility that thing is still immediate mode. But because of clever driver side stuff it usually runs a little faster than GL3. :P We still need to optimized GL3 though.
« Last Edit: April 21, 2014, 05:12:39 PM by TheExDeus » Logged
Offline (Unknown gender) Darkstar2
Reply #16 Posted on: April 21, 2014, 04:38:25 PM
Member
Joined: Jan 2014
Posts: 1244

View Profile Email
Nice find :D

Ok I screwed up somehow, when I attempted to test before and after your change I had a FPS of 75 I was confused at first but then I remembered I had adaptive vsync in my NVIDIA panel on, I had to set it to use application settings which I did but it was too late I already had your new mod.  Anyhow, tested at 144-146 FPS OGL1 (holds steady 146) and about 130-136 FPS OGL3.

//edit:  Testing on compiled EXE, holds steady at 151 FPS (OGL1) and 133 FPS (OGL3). :D

BTW, DX11 and DX9 does not work anymore with particles I would get a blank screen but initially before a re-install, I would get this:

Quote
Building for mode (0)
Cleaning up from previous executions
 - Cleared parsed objects
 - Cleared room entries
 - Cleared shared locals list
 - Cleared event info
Loading shared locals from extensions list
Location in memory of structure: 4eb62da8
Copying resources:
Copying sprite names

Copying sound names

Copying background names

Copying path names

Copying script names

Copying shader names

Copying font names [1]
Copying timeline names [kidding, these are totally not implemented :P]

Copying object names [1]
Copying room names [1]
SYNTAX CHECKING AND PRIMARY PARSING:
0 Scripts:
"Linking" scripts
`Linking' 0 scripts in 0 passes...
Completing script "Link"
Done.
1 Objects:
 obj_0: 12 events:
  Event[0]:   Parsing 1 sub-events:
Check `obj_0::create... Done. Parse... Done.
  Event[8]:   Parsing 1 sub-events:
Check `obj_0::draw... Done. Parse... Done.
Creating room creation code scope and parsing
"Linking" scripts into the objects...
"Link" complete.
Tabulating maximum argument passes to each script
Finished
Writing executable information and resources.
Writing modes and settings
Writing object switch
Writing resource names and maxima
Writing events
Linking globals
Running Secondary Parse Passes
Writing object data
Writing local accessors
Writing font data
Writing room data
Writing shader data
Running make from `mingw32-make.exe'
Full command line: mingw32-make.exe Game WORKDIR="C:/ProgramData/ENIGMA/" GMODE=Run GRAPHICS=Direct3D11 AUDIO=None COLLISION=Precise WIDGETS=None NETWORKING=None PLATFORM=Win32 CXXFLAGS="-I../Additional/i686-w64-mingw32/include" COMPILEPATH="Windows/Windows" EXTENSIONS=" Universal_System/Extensions/Alarms Universal_System/Extensions/Timelines Universal_System/Extensions/Paths Universal_System/Extensions/MotionPlanning Universal_System/Extensions/DateTime Universal_System/Extensions/ParticleSystems Universal_System/Extensions/DataStructures" OUTPUTNAME="d:/tmp/egm8583723487621132820.exe" eTCpath=""
mingw32-make.exe -C ENIGMAsystem/SHELL
mingw32-make.exe[1]: Entering directory `D:/enigma/ENIGMA/enigma-dev/ENIGMAsystem/SHELL'
mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/
mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Audio_Systems/None/
mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Bridges/Win32-Direct3D11/
mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Collision_Systems/Precise/
mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/Direct3D11/
mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/General/
mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Platforms/Win32/
mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/
mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/Alarms/
mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/DataStructures/
mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/DateTime/
mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/MotionPlanning/
mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/ParticleSystems/
mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/Paths/
mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/Timelines/
mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Widget_Systems/None/
g++ -I../Additional/i686-w64-mingw32/include -IPlatforms/Win32/Info -IGraphics_Systems/Direct3D11/Info -IAudio_Systems/None/Info -ICollision_Systems/Precise/Info -IWidget_Systems/None/Info -INetworking_Systems/None/Info -IUniversal_System/Info -I. -IC:/ProgramData/ENIGMA/ -Wall -s -O3 -fno-exceptions  -MMD -MP -c -o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/Timelines/timelines.o Universal_System/Extensions/Timelines/timelines.cpp
g++ -I../Additional/i686-w64-mingw32/include -IPlatforms/Win32/Info -IGraphics_Systems/Direct3D11/Info -IAudio_Systems/None/Info -ICollision_Systems/Precise/Info -IWidget_Systems/None/Info -INetworking_Systems/None/Info -IUniversal_System/Info -I. -IC:/ProgramData/ENIGMA/ -Wall -s -O3 -fno-exceptions  -MMD -MP -c -o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/SHELLmain.o SHELLmain.cpp
mingw32-make.exe[1]: Leaving directory `D:/enigma/ENIGMA/enigma-dev/ENIGMAsystem/SHELL'
mingw32-make.exe[1]: Entering directory `D:/enigma/ENIGMA/enigma-dev/ENIGMAsystem/SHELL'
mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/
mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Audio_Systems/None/
mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Bridges/Win32-Direct3D11/
mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Collision_Systems/Precise/
mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/Direct3D11/
mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/General/
mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Platforms/Win32/
mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/
mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/Alarms/
mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/DataStructures/
mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/DateTime/
mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/MotionPlanning/
mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/ParticleSystems/
mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/Paths/
mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/Timelines/
mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Widget_Systems/None/
echo "// GENERATED RESOURCE FILE FRONTEND" > C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/resources.rc
for res in Preprocessor_Environment_Editable/Resources.rc; do echo "#include \"$res\"" >> C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/resources.rc; done
windres.exe -o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/resources.res -I. -IC:/ProgramData/ENIGMA/ C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/resources.rc -O coff
g++ -L../Additional/i686-w64-mingw32/lib -static-libgcc -static-libstdc++ -o "d:/tmp/egm8583723487621132820.exe" C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/SHELLmain.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/libEGMstd.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Platforms/Win32/WINDOWSjoystick.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Platforms/Win32/WINDOWSmain.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Platforms/Win32/WINDOWSregistry.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Platforms/Win32/WINDOWScallback.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Platforms/Win32/WINDOWSwindow.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Platforms/Win32/WINDOWSfilemanip.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Platforms/Win32/WINDOWSthreads.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Platforms/Win32/WINDOWSsystem.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Platforms/Win32/WINDOWSexternals.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/Direct3D11/DX11profiler.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/Direct3D11/DX11sprite.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/Direct3D11/DX11textures.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/Direct3D11/DX11colors.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/Direct3D11/DX11vertex.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/Direct3D11/DX11d3d.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/Direct3D11/DX11surface.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/Direct3D11/DX11background.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/Direct3D11/DX11model.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/Direct3D11/DX11shader.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/Direct3D11/DX11enable.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/Direct3D11/DX11draw.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/Direct3D11/DX11screen.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/Direct3D11/DX11blend.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/Direct3D11/DX11primitives.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/Direct3D11/DIRECTX11Std.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/Direct3D11/DX11tiles.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/Direct3D11/DX11matrix.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/General/GSfont.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/General/GSstdraw.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/General/GSsurface.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/General/GScurves.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/General/GSsprite.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/General/GSmath.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/General/GSbackground.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Audio_Systems/None/fillin.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Collision_Systems/Precise/PRECimpl.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Collision_Systems/Precise/PRECfuncs.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Collision_Systems/Precise/placeholderlinks.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Widget_Systems/None/nowidget_impl.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/CallbackArrays.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/instance_planar.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/object.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/lodepng.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/instance.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/mathnc.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/backgroundstruct.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/multifunction_variant.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/highscore_functions.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/loading.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/fontinit.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/rectpack.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/soundinit.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/darray.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/callbacks_events.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/bufferstruct.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/transform_object.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/terminal_io.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/collisions_object.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/globalupdate.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/move_functions.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/reflexive_types.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/planar_object.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/var4.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/fontstruct.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/fileio.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/lives.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/shaderstruct.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/dynamic_args.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/spriteinit.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/graphics_object.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/estring.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/backgroundinit.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/spritestruct.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/ENIGMA_GLOBALS.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/resource_data.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/image_formats.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/zlib.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/roomsystem.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/instance_system.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/depth_draw.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/var4_lua.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/Alarms/alarmcode.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/Timelines/timelines.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/Paths/path_functions.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/Paths/pathinit.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/Paths/pathstruct.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/MotionPlanning/mp_movement.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/MotionPlanning/motion_planning.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/MotionPlanning/motion_planning_struct.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/DateTime/date_time.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/ParticleSystems/PS_effects.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/ParticleSystems/PS_particle_emitter.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/ParticleSystems/PS_particle_attractor.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/ParticleSystems/PS_actions.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/ParticleSystems/PS_particle_changer.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/ParticleSystems/PS_particle_updatedraw.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/ParticleSystems/PS_particle_deflector.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/ParticleSystems/PS_particle_destroyer.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/ParticleSystems/PS_particle_particles_apiimpl.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/ParticleSystems/PS_particle_sprites.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/ParticleSystems/PS_particle_type.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/ParticleSystems/PS_particle_system_apiimpl.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/ParticleSystems/PS_particle_depths.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/ParticleSystems/PS_particle_system_manager.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/ParticleSystems/PS_particle_system.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/DataStructures/data_structures.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Bridges/Win32-Direct3D11/graphics_bridge.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/resources.res -lffi -lcomdlg32 -lgdi32 -lwinmm -lwininet -ld3dx11 -lz -ldxgi -ld3d11 -ld3dx11
C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/Direct3D11/DX11primitives.o:DX11primitives.cpp:(.text+0x9c): undefined reference to `enigma_user::d3d_model_create(int)'
C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/Direct3D11/DX11primitives.o:DX11primitives.cpp:(.text+0x14c): undefined reference to `enigma_user::d3d_model_create(int)'
C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/Direct3D11/DX11primitives.o:DX11primitives.cpp:(.text+0x35c): undefined reference to `enigma_user::d3d_model_create(int)'
C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/Direct3D11/DX11primitives.o:DX11primitives.cpp:(.text+0x40c): undefined reference to `enigma_user::d3d_model_create(int)'
C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/Direct3D11/DX11primitives.o:DX11primitives.cpp:(.text+0x919): undefined reference to `enigma_user::d3d_model_create(int)'
C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/Direct3D11/DX11primitives.o:DX11primitives.cpp:(.text+0xb09): more undefined references to `enigma_user::d3d_model_create(int)' follow
C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/backgroundstruct.o:backgroundstruct.cpp:(.text+0xbec): undefined reference to `enigma::graphics_get_texture_pixeldata(unsigned int, unsigned int*, unsigned int*)'
C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/fontstruct.o:fontstruct.cpp:(.text+0xb82): undefined reference to `enigma::graphics_get_texture_pixeldata(unsigned int, unsigned int*, unsigned int*)'
C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/spritestruct.o:spritestruct.cpp:(.text+0x14f): undefined reference to `enigma::graphics_get_texture_pixeldata(unsigned int, unsigned int*, unsigned int*)'
collect2.exe: error: ld returned 1 exit status
mingw32-make.exe[1]: *** [compile_game] Error 1
mingw32-make.exe[1]: Leaving directory `D:/enigma/ENIGMA/enigma-dev/ENIGMAsystem/SHELL'
mingw32-make.exe: *** [Game] Error 2

But that was before, when I removed ENIGMA and re-installed + applied your fix, I get a blank screen on DX9/11.

I'm assuming that with your new fix it is meant only to work in OGL1/3 right ?


« Last Edit: April 21, 2014, 04:53:32 PM by Darkstar2 » Logged
Offline (Unknown gender) TheExDeus
Reply #17 Posted on: April 21, 2014, 05:14:40 PM

Developer
Joined: Apr 2008
Posts: 1872

View Profile
Quote
BTW, DX11 and DX9 does not work anymore with particles I would get a blank screen but initially before a re-install, I would get this:
Yes, sorry, apparently I missed something. I fixed it now. The problem is that I didn't see the error before, because I didn't delete the ProgramData/ENIGMA/ folder. So sometimes changes I make to the code aren't actually showing up, so these kinds of bugs can happen. When I asked for a clean build I got the same error and I fixed it. (https://github.com/enigma-dev/enigma-dev/commits/particle_fix) But the bug was only in GL1.

So GL1 and GL3 should work now. DX9 also works for me in that example and several others. But I have noticed that 3D examples like Minecraft doesn't work in DX9. It just loads for a while (a lot longer than it does in GL) and then doesn't draw anything. But I don't think I did that, because that is something I didn't really touch. I also tried current Master (so unrelated to the changes I did in my branch) and I still don't see anything. Robert should look into that. The slow load might be because of a slower getpixel() call (used in the Minecraft example to create the world), but I cannot explain the lack of drawing.
Logged
Offline (Unknown gender) Darkstar2
Reply #18 Posted on: April 21, 2014, 05:46:13 PM
Member
Joined: Jan 2014
Posts: 1244

View Profile Email
No changes, still does not work.

BTW, OGL1 worked before your recent fix, OGl1 and 3, it is DX9 and DX11 that returned the errors I posted above.

DX9/11 still does not work with your particle example:

Quote
Building for mode (0)
Cleaning up from previous executions
 - Cleared parsed objects
 - Cleared room entries
 - Cleared shared locals list
 - Cleared event info
Loading shared locals from extensions list
Location in memory of structure: 4e4caf08
Copying resources:
Copying sprite names

Copying sound names

Copying background names

Copying path names

Copying script names

Copying shader names

Copying font names [1]
Copying timeline names [kidding, these are totally not implemented :P]

Copying object names [1]
Copying room names [1]
SYNTAX CHECKING AND PRIMARY PARSING:
0 Scripts:
"Linking" scripts
`Linking' 0 scripts in 0 passes...
Completing script "Link"
Done.
1 Objects:
 obj_0: 12 events:
  Event[0]:   Parsing 1 sub-events:
Check `obj_0::create... Done. Parse... Done.
  Event[8]:   Parsing 1 sub-events:
Check `obj_0::draw... Done. Parse... Done.
Creating room creation code scope and parsing
"Linking" scripts into the objects...
"Link" complete.
Tabulating maximum argument passes to each script
Finished
Writing executable information and resources.
Writing modes and settings
Writing object switch
Writing resource names and maxima
Writing events
Linking globals
Running Secondary Parse Passes
Writing object data
Writing local accessors
Writing font data
Writing room data
Writing shader data
Running make from `mingw32-make.exe'
Full command line: mingw32-make.exe Game WORKDIR="C:/ProgramData/ENIGMA/" GMODE=Run GRAPHICS=Direct3D11 AUDIO=None COLLISION=Precise WIDGETS=None NETWORKING=None PLATFORM=Win32 CXXFLAGS="-I../Additional/i686-w64-mingw32/include" COMPILEPATH="Windows/Windows" EXTENSIONS=" Universal_System/Extensions/Alarms Universal_System/Extensions/Timelines Universal_System/Extensions/Paths Universal_System/Extensions/MotionPlanning Universal_System/Extensions/DateTime Universal_System/Extensions/ParticleSystems Universal_System/Extensions/DataStructures" OUTPUTNAME="d:/tmp/egm197115060577725745.exe" eTCpath=""
mingw32-make.exe -C ENIGMAsystem/SHELL
mingw32-make.exe[1]: Entering directory `D:/enigma/ENIGMA/enigma-dev/ENIGMAsystem/SHELL'
mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/
mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Audio_Systems/None/
mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Bridges/Win32-Direct3D11/
mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Collision_Systems/Precise/
mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/Direct3D11/
mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/General/
mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Platforms/Win32/
mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/
mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/Alarms/
mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/DataStructures/
mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/DateTime/
mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/MotionPlanning/
mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/ParticleSystems/
mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/Paths/
mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/Timelines/
mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Widget_Systems/None/
g++ -I../Additional/i686-w64-mingw32/include -IPlatforms/Win32/Info -IGraphics_Systems/Direct3D11/Info -IAudio_Systems/None/Info -ICollision_Systems/Precise/Info -IWidget_Systems/None/Info -INetworking_Systems/None/Info -IUniversal_System/Info -I. -IC:/ProgramData/ENIGMA/ -Wall -s -O3 -fno-exceptions  -MMD -MP -c -o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/SHELLmain.o SHELLmain.cpp
mingw32-make.exe[1]: Leaving directory `D:/enigma/ENIGMA/enigma-dev/ENIGMAsystem/SHELL'
mingw32-make.exe[1]: Entering directory `D:/enigma/ENIGMA/enigma-dev/ENIGMAsystem/SHELL'
mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/
mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Audio_Systems/None/
mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Bridges/Win32-Direct3D11/
mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Collision_Systems/Precise/
mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/Direct3D11/
mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/General/
mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Platforms/Win32/
mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/
mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/Alarms/
mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/DataStructures/
mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/DateTime/
mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/MotionPlanning/
mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/ParticleSystems/
mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/Paths/
mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/Timelines/
mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Widget_Systems/None/
echo "// GENERATED RESOURCE FILE FRONTEND" > C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/resources.rc
for res in Preprocessor_Environment_Editable/Resources.rc; do echo "#include \"$res\"" >> C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/resources.rc; done
windres.exe -o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/resources.res -I. -IC:/ProgramData/ENIGMA/ C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/resources.rc -O coff
g++ -L../Additional/i686-w64-mingw32/lib -static-libgcc -static-libstdc++ -o "d:/tmp/egm197115060577725745.exe" C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/SHELLmain.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/libEGMstd.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Platforms/Win32/WINDOWSjoystick.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Platforms/Win32/WINDOWSmain.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Platforms/Win32/WINDOWSregistry.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Platforms/Win32/WINDOWScallback.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Platforms/Win32/WINDOWSwindow.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Platforms/Win32/WINDOWSfilemanip.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Platforms/Win32/WINDOWSthreads.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Platforms/Win32/WINDOWSsystem.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Platforms/Win32/WINDOWSexternals.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/Direct3D11/DX11profiler.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/Direct3D11/DX11sprite.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/Direct3D11/DX11textures.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/Direct3D11/DX11colors.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/Direct3D11/DX11vertex.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/Direct3D11/DX11d3d.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/Direct3D11/DX11surface.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/Direct3D11/DX11background.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/Direct3D11/DX11model.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/Direct3D11/DX11shader.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/Direct3D11/DX11enable.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/Direct3D11/DX11draw.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/Direct3D11/DX11screen.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/Direct3D11/DX11blend.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/Direct3D11/DX11primitives.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/Direct3D11/DIRECTX11Std.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/Direct3D11/DX11tiles.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/Direct3D11/DX11matrix.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/General/GSfont.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/General/GSstdraw.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/General/GSsurface.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/General/GScurves.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/General/GSsprite.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/General/GSmath.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/General/GSbackground.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Audio_Systems/None/fillin.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Collision_Systems/Precise/PRECimpl.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Collision_Systems/Precise/PRECfuncs.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Collision_Systems/Precise/placeholderlinks.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Widget_Systems/None/nowidget_impl.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/CallbackArrays.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/instance_planar.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/object.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/lodepng.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/instance.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/mathnc.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/backgroundstruct.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/multifunction_variant.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/highscore_functions.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/loading.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/fontinit.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/rectpack.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/soundinit.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/darray.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/callbacks_events.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/bufferstruct.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/transform_object.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/terminal_io.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/collisions_object.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/globalupdate.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/move_functions.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/reflexive_types.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/planar_object.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/var4.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/fontstruct.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/fileio.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/lives.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/shaderstruct.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/dynamic_args.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/spriteinit.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/graphics_object.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/estring.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/backgroundinit.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/spritestruct.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/ENIGMA_GLOBALS.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/resource_data.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/image_formats.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/zlib.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/roomsystem.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/instance_system.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/depth_draw.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/var4_lua.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/Alarms/alarmcode.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/Timelines/timelines.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/Paths/path_functions.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/Paths/pathinit.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/Paths/pathstruct.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/MotionPlanning/mp_movement.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/MotionPlanning/motion_planning.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/MotionPlanning/motion_planning_struct.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/DateTime/date_time.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/ParticleSystems/PS_effects.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/ParticleSystems/PS_particle_emitter.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/ParticleSystems/PS_particle_attractor.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/ParticleSystems/PS_actions.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/ParticleSystems/PS_particle_changer.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/ParticleSystems/PS_particle_updatedraw.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/ParticleSystems/PS_particle_deflector.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/ParticleSystems/PS_particle_destroyer.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/ParticleSystems/PS_particle_particles_apiimpl.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/ParticleSystems/PS_particle_sprites.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/ParticleSystems/PS_particle_type.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/ParticleSystems/PS_particle_system_apiimpl.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/ParticleSystems/PS_particle_depths.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/ParticleSystems/PS_particle_system_manager.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/ParticleSystems/PS_particle_system.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/Extensions/DataStructures/data_structures.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Bridges/Win32-Direct3D11/graphics_bridge.o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/resources.res -lffi -lcomdlg32 -lgdi32 -lwinmm -lwininet -ld3dx11 -lz -ldxgi -ld3d11 -ld3dx11
C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/Direct3D11/DX11primitives.o:DX11primitives.cpp:(.text+0x9c): undefined reference to `enigma_user::d3d_model_create(int)'
C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/Direct3D11/DX11primitives.o:DX11primitives.cpp:(.text+0x14c): undefined reference to `enigma_user::d3d_model_create(int)'
C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/Direct3D11/DX11primitives.o:DX11primitives.cpp:(.text+0x35c): undefined reference to `enigma_user::d3d_model_create(int)'
C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/Direct3D11/DX11primitives.o:DX11primitives.cpp:(.text+0x40c): undefined reference to `enigma_user::d3d_model_create(int)'
C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/Direct3D11/DX11primitives.o:DX11primitives.cpp:(.text+0x919): undefined reference to `enigma_user::d3d_model_create(int)'
C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Graphics_Systems/Direct3D11/DX11primitives.o:DX11primitives.cpp:(.text+0xb09): more undefined references to `enigma_user::d3d_model_create(int)' follow
C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/backgroundstruct.o:backgroundstruct.cpp:(.text+0xbec): undefined reference to `enigma::graphics_get_texture_pixeldata(unsigned int, unsigned int*, unsigned int*)'
C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/fontstruct.o:fontstruct.cpp:(.text+0xb82): undefined reference to `enigma::graphics_get_texture_pixeldata(unsigned int, unsigned int*, unsigned int*)'
C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/spritestruct.o:spritestruct.cpp:(.text+0x14f): undefined reference to `enigma::graphics_get_texture_pixeldata(unsigned int, unsigned int*, unsigned int*)'
collect2.exe: error: ld returned 1 exit status
mingw32-make.exe[1]: *** [compile_game] Error 1
mingw32-make.exe[1]: Leaving directory `D:/enigma/ENIGMA/enigma-dev/ENIGMAsystem/SHELL'
mingw32-make.exe: *** [Game] Error 2

Logged
Offline (Unknown gender) Darkstar2
Reply #19 Posted on: April 22, 2014, 12:09:31 AM
Member
Joined: Jan 2014
Posts: 1244

View Profile Email
//update:

Please note DX11 is completely broken, whether particles are used or not, it returns the above long list of errors.

OGl1, ogl3, DX9 works. particles or not.

Logged
Offline (Unknown gender) TheExDeus
Reply #20 Posted on: April 22, 2014, 05:18:02 AM

Developer
Joined: Apr 2008
Posts: 1872

View Profile
Well DX11 was never finished (or even close to being finished) so it doesn't even have code for basic drawing. So you shouldn't try to use it.
But DX9 should work. Try deleting /ProgramDATA/ENIGMA/.eobj folder. So it's a clean build. You can also try Build>Rebuild All, which should technically do the same.
When doing a clean build the particle example works for me in DX9. The "undefined reference to" basically means something hasn't been recompiled. If the clean build doesn't work, then try searching for "DX9primitives.o" or any other DX9 .o file it errors about. I had this some time ago, that Windows7 puts files into subfolders and then links them back. So the program finds the files, while the user has an empty directory at that folder. It's some kind of "Security"/Compatibility feature apparently.
Logged
Offline (Unknown gender) Darkstar2
Reply #21 Posted on: April 22, 2014, 12:20:59 PM
Member
Joined: Jan 2014
Posts: 1244

View Profile Email
Well DX11 was never finished (or even close to being finished) so it doesn't even have code for basic drawing. So you shouldn't try to use it.
But DX9 should work. Try deleting /ProgramDATA/ENIGMA/.eobj folder. So it's a clean build. You can also try Build>Rebuild All, which should technically do the same.
When doing a clean build the particle example works for me in DX9. The "undefined reference to" basically means something hasn't been recompiled. If the clean build doesn't work, then try searching for "DX9primitives.o" or any other DX9 .o file it errors about. I had this some time ago, that Windows7 puts files into subfolders and then links them back. So the program finds the files, while the user has an empty directory at that folder. It's some kind of "Security"/Compatibility feature apparently.

Thanks, will try.  even though my GPU is DX11 hardware, I use DX9 anyway, I don't see much use for that in ENIGMA made games if specific features are not used for the purpose of the game, but I mentioned DX11 as not working for testing purposes, as before when you applied your first fix, the particles was working fine under DX11.  After a recent fix, it broke.  More so, it broke for any project, even with particles disabled (extension off), which did not happen before.
Logged
Offline (Unknown gender) TheExDeus
Reply #22 Posted on: April 22, 2014, 03:08:16 PM

Developer
Joined: Apr 2008
Posts: 1872

View Profile
Are you 100% sure DX11 worked for you before? Because that system lacks VERY important code to actually run. Even after I did the changes I couldn't compile it because it lacks functions like "graphics_get_texture_pixeldata" which is important for the engine. DX11 was never finished as I know, so I don't see how it even ran for you. Maybe even if it did ran, it should of just showed a blank screen.

Robert, was DX11 operational?
Logged
Offline (Male) Goombert
Reply #23 Posted on: April 22, 2014, 03:29:27 PM

Developer
Location: Cappuccino, CA
Joined: Jan 2013
Posts: 3110

View Profile
Harri, it should be able to compile an empty game and do draw_clear as well as by default clear the background color, it used to, however I am getting undefined references locally.

Code: (Bash) [Select]
C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/backgroundstruct.o:backgroundstruct.cpp:(.text+0xbec): undefined reference to `enigma::graphics_get_texture_pixeldata(unsigned int, unsigned int*, unsigned int*)'
C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/backgroundstruct.o:backgroundstruct.cpp:(.text+0xbec): undefined reference to `enigma::graphics_get_texture_pixeldata(unsigned int, unsigned int*, unsigned int*)'

C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/fontstruct.o:fontstruct.cpp:(.text+0xb82): undefined reference to `enigma::graphics_get_texture_pixeldata(unsigned int, unsigned int*, unsigned int*)'
C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/fontstruct.o:fontstruct.cpp:(.text+0xb82): undefined reference to `enigma::graphics_get_texture_pixeldata(unsigned int, unsigned int*, unsigned int*)'

C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/spritestruct.o:spritestruct.cpp:(.text+0x14f): undefined reference to `enigma::graphics_get_texture_pixeldata(unsigned int, unsigned int*, unsigned int*)'
C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Run/Universal_System/spritestruct.o:spritestruct.cpp:(.text+0x14f): undefined reference to `enigma::graphics_get_texture_pixeldata(unsigned int, unsigned int*, unsigned int*)'

Looks like I forgot to check if it built after my last image changes for BGRA instead of RGBA.
« Last Edit: April 22, 2014, 03:34:36 PM by Robert B Colton » Logged
I think it was Leonardo da Vinci who once said something along the lines of "If you build the robots, they will make games." or something to that effect.

Offline (Unknown gender) TheExDeus
Reply #24 Posted on: April 22, 2014, 03:32:44 PM

Developer
Joined: Apr 2008
Posts: 1872

View Profile
So it shouldn't have drawn particles right? :D

Right now I get "graphics_get_texture_pixeldata" which might be because the particle system tries to create a sprite, but DX11 doesn't have this capability right now. So I guess I will commit even these changes, as broken DX11 isn't a tragedy (as it cannot even draw a sprite). At least when you continue to work on it the particle system would work as well.
Logged
Offline (Male) Goombert
Reply #25 Posted on: April 22, 2014, 03:34:28 PM

Developer
Location: Cappuccino, CA
Joined: Jan 2013
Posts: 3110

View Profile
After the following 1 line change it works again locally for me.
https://github.com/enigma-dev/enigma-dev/pull/700

And no don't expect it (D3D11) to draw particles.
Logged
I think it was Leonardo da Vinci who once said something along the lines of "If you build the robots, they will make games." or something to that effect.

Offline (Unknown gender) Darkstar2
Reply #26 Posted on: April 22, 2014, 04:35:46 PM
Member
Joined: Jan 2014
Posts: 1244

View Profile Email
Are you 100% sure DX11 worked for you before? Because that system lacks VERY important code to actually run. Even after I did the changes I couldn't compile it because it lacks functions like

Yes I am 100% positive unless I have totally gone crazy :D  You can even see my posts confirming it did.  When you made the fix I tried OGl1,OGl3, DX9/11. 
But after a recent change, DX11 does not even work, regardless of whether particle is used or not, even on blank project.

Quote
"graphics_get_texture_pixeldata" which is important for the engine. DX11 was never finished as I know, so I don't see how it even ran for you. Maybe even if it did ran, it should of just showed a blank screen.

CRAP I am losing my mind maybe ! LOL!  ;D ;D ;D

It worked, I know it did :P Don't ask how, and no it was not a blank screen, I was even surprised that it worked on all DXs. :D

And before this particle fix, I was playing around with ENIGMA just trying things, and for fun compiling things with DX11, and it always compiled and ran fine.  Now it does not, and it's not about the particles.

Maybe something was automatically reverting to DX9 ? Dunno.

I do this only for testing purposes, but in my game I would always use the DX9 system, it's pointless to use DX11 for me.
BTW, don't most games still use DX9 anyway ? DX10 in some cases, but rarely full DX11 or any DX11 :D

« Last Edit: April 22, 2014, 04:37:27 PM by Darkstar2 » Logged
Offline (Male) Goombert
Reply #27 Posted on: April 22, 2014, 04:39:20 PM

Developer
Location: Cappuccino, CA
Joined: Jan 2013
Posts: 3110

View Profile
It's theoretically possible it could have ran as I did already write the model code, but there is no texture interface, and the least I get is usually a crash, I haven't worked on it in a while.
Logged
I think it was Leonardo da Vinci who once said something along the lines of "If you build the robots, they will make games." or something to that effect.

Offline (Unknown gender) TheExDeus
Reply #28 Posted on: April 22, 2014, 05:10:50 PM

Developer
Joined: Apr 2008
Posts: 1872

View Profile
I even suggest using GL1 or GL3 instead of DX, as most people can run those just fine.
Anyway, with all the changes merged DX11 should compile (although without rendering anything just like before). Also Robert will probably update the installer later and all will be good with the world. Or we just broke the whole thing *flips table*.
Logged
Offline (Unknown gender) Darkstar2
Reply #29 Posted on: April 22, 2014, 05:18:26 PM
Member
Joined: Jan 2014
Posts: 1244

View Profile Email
I even suggest using GL1 or GL3 instead of DX, as most people can run those just fine.
Anyway, with all the changes merged DX11 should compile (although without rendering anything just like before). Also Robert will probably update the installer later and all will be good with the world. Or we just broke the whole thing *flips table*.

LOL you should be more confident than that :D

IN worses cases I'm assuming you have back ups to revert to right ?!?!?!?

Breaking stuff is part of the whole deal when you work with software, and in ENIGMA's case they get fixed, in YoYo's case they trail on forever and get broken further until they simply get abandoned or removed.

When I come back later this evening I will test everything, I seem to be a bug magnet :D and will let you know if it works on my end.

Thanks.

P.S.

Quote
I even suggest using GL1 or GL3 instead of DX, as most people can run those just fine.

Care to elaborate ?

BTW, wouldn't a person need GL3 compliant hardware to run GL3 ?  I'm assuming most people can run OGL1 :D 

« Last Edit: April 22, 2014, 05:20:37 PM by Darkstar2 » Logged
Pages: « 1 2 3 »
  Print