diff --git a/src/dict.cpp b/src/dict.cpp index e456831f..0b169f0e 100644 --- a/src/dict.cpp +++ b/src/dict.cpp @@ -99,7 +99,7 @@ int Dict::MakeSlot(char const *name) { if (slotid == data->m_entities.Count()) { - empty = data->m_entities.Count(); + empty = (int)data->m_entities.Count(); data->m_entities.Push(nullptr); } diff --git a/src/lol/math/matrix.h b/src/lol/math/matrix.h index cba7271a..da316838 100644 --- a/src/lol/math/matrix.h +++ b/src/lol/math/matrix.h @@ -203,7 +203,7 @@ struct mat_t #if LOL_FEATURE_CXX11_ARRAY_INITIALIZERS : m_data{ (element)m[0], (element)m[1], (element)m[2] } {} #else - : m_v0((element)m[0]), m_v1((element)m[1], m_v2((element)m[2]) {} + : m_v0((element)m[0]), m_v1((element)m[1]), m_v2((element)m[2]) {} #endif explicit mat_t(quat_t const &q); @@ -344,7 +344,7 @@ struct mat_t : m_data{ (element)m[0], (element)m[1], (element)m[2], (element)m[3] } {} #else - : m_v0((element)m[0]), m_v1((element)m[1], + : m_v0((element)m[0]), m_v1((element)m[1]), m_v2((element)m[2]), m_v3((element)m[3]) {} #endif @@ -500,6 +500,15 @@ T cofactor(mat_t const &m, int i, int j) return ((i + j) & 1) ? -tmp : tmp; } +template +T cofactor(mat_t const &m, int i, int j) +{ + /* This specialisation shouldn't be needed, but Visual Studio. */ + ASSERT(i >= 0); ASSERT(j >= 0); ASSERT(i < 2); ASSERT(j < 2); + T tmp = m[1 - i][1 - j]; + return (i ^ j) ? -tmp : tmp; +} + /* * Compute square matrix determinant, with a specialisation for 1×1 matrices */