| @@ -88,10 +88,10 @@ liblol_core_sources = \ | |||
| easymesh/shinydebuglighting.lolfx easymesh/shinydebugnormal.lolfx \ | |||
| easymesh/shinydebugUV.lolfx easymesh/shiny_SK.lolfx \ | |||
| \ | |||
| base/assert.cpp base/log.cpp base/string.cpp base/enum.cpp \ | |||
| base/assert.cpp base/log.cpp base/string.cpp \ | |||
| \ | |||
| math/vector.cpp math/matrix.cpp math/transform.cpp math/half.cpp \ | |||
| math/constants.cpp math/geometry.cpp math/real.cpp \ | |||
| math/geometry.cpp math/real.cpp \ | |||
| \ | |||
| gpu/shader.cpp gpu/indexbuffer.cpp gpu/vertexbuffer.cpp \ | |||
| gpu/framebuffer.cpp gpu/texture.cpp gpu/renderer.cpp \ | |||
| @@ -1,22 +0,0 @@ | |||
| // | |||
| // Lol Engine | |||
| // | |||
| // Copyright: (c) 2010-2014 Sam Hocevar <sam@hocevar.net> | |||
| // 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. | |||
| // | |||
| #include <lol/engine-internal.h> | |||
| namespace lol | |||
| { | |||
| /* | |||
| * Safe enum helpers | |||
| */ | |||
| } /* namespace lol */ | |||
| @@ -1,7 +1,7 @@ | |||
| // | |||
| // Lol Engine | |||
| // | |||
| // Copyright © 2010—2017 Sam Hocevar <sam@hocevar.net> | |||
| // Copyright © 2010—2019 Sam Hocevar <sam@hocevar.net> | |||
| // | |||
| // Lol Engine is free software. It comes without any warranty, to | |||
| // the extent permitted by applicable law. You can redistribute it | |||
| @@ -111,7 +111,7 @@ void msg::helper(MessageType type, char const *fmt, va_list ap) | |||
| array<WCHAR> widechar; | |||
| widechar.resize(buf.length() + 1); | |||
| MultiByteToWideChar(CP_UTF8, 0, buf.c_str(), buf.length() + 1, widechar.data(), widechar.count()); | |||
| MultiByteToWideChar(CP_UTF8, 0, buf.c_str(), (int)buf.length() + 1, widechar.data(), widechar.count()); | |||
| OutputDebugStringW(widechar.data()); | |||
| # else | |||
| fprintf(stderr, "%s: ", prefix[(int)type]); | |||
| @@ -545,7 +545,7 @@ void Renderer::SetScissorRect(vec4 rect) | |||
| m_data->m_scissor_rect = rect; | |||
| if (m_data->m_scissor_mode == ScissorMode::Enabled) | |||
| { | |||
| glScissor((int)rect.x, (int)Video::GetSize().y - rect.w, (int)(rect.z - rect.x), (int)(rect.w - rect.y)); | |||
| glScissor((int)rect.x, (int)(Video::GetSize().y - rect.w), (int)(rect.z - rect.x), (int)(rect.w - rect.y)); | |||
| //glScissor((int)rect.x, (int)rect.y, (int)(rect.z - rect.x), (int)(rect.w - rect.y)); | |||
| } | |||
| } | |||
| @@ -369,7 +369,7 @@ Shader::Shader(std::string const &name, | |||
| int Shader::GetAttribCount() const | |||
| { | |||
| return data->attrib_locations.size(); | |||
| return (int)data->attrib_locations.size(); | |||
| } | |||
| ShaderAttrib Shader::GetAttribLocation(VertexUsage usage, int index) const | |||
| @@ -1,7 +1,7 @@ | |||
| // | |||
| // Lol Engine | |||
| // | |||
| // Copyright © 2010—2018 Sam Hocevar <sam@hocevar.net> | |||
| // Copyright © 2010—2019 Sam Hocevar <sam@hocevar.net> | |||
| // | |||
| // Lol Engine is free software. It comes without any warranty, to | |||
| // the extent permitted by applicable law. You can redistribute it | |||
| @@ -66,7 +66,7 @@ ResourceCodecData* OricImageCodec::Load(std::string const &path) | |||
| if (screen.length() == 0) | |||
| return nullptr; | |||
| auto data = new ResourceImageData(new image(ivec2(WIDTH, screen.length() * 6 / WIDTH))); | |||
| auto data = new ResourceImageData(new image(ivec2(WIDTH, (int)screen.length() * 6 / WIDTH))); | |||
| auto img = data->m_image; | |||
| u8vec4 *pixels = img->lock<PixelFormat::RGBA_8>(); | |||
| @@ -1,7 +1,7 @@ | |||
| // | |||
| // Lol Engine | |||
| // | |||
| // Copyright © 2004—2017 Sam Hocevar <sam@hocevar.net> | |||
| // Copyright © 2004—2019 Sam Hocevar <sam@hocevar.net> | |||
| // | |||
| // Lol Engine is free software. It comes without any warranty, to | |||
| // the extent permitted by applicable law. You can redistribute it | |||
| @@ -37,7 +37,7 @@ image image::dither_dbs() const | |||
| for (int j = 0; j < NN; j++) | |||
| for (int i = 0; i < NN; i++) | |||
| { | |||
| vec2 v = vec2(i - N, j - N); | |||
| vec2 v = vec2((float)(i - N), (float)(j - N)); | |||
| ker[i][j] = exp(-sqlength(v / 1.6f) / 2.f) | |||
| + exp(-sqlength(v / 0.6f) / 2.f); | |||
| t += ker[i][j]; | |||
| @@ -1,7 +1,7 @@ | |||
| // | |||
| // Lol Engine | |||
| // | |||
| // Copyright © 2004—2017 Sam Hocevar <sam@hocevar.net> | |||
| // Copyright © 2004—2019 Sam Hocevar <sam@hocevar.net> | |||
| // | |||
| // Lol Engine is free software. It comes without any warranty, to | |||
| // the extent permitted by applicable law. You can redistribute it | |||
| @@ -33,7 +33,7 @@ image image::dither_halftone(float radius, float angle) const | |||
| * like crap. So we create a kernel PRECISION times larger, and ask | |||
| * the ditherer to scale it by 1/PRECISION. */ | |||
| float const PRECISION = 4.f; | |||
| int k = (radius * PRECISION * lol::sqrt(2.f) + 0.5f); | |||
| int k = (int)std::round(radius * PRECISION * lol::sqrt(2.f)); | |||
| array2d<float> ker = image::kernel::halftone(ivec2(k, k)); | |||
| return dither_helper(*this, ker, 1.f / PRECISION, angle + F_PI / 4.f); | |||
| @@ -1,7 +1,7 @@ | |||
| // | |||
| // Lol Engine | |||
| // | |||
| // Copyright © 2004—2017 Sam Hocevar <sam@hocevar.net> | |||
| // Copyright © 2004—2019 Sam Hocevar <sam@hocevar.net> | |||
| // | |||
| // Lol Engine is free software. It comes without any warranty, to | |||
| // the extent permitted by applicable law. You can redistribute it | |||
| @@ -110,7 +110,7 @@ array2d<float> image::kernel::blue_noise(ivec2 size, ivec2 gsize) | |||
| auto best = [&] (float val, float mul) -> ivec2 | |||
| { | |||
| float maxval = -size.x * size.y; | |||
| float maxval = -(float)(size.x * size.y); | |||
| ivec2 coord(0, 0); | |||
| for (int y = 0; y < size.y; ++y) | |||
| for (int x = 0; x < size.x; ++x) | |||
| @@ -1,7 +1,7 @@ | |||
| // | |||
| // Lol Engine | |||
| // | |||
| // Copyright © 2004—2017 Sam Hocevar <sam@hocevar.net> | |||
| // Copyright © 2004—2019 Sam Hocevar <sam@hocevar.net> | |||
| // | |||
| // Lol Engine is free software. It comes without any warranty, to | |||
| // the extent permitted by applicable law. You can redistribute it | |||
| @@ -223,7 +223,7 @@ void image::set_format(PixelFormat fmt) | |||
| /* Lossless conversions: u8 to float */ | |||
| else if (old_fmt == PixelFormat::Y_8 && fmt == PixelFormat::Y_F32) | |||
| { | |||
| float *src = (float *)m_data->m_pixels[(int)old_fmt]->data(); | |||
| uint8_t *src = (uint8_t *)m_data->m_pixels[(int)old_fmt]->data(); | |||
| float *dest = (float *)m_data->m_pixels[(int)fmt]->data(); | |||
| for (int n = 0; n < count; ++n) | |||
| @@ -231,7 +231,7 @@ void image::set_format(PixelFormat fmt) | |||
| } | |||
| else if (old_fmt == PixelFormat::Y_8 && fmt == PixelFormat::RGB_F32) | |||
| { | |||
| float *src = (float *)m_data->m_pixels[(int)old_fmt]->data(); | |||
| uint8_t *src = (uint8_t *)m_data->m_pixels[(int)old_fmt]->data(); | |||
| vec3 *dest = (vec3 *)m_data->m_pixels[(int)fmt]->data(); | |||
| for (int n = 0; n < count; ++n) | |||
| @@ -255,7 +255,7 @@ void image::set_format(PixelFormat fmt) | |||
| } | |||
| else if (old_fmt == PixelFormat::Y_8 && fmt == PixelFormat::RGBA_F32) | |||
| { | |||
| float *src = (float *)m_data->m_pixels[(int)old_fmt]->data(); | |||
| uint8_t *src = (uint8_t *)m_data->m_pixels[(int)old_fmt]->data(); | |||
| vec4 *dest = (vec4 *)m_data->m_pixels[(int)fmt]->data(); | |||
| for (int n = 0; n < count; ++n) | |||
| @@ -2,7 +2,7 @@ | |||
| // Lol Engine | |||
| // | |||
| // Copyright © 2010—2015 Benjamin Litzelmann | |||
| // © 2017—2018 Sam Hocevar <sam@hocevar.net> | |||
| // © 2017—2019 Sam Hocevar <sam@hocevar.net> | |||
| // | |||
| // Lol Engine is free software. It comes without any warranty, to | |||
| // the extent permitted by applicable law. You can redistribute it | |||
| @@ -32,7 +32,7 @@ void KeyBinding::Bind(const std::string& device_name, const std::string& key_nam | |||
| return; | |||
| } | |||
| int keyindex = device->GetKeyIndex(key_name); | |||
| int keyindex = (int)device->GetKeyIndex(key_name); | |||
| if (keyindex < 0) | |||
| { | |||
| msg::warn("trying to bind nonexistent key %s.%s\n", | |||
| @@ -77,7 +77,7 @@ void AxisBinding::Bind(const std::string& device_name, const std::string& axis_n | |||
| return; | |||
| } | |||
| int axisindex = device->GetAxisIndex(axis_name); | |||
| int axisindex = (int)device->GetAxisIndex(axis_name); | |||
| if (axisindex < 0) | |||
| { | |||
| msg::warn("trying to bind nonexistent axis %s.%s\n", | |||
| @@ -98,7 +98,7 @@ void AxisBinding::BindKey(const std::string& device_name, const std::string& key | |||
| return; | |||
| } | |||
| int keyindex = device->GetKeyIndex(key_name); | |||
| int keyindex = (int)device->GetKeyIndex(key_name); | |||
| if (keyindex < 0) | |||
| { | |||
| msg::warn("trying to bind nonexistent axis key %s.%s\n", | |||
| @@ -119,7 +119,7 @@ void AxisBinding::BindKeys(const std::string& device_name, const std::string& mi | |||
| return; | |||
| } | |||
| int minkeyindex = device->GetKeyIndex(min_key_name); | |||
| int minkeyindex = (int)device->GetKeyIndex(min_key_name); | |||
| if (minkeyindex < 0) | |||
| { | |||
| msg::warn("trying to bind nonexistent axis key %s.%s\n", | |||
| @@ -127,7 +127,7 @@ void AxisBinding::BindKeys(const std::string& device_name, const std::string& mi | |||
| return; | |||
| } | |||
| int maxkeyindex = device->GetKeyIndex(max_key_name); | |||
| int maxkeyindex = (int)device->GetKeyIndex(max_key_name); | |||
| if (maxkeyindex < 0) | |||
| { | |||
| msg::warn("trying to bind nonexistent axis key %s.%s\n", | |||
| @@ -85,7 +85,6 @@ | |||
| <ClCompile Include="audio\sample.cpp" /> | |||
| <ClCompile Include="camera.cpp" /> | |||
| <ClCompile Include="base\assert.cpp" /> | |||
| <ClCompile Include="base\enum.cpp" /> | |||
| <ClCompile Include="base\log.cpp" /> | |||
| <ClCompile Include="base\string.cpp" /> | |||
| <ClCompile Include="debug\fps.cpp" /> | |||
| @@ -152,7 +151,6 @@ | |||
| <ClCompile Include="light.cpp" /> | |||
| <ClCompile Include="lolimgui.cpp" /> | |||
| <ClCompile Include="lolua\baselua.cpp" /> | |||
| <ClCompile Include="math\constants.cpp" /> | |||
| <ClCompile Include="math\geometry.cpp" /> | |||
| <ClCompile Include="math\half.cpp" /> | |||
| <ClCompile Include="math\matrix.cpp" /> | |||
| @@ -243,9 +243,6 @@ | |||
| <ClCompile Include="base\assert.cpp"> | |||
| <Filter>base</Filter> | |||
| </ClCompile> | |||
| <ClCompile Include="base\enum.cpp"> | |||
| <Filter>base</Filter> | |||
| </ClCompile> | |||
| <ClCompile Include="base\string.cpp"> | |||
| <Filter>base</Filter> | |||
| </ClCompile> | |||
| @@ -288,9 +285,6 @@ | |||
| <ClCompile Include="MessageService.cpp"> | |||
| <Filter>...</Filter> | |||
| </ClCompile> | |||
| <ClCompile Include="math\constants.cpp"> | |||
| <Filter>math</Filter> | |||
| </ClCompile> | |||
| <ClCompile Include="easymesh\easymeshrender.cpp"> | |||
| <Filter>easymesh</Filter> | |||
| </ClCompile> | |||
| @@ -1,7 +1,7 @@ | |||
| // | |||
| // Lol Engine | |||
| // | |||
| // Copyright © 2010—2018 Sam Hocevar <sam@hocevar.net> | |||
| // Copyright © 2010—2019 Sam Hocevar <sam@hocevar.net> | |||
| // | |||
| // Lol Engine is free software. It comes without any warranty, to | |||
| // the extent permitted by applicable law. You can redistribute it | |||
| @@ -231,8 +231,8 @@ private: | |||
| public: | |||
| static int DEFAULT_BIGIT_COUNT; | |||
| static inline int bigit_bits() { return 8 * sizeof(bigit_t); } | |||
| inline int bigit_count() const { return m_mantissa.size(); } | |||
| static inline int bigit_bits() { return 8 * (int)sizeof(bigit_t); } | |||
| inline int bigit_count() const { return (int)m_mantissa.size(); } | |||
| inline int total_bits() const { return bigit_count() * bigit_bits(); } | |||
| }; | |||
| @@ -1,21 +0,0 @@ | |||
| // | |||
| // Lol Engine | |||
| // | |||
| // Copyright © 2010—2015 Sam Hocevar <sam@hocevar.net> | |||
| // | |||
| // Lol Engine is free software. It comes without any warranty, to | |||
| // the extent permitted by applicable law. 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 the WTFPL Task Force. | |||
| // See http://www.wtfpl.net/ for more details. | |||
| // | |||
| #include <lol/engine-internal.h> | |||
| namespace lol { | |||
| // There is nothing here for now. | |||
| extern int unused_file_constants_cpp; | |||
| }; /* namespace lol */ | |||
| @@ -1,7 +1,7 @@ | |||
| // | |||
| // Lol Engine | |||
| // | |||
| // Copyright © 2010—2018 Sam Hocevar <sam@hocevar.net> | |||
| // Copyright © 2010—2019 Sam Hocevar <sam@hocevar.net> | |||
| // | |||
| // Lol Engine is free software. It comes without any warranty, to | |||
| // the extent permitted by applicable law. You can redistribute it | |||
| @@ -111,7 +111,7 @@ void SubMesh::AddTexture(std::string const &name, Texture* texture) | |||
| void SubMesh::Render() | |||
| { | |||
| int vertex_count = 0; | |||
| size_t vertex_count = 0; | |||
| for (int i = 0; i < m_vbos.count(); ++i) | |||
| { | |||
| @@ -148,7 +148,7 @@ void SubMesh::Render() | |||
| m_ibo->Bind(); | |||
| m_vdecl->Bind(); | |||
| m_vdecl->DrawIndexedElements(MeshPrimitive::Triangles, m_ibo->GetSize() / sizeof(uint16_t)); | |||
| m_vdecl->DrawIndexedElements(MeshPrimitive::Triangles, (int)(m_ibo->GetSize() / sizeof(uint16_t))); | |||
| m_vdecl->Unbind(); | |||
| m_ibo->Unbind(); | |||
| } | |||
| @@ -1,7 +1,7 @@ | |||
| // | |||
| // Lol Engine | |||
| // | |||
| // Copyright © 2010—2018 Sam Hocevar <sam@hocevar.net> | |||
| // Copyright © 2010—2019 Sam Hocevar <sam@hocevar.net> | |||
| // | |||
| // Lol Engine is free software. It comes without any warranty, to | |||
| // the extent permitted by applicable law. You can redistribute it | |||
| @@ -140,7 +140,7 @@ class FileData | |||
| if (done <= 0) | |||
| break; | |||
| int oldsize = ret.length(); | |||
| size_t oldsize = ret.length(); | |||
| ret.resize(oldsize + done); | |||
| memcpy(&ret[oldsize], &buf[0], done); | |||
| @@ -159,7 +159,7 @@ class FileData | |||
| if (done <= 0) | |||
| return -1; | |||
| return done; | |||
| return (int)done; | |||
| #else | |||
| return 0; | |||
| #endif | |||
| @@ -310,7 +310,7 @@ int File::Write(void const *buf, int count) | |||
| //-- | |||
| int File::Write(std::string const &buf) | |||
| { | |||
| return m_data->Write(buf.c_str(), buf.length()); | |||
| return m_data->Write(buf.c_str(), (int)buf.length()); | |||
| } | |||
| //-- | |||