Big FAT pass on windows-warning. It is better now.undefined
| @@ -339,7 +339,7 @@ void BtPhysTest::TickGame(float seconds) | |||||
| { | { | ||||
| m_target_timer = TARGET_TIMER; | m_target_timer = TARGET_TIMER; | ||||
| if (m_cam_target == -1) | if (m_cam_target == -1) | ||||
| m_cam_target = rand(m_physobj_list.Count()); | |||||
| m_cam_target = rand((int)m_physobj_list.Count()); | |||||
| else | else | ||||
| m_cam_target = -1; | m_cam_target = -1; | ||||
| } | } | ||||
| @@ -173,7 +173,7 @@ public: | |||||
| MeshRand << "[sc#aad asph1 2]"; | MeshRand << "[sc#aad asph1 2]"; | ||||
| #endif | #endif | ||||
| MeshLimit << MeshRand.Count(); | |||||
| MeshLimit << (int)MeshRand.Count(); | |||||
| MeshType << 1; | MeshType << 1; | ||||
| #endif //USE_SPHERE | #endif //USE_SPHERE | ||||
| @@ -215,7 +215,7 @@ public: | |||||
| int RandLimit = RandValue; | int RandLimit = RandValue; | ||||
| if (MeshLimit.Count() <= RandValue || RandValue < 0) | if (MeshLimit.Count() <= RandValue || RandValue < 0) | ||||
| RandLimit = rand(MeshLimit.Count() - 1); | |||||
| RandLimit = rand((int)MeshLimit.Count() - 1); | |||||
| RandValue = rand(MeshLimit[RandLimit], MeshLimit[RandLimit + 1]); | RandValue = rand(MeshLimit[RandLimit], MeshLimit[RandLimit + 1]); | ||||
| m_physics = new EasyPhysic(this); | m_physics = new EasyPhysic(this); | ||||
| @@ -23,9 +23,9 @@ class Triangle : public WorldEntity | |||||
| { | { | ||||
| public: | public: | ||||
| Triangle() | Triangle() | ||||
| : m_vertices({ vec2( 0.0, 0.8), | |||||
| vec2(-0.8, -0.8), | |||||
| vec2( 0.8, -0.8) }), | |||||
| : m_vertices({ vec2( 0.0f, 0.8f), | |||||
| vec2(-0.8f, -0.8f), | |||||
| vec2( 0.8f, -0.8f) }), | |||||
| m_ready(false) | m_ready(false) | ||||
| { | { | ||||
| } | } | ||||
| @@ -102,13 +102,13 @@ public: | |||||
| m_shader->SetUniform(m_mvp, m_matrix); | m_shader->SetUniform(m_mvp, m_matrix); | ||||
| m_lines_ibo->Bind(); | m_lines_ibo->Bind(); | ||||
| m_vdecl->DrawIndexedElements(MeshPrimitive::Lines, 0, 0, | m_vdecl->DrawIndexedElements(MeshPrimitive::Lines, 0, 0, | ||||
| m_mesh.Count(), 0, m_lines_indices.Count()); | |||||
| (int)m_mesh.Count(), 0, (int)m_lines_indices.Count()); | |||||
| m_lines_ibo->Unbind(); | m_lines_ibo->Unbind(); | ||||
| m_shader->SetUniform(m_mvp, m_matrix * mat4::scale(0.5f)); | m_shader->SetUniform(m_mvp, m_matrix * mat4::scale(0.5f)); | ||||
| m_faces_ibo->Bind(); | m_faces_ibo->Bind(); | ||||
| m_vdecl->DrawIndexedElements(MeshPrimitive::Triangles, 0, 0, | m_vdecl->DrawIndexedElements(MeshPrimitive::Triangles, 0, 0, | ||||
| m_mesh.Count(), 0, m_faces_indices.Count()); | |||||
| (int)m_mesh.Count(), 0, (int)m_faces_indices.Count()); | |||||
| m_faces_ibo->Unbind(); | m_faces_ibo->Unbind(); | ||||
| m_vdecl->Unbind(); | m_vdecl->Unbind(); | ||||
| @@ -50,7 +50,7 @@ public: | |||||
| m_heightmap[i] = m_heightmap[i + 1]; | m_heightmap[i] = m_heightmap[i + 1]; | ||||
| int height = m_heightmap.Last(); | int height = m_heightmap.Last(); | ||||
| height = (height + 127 + 40 * lol::sin(m_frames * 0.03) + rand() % 97 - 38) / 2; | |||||
| height = (int)(height + 127 + 40 * lol::sin(m_frames * 0.03) + rand() % 97 - 38) / 2; | |||||
| height = std::max(15, std::min(height, 240)); | height = std::max(15, std::min(height, 240)); | ||||
| m_heightmap.Last() = height; | m_heightmap.Last() = height; | ||||
| @@ -34,7 +34,7 @@ public: | |||||
| for (int i = 0; i < SPRITE_COUNT; ++i) | for (int i = 0; i < SPRITE_COUNT; ++i) | ||||
| { | { | ||||
| m_sprites.Push(vec3(rand(-96, 640), rand(-96, 480), 0), | |||||
| m_sprites.Push(vec3((float)rand(-96, 640), (float)rand(-96, 480), 0.f), | |||||
| rand(0.f, 1.f)); | rand(0.f, 1.f)); | ||||
| } | } | ||||
| @@ -56,7 +56,7 @@ public: | |||||
| m_sprites[i].m1.y += 50.f * seconds; | m_sprites[i].m1.y += 50.f * seconds; | ||||
| m_sprites[i].m2 = lol::fmod(m_sprites[i].m2 + seconds, 1.f); | m_sprites[i].m2 = lol::fmod(m_sprites[i].m2 + seconds, 1.f); | ||||
| if (m_sprites[i].m1.y > 480 + 48) | if (m_sprites[i].m1.y > 480 + 48) | ||||
| m_sprites[i].m1.y = rand(-96, -48); | |||||
| m_sprites[i].m1.y = (float)rand(-96, -48); | |||||
| } | } | ||||
| WorldEntity::TickGame(seconds); | WorldEntity::TickGame(seconds); | ||||
| @@ -181,13 +181,13 @@ public: | |||||
| m_shader->SetUniform(m_mvp, m_matrix); | m_shader->SetUniform(m_mvp, m_matrix); | ||||
| m_lines_ibo->Bind(); | m_lines_ibo->Bind(); | ||||
| m_vdecl->DrawIndexedElements(MeshPrimitive::Lines, 0, 0, | m_vdecl->DrawIndexedElements(MeshPrimitive::Lines, 0, 0, | ||||
| m_mesh.Count(), 0, m_lines_indices.Count()); | |||||
| (int)m_mesh.Count(), 0, (int)m_lines_indices.Count()); | |||||
| m_lines_ibo->Unbind(); | m_lines_ibo->Unbind(); | ||||
| m_shader->SetUniform(m_mvp, m_matrix * mat4::scale(0.5f)); | m_shader->SetUniform(m_mvp, m_matrix * mat4::scale(0.5f)); | ||||
| m_faces_ibo->Bind(); | m_faces_ibo->Bind(); | ||||
| m_vdecl->DrawIndexedElements(MeshPrimitive::Triangles, 0, 0, | m_vdecl->DrawIndexedElements(MeshPrimitive::Triangles, 0, 0, | ||||
| m_mesh.Count(), 0, m_faces_indices.Count()); | |||||
| (int)m_mesh.Count(), 0, (int)m_faces_indices.Count()); | |||||
| m_faces_ibo->Unbind(); | m_faces_ibo->Unbind(); | ||||
| m_vdecl->Unbind(); | m_vdecl->Unbind(); | ||||
| @@ -93,9 +93,9 @@ public: | |||||
| b *= f; | b *= f; | ||||
| } | } | ||||
| uint8_t red = r * 255.99f; | |||||
| uint8_t green = g * 255.99f; | |||||
| uint8_t blue = b * 255.99f; | |||||
| uint8_t red = (uint8_t)r * 256; | |||||
| uint8_t green = (uint8_t)g * 256; | |||||
| uint8_t blue = (uint8_t)b * 256; | |||||
| #if defined _XBOX | #if defined _XBOX | ||||
| m_palette.Push(u8vec4(255, red, green, blue)); | m_palette.Push(u8vec4(255, red, green, blue)); | ||||
| #elif defined __native_client__ | #elif defined __native_client__ | ||||
| @@ -107,15 +107,15 @@ public: | |||||
| #if !defined __native_client__ | #if !defined __native_client__ | ||||
| m_centertext = new Text(NULL, "data/font/ascii.png"); | m_centertext = new Text(NULL, "data/font/ascii.png"); | ||||
| m_centertext->SetPos(vec3(5, m_window_size.y - 15, 1)); | |||||
| m_centertext->SetPos(vec3(5, (float)m_window_size.y - 15, 1)); | |||||
| Ticker::Ref(m_centertext); | Ticker::Ref(m_centertext); | ||||
| m_mousetext = new Text(NULL, "data/font/ascii.png"); | m_mousetext = new Text(NULL, "data/font/ascii.png"); | ||||
| m_mousetext->SetPos(vec3(5, m_window_size.y - 29, 1)); | |||||
| m_mousetext->SetPos(vec3(5, (float)m_window_size.y - 29, 1)); | |||||
| Ticker::Ref(m_mousetext); | Ticker::Ref(m_mousetext); | ||||
| m_zoomtext = new Text(NULL, "data/font/ascii.png"); | m_zoomtext = new Text(NULL, "data/font/ascii.png"); | ||||
| m_zoomtext->SetPos(vec3(5, m_window_size.y - 43, 1)); | |||||
| m_zoomtext->SetPos(vec3(5, (float)m_window_size.y - 43, 1)); | |||||
| Ticker::Ref(m_zoomtext); | Ticker::Ref(m_zoomtext); | ||||
| #endif | #endif | ||||
| @@ -285,8 +285,8 @@ public: | |||||
| /* Precompute texture offset change instead of doing it in GLSL */ | /* Precompute texture offset change instead of doing it in GLSL */ | ||||
| for (int i = 0; i < 4; i++) | for (int i = 0; i < 4; i++) | ||||
| { | { | ||||
| m_zoom_settings[i][0] += 0.5 * (1.0 - m_zoom_settings[i][2]); | |||||
| m_zoom_settings[i][1] -= 0.5 * (1.0 - m_zoom_settings[i][2]); | |||||
| m_zoom_settings[i][0] += 0.5f * (1.0f - m_zoom_settings[i][2]); | |||||
| m_zoom_settings[i][1] -= 0.5f * (1.0f - m_zoom_settings[i][2]); | |||||
| } | } | ||||
| #if !defined __native_client__ | #if !defined __native_client__ | ||||
| @@ -354,7 +354,7 @@ public: | |||||
| for (int i = m_frame % 2; i < m_size.x; i += 2) | for (int i = m_frame % 2; i < m_size.x; i += 2) | ||||
| { | { | ||||
| double xr, yr, x0, y0, x1, y1, x2, y2, x3, y3; | double xr, yr, x0, y0, x1, y1, x2, y2, x3, y3; | ||||
| dcmplx z0 = c + TexelToWorldOffset(vec2(i, j)); | |||||
| dcmplx z0 = c + TexelToWorldOffset(vec2(ivec2(i, j))); | |||||
| //dcmplx r0(0.28693186889504513, 0.014286693904085048); | //dcmplx r0(0.28693186889504513, 0.014286693904085048); | ||||
| //dcmplx r0(0.001643721971153, 0.822467633298876); | //dcmplx r0(0.001643721971153, 0.822467633298876); | ||||
| //dcmplx r0(-1.207205434596, 0.315432814901); | //dcmplx r0(-1.207205434596, 0.315432814901); | ||||
| @@ -409,7 +409,7 @@ public: | |||||
| /* Approximate log(sqrt(n))/log(sqrt(maxsqlen)) */ | /* Approximate log(sqrt(n))/log(sqrt(maxsqlen)) */ | ||||
| double f = iter; | double f = iter; | ||||
| union { double n; uint64_t x; } u = { n }; | union { double n; uint64_t x; } u = { n }; | ||||
| double k = (u.x >> 42) - (((1 << 10) - 1) << 10); | |||||
| double k = (double)(u.x >> 42) - (((1 << 10) - 1) << 10); | |||||
| k *= k1; | k *= k1; | ||||
| /* Approximate log2(k) in [1,2]. */ | /* Approximate log2(k) in [1,2]. */ | ||||
| @@ -206,12 +206,12 @@ public: | |||||
| float mi = (float)maxi; | float mi = (float)maxi; | ||||
| float j = (float)i; | float j = (float)i; | ||||
| float f_time = (float)m_time; | float f_time = (float)m_time; | ||||
| voronoi_points.Push(vec3(256.f) + 196.f * vec3(lol::cos( f_time + j * 2.0 * F_PI / mi), lol::sin( f_time + j * 2.f * F_PI / mi), .0f), vec2(.0f)); | |||||
| voronoi_points.Push(vec3(256.f) + 128.f * vec3(lol::cos(-f_time + j * 2.0 * F_PI / mi), lol::sin(-f_time + j * 2.f * F_PI / mi), .0f), vec2(.0f)); | |||||
| voronoi_points.Push(vec3(256.f) + 64.f * vec3(lol::cos( f_time + j * 2.0 * F_PI / mi), lol::sin( f_time + j * 2.f * F_PI / mi), .0f), vec2(.0f)); | |||||
| voronoi_points.Push(vec3(256.f) + 32.f * vec3(lol::cos(-f_time + j * 2.0 * F_PI / mi), lol::sin(-f_time + j * 2.f * F_PI / mi), .0f), vec2(.0f)); | |||||
| voronoi_points.Push(vec3(256.f) + 196.f * vec3(lol::cos( f_time + j * 2.f * F_PI / mi), lol::sin( f_time + j * 2.f * F_PI / mi), .0f), vec2(.0f)); | |||||
| voronoi_points.Push(vec3(256.f) + 128.f * vec3(lol::cos(-f_time + j * 2.f * F_PI / mi), lol::sin(-f_time + j * 2.f * F_PI / mi), .0f), vec2(.0f)); | |||||
| voronoi_points.Push(vec3(256.f) + 64.f * vec3(lol::cos( f_time + j * 2.f * F_PI / mi), lol::sin( f_time + j * 2.f * F_PI / mi), .0f), vec2(.0f)); | |||||
| voronoi_points.Push(vec3(256.f) + 32.f * vec3(lol::cos(-f_time + j * 2.f * F_PI / mi), lol::sin(-f_time + j * 2.f * F_PI / mi), .0f), vec2(.0f)); | |||||
| } | } | ||||
| voronoi_points.Push(vec3(256.f), vec2(.0f)); | |||||
| voronoi_points.Push(vec3(256.f), vec2(0.f)); | |||||
| } | } | ||||
| temp_buffer->Bind(); | temp_buffer->Bind(); | ||||
| @@ -70,7 +70,8 @@ liblolcore_sources = \ | |||||
| commandstack.h \ | commandstack.h \ | ||||
| easymesh/easymeshbuild.cpp easymesh/easymeshbuild.h \ | easymesh/easymeshbuild.cpp easymesh/easymeshbuild.h \ | ||||
| easymesh/easymeshrender.cpp easymesh/easymeshrender.h \ | easymesh/easymeshrender.cpp easymesh/easymeshrender.h \ | ||||
| easymesh/easymesh.cpp easymesh/easymesh.h \ | |||||
| easymesh/easymesh.cpp easymesh/easymeshprimitive.cpp \ | |||||
| easymesh/easymeshtransform.cpp easymesh/easymesh.h \ | |||||
| easymesh/csgbsp.cpp easymesh/csgbsp.h \ | easymesh/csgbsp.cpp easymesh/csgbsp.h \ | ||||
| easymesh/shiny.lolfx easymesh/shinyflat.lolfx \ | easymesh/shiny.lolfx easymesh/shinyflat.lolfx \ | ||||
| easymesh/shinydebugwireframe.lolfx \ | easymesh/shinydebugwireframe.lolfx \ | ||||
| @@ -33,9 +33,9 @@ int CsgBsp::AddLeaf(int leaf_type, vec3 origin, vec3 normal, int above_idx) | |||||
| m_tree[above_idx].m_leaves[leaf_type] == -1)) | m_tree[above_idx].m_leaves[leaf_type] == -1)) | ||||
| { | { | ||||
| if (m_tree.Count() != 0) | if (m_tree.Count() != 0) | ||||
| m_tree[above_idx].m_leaves[leaf_type] = m_tree.Count(); | |||||
| m_tree[above_idx].m_leaves[leaf_type] = (int32_t)m_tree.Count(); | |||||
| m_tree.Push(CsgBspLeaf(origin, normal, above_idx)); | m_tree.Push(CsgBspLeaf(origin, normal, above_idx)); | ||||
| return m_tree.Count() - 1; | |||||
| return (int)m_tree.Count() - 1; | |||||
| } | } | ||||
| return -1; | return -1; | ||||
| @@ -133,7 +133,7 @@ void CsgBsp::AddTriangleToTree(int const &tri_idx, vec3 const &tri_p0, vec3 cons | |||||
| if (m_tree[leaf_idx].m_leaves[1 - leaf_type] == LEAF_CURRENT) | if (m_tree[leaf_idx].m_leaves[1 - leaf_type] == LEAF_CURRENT) | ||||
| { | { | ||||
| Leaf_to_add.Push(1 - leaf_type, leaf_idx, v[isec_base], v[((isec_base + 1) % 3)], isec_v[v_idx0], -1); | Leaf_to_add.Push(1 - leaf_type, leaf_idx, v[isec_base], v[((isec_base + 1) % 3)], isec_v[v_idx0], -1); | ||||
| Leaf_to_add.Push(1 - leaf_type, leaf_idx, v[isec_base], isec_v[v_idx0], isec_v[v_idx1], Leaf_to_add.Count() - 1); | |||||
| Leaf_to_add.Push(1 - leaf_type, leaf_idx, v[isec_base], isec_v[v_idx0], isec_v[v_idx1], (int)Leaf_to_add.Count() - 1); | |||||
| } | } | ||||
| else | else | ||||
| { | { | ||||
| @@ -344,7 +344,7 @@ int CsgBsp::TestTriangleToTree(vec3 const &tri_p0, vec3 const &tri_p1, vec3 cons | |||||
| if (skip_point) | if (skip_point) | ||||
| continue; | continue; | ||||
| #endif | #endif | ||||
| new_v_idx[k] = vert_list.Count(); | |||||
| new_v_idx[k] = (int)vert_list.Count(); | |||||
| vec3 PmV0 = (isec_v[k] - vert_list[t[isec_i[k]]].m1); | vec3 PmV0 = (isec_v[k] - vert_list[t[isec_i[k]]].m1); | ||||
| vec3 V1mV0 = (vert_list[t[(isec_i[k] + 1) % 3]].m1 - vert_list[t[isec_i[k]]].m1); | vec3 V1mV0 = (vert_list[t[(isec_i[k] + 1) % 3]].m1 - vert_list[t[isec_i[k]]].m1); | ||||
| float alpha = length(PmV0) / length(V1mV0); | float alpha = length(PmV0) / length(V1mV0); | ||||
| @@ -358,7 +358,7 @@ int CsgBsp::TestTriangleToTree(vec3 const &tri_p0, vec3 const &tri_p1, vec3 cons | |||||
| int v_idx1 = (isec_base == 1)?(0):(1); | int v_idx1 = (isec_base == 1)?(0):(1); | ||||
| //Leaf_type is the type for the triangle that is alone on its side. | //Leaf_type is the type for the triangle that is alone on its side. | ||||
| int leaf_type = res_side[(isec_base + 2) % 3]; | int leaf_type = res_side[(isec_base + 2) % 3]; | ||||
| int tri_to_remove = tri_to_process.Count() - 1; | |||||
| int tri_to_remove = (int)tri_to_process.Count() - 1; | |||||
| #if 0 | #if 0 | ||||
| if (m_tree[leaf_idx].m_leaves[leaf_type] == LEAF_CURRENT && tri_to_process.Last().m1.Last() == 1) | if (m_tree[leaf_idx].m_leaves[leaf_type] == LEAF_CURRENT && tri_to_process.Last().m1.Last() == 1) | ||||
| @@ -110,7 +110,7 @@ public: | |||||
| void CsgXor() { MeshCsg(CSGUsage::Xor); } | void CsgXor() { MeshCsg(CSGUsage::Xor); } | ||||
| //------------------------------------------------------------------------- | //------------------------------------------------------------------------- | ||||
| //Mesh Base operations | |||||
| //Mesh Cursor operations | |||||
| //------------------------------------------------------------------------- | //------------------------------------------------------------------------- | ||||
| public: | public: | ||||
| /* [cmd:lp[ ]] will perform a loop of loopnb */ | /* [cmd:lp[ ]] will perform a loop of loopnb */ | ||||
| @@ -142,16 +142,16 @@ public: | |||||
| //Internal : Basic triangle/vertex operations | //Internal : Basic triangle/vertex operations | ||||
| //------------------------------------------------------------------------- | //------------------------------------------------------------------------- | ||||
| private: | private: | ||||
| void AddVertex(vec3 const &coord); | |||||
| void InternalAddVertex(vec3 const &coord); | |||||
| void AddDuplicateVertex(int i); | void AddDuplicateVertex(int i); | ||||
| void AddLerpVertex(int i, int j, float alpha); | void AddLerpVertex(int i, int j, float alpha); | ||||
| void AddLerpVertex(VertexData const &vi, VertexData const &vj, float alpha); | void AddLerpVertex(VertexData const &vi, VertexData const &vj, float alpha); | ||||
| VertexData GetLerpVertex(int i, int j, float alpha); | VertexData GetLerpVertex(int i, int j, float alpha); | ||||
| VertexData GetLerpVertex(VertexData const &vi, VertexData const &vj, float alpha); | VertexData GetLerpVertex(VertexData const &vi, VertexData const &vj, float alpha); | ||||
| void AppendQuad(int i1, int i2, int i3, int i4, int base); | |||||
| void AppendQuadDuplicateVerts(int i1, int i2, int i3, int i4, int base); | |||||
| void AppendTriangle(int i1, int i2, int i3, int base); | |||||
| void AppendTriangleDuplicateVerts(int i1, int i2, int i3, int base); | |||||
| void InternalAddQuad(int i1, int i2, int i3, int i4, int base); | |||||
| void InternalAddQuadDupVerts(int i1, int i2, int i3, int i4, int base); | |||||
| void InternalAddTriangle(int i1, int i2, int i3, int base); | |||||
| void InternalAddTriangleDupVerts(int i1, int i2, int i3, int base); | |||||
| void ComputeNormals(int start, int vcount); | void ComputeNormals(int start, int vcount); | ||||
| public: | public: | ||||
| /* Remove all unused */ | /* Remove all unused */ | ||||
| @@ -179,7 +179,6 @@ public: | |||||
| //------------------------------------------------------------------------- | //------------------------------------------------------------------------- | ||||
| //Mesh transform operations | //Mesh transform operations | ||||
| //------------------------------------------------------------------------- | //------------------------------------------------------------------------- | ||||
| /* [cmd:t/tx/ty/tz] Translate vertices | /* [cmd:t/tx/ty/tz] Translate vertices | ||||
| - v : Translation quantity. | - v : Translation quantity. | ||||
| */ | */ | ||||
| @@ -261,19 +260,13 @@ public: | |||||
| /* [cmd:s/sx/sy/sz] Scale vertices | /* [cmd:s/sx/sy/sz] Scale vertices | ||||
| - s : scale quantity. | - s : scale quantity. | ||||
| */ | */ | ||||
| void Scale(float s); | |||||
| void Scale(vec3 const &s); | void Scale(vec3 const &s); | ||||
| void Scale(float s) { Scale(vec3(s)); } | |||||
| /* [cmd:mx] Mirror vertices through X-plane | |||||
| /* [cmd:m*] Mirror vertices through *-plane | |||||
| Acts as an OpenBrace | Acts as an OpenBrace | ||||
| */ | */ | ||||
| void MirrorX(); | void MirrorX(); | ||||
| /* [cmd:my] Mirror vertices through Y-plane | |||||
| Acts as an OpenBrace | |||||
| */ | |||||
| void MirrorY(); | void MirrorY(); | ||||
| /* [cmd:mz] Mirror vertices through Z-plane | |||||
| Acts as an OpenBrace | |||||
| */ | |||||
| void MirrorZ(); | void MirrorZ(); | ||||
| /* [no-cmd] Duplicates vertices and scale duplicate | /* [no-cmd] Duplicates vertices and scale duplicate | ||||
| Acts as an OpenBrace | Acts as an OpenBrace | ||||
| @@ -298,9 +291,8 @@ public: | |||||
| void SmoothMesh(int pass, int split_per_pass, int smooth_per_pass); | void SmoothMesh(int pass, int split_per_pass, int smooth_per_pass); | ||||
| //------------------------------------------------------------------------- | //------------------------------------------------------------------------- | ||||
| //Mesh shape operations | |||||
| //Mesh shape primitive operations | |||||
| //------------------------------------------------------------------------- | //------------------------------------------------------------------------- | ||||
| /* [cmd:ac] Cylinder centered on (0,0,0) with BBox [-.5*max(d1, d2), -.5*h, -.5*max(d1, d2)] | /* [cmd:ac] Cylinder centered on (0,0,0) with BBox [-.5*max(d1, d2), -.5*h, -.5*max(d1, d2)] | ||||
| - nbsides : Number of sides. [+.5*max(d1, d2), +.5*h, +.5*max(d1, d2)] | - nbsides : Number of sides. [+.5*max(d1, d2), +.5*h, +.5*max(d1, d2)] | ||||
| - h : Height of the cylinder. | - h : Height of the cylinder. | ||||
| @@ -144,7 +144,7 @@ bool VertexDictionnary::FindConnectedTriangles(const ivec3 &search_idx, const ar | |||||
| //----------------------------------------------------------------------------- | //----------------------------------------------------------------------------- | ||||
| //Will update the given list with all the vertices on the same spot. | //Will update the given list with all the vertices on the same spot. | ||||
| void VertexDictionnary::AddVertex(const int vert_id, const vec3 vert_coord) | |||||
| void VertexDictionnary::RegisterVertex(const int vert_id, const vec3 vert_coord) | |||||
| { | { | ||||
| for (int j = 0; j < vertex_list.Count(); j++) | for (int j = 0; j < vertex_list.Count(); j++) | ||||
| if (vertex_list[j].m1 == vert_id) | if (vertex_list[j].m1 == vert_id) | ||||
| @@ -172,7 +172,7 @@ void VertexDictionnary::AddVertex(const int vert_id, const vec3 vert_coord) | |||||
| } | } | ||||
| //We're here because we couldn't find any matching vertex | //We're here because we couldn't find any matching vertex | ||||
| master_list.Push(vertex_list.Count()); | |||||
| master_list.Push((int)vertex_list.Count()); | |||||
| vertex_list.Push(vert_id, vert_coord, VDictType::Alone); | vertex_list.Push(vert_id, vert_coord, VDictType::Alone); | ||||
| } | } | ||||
| @@ -532,7 +532,7 @@ public: | |||||
| bool FindConnectedTriangles(const int search_idx, const array<uint16_t> &tri_list, const int tri0, array<int> &connected_tri, array<int> const *ignored_tri = nullptr); | bool FindConnectedTriangles(const int search_idx, const array<uint16_t> &tri_list, const int tri0, array<int> &connected_tri, array<int> const *ignored_tri = nullptr); | ||||
| bool FindConnectedTriangles(const ivec2 &search_idx, const array<uint16_t> &tri_list, const int tri0, array<int> &connected_tri, array<int> const *ignored_tri = nullptr); | bool FindConnectedTriangles(const ivec2 &search_idx, const array<uint16_t> &tri_list, const int tri0, array<int> &connected_tri, array<int> const *ignored_tri = nullptr); | ||||
| bool FindConnectedTriangles(const ivec3 &search_idx, const array<uint16_t> &tri_list, const int tri0, array<int> &connected_tri, array<int> const *ignored_tri = nullptr); | bool FindConnectedTriangles(const ivec3 &search_idx, const array<uint16_t> &tri_list, const int tri0, array<int> &connected_tri, array<int> const *ignored_tri = nullptr); | ||||
| void AddVertex(int vert_id, vec3 vert_coord); | |||||
| void RegisterVertex(int vert_id, vec3 vert_coord); | |||||
| void RemoveVertex(int vert_id); | void RemoveVertex(int vert_id); | ||||
| bool GetMasterList(array<int> &ret_master_list) { ret_master_list = master_list; return ret_master_list.Count() > 0; } | bool GetMasterList(array<int> &ret_master_list) { ret_master_list = master_list; return ret_master_list.Count() > 0; } | ||||
| void Clear() { vertex_list.Empty(); } | void Clear() { vertex_list.Empty(); } | ||||
| @@ -156,7 +156,7 @@ void DefaultShaderData::SetupShaderDatas(mat4 const &model) | |||||
| /* FIXME: the 4th component of the position can be used for other things */ | /* FIXME: the 4th component of the position can be used for other things */ | ||||
| /* FIXME: GetUniform("blabla") is costly */ | /* FIXME: GetUniform("blabla") is costly */ | ||||
| for (int i = 0; i < lights.Count(); ++i) | for (int i = 0; i < lights.Count(); ++i) | ||||
| light_data << vec4(lights[i]->GetPosition(), lights[i]->GetType()) << lights[i]->GetColor(); | |||||
| light_data << vec4(lights[i]->GetPosition(), (float)lights[i]->GetType()) << lights[i]->GetColor(); | |||||
| while (light_data.Count() < LOL_MAX_LIGHT_COUNT) | while (light_data.Count() < LOL_MAX_LIGHT_COUNT) | ||||
| light_data << vec4::zero << vec4::zero; | light_data << vec4::zero << vec4::zero; | ||||
| @@ -233,13 +233,13 @@ void GpuEasyMeshData::AddGpuData(GpuShaderData* gpudata, EasyMesh* src_mesh) | |||||
| memcpy(indices, &indexlist[0], indexlist.Bytes()); | memcpy(indices, &indexlist[0], indexlist.Bytes()); | ||||
| m_ibo->Unlock(); | m_ibo->Unlock(); | ||||
| m_indexcount = indexlist.Count(); | |||||
| m_indexcount = (int)indexlist.Count(); | |||||
| } | } | ||||
| //init to a minimum of gpudata->m_render_mode size | //init to a minimum of gpudata->m_render_mode size | ||||
| if (m_gpudatas.Count() <= gpudata->m_render_mode) | if (m_gpudatas.Count() <= gpudata->m_render_mode) | ||||
| { | { | ||||
| int i = m_gpudatas.Count(); | |||||
| int i = (int)m_gpudatas.Count(); | |||||
| int max = gpudata->m_render_mode + 1; | int max = gpudata->m_render_mode + 1; | ||||
| m_gpudatas.Reserve(max); | m_gpudatas.Reserve(max); | ||||
| for (; i < max; i++) | for (; i < max; i++) | ||||
| @@ -262,8 +262,8 @@ void GpuEasyMeshData::SetupVertexData(uint16_t vflags, EasyMesh* src_mesh) | |||||
| #define COPY_VBO \ | #define COPY_VBO \ | ||||
| vbo_data = &vertexlist[0]; \ | vbo_data = &vertexlist[0]; \ | ||||
| vbo_bytes = vertexlist.Bytes(); \ | |||||
| m_vertexcount = vertexlist.Count(); \ | |||||
| vbo_bytes = (int)vertexlist.Bytes(); \ | |||||
| m_vertexcount = (int)vertexlist.Count(); \ | |||||
| new_vbo = new VertexBuffer(vbo_bytes); \ | new_vbo = new VertexBuffer(vbo_bytes); \ | ||||
| void *mesh = new_vbo->Lock(0, 0); \ | void *mesh = new_vbo->Lock(0, 0); \ | ||||
| memcpy(mesh, vbo_data, vbo_bytes); \ | memcpy(mesh, vbo_data, vbo_bytes); \ | ||||
| @@ -0,0 +1,436 @@ | |||||
| // | |||||
| // Lol Engine | |||||
| // | |||||
| // Copyright: (c) 2010-2015 Sam Hocevar <sam@hocevar.net> | |||||
| // (c) 2009-2015 Cédric Lecacheur <jordx@free.fr> | |||||
| // (c) 2009-2015 Benjamin "Touky" Huet <huet.benjamin@gmail.com> | |||||
| // This program is free software; you can redistribute it and/or | |||||
| // modify it under the terms of the Do What The Fuck You Want To | |||||
| // Public License, Version 2, as published by Sam Hocevar. See | |||||
| // http://www.wtfpl.net/ for more details. | |||||
| // | |||||
| // | |||||
| // The EasyMesh class | |||||
| // ------------------ | |||||
| // | |||||
| #include <lol/engine-internal.h> | |||||
| namespace lol | |||||
| { | |||||
| //----------------------------------------------------------------------------- | |||||
| void EasyMesh::Translate(vec3 const &v) | |||||
| { | |||||
| if (BD()->IsEnabled(MeshBuildOperation::CommandRecording)) | |||||
| { | |||||
| BD()->CmdStack().AddCmd(EasyMeshCmdType::Translate); | |||||
| BD()->CmdStack() << v; | |||||
| return; | |||||
| } | |||||
| for (int i = m_cursors.Last().m1; i < m_vert.Count(); i++) | |||||
| m_vert[i].m_coord += v; | |||||
| } | |||||
| //----------------------------------------------------------------------------- | |||||
| void EasyMesh::RotateX(float angle) { Rotate(angle, vec3(1, 0, 0)); } | |||||
| void EasyMesh::RotateY(float angle) { Rotate(angle, vec3(0, 1, 0)); } | |||||
| void EasyMesh::RotateZ(float angle) { Rotate(angle, vec3(0, 0, 1)); } | |||||
| //----------------------------------------------------------------------------- | |||||
| void EasyMesh::Rotate(float angle, vec3 const &axis) | |||||
| { | |||||
| if (BD()->IsEnabled(MeshBuildOperation::CommandRecording)) | |||||
| { | |||||
| BD()->CmdStack().AddCmd(EasyMeshCmdType::Rotate); | |||||
| BD()->CmdStack() << angle << axis; | |||||
| return; | |||||
| } | |||||
| mat3 m = mat3::rotate(angle, axis); | |||||
| for (int i = m_cursors.Last().m1; i < m_vert.Count(); i++) | |||||
| { | |||||
| m_vert[i].m_coord = m * m_vert[i].m_coord; | |||||
| m_vert[i].m_normal = m * m_vert[i].m_normal; | |||||
| } | |||||
| } | |||||
| //----------------------------------------------------------------------------- | |||||
| void EasyMesh::RadialJitter(float r) | |||||
| { | |||||
| if (BD()->IsEnabled(MeshBuildOperation::CommandRecording)) | |||||
| { | |||||
| BD()->CmdStack().AddCmd(EasyMeshCmdType::RadialJitter); | |||||
| BD()->CmdStack() << r; | |||||
| return; | |||||
| } | |||||
| array<int> Welded; | |||||
| Welded.Push(-1); | |||||
| for (int i = m_cursors.Last().m1 + 1; i < m_vert.Count(); i++) | |||||
| { | |||||
| int j, k; | |||||
| for (j = m_cursors.Last().m1, k = 0; j < i; j++, k++) | |||||
| { | |||||
| if(Welded[k] < 0) | |||||
| { | |||||
| vec3 diff = m_vert[i].m_coord - m_vert[j].m_coord; | |||||
| if(diff.x > 0.1f || diff.x < -0.1f) | |||||
| continue; | |||||
| if(diff.y > 0.1f || diff.y < -0.1f) | |||||
| continue; | |||||
| if(diff.z > 0.1f || diff.z < -0.1f) | |||||
| continue; | |||||
| break; | |||||
| } | |||||
| } | |||||
| if(j == i) | |||||
| Welded.Push(-1); | |||||
| else | |||||
| Welded.Push(j); | |||||
| } | |||||
| int i, j; | |||||
| for (i = m_cursors.Last().m1, j = 0; i < m_vert.Count(); i++, j++) | |||||
| { | |||||
| if(Welded[j] == -1) | |||||
| m_vert[i].m_coord *= 1.0f + rand(r); | |||||
| else | |||||
| m_vert[i].m_coord = m_vert[Welded[j]].m_coord; | |||||
| } | |||||
| ComputeNormals(m_cursors.Last().m2, (int)m_indices.Count() - m_cursors.Last().m2); | |||||
| } | |||||
| //----------------------------------------------------------------------------- | |||||
| void EasyMesh::TaperX(float ny, float nz, float xoff, bool absolute) { DoMeshTransform(MeshTransform::Taper, Axis::X, Axis::X, ny, nz, xoff, absolute); } | |||||
| void EasyMesh::TaperY(float nx, float nz, float yoff, bool absolute) { DoMeshTransform(MeshTransform::Taper, Axis::Y, Axis::Y, nz, nx, yoff, absolute); } | |||||
| void EasyMesh::TaperZ(float nx, float ny, float zoff, bool absolute) { DoMeshTransform(MeshTransform::Taper, Axis::Z, Axis::Z, nx, ny, zoff, absolute); } | |||||
| //----------------------------------------------------------------------------- | |||||
| void EasyMesh::TwistX(float t, float toff) { DoMeshTransform(MeshTransform::Twist, Axis::X, Axis::X, t, t, toff); } | |||||
| void EasyMesh::TwistY(float t, float toff) { DoMeshTransform(MeshTransform::Twist, Axis::Y, Axis::Y, t, t, toff); } | |||||
| void EasyMesh::TwistZ(float t, float toff) { DoMeshTransform(MeshTransform::Twist, Axis::Z, Axis::Z, t, t, toff); } | |||||
| //----------------------------------------------------------------------------- | |||||
| void EasyMesh::ShearX(float ny, float nz, float xoff, bool absolute) { DoMeshTransform(MeshTransform::Shear, Axis::X, Axis::X, ny, nz, xoff, absolute); } | |||||
| void EasyMesh::ShearY(float nx, float nz, float yoff, bool absolute) { DoMeshTransform(MeshTransform::Shear, Axis::Y, Axis::Y, nz, nx, yoff, absolute); } | |||||
| void EasyMesh::ShearZ(float nx, float ny, float zoff, bool absolute) { DoMeshTransform(MeshTransform::Shear, Axis::Z, Axis::Z, nx, ny, zoff, absolute); } | |||||
| //----------------------------------------------------------------------------- | |||||
| void EasyMesh::StretchX(float ny, float nz, float xoff) { DoMeshTransform(MeshTransform::Stretch, Axis::X, Axis::X, ny, nz, xoff); } | |||||
| void EasyMesh::StretchY(float nx, float nz, float yoff) { DoMeshTransform(MeshTransform::Stretch, Axis::Y, Axis::Y, nz, nx, yoff); } | |||||
| void EasyMesh::StretchZ(float nx, float ny, float zoff) { DoMeshTransform(MeshTransform::Stretch, Axis::Z, Axis::Z, nx, ny, zoff); } | |||||
| //----------------------------------------------------------------------------- | |||||
| void EasyMesh::BendXY(float t, float toff) { DoMeshTransform(MeshTransform::Bend, Axis::X, Axis::Y, t, t, toff); } | |||||
| void EasyMesh::BendXZ(float t, float toff) { DoMeshTransform(MeshTransform::Bend, Axis::X, Axis::Z, t, t, toff); } | |||||
| void EasyMesh::BendYX(float t, float toff) { DoMeshTransform(MeshTransform::Bend, Axis::Y, Axis::X, t, t, toff); } | |||||
| void EasyMesh::BendYZ(float t, float toff) { DoMeshTransform(MeshTransform::Bend, Axis::Y, Axis::Z, t, t, toff); } | |||||
| void EasyMesh::BendZX(float t, float toff) { DoMeshTransform(MeshTransform::Bend, Axis::Z, Axis::X, t, t, toff); } | |||||
| void EasyMesh::BendZY(float t, float toff) { DoMeshTransform(MeshTransform::Bend, Axis::Z, Axis::Y, t, t, toff); } | |||||
| //----------------------------------------------------------------------------- | |||||
| void EasyMesh::DoMeshTransform(MeshTransform ct, Axis axis0, Axis axis1, float n0, float n1, float noff, bool absolute) | |||||
| { | |||||
| if (BD()->IsEnabled(MeshBuildOperation::CommandRecording)) | |||||
| { | |||||
| BD()->CmdStack().AddCmd(EasyMeshCmdType::MeshTranform); | |||||
| BD()->CmdStack() << ct << axis0 << axis1 << n0 << n1 << noff << absolute; | |||||
| return; | |||||
| } | |||||
| for (int i = m_cursors.Last().m1; i < m_vert.Count(); i++) | |||||
| { | |||||
| switch (ct.ToScalar()) | |||||
| { | |||||
| case MeshTransform::Taper: | |||||
| { | |||||
| float value = m_vert[i].m_coord[axis0.ToScalar()]; | |||||
| if (absolute) value = abs(value); | |||||
| m_vert[i].m_coord[(axis0.ToScalar() + 1) % 3] *= max(0.f, 1.f + (n0 * value + noff)); | |||||
| m_vert[i].m_coord[(axis0.ToScalar() + 2) % 3] *= max(0.f, 1.f + (n1 * value + noff)); | |||||
| break; | |||||
| } | |||||
| case MeshTransform::Twist: | |||||
| { | |||||
| vec3 rotaxis = vec3(1.f); rotaxis[(axis0.ToScalar() + 1) % 3] = .0f; rotaxis[(axis0.ToScalar() + 2) % 3] = .0f; | |||||
| m_vert[i].m_coord = mat3::rotate(m_vert[i].m_coord[axis0.ToScalar()] * n0 + noff, rotaxis) * m_vert[i].m_coord; | |||||
| break; | |||||
| } | |||||
| case MeshTransform::Shear: | |||||
| { | |||||
| float value = m_vert[i].m_coord[axis0.ToScalar()]; | |||||
| if (absolute) value = abs(value); | |||||
| m_vert[i].m_coord[(axis0.ToScalar() + 1) % 3] += (n0 * value + noff); | |||||
| m_vert[i].m_coord[(axis0.ToScalar() + 2) % 3] += (n1 * value + noff); | |||||
| break; | |||||
| } | |||||
| case MeshTransform::Stretch: | |||||
| { | |||||
| //float value = abs(m_vert[i].m1[axis0.ToScalar()]); | |||||
| //m_vert[i].m1[(axis0.ToScalar() + 1) % 3] += (lol::pow(value, n0) + noff); | |||||
| //m_vert[i].m1[(axis0.ToScalar() + 2) % 3] += (lol::pow(value, n1) + noff); | |||||
| break; | |||||
| } | |||||
| case MeshTransform::Bend: | |||||
| { | |||||
| vec3 rotaxis = vec3(1.f); rotaxis[(axis1.ToScalar() + 1) % 3] = .0f; rotaxis[(axis1.ToScalar() + 2) % 3] = .0f; | |||||
| m_vert[i].m_coord = mat3::rotate(m_vert[i].m_coord[axis0.ToScalar()] * n0 + noff, rotaxis) * m_vert[i].m_coord; | |||||
| break; | |||||
| } | |||||
| } | |||||
| } | |||||
| ComputeNormals(m_cursors.Last().m2, (int)m_indices.Count() - m_cursors.Last().m2); | |||||
| } | |||||
| //----------------------------------------------------------------------------- | |||||
| void EasyMesh::Scale(float s) { Scale(vec3(s)); } | |||||
| void EasyMesh::Scale(vec3 const &s) | |||||
| { | |||||
| if (BD()->IsEnabled(MeshBuildOperation::CommandRecording)) | |||||
| { | |||||
| BD()->CmdStack().AddCmd(EasyMeshCmdType::Scale); | |||||
| BD()->CmdStack() << s; | |||||
| return; | |||||
| } | |||||
| vec3 const invs = vec3(1) / s; | |||||
| for (int i = m_cursors.Last().m1; i < m_vert.Count(); i++) | |||||
| { | |||||
| m_vert[i].m_coord *= s; | |||||
| m_vert[i].m_normal = normalize(m_vert[i].m_normal * invs); | |||||
| } | |||||
| /* Flip winding if the scaling involves mirroring */ | |||||
| if (!BD()->IsEnabled(MeshBuildOperation::ScaleWinding) && s.x * s.y * s.z < 0) | |||||
| { | |||||
| for (int i = m_cursors.Last().m2; i < m_indices.Count(); i += 3) | |||||
| { | |||||
| uint16_t tmp = m_indices[i + 0]; | |||||
| m_indices[i + 0] = m_indices[i + 1]; | |||||
| m_indices[i + 1] = tmp; | |||||
| } | |||||
| } | |||||
| } | |||||
| //----------------------------------------------------------------------------- | |||||
| void EasyMesh::MirrorX() { DupAndScale(vec3(-1, 1, 1)); } | |||||
| void EasyMesh::MirrorY() { DupAndScale(vec3(1, -1, 1)); } | |||||
| void EasyMesh::MirrorZ() { DupAndScale(vec3(1, 1, -1)); } | |||||
| //----------------------------------------------------------------------------- | |||||
| void EasyMesh::DupAndScale(vec3 const &s, bool open_brace) | |||||
| { | |||||
| if (BD()->IsEnabled(MeshBuildOperation::CommandRecording)) | |||||
| { | |||||
| BD()->CmdStack().AddCmd(EasyMeshCmdType::DupAndScale); | |||||
| BD()->CmdStack() << s << open_brace; | |||||
| return; | |||||
| } | |||||
| int vlen = (int)m_vert.Count() - m_cursors.Last().m1; | |||||
| int tlen = (int)m_indices.Count() - m_cursors.Last().m2; | |||||
| for (int i = 0; i < vlen; i++) | |||||
| AddDuplicateVertex(m_cursors.Last().m1++); | |||||
| for (int i = 0; i < tlen; i++) | |||||
| m_indices << m_indices[m_cursors.Last().m2++] + vlen; | |||||
| Scale(s); | |||||
| m_cursors.Last().m1 -= vlen; | |||||
| m_cursors.Last().m2 -= tlen; | |||||
| if (open_brace) | |||||
| { | |||||
| OpenBrace(); | |||||
| m_cursors.Last().m1 -= vlen; | |||||
| m_cursors.Last().m2 -= tlen; | |||||
| } | |||||
| } | |||||
| //----------------------------------------------------------------------------- | |||||
| void EasyMesh::Chamfer(float f) | |||||
| { | |||||
| if (BD()->IsEnabled(MeshBuildOperation::CommandRecording)) | |||||
| { | |||||
| BD()->CmdStack().AddCmd(EasyMeshCmdType::Chamfer); | |||||
| BD()->CmdStack() << f; | |||||
| return; | |||||
| } | |||||
| int vlen = (int)m_vert.Count() - m_cursors.Last().m1; | |||||
| int ilen = (int)m_indices.Count() - m_cursors.Last().m2; | |||||
| /* Step 1: enumerate all faces. This is done by merging triangles | |||||
| * that are coplanar and share an edge. */ | |||||
| int *triangle_classes = new int[ilen / 3]; | |||||
| for (int i = 0; i < ilen / 3; i++) | |||||
| triangle_classes[i] = -1; | |||||
| for (int i = 0; i < ilen / 3; i++) | |||||
| { | |||||
| } | |||||
| /* Fun shit: reduce all triangles */ | |||||
| int *vertices = new int[vlen]; | |||||
| memset(vertices, 0, vlen * sizeof(int)); | |||||
| for (int i = 0; i < ilen; i++) | |||||
| vertices[m_indices[i]]++; | |||||
| for (int i = 0; i < ilen / 3; i++) | |||||
| { | |||||
| #if 0 | |||||
| if (vertices[m_indices[i * 3]] > 1) | |||||
| continue; | |||||
| if (vertices[m_indices[i * 3 + 1]] > 1) | |||||
| continue; | |||||
| if (vertices[m_indices[i * 3 + 2]] > 1) | |||||
| continue; | |||||
| #endif | |||||
| vec3 bary = 1.f / 3.f * (m_vert[m_indices[i * 3]].m_coord + | |||||
| m_vert[m_indices[i * 3 + 1]].m_coord + | |||||
| m_vert[m_indices[i * 3 + 2]].m_coord); | |||||
| for (int k = 0; k < 3; k++) | |||||
| { | |||||
| vec3 &p = m_vert[m_indices[i * 3 + k]].m_coord; | |||||
| p -= normalize(p - bary) * f; | |||||
| } | |||||
| } | |||||
| } | |||||
| //----------------------------------------------------------------------------- | |||||
| void EasyMesh::SplitTriangles(int pass) | |||||
| { | |||||
| if (BD()->IsEnabled(MeshBuildOperation::CommandRecording)) | |||||
| { | |||||
| BD()->CmdStack().AddCmd(EasyMeshCmdType::SplitTriangles); | |||||
| BD()->CmdStack() << pass; | |||||
| return; | |||||
| } | |||||
| SplitTriangles(pass, nullptr); | |||||
| } | |||||
| //----------------------------------------------------------------------------- | |||||
| void EasyMesh::SplitTriangles(int pass, VertexDictionnary *vert_dict) | |||||
| { | |||||
| while (pass--) | |||||
| { | |||||
| int trimax = (int)m_indices.Count(); | |||||
| for (int i = m_cursors.Last().m2; i < trimax; i += 3) | |||||
| { | |||||
| int vbase = (int)m_vert.Count(); | |||||
| int j = -1; | |||||
| while (++j < 3) | |||||
| { | |||||
| AddLerpVertex(m_indices[i + j], m_indices[i + (j + 1) % 3], .5f); | |||||
| if (vert_dict) | |||||
| vert_dict->RegisterVertex(vbase + j, m_vert[vbase + j].m_coord); | |||||
| } | |||||
| //Add new triangles | |||||
| InternalAddTriangle(vbase, m_indices[i + 1], vbase + 1, 0); | |||||
| InternalAddTriangle(vbase + 2, vbase + 1, m_indices[i + 2], 0); | |||||
| InternalAddTriangle(vbase, vbase + 1, vbase + 2, 0); | |||||
| //Change current triangle | |||||
| m_indices[i + 1] = vbase; | |||||
| m_indices[i + 2] = vbase + 2; | |||||
| } | |||||
| } | |||||
| ComputeNormals(m_cursors.Last().m2, (int)m_indices.Count() - m_cursors.Last().m2); | |||||
| } | |||||
| //----------------------------------------------------------------------------- | |||||
| //TODO : Add an half-edges implementation to refine smooth. | |||||
| //TODO : Smooth should only use connected vertices that are on edges of the mesh (See box). | |||||
| void EasyMesh::SmoothMesh(int main_pass, int split_per_main_pass, int smooth_per_main_pass) | |||||
| { | |||||
| if (BD()->IsEnabled(MeshBuildOperation::CommandRecording)) | |||||
| { | |||||
| BD()->CmdStack().AddCmd(EasyMeshCmdType::SmoothMesh); | |||||
| BD()->CmdStack() << main_pass << split_per_main_pass << smooth_per_main_pass; | |||||
| return; | |||||
| } | |||||
| VertexDictionnary vert_dict; | |||||
| array<vec3> smooth_buf[2]; | |||||
| array<int> master_list; | |||||
| array<int> matching_ids; | |||||
| array<int> connected_vert; | |||||
| int smbuf = 0; | |||||
| for (int i = m_cursors.Last().m1; i < m_vert.Count(); i++) | |||||
| vert_dict.RegisterVertex(i, m_vert[i].m_coord); | |||||
| while (main_pass--) | |||||
| { | |||||
| int split_pass = split_per_main_pass; | |||||
| int smooth_pass = smooth_per_main_pass; | |||||
| SplitTriangles(split_pass, &vert_dict); | |||||
| matching_ids.Reserve(m_vert.Count() - m_cursors.Last().m1); | |||||
| connected_vert.Reserve(m_vert.Count() - m_cursors.Last().m1); | |||||
| smooth_buf[0].Resize(m_vert.Count() - m_cursors.Last().m1); | |||||
| smooth_buf[1].Resize(m_vert.Count() - m_cursors.Last().m1); | |||||
| for (int i = m_cursors.Last().m1; i < m_vert.Count(); i++) | |||||
| smooth_buf[smbuf][i - m_cursors.Last().m1] = m_vert[i].m_coord; | |||||
| while (smooth_pass--) | |||||
| { | |||||
| master_list.Empty(); | |||||
| if (vert_dict.GetMasterList(master_list)) | |||||
| { | |||||
| for (int i = 0; i < master_list.Count(); i++) | |||||
| { | |||||
| connected_vert.Empty(); | |||||
| if (vert_dict.FindConnectedVertices(master_list[i], m_indices, m_cursors.Last().m2, connected_vert)) | |||||
| { | |||||
| //Calculate vertices sum | |||||
| vec3 vert_sum = vec3(.0f); | |||||
| for (int j = 0; j < connected_vert.Count(); j++) | |||||
| vert_sum += smooth_buf[smbuf][connected_vert[j] - m_cursors.Last().m1]; | |||||
| //Calculate new master vertex | |||||
| float n = (float)connected_vert.Count(); | |||||
| //b(n) = 5/4 - pow(3 + 2 * cos(2.f * F_PI / n), 2) / 32 | |||||
| float beta = 3.f + 2.f * cos(2.f * F_PI / n); | |||||
| beta = 5.f / 4.f - beta * beta / 32.f; | |||||
| //a(n) = n * (1 - b(n)) / b(n) | |||||
| float alpha = (n * (1 - beta)) / beta; | |||||
| //V = (a(n) * v + v1 + ... + vn) / (a(n) + n) | |||||
| vec3 new_vert = (alpha * smooth_buf[smbuf][master_list[i] - m_cursors.Last().m1] + vert_sum) / (alpha + n); | |||||
| //Set all matching vertices to new value | |||||
| matching_ids.Empty(); | |||||
| matching_ids << master_list[i]; | |||||
| vert_dict.FindMatchingVertices(master_list[i], matching_ids); | |||||
| for (int j = 0; j < matching_ids.Count(); j++) | |||||
| smooth_buf[1 - smbuf][matching_ids[j] - m_cursors.Last().m1] = new_vert; | |||||
| } | |||||
| } | |||||
| } | |||||
| smbuf = 1 - smbuf; | |||||
| } | |||||
| for (int i = 0; i < smooth_buf[smbuf].Count(); i++) | |||||
| m_vert[i + m_cursors.Last().m1].m_coord = smooth_buf[smbuf][i]; | |||||
| } | |||||
| } | |||||
| } /* namespace lol */ | |||||
| @@ -35,7 +35,7 @@ void KeyBinding::Bind(const String& device_name, const String& key_name) | |||||
| return; | return; | ||||
| } | } | ||||
| m_keybindings.Push(device, keyindex); | |||||
| m_keybindings.Push(device, (int)keyindex); | |||||
| } | } | ||||
| bool KeyBinding::Unbind(const String& device_name, const String& key_name) | bool KeyBinding::Unbind(const String& device_name, const String& key_name) | ||||
| @@ -80,7 +80,7 @@ void AxisBinding::Bind(const String& device_name, const String& axis_name) | |||||
| return; | return; | ||||
| } | } | ||||
| m_axisbindings.Push(device, axisindex); | |||||
| m_axisbindings.Push(device, (int)axisindex); | |||||
| } | } | ||||
| void AxisBinding::BindKey(const String& device_name, const String& key_name) | void AxisBinding::BindKey(const String& device_name, const String& key_name) | ||||
| @@ -101,7 +101,7 @@ void AxisBinding::BindKey(const String& device_name, const String& key_name) | |||||
| return; | return; | ||||
| } | } | ||||
| m_keybindings.Push(device, -1, keyindex); | |||||
| m_keybindings.Push(device, -1, (int)keyindex); | |||||
| } | } | ||||
| void AxisBinding::BindKeys(const String& device_name, const String& min_key_name, const String& max_key_name) | void AxisBinding::BindKeys(const String& device_name, const String& min_key_name, const String& max_key_name) | ||||
| @@ -130,7 +130,7 @@ void AxisBinding::BindKeys(const String& device_name, const String& min_key_name | |||||
| return; | return; | ||||
| } | } | ||||
| m_keybindings.Push(device, minkeyindex, maxkeyindex); | |||||
| m_keybindings.Push(device, (int)minkeyindex, (int)maxkeyindex); | |||||
| } | } | ||||
| bool AxisBinding::Unbind(const String& device_name, const String& axis_name) | bool AxisBinding::Unbind(const String& device_name, const String& axis_name) | ||||
| @@ -38,7 +38,7 @@ String InputDevice::GetText() | |||||
| void InputDeviceInternal::AddKey(int index, const char* name) | void InputDeviceInternal::AddKey(int index, const char* name) | ||||
| { | { | ||||
| if (index == -1) | if (index == -1) | ||||
| index = m_keynames.Count(); | |||||
| index = (int)m_keynames.Count(); | |||||
| while (index >= m_keynames.Count()) | while (index >= m_keynames.Count()) | ||||
| { | { | ||||
| @@ -52,7 +52,7 @@ void InputDeviceInternal::AddKey(int index, const char* name) | |||||
| void InputDeviceInternal::AddAxis(int index, const char* name, float sensitivity) | void InputDeviceInternal::AddAxis(int index, const char* name, float sensitivity) | ||||
| { | { | ||||
| if (index == -1) | if (index == -1) | ||||
| index = m_axisnames.Count(); | |||||
| index = (int)m_axisnames.Count(); | |||||
| while (index >= m_axisnames.Count()) | while (index >= m_axisnames.Count()) | ||||
| { | { | ||||
| @@ -68,7 +68,7 @@ void InputDeviceInternal::AddAxis(int index, const char* name, float sensitivity | |||||
| void InputDeviceInternal::AddCursor(int index, const char* name) | void InputDeviceInternal::AddCursor(int index, const char* name) | ||||
| { | { | ||||
| if (index == -1) | if (index == -1) | ||||
| index = m_cursornames.Count(); | |||||
| index = (int)m_cursornames.Count(); | |||||
| while (index >= m_cursornames.Count()) | while (index >= m_cursornames.Count()) | ||||
| { | { | ||||
| @@ -186,7 +186,7 @@ public: | |||||
| private: | private: | ||||
| //-- | //-- | ||||
| bool CleanupEmptyLeaves(int leaf=0) | |||||
| bool CleanupEmptyLeaves(int leaf=0) | |||||
| { | { | ||||
| int empty_children = 0; | int empty_children = 0; | ||||
| for (size_t i = 0; i < child_nb; ++i) | for (size_t i = 0; i < child_nb; ++i) | ||||
| @@ -210,7 +210,7 @@ private: | |||||
| return false; | return false; | ||||
| } | } | ||||
| //-- | //-- | ||||
| void RemoveElement(TE* element) | |||||
| void RemoveElement(TE* element) | |||||
| { | { | ||||
| int idx = INDEX_NONE; | int idx = INDEX_NONE; | ||||
| for (int i = 0; i < m_elements.Count(); ++i) | for (int i = 0; i < m_elements.Count(); ++i) | ||||
| @@ -228,7 +228,7 @@ private: | |||||
| CleanupEmptyLeaves(); | CleanupEmptyLeaves(); | ||||
| } | } | ||||
| //-- | //-- | ||||
| int AddElement(TE* element) | |||||
| int AddElement(TE* element) | |||||
| { | { | ||||
| for (int i = 0; i < m_elements.Count(); ++i) | for (int i = 0; i < m_elements.Count(); ++i) | ||||
| if (m_elements[i].m_element == element) | if (m_elements[i].m_element == element) | ||||
| @@ -238,12 +238,12 @@ private: | |||||
| new_element.m_element = element; | new_element.m_element = element; | ||||
| new_element.m_leaves = array<int>(); | new_element.m_leaves = array<int>(); | ||||
| m_elements << new_element; | m_elements << new_element; | ||||
| return m_elements.Count() - 1; | |||||
| return (int)m_elements.Count() - 1; | |||||
| } | } | ||||
| //-- | //-- | ||||
| int AddLeaf(int parent) | |||||
| int AddLeaf(int parent) | |||||
| { | { | ||||
| int idx = m_tree.Count(); | |||||
| int idx = (int)m_tree.Count(); | |||||
| if (m_free_leaves.Count()) | if (m_free_leaves.Count()) | ||||
| { | { | ||||
| idx = m_free_leaves.Pop(); | idx = m_free_leaves.Pop(); | ||||
| @@ -255,7 +255,7 @@ private: | |||||
| } | } | ||||
| //-- | //-- | ||||
| bool TestLeaf(int leaf, const TB& leaf_bb, const TB& test_bb, array<TE*>& elements) | |||||
| bool TestLeaf(int leaf, const TB& leaf_bb, const TB& test_bb, array<TE*>& elements) | |||||
| { | { | ||||
| bool result = false; | bool result = false; | ||||
| if (TestAABBVsAABB(leaf_bb, test_bb)) | if (TestAABBVsAABB(leaf_bb, test_bb)) | ||||
| @@ -265,7 +265,7 @@ private: | |||||
| { | { | ||||
| if (node.m_children[i] != 0) | if (node.m_children[i] != 0) | ||||
| { | { | ||||
| TB sub_aabb = GetSubAABB(leaf_bb, i); | |||||
| TB sub_aabb = GetSubAABB(leaf_bb, (int)i); | |||||
| result = result | TestLeaf(node.m_children[i], sub_aabb, test_bb, elements); | result = result | TestLeaf(node.m_children[i], sub_aabb, test_bb, elements); | ||||
| } | } | ||||
| else | else | ||||
| @@ -279,14 +279,14 @@ private: | |||||
| return result; | return result; | ||||
| } | } | ||||
| //-- | //-- | ||||
| bool RegisterElement(TE* element, int leaf, TB leaf_bb, int depth) | |||||
| bool RegisterElement(TE* element, int leaf, TB leaf_bb, int depth) | |||||
| { | { | ||||
| if (TestAABBVsAABB(leaf_bb, element->GetAABB())) | if (TestAABBVsAABB(leaf_bb, element->GetAABB())) | ||||
| { | { | ||||
| bool found_child = false; | bool found_child = false; | ||||
| for (size_t i = 0; i < child_nb; ++i) | for (size_t i = 0; i < child_nb; ++i) | ||||
| { | { | ||||
| TB child_bb = GetSubAABB(leaf_bb, i); | |||||
| TB child_bb = GetSubAABB(leaf_bb, (int)i); | |||||
| int child_leaf = m_tree[leaf].m_children[i]; | int child_leaf = m_tree[leaf].m_children[i]; | ||||
| //there is a child, go further down | //there is a child, go further down | ||||
| if (child_leaf != 0) | if (child_leaf != 0) | ||||
| @@ -1,412 +1,414 @@ | |||||
| <?xml version="1.0" encoding="utf-8"?> | |||||
| <Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |||||
| <ItemGroup Label="ProjectConfigurations"> | |||||
| <ProjectConfiguration Include="Debug|ORBIS"> | |||||
| <Configuration>Debug</Configuration> | |||||
| <Platform>ORBIS</Platform> | |||||
| </ProjectConfiguration> | |||||
| <ProjectConfiguration Include="Debug|Win32"> | |||||
| <Configuration>Debug</Configuration> | |||||
| <Platform>Win32</Platform> | |||||
| </ProjectConfiguration> | |||||
| <ProjectConfiguration Include="Debug|x64"> | |||||
| <Configuration>Debug</Configuration> | |||||
| <Platform>x64</Platform> | |||||
| </ProjectConfiguration> | |||||
| <ProjectConfiguration Include="Debug|Xbox 360"> | |||||
| <Configuration>Debug</Configuration> | |||||
| <Platform>Xbox 360</Platform> | |||||
| </ProjectConfiguration> | |||||
| <ProjectConfiguration Include="Release|ORBIS"> | |||||
| <Configuration>Release</Configuration> | |||||
| <Platform>ORBIS</Platform> | |||||
| </ProjectConfiguration> | |||||
| <ProjectConfiguration Include="Release|Win32"> | |||||
| <Configuration>Release</Configuration> | |||||
| <Platform>Win32</Platform> | |||||
| </ProjectConfiguration> | |||||
| <ProjectConfiguration Include="Release|x64"> | |||||
| <Configuration>Release</Configuration> | |||||
| <Platform>x64</Platform> | |||||
| </ProjectConfiguration> | |||||
| <ProjectConfiguration Include="Release|Xbox 360"> | |||||
| <Configuration>Release</Configuration> | |||||
| <Platform>Xbox 360</Platform> | |||||
| </ProjectConfiguration> | |||||
| </ItemGroup> | |||||
| <PropertyGroup Label="Globals"> | |||||
| <ProjectGuid>{9E62F2FE-3408-4EAE-8238-FD84238CEEDA}</ProjectGuid> | |||||
| <ConfigurationType>StaticLibrary</ConfigurationType> | |||||
| <Keyword>Win32Proj</Keyword> | |||||
| </PropertyGroup> | |||||
| <Import Project="$(SolutionDir)\msbuild\lol.config.props" /> | |||||
| <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> | |||||
| <UseDebugLibraries>true</UseDebugLibraries> | |||||
| <CharacterSet>MultiByte</CharacterSet> | |||||
| </PropertyGroup> | |||||
| <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration"> | |||||
| <UseDebugLibraries>true</UseDebugLibraries> | |||||
| <CharacterSet>MultiByte</CharacterSet> | |||||
| </PropertyGroup> | |||||
| <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Xbox 360'" Label="Configuration"> | |||||
| <CharacterSet>MultiByte</CharacterSet> | |||||
| </PropertyGroup> | |||||
| <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ORBIS'" Label="Configuration"> | |||||
| <CharacterSet>MultiByte</CharacterSet> | |||||
| </PropertyGroup> | |||||
| <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> | |||||
| <UseDebugLibraries>false</UseDebugLibraries> | |||||
| <WholeProgramOptimization>true</WholeProgramOptimization> | |||||
| <CharacterSet>MultiByte</CharacterSet> | |||||
| </PropertyGroup> | |||||
| <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration"> | |||||
| <UseDebugLibraries>false</UseDebugLibraries> | |||||
| <WholeProgramOptimization>true</WholeProgramOptimization> | |||||
| <CharacterSet>MultiByte</CharacterSet> | |||||
| </PropertyGroup> | |||||
| <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Xbox 360'" Label="Configuration"> | |||||
| <WholeProgramOptimization>true</WholeProgramOptimization> | |||||
| <CharacterSet>MultiByte</CharacterSet> | |||||
| </PropertyGroup> | |||||
| <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ORBIS'" Label="Configuration"> | |||||
| <WholeProgramOptimization>true</WholeProgramOptimization> | |||||
| <CharacterSet>MultiByte</CharacterSet> | |||||
| </PropertyGroup> | |||||
| <ImportGroup Label="ExtensionSettings"> | |||||
| <Import Project="$(SolutionDir)\msbuild\lolfx.props" /> | |||||
| </ImportGroup> | |||||
| <ImportGroup Label="PropertySheets"> | |||||
| <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> | |||||
| <Import Project="$(SolutionDir)\msbuild\lol.vars.props" /> | |||||
| </ImportGroup> | |||||
| <PropertyGroup Label="UserMacros" /> | |||||
| <Import Project="$(SolutionDir)\msbuild\lol.rules.props" /> | |||||
| <ItemDefinitionGroup> | |||||
| <ClCompile> | |||||
| <PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions);LOL_INPUT_V2</PreprocessorDefinitions> | |||||
| </ClCompile> | |||||
| </ItemDefinitionGroup> | |||||
| <ItemGroup> | |||||
| <ClCompile Include="application\application.cpp" /> | |||||
| <ClCompile Include="audio.cpp" /> | |||||
| <ClCompile Include="camera.cpp" /> | |||||
| <ClCompile Include="base\assert.cpp" /> | |||||
| <ClCompile Include="base\enum.cpp" /> | |||||
| <ClCompile Include="base\hash.cpp" /> | |||||
| <ClCompile Include="base\log.cpp" /> | |||||
| <ClCompile Include="base\string.cpp" /> | |||||
| <ClCompile Include="debug\fps.cpp" /> | |||||
| <ClCompile Include="debug\lines.cpp" /> | |||||
| <ClCompile Include="debug\record.cpp" /> | |||||
| <ClCompile Include="debug\stats.cpp" /> | |||||
| <ClCompile Include="dict.cpp" /> | |||||
| <ClCompile Include="easymesh\csgbsp.cpp" /> | |||||
| <ClCompile Include="easymesh\easymesh.cpp" /> | |||||
| <ClCompile Include="easymesh\easymeshbuild.cpp" /> | |||||
| <ClCompile Include="easymesh\easymeshrender.cpp" /> | |||||
| <ClCompile Include="eglapp.cpp" /> | |||||
| <ClCompile Include="emitter.cpp" /> | |||||
| <ClCompile Include="entity.cpp" /> | |||||
| <ClCompile Include="font.cpp" /> | |||||
| <ClCompile Include="forge.cpp" /> | |||||
| <ClCompile Include="gpu\framebuffer.cpp" /> | |||||
| <ClCompile Include="gpu\indexbuffer.cpp" /> | |||||
| <ClCompile Include="gpu\lolfx.cpp" /> | |||||
| <ClCompile Include="gpu\rendercontext.cpp" /> | |||||
| <ClCompile Include="gpu\renderer.cpp" /> | |||||
| <ClCompile Include="gpu\shader.cpp" /> | |||||
| <ClCompile Include="gpu\texture.cpp" /> | |||||
| <ClCompile Include="gpu\vertexbuffer.cpp" /> | |||||
| <ClCompile Include="gradient.cpp" /> | |||||
| <ClCompile Include="image\codec\android-image.cpp" /> | |||||
| <ClCompile Include="image\codec\dummy-image.cpp" /> | |||||
| <ClCompile Include="image\codec\gdiplus-image.cpp" /> | |||||
| <ClCompile Include="image\codec\ios-image.cpp" /> | |||||
| <ClCompile Include="image\codec\oric-image.cpp" /> | |||||
| <ClCompile Include="image\codec\sdl-image.cpp" /> | |||||
| <ClCompile Include="image\codec\zed-image.cpp" /> | |||||
| <ClCompile Include="image\codec\zed-palette-image.cpp" /> | |||||
| <ClCompile Include="image\color\cie1931.cpp" /> | |||||
| <ClCompile Include="image\color\color.cpp" /> | |||||
| <ClCompile Include="image\filter\color.cpp" /> | |||||
| <ClCompile Include="image\filter\convolution.cpp" /> | |||||
| <ClCompile Include="image\filter\dilate.cpp" /> | |||||
| <ClCompile Include="image\filter\median.cpp" /> | |||||
| <ClCompile Include="image\filter\yuv.cpp" /> | |||||
| <ClCompile Include="image\dither\dbs.cpp" /> | |||||
| <ClCompile Include="image\dither\ediff.cpp" /> | |||||
| <ClCompile Include="image\dither\ordered.cpp" /> | |||||
| <ClCompile Include="image\dither\ostromoukhov.cpp" /> | |||||
| <ClCompile Include="image\dither\random.cpp" /> | |||||
| <ClCompile Include="image\crop.cpp" /> | |||||
| <ClCompile Include="image\combine.cpp" /> | |||||
| <ClCompile Include="image\image.cpp" /> | |||||
| <ClCompile Include="image\kernel.cpp" /> | |||||
| <ClCompile Include="image\movie.cpp" /> | |||||
| <ClCompile Include="image\noise.cpp" /> | |||||
| <ClCompile Include="image\pixel.cpp" /> | |||||
| <ClCompile Include="image\resample.cpp" /> | |||||
| <ClCompile Include="input\controller.cpp" /> | |||||
| <ClCompile Include="input\input.cpp" /> | |||||
| <ClCompile Include="light.cpp" /> | |||||
| <ClCompile Include="math\constants.cpp" /> | |||||
| <ClCompile Include="math\geometry.cpp" /> | |||||
| <ClCompile Include="math\half.cpp" /> | |||||
| <ClCompile Include="math\matrix.cpp" /> | |||||
| <ClCompile Include="math\real.cpp" /> | |||||
| <ClCompile Include="math\transform.cpp" /> | |||||
| <ClCompile Include="math\trig.cpp" /> | |||||
| <ClCompile Include="math\vector.cpp" /> | |||||
| <ClCompile Include="mesh\mesh.cpp" /> | |||||
| <ClCompile Include="mesh\primitive.cpp" /> | |||||
| <ClCompile Include="messageservice.cpp" /> | |||||
| <ClCompile Include="platform.cpp" /> | |||||
| <ClCompile Include="platform\d3d9\d3d9input.cpp" /> | |||||
| <ClCompile Include="platform\nacl\nacl-app.cpp"> | |||||
| <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> | |||||
| <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> | |||||
| <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|ORBIS'">true</ExcludedFromBuild> | |||||
| <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|ORBIS'">true</ExcludedFromBuild> | |||||
| <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Xbox 360'">true</ExcludedFromBuild> | |||||
| <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Xbox 360'">true</ExcludedFromBuild> | |||||
| <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> | |||||
| <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> | |||||
| </ClCompile> | |||||
| <ClCompile Include="platform\nacl\nacl-instance.cpp"> | |||||
| <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> | |||||
| <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> | |||||
| <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|ORBIS'">true</ExcludedFromBuild> | |||||
| <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|ORBIS'">true</ExcludedFromBuild> | |||||
| <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Xbox 360'">true</ExcludedFromBuild> | |||||
| <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Xbox 360'">true</ExcludedFromBuild> | |||||
| <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> | |||||
| <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> | |||||
| </ClCompile> | |||||
| <ClCompile Include="platform\nacl\nacl-module.cpp"> | |||||
| <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> | |||||
| <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> | |||||
| <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|ORBIS'">true</ExcludedFromBuild> | |||||
| <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|ORBIS'">true</ExcludedFromBuild> | |||||
| <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Xbox 360'">true</ExcludedFromBuild> | |||||
| <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Xbox 360'">true</ExcludedFromBuild> | |||||
| <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> | |||||
| <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> | |||||
| </ClCompile> | |||||
| <ClCompile Include="platform\nacl\opengl_context.cpp"> | |||||
| <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> | |||||
| <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> | |||||
| <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|ORBIS'">true</ExcludedFromBuild> | |||||
| <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|ORBIS'">true</ExcludedFromBuild> | |||||
| <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Xbox 360'">true</ExcludedFromBuild> | |||||
| <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Xbox 360'">true</ExcludedFromBuild> | |||||
| <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> | |||||
| <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> | |||||
| </ClCompile> | |||||
| <ClCompile Include="platform\sdl\sdlapp.cpp" /> | |||||
| <ClCompile Include="platform\sdl\sdlinput.cpp" /> | |||||
| <ClCompile Include="platform\xbox\xboxapp.cpp" /> | |||||
| <ClCompile Include="platform\xbox\xboxinput.cpp" /> | |||||
| <ClCompile Include="profiler.cpp" /> | |||||
| <ClCompile Include="sample.cpp" /> | |||||
| <ClCompile Include="sampler.cpp" /> | |||||
| <ClCompile Include="scene.cpp" /> | |||||
| <ClCompile Include="sprite.cpp" /> | |||||
| <ClCompile Include="sys\file.cpp" /> | |||||
| <ClCompile Include="sys\hacks.cpp" /> | |||||
| <ClCompile Include="sys\init.cpp" /> | |||||
| <ClCompile Include="sys\thread.cpp" /> | |||||
| <ClCompile Include="sys\timer.cpp" /> | |||||
| <ClCompile Include="text.cpp" /> | |||||
| <ClCompile Include="ticker.cpp" /> | |||||
| <ClCompile Include="tiler.cpp" /> | |||||
| <ClCompile Include="tileset.cpp" /> | |||||
| <ClCompile Include="video.cpp" /> | |||||
| <ClCompile Include="world.cpp" /> | |||||
| <ClCompile Include="worldentity.cpp" /> | |||||
| </ItemGroup> | |||||
| <ItemGroup> | |||||
| <ClInclude Include="application\application.h" /> | |||||
| <ClInclude Include="audio.h" /> | |||||
| <ClInclude Include="camera.h" /> | |||||
| <ClInclude Include="commandstack.h" /> | |||||
| <ClInclude Include="debug\fps.h" /> | |||||
| <ClInclude Include="debug\record.h" /> | |||||
| <ClInclude Include="debug\stats.h" /> | |||||
| <ClInclude Include="dict.h" /> | |||||
| <ClInclude Include="easymesh\csgbsp.h" /> | |||||
| <ClInclude Include="easymesh\easymesh.h" /> | |||||
| <ClInclude Include="easymesh\easymeshbuild.h" /> | |||||
| <ClInclude Include="easymesh\easymeshrender.h" /> | |||||
| <ClInclude Include="eglapp.h" /> | |||||
| <ClInclude Include="emitter.h" /> | |||||
| <ClInclude Include="entity.h" /> | |||||
| <ClInclude Include="font.h" /> | |||||
| <ClInclude Include="forge.h" /> | |||||
| <ClInclude Include="gradient.h" /> | |||||
| <ClInclude Include="image\image-private.h" /> | |||||
| <ClInclude Include="input\controller.h" /> | |||||
| <ClInclude Include="input\input.h" /> | |||||
| <ClInclude Include="input\input_internal.h" /> | |||||
| <ClInclude Include="input\keys.h" /> | |||||
| <ClInclude Include="light.h" /> | |||||
| <ClInclude Include="loldebug.h" /> | |||||
| <ClInclude Include="lolgl.h" /> | |||||
| <ClInclude Include="lol\algorithm\aabb_tree.h" /> | |||||
| <ClInclude Include="lol\algorithm\all.h" /> | |||||
| <ClInclude Include="lol\algorithm\portal.h" /> | |||||
| <ClInclude Include="lol\algorithm\sort.h" /> | |||||
| <ClInclude Include="lol\base\all.h" /> | |||||
| <ClInclude Include="lol\base\array.h" /> | |||||
| <ClInclude Include="lol\base\assert.h" /> | |||||
| <ClInclude Include="lol\base\enum.h" /> | |||||
| <ClInclude Include="lol\base\features.h" /> | |||||
| <ClInclude Include="lol\base\hash.h" /> | |||||
| <ClInclude Include="lol\base\log.h" /> | |||||
| <ClInclude Include="lol\base\map.h" /> | |||||
| <ClInclude Include="lol\base\string.h" /> | |||||
| <ClInclude Include="lol\base\types.h" /> | |||||
| <ClInclude Include="lol\base\tuple.h" /> | |||||
| <ClInclude Include="lol\debug\all.h" /> | |||||
| <ClInclude Include="lol\debug\lines.h" /> | |||||
| <ClInclude Include="lol\engine.h" /> | |||||
| <ClInclude Include="lol\engine-internal.h" /> | |||||
| <ClInclude Include="lol\extras.h" /> | |||||
| <ClInclude Include="lol\gpu\all.h" /> | |||||
| <ClInclude Include="lol\gpu\framebuffer.h" /> | |||||
| <ClInclude Include="lol\gpu\indexbuffer.h" /> | |||||
| <ClInclude Include="lol\gpu\lolfx.h" /> | |||||
| <ClInclude Include="lol\gpu\rendercontext.h" /> | |||||
| <ClInclude Include="lol\gpu\renderer.h" /> | |||||
| <ClInclude Include="lol\gpu\shader.h" /> | |||||
| <ClInclude Include="lol\gpu\texture.h" /> | |||||
| <ClInclude Include="lol\gpu\vertexbuffer.h" /> | |||||
| <ClInclude Include="lol\image\all.h" /> | |||||
| <ClInclude Include="lol\image\color.h" /> | |||||
| <ClInclude Include="lol\image\image.h" /> | |||||
| <ClInclude Include="lol\image\movie.h" /> | |||||
| <ClInclude Include="lol\image\pixel.h" /> | |||||
| <ClInclude Include="lol\math\all.h" /> | |||||
| <ClInclude Include="lol\math\array2d.h" /> | |||||
| <ClInclude Include="lol\math\array3d.h" /> | |||||
| <ClInclude Include="lol\math\bigint.h" /> | |||||
| <ClInclude Include="lol\math\constants.h" /> | |||||
| <ClInclude Include="lol\math\functions.h" /> | |||||
| <ClInclude Include="lol\math\geometry.h" /> | |||||
| <ClInclude Include="lol\math\half.h" /> | |||||
| <ClInclude Include="lol\math\interp.h" /> | |||||
| <ClInclude Include="lol\math\matrix.h" /> | |||||
| <ClInclude Include="lol\math\noise\gradient.h" /> | |||||
| <ClInclude Include="lol\math\noise\perlin.h" /> | |||||
| <ClInclude Include="lol\math\noise\simplex.h" /> | |||||
| <ClInclude Include="lol\math\ops.h" /> | |||||
| <ClInclude Include="lol\math\polynomial.h" /> | |||||
| <ClInclude Include="lol\math\rand.h" /> | |||||
| <ClInclude Include="lol\math\real.h" /> | |||||
| <ClInclude Include="lol\math\remez.h" /> | |||||
| <ClInclude Include="lol\math\transform.h" /> | |||||
| <ClInclude Include="lol\math\vector.h" /> | |||||
| <ClInclude Include="lol\public.h" /> | |||||
| <ClInclude Include="lol\sys\all.h" /> | |||||
| <ClInclude Include="lol\sys\file.h" /> | |||||
| <ClInclude Include="lol\sys\init.h" /> | |||||
| <ClInclude Include="lol\sys\thread.h" /> | |||||
| <ClInclude Include="lol\sys\timer.h" /> | |||||
| <ClInclude Include="lol\unit.h" /> | |||||
| <ClInclude Include="mesh\mesh.h" /> | |||||
| <ClInclude Include="mesh\primitive.h" /> | |||||
| <ClInclude Include="messageservice.h" /> | |||||
| <ClInclude Include="numeric.h" /> | |||||
| <ClInclude Include="platform.h" /> | |||||
| <ClInclude Include="platform\d3d9\d3d9input.h" /> | |||||
| <ClInclude Include="platform\nacl\nacl-app.h"> | |||||
| <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> | |||||
| <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> | |||||
| <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|ORBIS'">true</ExcludedFromBuild> | |||||
| <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|ORBIS'">true</ExcludedFromBuild> | |||||
| <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Xbox 360'">true</ExcludedFromBuild> | |||||
| <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Xbox 360'">true</ExcludedFromBuild> | |||||
| <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> | |||||
| <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> | |||||
| </ClInclude> | |||||
| <ClInclude Include="platform\nacl\nacl-instance.h"> | |||||
| <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> | |||||
| <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> | |||||
| <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|ORBIS'">true</ExcludedFromBuild> | |||||
| <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|ORBIS'">true</ExcludedFromBuild> | |||||
| <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Xbox 360'">true</ExcludedFromBuild> | |||||
| <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Xbox 360'">true</ExcludedFromBuild> | |||||
| <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> | |||||
| <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> | |||||
| </ClInclude> | |||||
| <ClInclude Include="platform\nacl\opengl_context.h"> | |||||
| <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> | |||||
| <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> | |||||
| <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|ORBIS'">true</ExcludedFromBuild> | |||||
| <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|ORBIS'">true</ExcludedFromBuild> | |||||
| <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Xbox 360'">true</ExcludedFromBuild> | |||||
| <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Xbox 360'">true</ExcludedFromBuild> | |||||
| <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> | |||||
| <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> | |||||
| </ClInclude> | |||||
| <ClInclude Include="platform\nacl\opengl_context_ptrs.h"> | |||||
| <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> | |||||
| <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> | |||||
| <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|ORBIS'">true</ExcludedFromBuild> | |||||
| <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|ORBIS'">true</ExcludedFromBuild> | |||||
| <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Xbox 360'">true</ExcludedFromBuild> | |||||
| <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Xbox 360'">true</ExcludedFromBuild> | |||||
| <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> | |||||
| <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> | |||||
| </ClInclude> | |||||
| <ClInclude Include="platform\sdl\sdlapp.h" /> | |||||
| <ClInclude Include="platform\sdl\sdlinput.h" /> | |||||
| <ClInclude Include="platform\xbox\xboxapp.h" /> | |||||
| <ClInclude Include="platform\xbox\xboxinput.h" /> | |||||
| <ClInclude Include="profiler.h" /> | |||||
| <ClInclude Include="sample.h" /> | |||||
| <ClInclude Include="sampler.h" /> | |||||
| <ClInclude Include="scene.h" /> | |||||
| <ClInclude Include="simd.h" /> | |||||
| <ClInclude Include="sprite.h" /> | |||||
| <ClInclude Include="sys\threadbase.h" /> | |||||
| <ClInclude Include="text.h" /> | |||||
| <ClInclude Include="ticker.h" /> | |||||
| <ClInclude Include="tiler.h" /> | |||||
| <ClInclude Include="tileset.h" /> | |||||
| <ClInclude Include="utils.h" /> | |||||
| <ClInclude Include="video.h" /> | |||||
| <ClInclude Include="world.h" /> | |||||
| <ClInclude Include="worldentity.h" /> | |||||
| </ItemGroup> | |||||
| <ItemGroup> | |||||
| <LolFxCompile Include="easymesh\shiny.lolfx" /> | |||||
| <LolFxCompile Include="easymesh\shinydebuglighting.lolfx" /> | |||||
| <LolFxCompile Include="easymesh\shinydebugnormal.lolfx" /> | |||||
| <LolFxCompile Include="easymesh\shinydebugUV.lolfx" /> | |||||
| <LolFxCompile Include="easymesh\shinydebugwireframe.lolfx" /> | |||||
| <LolFxCompile Include="easymesh\shinyflat.lolfx" /> | |||||
| <LolFxCompile Include="easymesh\shiny_SK.lolfx" /> | |||||
| <LolFxCompile Include="gpu\defaultmaterial.lolfx" /> | |||||
| <LolFxCompile Include="gpu\emptymaterial.lolfx" /> | |||||
| <LolFxCompile Include="gpu\line.lolfx" /> | |||||
| <LolFxCompile Include="gpu\palette.lolfx" /> | |||||
| <LolFxCompile Include="gpu\testmaterial.lolfx" /> | |||||
| <LolFxCompile Include="gpu\tile.lolfx" /> | |||||
| <LolFxCompile Include="gradient.lolfx" /> | |||||
| </ItemGroup> | |||||
| <ItemGroup> | |||||
| <None Include="Makefile.am" /> | |||||
| </ItemGroup> | |||||
| <ItemGroup> | |||||
| <ProjectReference Include="bullet\lolbullet.vcxproj"> | |||||
| <Project>{83d3b207-c601-4025-8f41-01dedc354661}</Project> | |||||
| </ProjectReference> | |||||
| <ProjectReference Include="lua\lollua.vcxproj"> | |||||
| <Project>{d84021ca-b233-4e0f-8a52-071b83bbccc4}</Project> | |||||
| </ProjectReference> | |||||
| </ItemGroup> | |||||
| <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> | |||||
| <ImportGroup Label="ExtensionTargets"> | |||||
| <Import Project="$(SolutionDir)\msbuild\lolfx.targets" /> | |||||
| </ImportGroup> | |||||
| </Project> | |||||
| <?xml version="1.0" encoding="utf-8"?> | |||||
| <Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |||||
| <ItemGroup Label="ProjectConfigurations"> | |||||
| <ProjectConfiguration Include="Debug|ORBIS"> | |||||
| <Configuration>Debug</Configuration> | |||||
| <Platform>ORBIS</Platform> | |||||
| </ProjectConfiguration> | |||||
| <ProjectConfiguration Include="Debug|Win32"> | |||||
| <Configuration>Debug</Configuration> | |||||
| <Platform>Win32</Platform> | |||||
| </ProjectConfiguration> | |||||
| <ProjectConfiguration Include="Debug|x64"> | |||||
| <Configuration>Debug</Configuration> | |||||
| <Platform>x64</Platform> | |||||
| </ProjectConfiguration> | |||||
| <ProjectConfiguration Include="Debug|Xbox 360"> | |||||
| <Configuration>Debug</Configuration> | |||||
| <Platform>Xbox 360</Platform> | |||||
| </ProjectConfiguration> | |||||
| <ProjectConfiguration Include="Release|ORBIS"> | |||||
| <Configuration>Release</Configuration> | |||||
| <Platform>ORBIS</Platform> | |||||
| </ProjectConfiguration> | |||||
| <ProjectConfiguration Include="Release|Win32"> | |||||
| <Configuration>Release</Configuration> | |||||
| <Platform>Win32</Platform> | |||||
| </ProjectConfiguration> | |||||
| <ProjectConfiguration Include="Release|x64"> | |||||
| <Configuration>Release</Configuration> | |||||
| <Platform>x64</Platform> | |||||
| </ProjectConfiguration> | |||||
| <ProjectConfiguration Include="Release|Xbox 360"> | |||||
| <Configuration>Release</Configuration> | |||||
| <Platform>Xbox 360</Platform> | |||||
| </ProjectConfiguration> | |||||
| </ItemGroup> | |||||
| <PropertyGroup Label="Globals"> | |||||
| <ProjectGuid>{9E62F2FE-3408-4EAE-8238-FD84238CEEDA}</ProjectGuid> | |||||
| <ConfigurationType>StaticLibrary</ConfigurationType> | |||||
| <Keyword>Win32Proj</Keyword> | |||||
| </PropertyGroup> | |||||
| <Import Project="$(SolutionDir)\msbuild\lol.config.props" /> | |||||
| <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> | |||||
| <UseDebugLibraries>true</UseDebugLibraries> | |||||
| <CharacterSet>MultiByte</CharacterSet> | |||||
| </PropertyGroup> | |||||
| <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration"> | |||||
| <UseDebugLibraries>true</UseDebugLibraries> | |||||
| <CharacterSet>MultiByte</CharacterSet> | |||||
| </PropertyGroup> | |||||
| <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Xbox 360'" Label="Configuration"> | |||||
| <CharacterSet>MultiByte</CharacterSet> | |||||
| </PropertyGroup> | |||||
| <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ORBIS'" Label="Configuration"> | |||||
| <CharacterSet>MultiByte</CharacterSet> | |||||
| </PropertyGroup> | |||||
| <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> | |||||
| <UseDebugLibraries>false</UseDebugLibraries> | |||||
| <WholeProgramOptimization>true</WholeProgramOptimization> | |||||
| <CharacterSet>MultiByte</CharacterSet> | |||||
| </PropertyGroup> | |||||
| <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration"> | |||||
| <UseDebugLibraries>false</UseDebugLibraries> | |||||
| <WholeProgramOptimization>true</WholeProgramOptimization> | |||||
| <CharacterSet>MultiByte</CharacterSet> | |||||
| </PropertyGroup> | |||||
| <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Xbox 360'" Label="Configuration"> | |||||
| <WholeProgramOptimization>true</WholeProgramOptimization> | |||||
| <CharacterSet>MultiByte</CharacterSet> | |||||
| </PropertyGroup> | |||||
| <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ORBIS'" Label="Configuration"> | |||||
| <WholeProgramOptimization>true</WholeProgramOptimization> | |||||
| <CharacterSet>MultiByte</CharacterSet> | |||||
| </PropertyGroup> | |||||
| <ImportGroup Label="ExtensionSettings"> | |||||
| <Import Project="$(SolutionDir)\msbuild\lolfx.props" /> | |||||
| </ImportGroup> | |||||
| <ImportGroup Label="PropertySheets"> | |||||
| <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> | |||||
| <Import Project="$(SolutionDir)\msbuild\lol.vars.props" /> | |||||
| </ImportGroup> | |||||
| <PropertyGroup Label="UserMacros" /> | |||||
| <Import Project="$(SolutionDir)\msbuild\lol.rules.props" /> | |||||
| <ItemDefinitionGroup> | |||||
| <ClCompile> | |||||
| <PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions);LOL_INPUT_V2</PreprocessorDefinitions> | |||||
| </ClCompile> | |||||
| </ItemDefinitionGroup> | |||||
| <ItemGroup> | |||||
| <ClCompile Include="application\application.cpp" /> | |||||
| <ClCompile Include="audio.cpp" /> | |||||
| <ClCompile Include="camera.cpp" /> | |||||
| <ClCompile Include="base\assert.cpp" /> | |||||
| <ClCompile Include="base\enum.cpp" /> | |||||
| <ClCompile Include="base\hash.cpp" /> | |||||
| <ClCompile Include="base\log.cpp" /> | |||||
| <ClCompile Include="base\string.cpp" /> | |||||
| <ClCompile Include="debug\fps.cpp" /> | |||||
| <ClCompile Include="debug\lines.cpp" /> | |||||
| <ClCompile Include="debug\record.cpp" /> | |||||
| <ClCompile Include="debug\stats.cpp" /> | |||||
| <ClCompile Include="dict.cpp" /> | |||||
| <ClCompile Include="easymesh\csgbsp.cpp" /> | |||||
| <ClCompile Include="easymesh\easymesh.cpp" /> | |||||
| <ClCompile Include="easymesh\easymeshbuild.cpp" /> | |||||
| <ClCompile Include="easymesh\easymeshprimitive.cpp" /> | |||||
| <ClCompile Include="easymesh\easymeshrender.cpp" /> | |||||
| <ClCompile Include="easymesh\easymeshtransform.cpp" /> | |||||
| <ClCompile Include="eglapp.cpp" /> | |||||
| <ClCompile Include="emitter.cpp" /> | |||||
| <ClCompile Include="entity.cpp" /> | |||||
| <ClCompile Include="font.cpp" /> | |||||
| <ClCompile Include="forge.cpp" /> | |||||
| <ClCompile Include="gpu\framebuffer.cpp" /> | |||||
| <ClCompile Include="gpu\indexbuffer.cpp" /> | |||||
| <ClCompile Include="gpu\lolfx.cpp" /> | |||||
| <ClCompile Include="gpu\rendercontext.cpp" /> | |||||
| <ClCompile Include="gpu\renderer.cpp" /> | |||||
| <ClCompile Include="gpu\shader.cpp" /> | |||||
| <ClCompile Include="gpu\texture.cpp" /> | |||||
| <ClCompile Include="gpu\vertexbuffer.cpp" /> | |||||
| <ClCompile Include="gradient.cpp" /> | |||||
| <ClCompile Include="image\codec\android-image.cpp" /> | |||||
| <ClCompile Include="image\codec\dummy-image.cpp" /> | |||||
| <ClCompile Include="image\codec\gdiplus-image.cpp" /> | |||||
| <ClCompile Include="image\codec\ios-image.cpp" /> | |||||
| <ClCompile Include="image\codec\oric-image.cpp" /> | |||||
| <ClCompile Include="image\codec\sdl-image.cpp" /> | |||||
| <ClCompile Include="image\codec\zed-image.cpp" /> | |||||
| <ClCompile Include="image\codec\zed-palette-image.cpp" /> | |||||
| <ClCompile Include="image\color\cie1931.cpp" /> | |||||
| <ClCompile Include="image\color\color.cpp" /> | |||||
| <ClCompile Include="image\filter\color.cpp" /> | |||||
| <ClCompile Include="image\filter\convolution.cpp" /> | |||||
| <ClCompile Include="image\filter\dilate.cpp" /> | |||||
| <ClCompile Include="image\filter\median.cpp" /> | |||||
| <ClCompile Include="image\filter\yuv.cpp" /> | |||||
| <ClCompile Include="image\dither\dbs.cpp" /> | |||||
| <ClCompile Include="image\dither\ediff.cpp" /> | |||||
| <ClCompile Include="image\dither\ordered.cpp" /> | |||||
| <ClCompile Include="image\dither\ostromoukhov.cpp" /> | |||||
| <ClCompile Include="image\dither\random.cpp" /> | |||||
| <ClCompile Include="image\crop.cpp" /> | |||||
| <ClCompile Include="image\combine.cpp" /> | |||||
| <ClCompile Include="image\image.cpp" /> | |||||
| <ClCompile Include="image\kernel.cpp" /> | |||||
| <ClCompile Include="image\movie.cpp" /> | |||||
| <ClCompile Include="image\noise.cpp" /> | |||||
| <ClCompile Include="image\pixel.cpp" /> | |||||
| <ClCompile Include="image\resample.cpp" /> | |||||
| <ClCompile Include="input\controller.cpp" /> | |||||
| <ClCompile Include="input\input.cpp" /> | |||||
| <ClCompile Include="light.cpp" /> | |||||
| <ClCompile Include="math\constants.cpp" /> | |||||
| <ClCompile Include="math\geometry.cpp" /> | |||||
| <ClCompile Include="math\half.cpp" /> | |||||
| <ClCompile Include="math\matrix.cpp" /> | |||||
| <ClCompile Include="math\real.cpp" /> | |||||
| <ClCompile Include="math\transform.cpp" /> | |||||
| <ClCompile Include="math\trig.cpp" /> | |||||
| <ClCompile Include="math\vector.cpp" /> | |||||
| <ClCompile Include="mesh\mesh.cpp" /> | |||||
| <ClCompile Include="mesh\primitive.cpp" /> | |||||
| <ClCompile Include="messageservice.cpp" /> | |||||
| <ClCompile Include="platform.cpp" /> | |||||
| <ClCompile Include="platform\d3d9\d3d9input.cpp" /> | |||||
| <ClCompile Include="platform\nacl\nacl-app.cpp"> | |||||
| <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> | |||||
| <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> | |||||
| <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|ORBIS'">true</ExcludedFromBuild> | |||||
| <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|ORBIS'">true</ExcludedFromBuild> | |||||
| <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Xbox 360'">true</ExcludedFromBuild> | |||||
| <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Xbox 360'">true</ExcludedFromBuild> | |||||
| <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> | |||||
| <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> | |||||
| </ClCompile> | |||||
| <ClCompile Include="platform\nacl\nacl-instance.cpp"> | |||||
| <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> | |||||
| <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> | |||||
| <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|ORBIS'">true</ExcludedFromBuild> | |||||
| <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|ORBIS'">true</ExcludedFromBuild> | |||||
| <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Xbox 360'">true</ExcludedFromBuild> | |||||
| <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Xbox 360'">true</ExcludedFromBuild> | |||||
| <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> | |||||
| <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> | |||||
| </ClCompile> | |||||
| <ClCompile Include="platform\nacl\nacl-module.cpp"> | |||||
| <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> | |||||
| <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> | |||||
| <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|ORBIS'">true</ExcludedFromBuild> | |||||
| <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|ORBIS'">true</ExcludedFromBuild> | |||||
| <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Xbox 360'">true</ExcludedFromBuild> | |||||
| <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Xbox 360'">true</ExcludedFromBuild> | |||||
| <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> | |||||
| <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> | |||||
| </ClCompile> | |||||
| <ClCompile Include="platform\nacl\opengl_context.cpp"> | |||||
| <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> | |||||
| <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> | |||||
| <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|ORBIS'">true</ExcludedFromBuild> | |||||
| <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|ORBIS'">true</ExcludedFromBuild> | |||||
| <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Xbox 360'">true</ExcludedFromBuild> | |||||
| <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Xbox 360'">true</ExcludedFromBuild> | |||||
| <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> | |||||
| <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> | |||||
| </ClCompile> | |||||
| <ClCompile Include="platform\sdl\sdlapp.cpp" /> | |||||
| <ClCompile Include="platform\sdl\sdlinput.cpp" /> | |||||
| <ClCompile Include="platform\xbox\xboxapp.cpp" /> | |||||
| <ClCompile Include="platform\xbox\xboxinput.cpp" /> | |||||
| <ClCompile Include="profiler.cpp" /> | |||||
| <ClCompile Include="sample.cpp" /> | |||||
| <ClCompile Include="sampler.cpp" /> | |||||
| <ClCompile Include="scene.cpp" /> | |||||
| <ClCompile Include="sprite.cpp" /> | |||||
| <ClCompile Include="sys\file.cpp" /> | |||||
| <ClCompile Include="sys\hacks.cpp" /> | |||||
| <ClCompile Include="sys\init.cpp" /> | |||||
| <ClCompile Include="sys\thread.cpp" /> | |||||
| <ClCompile Include="sys\timer.cpp" /> | |||||
| <ClCompile Include="text.cpp" /> | |||||
| <ClCompile Include="ticker.cpp" /> | |||||
| <ClCompile Include="tiler.cpp" /> | |||||
| <ClCompile Include="tileset.cpp" /> | |||||
| <ClCompile Include="video.cpp" /> | |||||
| <ClCompile Include="world.cpp" /> | |||||
| <ClCompile Include="worldentity.cpp" /> | |||||
| </ItemGroup> | |||||
| <ItemGroup> | |||||
| <ClInclude Include="application\application.h" /> | |||||
| <ClInclude Include="audio.h" /> | |||||
| <ClInclude Include="camera.h" /> | |||||
| <ClInclude Include="commandstack.h" /> | |||||
| <ClInclude Include="debug\fps.h" /> | |||||
| <ClInclude Include="debug\record.h" /> | |||||
| <ClInclude Include="debug\stats.h" /> | |||||
| <ClInclude Include="dict.h" /> | |||||
| <ClInclude Include="easymesh\csgbsp.h" /> | |||||
| <ClInclude Include="easymesh\easymesh.h" /> | |||||
| <ClInclude Include="easymesh\easymeshbuild.h" /> | |||||
| <ClInclude Include="easymesh\easymeshrender.h" /> | |||||
| <ClInclude Include="eglapp.h" /> | |||||
| <ClInclude Include="emitter.h" /> | |||||
| <ClInclude Include="entity.h" /> | |||||
| <ClInclude Include="font.h" /> | |||||
| <ClInclude Include="forge.h" /> | |||||
| <ClInclude Include="gradient.h" /> | |||||
| <ClInclude Include="image\image-private.h" /> | |||||
| <ClInclude Include="input\controller.h" /> | |||||
| <ClInclude Include="input\input.h" /> | |||||
| <ClInclude Include="input\input_internal.h" /> | |||||
| <ClInclude Include="input\keys.h" /> | |||||
| <ClInclude Include="light.h" /> | |||||
| <ClInclude Include="loldebug.h" /> | |||||
| <ClInclude Include="lolgl.h" /> | |||||
| <ClInclude Include="lol\algorithm\aabb_tree.h" /> | |||||
| <ClInclude Include="lol\algorithm\all.h" /> | |||||
| <ClInclude Include="lol\algorithm\portal.h" /> | |||||
| <ClInclude Include="lol\algorithm\sort.h" /> | |||||
| <ClInclude Include="lol\base\all.h" /> | |||||
| <ClInclude Include="lol\base\array.h" /> | |||||
| <ClInclude Include="lol\base\assert.h" /> | |||||
| <ClInclude Include="lol\base\enum.h" /> | |||||
| <ClInclude Include="lol\base\features.h" /> | |||||
| <ClInclude Include="lol\base\hash.h" /> | |||||
| <ClInclude Include="lol\base\log.h" /> | |||||
| <ClInclude Include="lol\base\map.h" /> | |||||
| <ClInclude Include="lol\base\string.h" /> | |||||
| <ClInclude Include="lol\base\types.h" /> | |||||
| <ClInclude Include="lol\base\tuple.h" /> | |||||
| <ClInclude Include="lol\debug\all.h" /> | |||||
| <ClInclude Include="lol\debug\lines.h" /> | |||||
| <ClInclude Include="lol\engine.h" /> | |||||
| <ClInclude Include="lol\engine-internal.h" /> | |||||
| <ClInclude Include="lol\extras.h" /> | |||||
| <ClInclude Include="lol\gpu\all.h" /> | |||||
| <ClInclude Include="lol\gpu\framebuffer.h" /> | |||||
| <ClInclude Include="lol\gpu\indexbuffer.h" /> | |||||
| <ClInclude Include="lol\gpu\lolfx.h" /> | |||||
| <ClInclude Include="lol\gpu\rendercontext.h" /> | |||||
| <ClInclude Include="lol\gpu\renderer.h" /> | |||||
| <ClInclude Include="lol\gpu\shader.h" /> | |||||
| <ClInclude Include="lol\gpu\texture.h" /> | |||||
| <ClInclude Include="lol\gpu\vertexbuffer.h" /> | |||||
| <ClInclude Include="lol\image\all.h" /> | |||||
| <ClInclude Include="lol\image\color.h" /> | |||||
| <ClInclude Include="lol\image\image.h" /> | |||||
| <ClInclude Include="lol\image\movie.h" /> | |||||
| <ClInclude Include="lol\image\pixel.h" /> | |||||
| <ClInclude Include="lol\math\all.h" /> | |||||
| <ClInclude Include="lol\math\array2d.h" /> | |||||
| <ClInclude Include="lol\math\array3d.h" /> | |||||
| <ClInclude Include="lol\math\bigint.h" /> | |||||
| <ClInclude Include="lol\math\constants.h" /> | |||||
| <ClInclude Include="lol\math\functions.h" /> | |||||
| <ClInclude Include="lol\math\geometry.h" /> | |||||
| <ClInclude Include="lol\math\half.h" /> | |||||
| <ClInclude Include="lol\math\interp.h" /> | |||||
| <ClInclude Include="lol\math\matrix.h" /> | |||||
| <ClInclude Include="lol\math\noise\gradient.h" /> | |||||
| <ClInclude Include="lol\math\noise\perlin.h" /> | |||||
| <ClInclude Include="lol\math\noise\simplex.h" /> | |||||
| <ClInclude Include="lol\math\ops.h" /> | |||||
| <ClInclude Include="lol\math\polynomial.h" /> | |||||
| <ClInclude Include="lol\math\rand.h" /> | |||||
| <ClInclude Include="lol\math\real.h" /> | |||||
| <ClInclude Include="lol\math\remez.h" /> | |||||
| <ClInclude Include="lol\math\transform.h" /> | |||||
| <ClInclude Include="lol\math\vector.h" /> | |||||
| <ClInclude Include="lol\public.h" /> | |||||
| <ClInclude Include="lol\sys\all.h" /> | |||||
| <ClInclude Include="lol\sys\file.h" /> | |||||
| <ClInclude Include="lol\sys\init.h" /> | |||||
| <ClInclude Include="lol\sys\thread.h" /> | |||||
| <ClInclude Include="lol\sys\timer.h" /> | |||||
| <ClInclude Include="lol\unit.h" /> | |||||
| <ClInclude Include="mesh\mesh.h" /> | |||||
| <ClInclude Include="mesh\primitive.h" /> | |||||
| <ClInclude Include="messageservice.h" /> | |||||
| <ClInclude Include="numeric.h" /> | |||||
| <ClInclude Include="platform.h" /> | |||||
| <ClInclude Include="platform\d3d9\d3d9input.h" /> | |||||
| <ClInclude Include="platform\nacl\nacl-app.h"> | |||||
| <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> | |||||
| <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> | |||||
| <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|ORBIS'">true</ExcludedFromBuild> | |||||
| <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|ORBIS'">true</ExcludedFromBuild> | |||||
| <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Xbox 360'">true</ExcludedFromBuild> | |||||
| <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Xbox 360'">true</ExcludedFromBuild> | |||||
| <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> | |||||
| <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> | |||||
| </ClInclude> | |||||
| <ClInclude Include="platform\nacl\nacl-instance.h"> | |||||
| <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> | |||||
| <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> | |||||
| <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|ORBIS'">true</ExcludedFromBuild> | |||||
| <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|ORBIS'">true</ExcludedFromBuild> | |||||
| <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Xbox 360'">true</ExcludedFromBuild> | |||||
| <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Xbox 360'">true</ExcludedFromBuild> | |||||
| <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> | |||||
| <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> | |||||
| </ClInclude> | |||||
| <ClInclude Include="platform\nacl\opengl_context.h"> | |||||
| <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> | |||||
| <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> | |||||
| <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|ORBIS'">true</ExcludedFromBuild> | |||||
| <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|ORBIS'">true</ExcludedFromBuild> | |||||
| <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Xbox 360'">true</ExcludedFromBuild> | |||||
| <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Xbox 360'">true</ExcludedFromBuild> | |||||
| <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> | |||||
| <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> | |||||
| </ClInclude> | |||||
| <ClInclude Include="platform\nacl\opengl_context_ptrs.h"> | |||||
| <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> | |||||
| <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> | |||||
| <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|ORBIS'">true</ExcludedFromBuild> | |||||
| <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|ORBIS'">true</ExcludedFromBuild> | |||||
| <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Xbox 360'">true</ExcludedFromBuild> | |||||
| <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Xbox 360'">true</ExcludedFromBuild> | |||||
| <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> | |||||
| <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> | |||||
| </ClInclude> | |||||
| <ClInclude Include="platform\sdl\sdlapp.h" /> | |||||
| <ClInclude Include="platform\sdl\sdlinput.h" /> | |||||
| <ClInclude Include="platform\xbox\xboxapp.h" /> | |||||
| <ClInclude Include="platform\xbox\xboxinput.h" /> | |||||
| <ClInclude Include="profiler.h" /> | |||||
| <ClInclude Include="sample.h" /> | |||||
| <ClInclude Include="sampler.h" /> | |||||
| <ClInclude Include="scene.h" /> | |||||
| <ClInclude Include="simd.h" /> | |||||
| <ClInclude Include="sprite.h" /> | |||||
| <ClInclude Include="sys\threadbase.h" /> | |||||
| <ClInclude Include="text.h" /> | |||||
| <ClInclude Include="ticker.h" /> | |||||
| <ClInclude Include="tiler.h" /> | |||||
| <ClInclude Include="tileset.h" /> | |||||
| <ClInclude Include="utils.h" /> | |||||
| <ClInclude Include="video.h" /> | |||||
| <ClInclude Include="world.h" /> | |||||
| <ClInclude Include="worldentity.h" /> | |||||
| </ItemGroup> | |||||
| <ItemGroup> | |||||
| <LolFxCompile Include="easymesh\shiny.lolfx" /> | |||||
| <LolFxCompile Include="easymesh\shinydebuglighting.lolfx" /> | |||||
| <LolFxCompile Include="easymesh\shinydebugnormal.lolfx" /> | |||||
| <LolFxCompile Include="easymesh\shinydebugUV.lolfx" /> | |||||
| <LolFxCompile Include="easymesh\shinydebugwireframe.lolfx" /> | |||||
| <LolFxCompile Include="easymesh\shinyflat.lolfx" /> | |||||
| <LolFxCompile Include="easymesh\shiny_SK.lolfx" /> | |||||
| <LolFxCompile Include="gpu\defaultmaterial.lolfx" /> | |||||
| <LolFxCompile Include="gpu\emptymaterial.lolfx" /> | |||||
| <LolFxCompile Include="gpu\line.lolfx" /> | |||||
| <LolFxCompile Include="gpu\palette.lolfx" /> | |||||
| <LolFxCompile Include="gpu\testmaterial.lolfx" /> | |||||
| <LolFxCompile Include="gpu\tile.lolfx" /> | |||||
| <LolFxCompile Include="gradient.lolfx" /> | |||||
| </ItemGroup> | |||||
| <ItemGroup> | |||||
| <None Include="Makefile.am" /> | |||||
| </ItemGroup> | |||||
| <ItemGroup> | |||||
| <ProjectReference Include="bullet\lolbullet.vcxproj"> | |||||
| <Project>{83d3b207-c601-4025-8f41-01dedc354661}</Project> | |||||
| </ProjectReference> | |||||
| <ProjectReference Include="lua\lollua.vcxproj"> | |||||
| <Project>{d84021ca-b233-4e0f-8a52-071b83bbccc4}</Project> | |||||
| </ProjectReference> | |||||
| </ItemGroup> | |||||
| <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> | |||||
| <ImportGroup Label="ExtensionTargets"> | |||||
| <Import Project="$(SolutionDir)\msbuild\lolfx.targets" /> | |||||
| </ImportGroup> | |||||
| </Project> | |||||
| @@ -388,6 +388,12 @@ | |||||
| <ClCompile Include="image\pixel.cpp"> | <ClCompile Include="image\pixel.cpp"> | ||||
| <Filter>image</Filter> | <Filter>image</Filter> | ||||
| </ClCompile> | </ClCompile> | ||||
| <ClCompile Include="easymesh\easymeshprimitive.cpp"> | |||||
| <Filter>easymesh</Filter> | |||||
| </ClCompile> | |||||
| <ClCompile Include="easymesh\easymeshtransform.cpp"> | |||||
| <Filter>easymesh</Filter> | |||||
| </ClCompile> | |||||
| </ItemGroup> | </ItemGroup> | ||||
| <ItemGroup> | <ItemGroup> | ||||
| <ClInclude Include="debug\fps.h"> | <ClInclude Include="debug\fps.h"> | ||||
| @@ -787,4 +793,4 @@ | |||||
| <ItemGroup> | <ItemGroup> | ||||
| <None Include="Makefile.am" /> | <None Include="Makefile.am" /> | ||||
| </ItemGroup> | </ItemGroup> | ||||
| </Project> | |||||
| </Project> | |||||
| @@ -124,12 +124,12 @@ class FileData | |||||
| String ret; | String ret; | ||||
| while (IsValid()) | while (IsValid()) | ||||
| { | { | ||||
| int done = Read(&buf[0], buf.Count()); | |||||
| int done = Read(&buf[0], (int)buf.Count()); | |||||
| if (done <= 0) | if (done <= 0) | ||||
| break; | break; | ||||
| int oldsize = ret.Count(); | |||||
| int oldsize = (int)ret.Count(); | |||||
| ret.Resize(oldsize + done); | ret.Resize(oldsize + done); | ||||
| memcpy(&ret[oldsize], &buf[0], done); | memcpy(&ret[oldsize], &buf[0], done); | ||||
| @@ -156,7 +156,7 @@ class FileData | |||||
| int WriteString(const String &buf) | int WriteString(const String &buf) | ||||
| { | { | ||||
| return Write((uint8_t const *)buf.C(), buf.Count()); | |||||
| return Write((uint8_t const *)buf.C(), (int)buf.Count()); | |||||
| } | } | ||||
| long int GetPosFromStart() | long int GetPosFromStart() | ||||