Sam Hocevar
|
c2b075c7a9
|
core: fix a memory corruption in the Array class.
|
13 yıl önce |
Sam Hocevar
|
bbc2edcc8e
|
core: we can now set Map elements using simply map[foo] = bar, no need for
a Set() method. Also, new HasKey() method.
|
13 yıl önce |
Sam Hocevar
|
38d4d0302e
|
core: implement a simple linear search map; the API is here, we just
need to make it O(logn) or even O(1) now.
|
13 yıl önce |
Sam Hocevar
|
b03411e30a
|
core: make hash operators const.
|
13 yıl önce |
Sam Hocevar
|
2a5d9ed4d8
|
build: rename Map to LevelMap so that we can use Map for the hashmap.
|
13 yıl önce |
Sam Hocevar
|
397c7f2fda
|
core: implement hashing functions for half, float and double.
|
13 yıl önce |
Sam Hocevar
|
46cf14e37c
|
core: allow hashing of String objects.
|
13 yıl önce |
Sam Hocevar
|
949128d325
|
core: implement String::Printf() and start working on the unit tests.
I'm gonna commit this right now though I'm not really sure whether Visual
Studio will agree to build va_copy and others.
|
13 yıl önce |
Sam Hocevar
|
0149c30df4
|
core: refactor the Hash class so that we can hash base types, too.
|
13 yıl önce |
Sam Hocevar
|
46f7e750c0
|
core: more string concatenation and comparison methods, plus a lot
of unit tests for the String class.
|
13 yıl önce |
Sam Hocevar
|
fed77ef83e
|
core: compilation fix for older compilers.
|
13 yıl önce |
Sam Hocevar
|
f2b71d368e
|
core: new String class.
|
13 yıl önce |
Sam Hocevar
|
63868aa10a
|
math: prefix all convenience macros with "LOL_", make sure we #undef
them after use, and refactor them so that free functions such as
fmod() or clamp() are directly accessible in the lol namespace.
|
13 yıl önce |
Sam Hocevar
|
b5cb7601a7
|
build: define our own std::abs() function for long long int on NaCl,
since it doesn't exist there.
|
13 yıl önce |
Sam Hocevar
|
b2e00f113c
|
build: fix minor build issues with Clang.
|
13 yıl önce |
Sam Hocevar
|
57c2805351
|
math: reimplement min(), max(), abs() and fmod() in the lol:: namespace to
avoid conflicts with the C++ stdlib.
|
13 yıl önce |
Sam Hocevar
|
e4954c0a0f
|
math: implement abs() and fmod() for vector types and the half class.
|
13 yıl önce |
Sam Hocevar
|
2bf4cb668b
|
math: add a uniform scaling matrix constructor.
|
13 yıl önce |
Sam Hocevar
|
222ae90ba8
|
core: use "f128" as the long double prefix for vectors, even if it's
not always really a 128-bit type.
|
13 yıl önce |
Sam Hocevar
|
d4c0c005d6
|
math: refactor real number constant declarations so that they are only
computed on demand with static initialisation.
|
13 yıl önce |
Lolbot
|
23807ea88e
|
fixed 23 files out of 277:
- fixed 1270 CR characters
- fixed 56 trailing spaces
- fixed 5085 tabs
|
13 yıl önce |
Benjamin ‘Touky’ Huet
|
2f85ae6d0a
|
|
13 yıl önce |
Sam Hocevar
|
5c5abfa53c
|
math: improve slerp implementation.
|
13 yıl önce |
jeunathe
|
cbd842b21a
|
Added Slerp method to Quat
|
13 yıl önce |
Sam Hocevar
|
f2c269cb1e
|
math: add dot() for quaternions, plus the relevant unit test.
|
13 yıl önce |
Sam Hocevar
|
688c046414
|
math: add an sprintf() method to real numbers, and ensure they are always
fully initialised.
|
13 yıl önce |
Sam Hocevar
|
28728814cc
|
core: replace usage of sin() or std::sin() with lol::sin() where appropriate.
|
13 yıl önce |
Sam Hocevar
|
8375f3443d
|
build: fix the PS3 port by using our trig.h everywhere instead of stdlib
functions; also remove a lot of idiotic "using namespace std" from the
codebase.
|
13 yıl önce |
Sam Hocevar
|
c035a1c2b7
|
core: fix a few build warnings and remove useless operators from the
"half" class. The build is now 3% faster.
|
13 yıl önce |
Sam Hocevar
|
a71562bd83
|
core: rename f64vec4 to dvec4 etc. for consistency with GLSL.
|
14 yıl önce |
Sam Hocevar
|
bd5ff72507
|
math: declare some HLSL-compliant types.
|
14 yıl önce |
Sam Hocevar
|
59ba6e6c87
|
core: no longer deactivate std::ostream features on Android.
|
14 yıl önce |
Sam Hocevar
|
43b55669a4
|
math: workaround for an apparent Visual Studio compiler bug in
template specialisation order.
|
14 yıl önce |
Sam Hocevar
|
b1d9c511bf
|
core: some clang and g++ 4.7 compilation fixes.
|
14 yıl önce |
Sam Hocevar
|
4770daf4ac
|
math: replace len(vec) with length(vec) to match the GLSL naming.
|
14 yıl önce |
Sam Hocevar
|
f30105e675
|
math: implement all Euler conversions for 3×3 matrices.
|
14 yıl önce |
Sam Hocevar
|
552dfee5b1
|
math: implement quaternion creation from true Euler angles (as opposed
to the Tait-Bryan angles we had for now). Also, change quaternion storage
order to wxyz in order to match the constructors.
|
14 yıl önce |
Sam Hocevar
|
da6062de06
|
core: add methods to set the camera's view matrix.
|
14 yıl önce |
Sam Hocevar
|
e1d0beae1a
|
math: support all Tait-Bryan angle combinations in quaternions.
|
14 yıl önce |
Sam Hocevar
|
c276dbb1ff
|
math: allow to write 1.f / q to take a quaternion's inverse.
|
14 yıl önce |
Sam Hocevar
|
2d34fd8358
|
core: reduce compilation time by about 30% by playing with namespaces
and avoid cluttering the compiler's symbol table.
|
14 yıl önce |
Sam Hocevar
|
ecda7cd569
|
math: replace mat3::rotate(quat) with an explicit constructor, and add
more unit tests for the quaternion to 3×3 matrix conversion.
|
14 yıl önce |
Sam Hocevar
|
5ff96967a0
|
math: add Quat::transform() to directly apply a quaternion to a vector.
|
14 yıl önce |
Sam Hocevar
|
e91c326f57
|
math: add methods to convert from a quaternion to Euler angles and from
Euler angles to a rotation matrix. Also fix quat::rotate() which was not
building the correct quaternion.
|
14 yıl önce |
Sam Hocevar
|
fceeaf1c74
|
math: add quat::fromeuler static constructor for quaternions.
|
14 yıl önce |
Sam Hocevar
|
1bc2a7d705
|
build: fix compilation on Windows by undefining the min and max macros
that WinDef.h insists on shoving down our throats.
|
14 yıl önce |
Sam Hocevar
|
ade0514b15
|
math: add min(), max() and clamp() for half, real and vector types.
|
14 yıl önce |
Sam Hocevar
|
8325d8889c
|
math: chage quaternion constructor to wxyz order because it matches the
mathematical writing, and add static constructors to create quaternions
from a rotation.
|
14 yıl önce |
Sam Hocevar
|
e1070c3b3c
|
debug: do not use std::abort() on the PS3.
|
14 yıl önce |
Sam Hocevar
|
bed2d554c1
|
math: new mat3::scale() and mat4::scale() methods.
|
14 yıl önce |