Guillaume Bittoun
2f056e0133
arraynd: replacing array2d and array3d by templated arraynd.
pirms 10 gadiem
Guillaume Bittoun
e03ac49383
arraynd: adding tests on size filling
pirms 10 gadiem
Guillaume Bittoun
04e44e2d89
arraynd: adding test for variable length subarrays
pirms 10 gadiem
Guillaume Bittoun
7cab9c634e
arraynd: index inversion on initializer_list construction
pirms 10 gadiem
Guillaume Bittoun
a28832a53b
arraynd: implementation/correction of the initializer_list constructor
pirms 10 gadiem
Sam Hocevar
7dba2ff3a1
base: use ptrdiff_t for array and string sizes and some other things.
pirms 10 gadiem
Sam Hocevar
29dd656a78
math: make swizzling parameters readable in base 10 so that we understand
what's going on in the debugger.
pirms 10 gadiem
Sam Hocevar
90f0420382
math: fix uninitialised variable in arraynd.
pirms 10 gadiem
Sam Hocevar
47f7fabbd9
math: activate arraynd and simplify some stuff in there.
pirms 10 gadiem
Sam Hocevar
cc5c21c34b
math: add iterators and initializer_list constructors to vec_t.
pirms 10 gadiem
Sam Hocevar
dec41f198f
test: syntax fix.
pirms 10 gadiem
Sam Hocevar
18476d1b9a
test: add unit test for arraynd (deactivated for now).
pirms 10 gadiem
Sam Hocevar
079ee8dcbf
math: some new operators for generic vectors, plus unit tests.
pirms 10 gadiem
Sam Hocevar
7babf9dfde
math: fix a nasty bug involving swizzling vectors, add two safeguards so
that it never happens again, and unit tests in case it happens again.
pirms 10 gadiem
Sam Hocevar
4f28047fc4
math: refactor more shit, I have no idea what I’m doing.
pirms 10 gadiem
Sam Hocevar
7a28671dee
math: get rid of the base_vec* classes (thanks to relaxed unions), rename
MASK to SWIZZLE in the vector templates, rename matrix<> to mat<> for
consistency, implement transposition for all matrix sizes, make matrix
columns private and only accessible through operator[].
pirms 10 gadiem
Sam Hocevar
ad9a388e80
misc: remove 100% of the "using namespace std;" madness.
pirms 10 gadiem
Sam Hocevar
12aaff89e3
base: huge refactor in vector.h; GCC compilation times down by 50%.
pirms 10 gadiem
Sam Hocevar
fe665f85b4
base: strip core.h from its contents and put it in public/private headers.
pirms 10 gadiem
Sam Hocevar
398ee1b4d5
base: use lol::array in most places.
pirms 10 gadiem
Sam Hocevar
378eaec1cb
sys: use the fully working std::atomic instead of our placeholder class.
pirms 10 gadiem
Sam Hocevar
7e9f926c43
base: switch map, hash, array2d and array3d to lowercase, like standard
C++ containers.
pirms 10 gadiem
Sam Hocevar
0b97173ee8
math: initialiser lists for Array2D and Array3D.
pirms 10 gadiem
Sam Hocevar
8abafbc686
math: add Array3D template class. Happy, Touky? :-)
pirms 10 gadiem
Sam Hocevar
7b8e56c730
base: fix array initialiser and add more unit tests.
pirms 10 gadiem
Sam Hocevar
59a157a58c
build: port solution to VS2013. Muahahaha.
pirms 10 gadiem
Sam Hocevar
da6b3d5cd0
scenegraph: Entity::TickDraw() now provides a reference to the current
scene so that g_scene can be deprecated later.
pirms 10 gadiem
Sam Hocevar
5fc5d62849
image: add an optional Imlib2 codec, prepare for float32 images, make the
Lock/Unlock mechanism safer, and implement the rule of three.
pirms 10 gadiem
Sam Hocevar
227411f337
image: refactor codecs so that they no longer store anything in the image
objects themselves.
pirms 10 gadiem
Sam Hocevar
90786652e8
base: fix Array::Insert to avoid copying the whole array and add a unit test.
pirms 10 gadiem
Sam Hocevar
f455f0e2d1
image: start reworking the Image class to properly split the pixel handling
and the codec logic.
pirms 10 gadiem
Sam Hocevar
79ed58f1f0
Merge branch 'master' into scenegraph
pirms 10 gadiem
Sam Hocevar
d16595a0bc
image: some refactoring of the Image class. Not final.
pirms 10 gadiem
Sam Hocevar
8c3794a168
base: support range-based for loops in lol::Array.
pirms 10 gadiem
Sam Hocevar
1713602077
math: revert the lvalue vector swizzles because VS2012 lags behind.
pirms 10 gadiem
Sam Hocevar
ab470ef409
math: activate vector swizzling for lvalues.
pirms 10 gadiem
Sam Hocevar
44dec8612e
core: fix minor Windows and Raspberry compilation issues.
pirms 10 gadiem
Sam Hocevar
47e71bda63
base: rough implementation of safe enums with minimal ToString() support.
pirms 10 gadiem
Sam Hocevar
c9b8ff54a1
misc: some refactoring in texture handling.
pirms 10 gadiem
Sam Hocevar
c29058ac87
gpu: give access to the Texture behind a TileSet.
pirms 10 gadiem
Sam Hocevar
76740f77bc
math: remove some vector constants that were a bit too specific.
pirms 10 gadiem
Benjamin ‘Touky’ Huet
b2bdb1972f
Several name tweaks here and there.
pirms 10 gadiem
Sam Hocevar
cb62b52ce6
math: add quat::axis() and quat::angle() to retrieve axis and angle from a
quaternion, improve quat::rotate(vec3, vec3) to gracefully handle corner
cases, and add unit tests for all of these.
pirms 10 gadiem
Sam Hocevar
ab45658080
build: compilation fixes for errors caused by recent renamings.
pirms 10 gadiem
Benjamin ‘Touky’ Huet
b7fc1953ab
Some names tweaks
Added workbench, for personnal experimentation.
pirms 10 gadiem
Sam Hocevar
8443733a08
math: add GLSL-inherited degrees() and radians() conversion functions.
pirms 10 gadiem
Benjamin ‘Touky’ Huet
917891e0b0
Build FIX
pirms 10 gadiem
Benjamin ‘Touky’ Huet
21d90c7c22
Fixed shit
pirms 10 gadiem
Sam Hocevar
232fa4126d
gpu: rename uniforms here and there for consistency.
pirms 10 gadiem
Sam Hocevar
d46e63ff29
build: VS2012 solution and project tweaks for exotic platforms.
pirms 11 gadiem