Browse Source

base: some Windows compilation fixes.

undefined
Sam Hocevar 10 years ago
parent
commit
18f8cc6d1f
2 changed files with 12 additions and 3 deletions
  1. +1
    -1
      src/dict.cpp
  2. +11
    -2
      src/lol/math/matrix.h

+ 1
- 1
src/dict.cpp View File

@@ -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);
}



+ 11
- 2
src/lol/math/matrix.h View File

@@ -203,7 +203,7 @@ struct mat_t<T, 3, 3>
#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<T> const &q);
@@ -344,7 +344,7 @@ struct mat_t<T, 4, 4>
: 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<T, N, N> const &m, int i, int j)
return ((i + j) & 1) ? -tmp : tmp;
}

template<typename T>
T cofactor(mat_t<T, 2, 2> 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
*/


Loading…
Cancel
Save