DX9 completely broken

Reporter: faissaloo  |  Status: closed  |  Last Modified: October 04, 2017, 01:39:30 AM

A user came to the forums (http://enigma-dev.org/forums/index.php?topic=2744.new#new) and gave a log with a multitude of errors from the DX9 graphics option preventing compilation, here is the log, I'm guessing this may have something to do with #929

g++ -std=c++11 -m32 -I../Additional/i686-w64-mingw32/include -Wall -s -O3 -fno-rtti -fno-exceptions -flto -fdata-sections -ffunction-sections -DPATH_EXT_SET -IPlatforms/Win32/Info -IGraphics_Systems/Direct3D9/Info -IAudio_Systems/DirectSound/Info -ICollision_Systems/Precise/Info -IWidget_Systems/Win32/Info -INetworking_Systems/None/Info -IUniversal_System/Info -I. -IC:/ProgramData/ENIGMA/  -MMD -MP -c -o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Compile/Graphics_Systems/Direct3D9/DX9vertex.o Graphics_Systems/Direct3D9/DX9vertex.cpp
Graphics_Systems/Direct3D9/DX9vertex.cpp:27:8: error: redefinition of 'struct enigma::VertexFormat'
 struct VertexFormat {
        ^
In file included from Graphics_Systems/Direct3D9/DX9vertex.cpp:23:0:
Graphics_Systems/Direct3D9/../General/GSvertex.h:30:10: error: previous definition of 'struct enigma::VertexFormat'
   struct VertexFormat {
          ^
Graphics_Systems/Direct3D9/DX9vertex.cpp: In function 'int enigma_user::vertex_create_buffer()':
Graphics_Systems/Direct3D9/DX9vertex.cpp:60:1: warning: no return statement in function returning non-void [-Wreturn-type]
 }
 ^
Graphics_Systems/Direct3D9/DX9vertex.cpp: In function 'int enigma_user::vertex_create_buffer_ext(unsigned int)':
Graphics_Systems/Direct3D9/DX9vertex.cpp:64:1: warning: no return statement in function returning non-void [-Wreturn-type]
 }
 ^
Graphics_Systems/Direct3D9/DX9vertex.cpp: In function 'void enigma_user::vertex_format_add_colour()':
Graphics_Systems/Direct3D9/DX9vertex.cpp:147:37: error: 'vertex_type_colour' was not declared in this scope
  enigma::vertexFormat->AddAttribute(vertex_type_colour, vertex_usage_colour);
                                     ^
Graphics_Systems/Direct3D9/DX9vertex.cpp:147:57: error: 'vertex_usage_colour' was not declared in this scope
  enigma::vertexFormat->AddAttribute(vertex_type_colour, vertex_usage_colour);
                                                         ^
Graphics_Systems/Direct3D9/DX9vertex.cpp: In function 'void enigma_user::vertex_format_add_position()':
Graphics_Systems/Direct3D9/DX9vertex.cpp:151:57: error: 'vertex_usage_position' was not declared in this scope
  enigma::vertexFormat->AddAttribute(vertex_type_float2, vertex_usage_position);
                                                         ^
Graphics_Systems/Direct3D9/DX9vertex.cpp: In function 'void enigma_user::vertex_format_add_position_3d()':
Graphics_Systems/Direct3D9/DX9vertex.cpp:155:57: error: 'vertex_usage_position' was not declared in this scope
  enigma::vertexFormat->AddAttribute(vertex_type_float3, vertex_usage_position);
                                                         ^
Graphics_Systems/Direct3D9/DX9vertex.cpp: In function 'void enigma_user::vertex_format_add_textcoord()':
Graphics_Systems/Direct3D9/DX9vertex.cpp:159:57: error: 'vertex_usage_textcoord' was not declared in this scope
  enigma::vertexFormat->AddAttribute(vertex_type_float2, vertex_usage_textcoord);
                                                         ^
Graphics_Systems/Direct3D9/DX9vertex.cpp: In function 'void enigma_user::vertex_format_add_normal()':
Graphics_Systems/Direct3D9/DX9vertex.cpp:163:57: error: 'vertex_usage_normal' was not declared in this scope
  enigma::vertexFormat->AddAttribute(vertex_type_float3, vertex_usage_normal);
                                                         ^
g++ -std=c++11 -m32 -I../Additional/i686-w64-mingw32/include -Wall -s -O3 -fno-rtti -fno-exceptions -flto -fdata-sections -ffunction-sections -DPATH_EXT_SET -IPlatforms/Win32/Info -IGraphics_Systems/Direct3D9/Info -IAudio_Systems/DirectSound/Info -ICollision_Systems/Precise/Info -IWidget_Systems/Win32/Info -INetworking_Systems/None/Info -IUniversal_System/Info -I. -IC:/ProgramData/ENIGMA/  -MMD -MP -c -o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Compile/Graphics_Systems/Direct3D9/DX9model.o Graphics_Systems/Direct3D9/DX9model.cpp
In file included from Graphics_Systems/Direct3D9/DX9ModelStruct.h:18:0,
                 from Graphics_Systems/Direct3D9/DX9model.cpp:17:
./Bridges/General/DX9Context.h: In member function 'void ContextManager::BeginShapesBatching(int)':
./Bridges/General/DX9Context.h:187:87: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  } else if (texId != shapes_d3d_texture || (d3d_model_get_stride(shapes_d3d_model) != last_stride && last_stride != -1)) {
                                                                                       ^
In file included from Graphics_Systems/Direct3D9/DX9model.cpp:17:0:
Graphics_Systems/Direct3D9/DX9ModelStruct.h: In member function 'void Mesh::BufferGenerate()':
Graphics_Systems/Direct3D9/DX9ModelStruct.h:547:14: warning: unused variable 'stride' [-Wunused-variable]
     unsigned stride = vertexStride;
              ^
Graphics_Systems/Direct3D9/DX9model.cpp: In function 'void enigma_user::d3d_model_floor(int, gs_scalar, gs_scalar, gs_scalar, gs_scalar, gs_scalar, gs_scalar, gs_scalar, gs_scalar)':
Graphics_Systems/Direct3D9/DX9model.cpp:430:49: error: call of overloaded 'd3d_model_primitive_begin(int&, enigma_user::<anonymous enum>)' is ambiguous
   d3d_model_primitive_begin(id, pr_trianglestrip);
                                                 ^
Graphics_Systems/Direct3D9/DX9model.cpp:430:49: note: candidates are:
In file included from ./Bridges/General/DX9Context.h:26:0,
                 from Graphics_Systems/Direct3D9/DX9ModelStruct.h:18,
                 from Graphics_Systems/Direct3D9/DX9model.cpp:17:
./Graphics_Systems/General/GSmodel.h:47:8: note: void enigma_user::d3d_model_primitive_begin(int, int, int)
   void d3d_model_primitive_begin(int id, int kind, int format = -2);
        ^
Graphics_Systems/Direct3D9/DX9model.cpp:329:6: note: void enigma_user::d3d_model_primitive_begin(int, int)
 void d3d_model_primitive_begin(int id, int kind)
      ^
Graphics_Systems/Direct3D9/DX9model.cpp: In function 'void enigma_user::d3d_model_wall(int, gs_scalar, gs_scalar, gs_scalar, gs_scalar, gs_scalar, gs_scalar, gs_scalar, gs_scalar)':
Graphics_Systems/Direct3D9/DX9model.cpp:447:49: error: call of overloaded 'd3d_model_primitive_begin(int&, enigma_user::<anonymous enum>)' is ambiguous
   d3d_model_primitive_begin(id, pr_trianglestrip);
                                                 ^
Graphics_Systems/Direct3D9/DX9model.cpp:447:49: note: candidates are:
In file included from ./Bridges/General/DX9Context.h:26:0,
                 from Graphics_Systems/Direct3D9/DX9ModelStruct.h:18,
                 from Graphics_Systems/Direct3D9/DX9model.cpp:17:
./Graphics_Systems/General/GSmodel.h:47:8: note: void enigma_user::d3d_model_primitive_begin(int, int, int)
   void d3d_model_primitive_begin(int id, int kind, int format = -2);
        ^
Graphics_Systems/Direct3D9/DX9model.cpp:329:6: note: void enigma_user::d3d_model_primitive_begin(int, int)
 void d3d_model_primitive_begin(int id, int kind)
      ^
Graphics_Systems/Direct3D9/DX9model.cpp: In function 'void enigma_user::d3d_model_block(int, gs_scalar, gs_scalar, gs_scalar, gs_scalar, gs_scalar, gs_scalar, gs_scalar, gs_scalar, bool)':
Graphics_Systems/Direct3D9/DX9model.cpp:460:48: error: call of overloaded 'd3d_model_primitive_begin(int&, enigma_user::<anonymous enum>)' is ambiguous
  d3d_model_primitive_begin( id, pr_trianglefan );
                                                ^
Graphics_Systems/Direct3D9/DX9model.cpp:460:48: note: candidates are:
In file included from ./Bridges/General/DX9Context.h:26:0,
                 from Graphics_Systems/Direct3D9/DX9ModelStruct.h:18,
                 from Graphics_Systems/Direct3D9/DX9model.cpp:17:
./Graphics_Systems/General/GSmodel.h:47:8: note: void enigma_user::d3d_model_primitive_begin(int, int, int)
   void d3d_model_primitive_begin(int id, int kind, int format = -2);
        ^
Graphics_Systems/Direct3D9/DX9model.cpp:329:6: note: void enigma_user::d3d_model_primitive_begin(int, int)
 void d3d_model_primitive_begin(int id, int kind)
      ^
Graphics_Systems/Direct3D9/DX9model.cpp:468:48: error: call of overloaded 'd3d_model_primitive_begin(int&, enigma_user::<anonymous enum>)' is ambiguous
  d3d_model_primitive_begin( id, pr_trianglefan );
                                                ^
Graphics_Systems/Direct3D9/DX9model.cpp:468:48: note: candidates are:
In file included from ./Bridges/General/DX9Context.h:26:0,
                 from Graphics_Systems/Direct3D9/DX9ModelStruct.h:18,
                 from Graphics_Systems/Direct3D9/DX9model.cpp:17:
./Graphics_Systems/General/GSmodel.h:47:8: note: void enigma_user::d3d_model_primitive_begin(int, int, int)
   void d3d_model_primitive_begin(int id, int kind, int format = -2);
        ^
Graphics_Systems/Direct3D9/DX9model.cpp:329:6: note: void enigma_user::d3d_model_primitive_begin(int, int)
 void d3d_model_primitive_begin(int id, int kind)
      ^
Graphics_Systems/Direct3D9/DX9model.cpp:476:48: error: call of overloaded 'd3d_model_primitive_begin(int&, enigma_user::<anonymous enum>)' is ambiguous
  d3d_model_primitive_begin( id, pr_trianglefan );
                                                ^
Graphics_Systems/Direct3D9/DX9model.cpp:476:48: note: candidates are:
In file included from ./Bridges/General/DX9Context.h:26:0,
                 from Graphics_Systems/Direct3D9/DX9ModelStruct.h:18,
                 from Graphics_Systems/Direct3D9/DX9model.cpp:17:
./Graphics_Systems/General/GSmodel.h:47:8: note: void enigma_user::d3d_model_primitive_begin(int, int, int)
   void d3d_model_primitive_begin(int id, int kind, int format = -2);
        ^
Graphics_Systems/Direct3D9/DX9model.cpp:329:6: note: void enigma_user::d3d_model_primitive_begin(int, int)
 void d3d_model_primitive_begin(int id, int kind)
      ^
Graphics_Systems/Direct3D9/DX9model.cpp:484:48: error: call of overloaded 'd3d_model_primitive_begin(int&, enigma_user::<anonymous enum>)' is ambiguous
  d3d_model_primitive_begin( id, pr_trianglefan );
                                                ^
Graphics_Systems/Direct3D9/DX9model.cpp:484:48: note: candidates are:
In file included from ./Bridges/General/DX9Context.h:26:0,
                 from Graphics_Systems/Direct3D9/DX9ModelStruct.h:18,
                 from Graphics_Systems/Direct3D9/DX9model.cpp:17:
./Graphics_Systems/General/GSmodel.h:47:8: note: void enigma_user::d3d_model_primitive_begin(int, int, int)
   void d3d_model_primitive_begin(int id, int kind, int format = -2);
        ^
Graphics_Systems/Direct3D9/DX9model.cpp:329:6: note: void enigma_user::d3d_model_primitive_begin(int, int)
 void d3d_model_primitive_begin(int id, int kind)
      ^
Graphics_Systems/Direct3D9/DX9model.cpp:493:49: error: call of overloaded 'd3d_model_primitive_begin(int&, enigma_user::<anonymous enum>)' is ambiguous
   d3d_model_primitive_begin( id, pr_trianglefan );
                                                 ^
Graphics_Systems/Direct3D9/DX9model.cpp:493:49: note: candidates are:
In file included from ./Bridges/General/DX9Context.h:26:0,
                 from Graphics_Systems/Direct3D9/DX9ModelStruct.h:18,
                 from Graphics_Systems/Direct3D9/DX9model.cpp:17:
./Graphics_Systems/General/GSmodel.h:47:8: note: void enigma_user::d3d_model_primitive_begin(int, int, int)
   void d3d_model_primitive_begin(int id, int kind, int format = -2);
        ^
Graphics_Systems/Direct3D9/DX9model.cpp:329:6: note: void enigma_user::d3d_model_primitive_begin(int, int)
 void d3d_model_primitive_begin(int id, int kind)
      ^
Graphics_Systems/Direct3D9/DX9model.cpp:501:49: error: call of overloaded 'd3d_model_primitive_begin(int&, enigma_user::<anonymous enum>)' is ambiguous
   d3d_model_primitive_begin( id, pr_trianglefan );
                                                 ^
Graphics_Systems/Direct3D9/DX9model.cpp:501:49: note: candidates are:
In file included from ./Bridges/General/DX9Context.h:26:0,
                 from Graphics_Systems/Direct3D9/DX9ModelStruct.h:18,
                 from Graphics_Systems/Direct3D9/DX9model.cpp:17:
./Graphics_Systems/General/GSmodel.h:47:8: note: void enigma_user::d3d_model_primitive_begin(int, int, int)
   void d3d_model_primitive_begin(int id, int kind, int format = -2);
        ^
Graphics_Systems/Direct3D9/DX9model.cpp:329:6: note: void enigma_user::d3d_model_primitive_begin(int, int)
 void d3d_model_primitive_begin(int id, int kind)
      ^
Graphics_Systems/Direct3D9/DX9model.cpp: In function 'void enigma_user::d3d_model_cylinder(int, gs_scalar, gs_scalar, gs_scalar, gs_scalar, gs_scalar, gs_scalar, gs_scalar, gs_scalar, bool, int)':
Graphics_Systems/Direct3D9/DX9model.cpp:520:49: error: call of overloaded 'd3d_model_primitive_begin(int&, enigma_user::<anonymous enum>)' is ambiguous
   d3d_model_primitive_begin(id, pr_trianglestrip);
                                                 ^
Graphics_Systems/Direct3D9/DX9model.cpp:520:49: note: candidates are:
In file included from ./Bridges/General/DX9Context.h:26:0,
                 from Graphics_Systems/Direct3D9/DX9ModelStruct.h:18,
                 from Graphics_Systems/Direct3D9/DX9model.cpp:17:
./Graphics_Systems/General/GSmodel.h:47:8: note: void enigma_user::d3d_model_primitive_begin(int, int, int)
   void d3d_model_primitive_begin(int id, int kind, int format = -2);
        ^
Graphics_Systems/Direct3D9/DX9model.cpp:329:6: note: void enigma_user::d3d_model_primitive_begin(int, int)
 void d3d_model_primitive_begin(int id, int kind)
      ^
Graphics_Systems/Direct3D9/DX9model.cpp:537:57: error: call of overloaded 'd3d_model_primitive_begin(int&, enigma_user::<anonymous enum>)' is ambiguous
             d3d_model_primitive_begin(id, pr_trianglefan);
                                                         ^
Graphics_Systems/Direct3D9/DX9model.cpp:537:57: note: candidates are:
In file included from ./Bridges/General/DX9Context.h:26:0,
                 from Graphics_Systems/Direct3D9/DX9ModelStruct.h:18,
                 from Graphics_Systems/Direct3D9/DX9model.cpp:17:
./Graphics_Systems/General/GSmodel.h:47:8: note: void enigma_user::d3d_model_primitive_begin(int, int, int)
   void d3d_model_primitive_begin(int id, int kind, int format = -2);
        ^
Graphics_Systems/Direct3D9/DX9model.cpp:329:6: note: void enigma_user::d3d_model_primitive_begin(int, int)
 void d3d_model_primitive_begin(int id, int kind)
      ^
Graphics_Systems/Direct3D9/DX9model.cpp:549:57: error: call of overloaded 'd3d_model_primitive_begin(int&, enigma_user::<anonymous enum>)' is ambiguous
             d3d_model_primitive_begin(id, pr_trianglefan);
                                                         ^
Graphics_Systems/Direct3D9/DX9model.cpp:549:57: note: candidates are:
In file included from ./Bridges/General/DX9Context.h:26:0,
                 from Graphics_Systems/Direct3D9/DX9ModelStruct.h:18,
                 from Graphics_Systems/Direct3D9/DX9model.cpp:17:
./Graphics_Systems/General/GSmodel.h:47:8: note: void enigma_user::d3d_model_primitive_begin(int, int, int)
   void d3d_model_primitive_begin(int id, int kind, int format = -2);
        ^
Graphics_Systems/Direct3D9/DX9model.cpp:329:6: note: void enigma_user::d3d_model_primitive_begin(int, int)
 void d3d_model_primitive_begin(int id, int kind)
      ^
Graphics_Systems/Direct3D9/DX9model.cpp: In function 'void enigma_user::d3d_model_cone(int, gs_scalar, gs_scalar, gs_scalar, gs_scalar, gs_scalar, gs_scalar, gs_scalar, gs_scalar, bool, int)':
Graphics_Systems/Direct3D9/DX9model.cpp:568:47: error: call of overloaded 'd3d_model_primitive_begin(int&, enigma_user::<anonymous enum>)' is ambiguous
   d3d_model_primitive_begin(id, pr_trianglefan);
                                               ^
Graphics_Systems/Direct3D9/DX9model.cpp:568:47: note: candidates are:
In file included from ./Bridges/General/DX9Context.h:26:0,
                 from Graphics_Systems/Direct3D9/DX9ModelStruct.h:18,
                 from Graphics_Systems/Direct3D9/DX9model.cpp:17:
./Graphics_Systems/General/GSmodel.h:47:8: note: void enigma_user::d3d_model_primitive_begin(int, int, int)
   void d3d_model_primitive_begin(int id, int kind, int format = -2);
        ^
Graphics_Systems/Direct3D9/DX9model.cpp:329:6: note: void enigma_user::d3d_model_primitive_begin(int, int)
 void d3d_model_primitive_begin(int id, int kind)
      ^
Graphics_Systems/Direct3D9/DX9model.cpp:580:49: error: call of overloaded 'd3d_model_primitive_begin(int&, enigma_user::<anonymous enum>)' is ambiguous
     d3d_model_primitive_begin(id, pr_trianglefan);
                                                 ^
Graphics_Systems/Direct3D9/DX9model.cpp:580:49: note: candidates are:
In file included from ./Bridges/General/DX9Context.h:26:0,
                 from Graphics_Systems/Direct3D9/DX9ModelStruct.h:18,
                 from Graphics_Systems/Direct3D9/DX9model.cpp:17:
./Graphics_Systems/General/GSmodel.h:47:8: note: void enigma_user::d3d_model_primitive_begin(int, int, int)
   void d3d_model_primitive_begin(int id, int kind, int format = -2);
        ^
Graphics_Systems/Direct3D9/DX9model.cpp:329:6: note: void enigma_user::d3d_model_primitive_begin(int, int)
 void d3d_model_primitive_begin(int id, int kind)
      ^
Graphics_Systems/Direct3D9/DX9model.cpp: In function 'void enigma_user::d3d_model_ellipsoid(int, gs_scalar, gs_scalar, gs_scalar, gs_scalar, gs_scalar, gs_scalar, gs_scalar, gs_scalar, int)':
Graphics_Systems/Direct3D9/DX9model.cpp:612:47: error: call of overloaded 'd3d_model_primitive_begin(int&, enigma_user::<anonymous enum>)' is ambiguous
   d3d_model_primitive_begin(id, pr_trianglefan);
                                               ^
Graphics_Systems/Direct3D9/DX9model.cpp:612:47: note: candidates are:
In file included from ./Bridges/General/DX9Context.h:26:0,
                 from Graphics_Systems/Direct3D9/DX9ModelStruct.h:18,
                 from Graphics_Systems/Direct3D9/DX9model.cpp:17:
./Graphics_Systems/General/GSmodel.h:47:8: note: void enigma_user::d3d_model_primitive_begin(int, int, int)
   void d3d_model_primitive_begin(int id, int kind, int format = -2);
        ^
Graphics_Systems/Direct3D9/DX9model.cpp:329:6: note: void enigma_user::d3d_model_primitive_begin(int, int)
 void d3d_model_primitive_begin(int id, int kind)
      ^
Graphics_Systems/Direct3D9/DX9model.cpp:639:51: error: call of overloaded 'd3d_model_primitive_begin(int&, enigma_user::<anonymous enum>)' is ambiguous
     d3d_model_primitive_begin(id, pr_trianglestrip);
                                                   ^
Graphics_Systems/Direct3D9/DX9model.cpp:639:51: note: candidates are:
In file included from ./Bridges/General/DX9Context.h:26:0,
                 from Graphics_Systems/Direct3D9/DX9ModelStruct.h:18,
                 from Graphics_Systems/Direct3D9/DX9model.cpp:17:
./Graphics_Systems/General/GSmodel.h:47:8: note: void enigma_user::d3d_model_primitive_begin(int, int, int)
   void d3d_model_primitive_begin(int id, int kind, int format = -2);
        ^
Graphics_Systems/Direct3D9/DX9model.cpp:329:6: note: void enigma_user::d3d_model_primitive_begin(int, int)
 void d3d_model_primitive_begin(int id, int kind)
      ^
Graphics_Systems/Direct3D9/DX9model.cpp:654:47: error: call of overloaded 'd3d_model_primitive_begin(int&, enigma_user::<anonymous enum>)' is ambiguous
   d3d_model_primitive_begin(id, pr_trianglefan);
                                               ^
Graphics_Systems/Direct3D9/DX9model.cpp:654:47: note: candidates are:
In file included from ./Bridges/General/DX9Context.h:26:0,
                 from Graphics_Systems/Direct3D9/DX9ModelStruct.h:18,
                 from Graphics_Systems/Direct3D9/DX9model.cpp:17:
./Graphics_Systems/General/GSmodel.h:47:8: note: void enigma_user::d3d_model_primitive_begin(int, int, int)
   void d3d_model_primitive_begin(int id, int kind, int format = -2);
        ^
Graphics_Systems/Direct3D9/DX9model.cpp:329:6: note: void enigma_user::d3d_model_primitive_begin(int, int)
 void d3d_model_primitive_begin(int id, int kind)
      ^
Graphics_Systems/Direct3D9/DX9model.cpp: In function 'void enigma_user::d3d_model_icosahedron(int, gs_scalar, gs_scalar, gs_scalar, gs_scalar, gs_scalar, gs_scalar, gs_scalar, gs_scalar, int)':
Graphics_Systems/Direct3D9/DX9model.cpp:682:48: error: call of overloaded 'd3d_model_primitive_begin(int&, enigma_user::<anonymous enum>)' is ambiguous
   d3d_model_primitive_begin(id, pr_trianglelist);
                                                ^
Graphics_Systems/Direct3D9/DX9model.cpp:682:48: note: candidates are:
In file included from ./Bridges/General/DX9Context.h:26:0,
                 from Graphics_Systems/Direct3D9/DX9ModelStruct.h:18,
                 from Graphics_Systems/Direct3D9/DX9model.cpp:17:
./Graphics_Systems/General/GSmodel.h:47:8: note: void enigma_user::d3d_model_primitive_begin(int, int, int)
   void d3d_model_primitive_begin(int id, int kind, int format = -2);
        ^
Graphics_Systems/Direct3D9/DX9model.cpp:329:6: note: void enigma_user::d3d_model_primitive_begin(int, int)
 void d3d_model_primitive_begin(int id, int kind)
      ^
Graphics_Systems/Direct3D9/DX9model.cpp: In function 'void enigma_user::d3d_model_torus(int, gs_scalar, gs_scalar, gs_scalar, gs_scalar, gs_scalar, int, int, double, double)':
Graphics_Systems/Direct3D9/DX9model.cpp:696:51: error: call of overloaded 'd3d_model_primitive_begin(int&, enigma_user::<anonymous enum>)' is ambiguous
     d3d_model_primitive_begin(id, pr_trianglestrip);
                                                   ^
Graphics_Systems/Direct3D9/DX9model.cpp:696:51: note: candidates are:
In file included from ./Bridges/General/DX9Context.h:26:0,
                 from Graphics_Systems/Direct3D9/DX9ModelStruct.h:18,
                 from Graphics_Systems/Direct3D9/DX9model.cpp:17:
./Graphics_Systems/General/GSmodel.h:47:8: note: void enigma_user::d3d_model_primitive_begin(int, int, int)
   void d3d_model_primitive_begin(int id, int kind, int format = -2);
        ^
Graphics_Systems/Direct3D9/DX9model.cpp:329:6: note: void enigma_user::d3d_model_primitive_begin(int, int)
 void d3d_model_primitive_begin(int id, int kind)
      ^
g++ -std=c++11 -m32 -I../Additional/i686-w64-mingw32/include -Wall -s -O3 -fno-rtti -fno-exceptions -flto -fdata-sections -ffunction-sections -DPATH_EXT_SET -IPlatforms/Win32/Info -IGraphics_Systems/Direct3D9/Info -IAudio_Systems/DirectSound/Info -ICollision_Systems/Precise/Info -IWidget_Systems/Win32/Info -INetworking_Systems/None/Info -IUniversal_System/Info -I. -IC:/ProgramData/ENIGMA/  -MMD -MP -c -o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Compile/SHELLmain.o SHELLmain.cpp
mingw32-make.exe[1]: Leaving directory `C:/Users/Abel/Desktop/enigma2/ENIGMA/enigma-dev/ENIGMAsystem/SHELL'
mingw32-make.exe[1]: Entering directory `C:/Users/Abel/Desktop/enigma2/ENIGMA/enigma-dev/ENIGMAsystem/SHELL'
mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Compile/
mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Compile/Audio_Systems/DirectSound/
mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Compile/Bridges/Win32-Direct3D9/
mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Compile/Collision_Systems/Precise/
mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Compile/Graphics_Systems/Direct3D9/
mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Compile/Graphics_Systems/General/
mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Compile/Platforms/Win32/
mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Compile/Universal_System/
mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Compile/Universal_System/Extensions/Alarms/
mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Compile/Universal_System/Extensions/DataStructures/
mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Compile/Universal_System/Extensions/DateTime/
mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Compile/Universal_System/Extensions/MotionPlanning/
mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Compile/Universal_System/Extensions/ParticleSystems/
mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Compile/Universal_System/Extensions/Paths/
mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Compile/Universal_System/Extensions/Timelines/
mkdir.exe -p C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Compile/Widget_Systems/Win32/
g++ -std=c++11 -m32 -I../Additional/i686-w64-mingw32/include -Wall -s -O3 -fno-rtti -fno-exceptions -flto -fdata-sections -ffunction-sections -DPATH_EXT_SET -IPlatforms/Win32/Info -IGraphics_Systems/Direct3D9/Info -IAudio_Systems/DirectSound/Info -ICollision_Systems/Precise/Info -IWidget_Systems/Win32/Info -INetworking_Systems/None/Info -IUniversal_System/Info -I. -IC:/ProgramData/ENIGMA/  -MMD -MP -c -o C:/ProgramData/ENIGMA/.eobjs/Windows/Windows/Compile/Graphics_Systems/Direct3D9/DX9vertex.o Graphics_Systems/Direct3D9/DX9vertex.cpp
Graphics_Systems/Direct3D9/DX9vertex.cpp:27:8: error: redefinition of 'struct enigma::VertexFormat'
 struct VertexFormat {
        ^
In file included from Graphics_Systems/Direct3D9/DX9vertex.cpp:23:0:
Graphics_Systems/Direct3D9/../General/GSvertex.h:30:10: error: previous definition of 'struct enigma::VertexFormat'
   struct VertexFormat {
          ^
Graphics_Systems/Direct3D9/DX9vertex.cpp: In function 'int enigma_user::vertex_create_buffer()':
Graphics_Systems/Direct3D9/DX9vertex.cpp:60:1: warning: no return statement in function returning non-void [-Wreturn-type]
 }
 ^
Graphics_Systems/Direct3D9/DX9vertex.cpp: In function 'int enigma_user::vertex_create_buffer_ext(unsigned int)':
Graphics_Systems/Direct3D9/DX9vertex.cpp:64:1: warning: no return statement in function returning non-void [-Wreturn-type]
 }
 ^
Graphics_Systems/Direct3D9/DX9vertex.cpp: In function 'void enigma_user::vertex_format_add_colour()':
Graphics_Systems/Direct3D9/DX9vertex.cpp:147:37: error: 'vertex_type_colour' was not declared in this scope
  enigma::vertexFormat->AddAttribute(vertex_type_colour, vertex_usage_colour);
                                     ^
Graphics_Systems/Direct3D9/DX9vertex.cpp:147:57: error: 'vertex_usage_colour' was not declared in this scope
  enigma::vertexFormat->AddAttribute(vertex_type_colour, vertex_usage_colour);
                                                         ^
Graphics_Systems/Direct3D9/DX9vertex.cpp: In function 'void enigma_user::vertex_format_add_position()':
Graphics_Systems/Direct3D9/DX9vertex.cpp:151:57: error: 'vertex_usage_position' was not declared in this scope
  enigma::vertexFormat->AddAttribute(vertex_type_float2, vertex_usage_position);
                                                         ^
Graphics_Systems/Direct3D9/DX9vertex.cpp: In function 'void enigma_user::vertex_format_add_position_3d()':
Graphics_Systems/Direct3D9/DX9vertex.cpp:155:57: error: 'vertex_usage_position' was not declared in this scope
  enigma::vertexFormat->AddAttribute(vertex_type_float3, vertex_usage_position);
                                                         ^
Graphics_Systems/Direct3D9/DX9vertex.cpp: In function 'void enigma_user::vertex_format_add_textcoord()':
Graphics_Systems/Direct3D9/DX9vertex.cpp:159:57: error: 'vertex_usage_textcoord' was not declared in this scope
  enigma::vertexFormat->AddAttribute(vertex_type_float2, vertex_usage_textcoord);
                                                         ^
Graphics_Systems/Direct3D9/DX9vertex.cpp: In function 'void enigma_user::vertex_format_add_normal()':
Graphics_Systems/Direct3D9/DX9vertex.cpp:163:57: error: 'vertex_usage_normal' was not declared in this scope
  enigma::vertexFormat->AddAttribute(vertex_type_float3, vertex_usage_normal);
                                                         ^
RobertBColton  
This is just a reminder to me to add window_device() to DirectX when I get it working since #896 is resolved and ENIGMA now has support for variant pointers.
RobertBColton  

I've discovered part of the problem here:
648bb10#commitcomment-24740509

We do want to keep the shader semantics, because although they do not apply to GLSL, they are harmless and promote self-documenting code.

RobertBColton  

Closing as resolved by #1089, I'll get to window_device() when I do the other fixes to the system, I'm basically planning to fully rewrite the DX systems and finish Direct3D11. The original ticket was about it not building, and it builds as good as it did before now. Next up is appveyor for testing Windows CI to ensure PR's do not break Windows builds. 👍
Please sign in to post comments, or you can view this issue on GitHub.