Sam Hocevar
03c17fcae4
base: clean up and refactor containers.
The containers no longer force the user to use the ptrdiff_t type for
size information. For convenience, size() now always returns an int,
and the size_s() method offers a way to handle arrays with more than
2 billion elements. Internally, we still use ptrdiff_t, though.
Since so much code had to be changed, I took the opportunity to get
rid of capitalised accessors for classes that are lowercase.
9 years ago
Sam Hocevar
2fa398926d
math: improve the 2D and 3D box classes.
Box objects (AABB) now have the long awaited extent() and center()
methods. Corners are now called “aa” and “bb” for convenience. The
WorldEntity class uses a box3 for its AABB instead of two vec3s.
This allows us to simplify a lot of verbose code.
9 years ago
Benjamin ‘Touky’ Huet
825401d997
Brought threads to C++11
Revamped thread communication
Fixed dynamic thread Add/Remove
Added unit-test for threads !!!!
9 years ago
Benjamin ‘Touky’ Huet
f67da65818
First pass of EasyMesh split & refactor
Big FAT pass on windows-warning. It is better now.
9 years ago
Sam Hocevar
d72cb24bc0
build: move sample and tutorial files around.
10 years ago
Sam Hocevar
a07844682e
build: remove dead PS3 code.
10 years ago
Sam Hocevar
8657a3adfa
sys: use std::bind for thread workers to avoid ugly casts.
10 years ago
Sam Hocevar
cd988786b9
build: reorganise includes so that we can use precompiled headers later.
10 years ago
Sam Hocevar
12aaff89e3
base: huge refactor in vector.h; GCC compilation times down by 50%.
10 years ago
Sam Hocevar
fe665f85b4
base: strip core.h from its contents and put it in public/private headers.
10 years ago
Sam Hocevar
398ee1b4d5
base: use lol::array in most places.
10 years ago
Sam Hocevar
18254349aa
image: gather pixel-related types and enums into a single pixel.h header.
10 years ago
Sam Hocevar
da6b3d5cd0
scenegraph: Entity::TickDraw() now provides a reference to the current
scene so that g_scene can be deprecated later.
10 years ago
Sam Hocevar
0bd3f1d9ef
input: fix or disable input code in side projects so that everything builds.
11 years ago
Benlitz
f104674963
gpu: removed attribute name, everything works using semantic only now. For glsl, semantic is determined from the attribute name which must follow this pattern: in_[Semantic][index], index being optional. Note: this may break most of the projects although I tried to updated every shader accordingly
11 years ago
Lolbot
c47d0f8c62
fixed 10 files out of 2754:
- removed 386 CR characters
- removed 4 trailing whitespaces
- replaced 189 tabs with spaces
11 years ago
Benlitz
a7aac24c46
Completely reworked input system. Unified device interface, button, axis and cursor support, controller and binding system, mouse capture. Tutorial 07_input provided. Require to compile lolcore with LOL_INPUT_V2 to be activated (also needed app-side before including core.h)
11 years ago
Sam Hocevar
6a8118cb18
build: put tutorials and lol.js in a new "demos" directory.
11 years ago
Sam Hocevar
f14ac4a2c6
tutorial: make the fractal tutorial build when no threads are available.
11 years ago
Sam Hocevar
c1428fc1f9
input: support up to 32 mouse buttons.
11 years ago
Sam Hocevar
7e8edd7c3e
sys: add the base source directory to the list of search directories
on automake platforms, too.
11 years ago
Sam Hocevar
16d53895fa
math: remove coercion rules in the vector classes, they increase the
compilation time for very little benefit and maybe even confusion.
12 years ago
Sam Hocevar
42fb9b6853
gpu: support 1-component (luminance) textures.
12 years ago
Sam Hocevar
3adf42b00c
build: hide LolFx external declarations behind macros.
12 years ago
Sam Hocevar
bbf72e1a64
core: pass the project directory to the binary build and get rid of
that 2-year old "temporary Win32 hack".
12 years ago
Sam Hocevar
6a6e46cf0d
system: try to autodetect the data directory from the executable path;
currently works for images (SDL and GDI+ loaders) and sound samples.
12 years ago
Benjamin ‘Touky’ Huet
c7219ff1dd
New year copyright update.
12 years ago
Sam Hocevar
d6634da83f
build: fix the WTFPL site URL in all code comments.
12 years ago
Sam Hocevar
57c2805351
math: reimplement min(), max(), abs() and fmod() in the lol:: namespace to
avoid conflicts with the C++ stdlib.
12 years ago
Sam Hocevar
26c945a31f
gpu: allow to specify the pixel format when creating a texture; the
internal format is then automatically deduced. Only a few 8-bit RGB
or RGBA formats are supported for now.
12 years ago
Sam Hocevar
8a688a7d50
misc: compilation fixes for Windows, X360 and PS3 introduced by the
texture class refactor.
12 years ago
Sam Hocevar
b9aba5d27a
gpu: put the texture creation code in its own class; for now a lot of things are
hardcoded and only the fractal demo uses it, but everything will eventually switch.
12 years ago
Sam Hocevar
ad00a34984
gpu: add support for triangle strips and fans, and change the DrawElement
calls so that they take a number of vertices or indexes, not elements.
12 years ago
Sam Hocevar
c5b10f5e9a
tutorial: flatten the fractal computation loop, and avoid the use of
new/delete when our arrays will do.
12 years ago
Sam Hocevar
d4c0c005d6
math: refactor real number constant declarations so that they are only
computed on demand with static initialisation.
12 years ago
Sam Hocevar
03e83798eb
build: fix the Raspberry Pi build and add a build script for it.
12 years ago
Sam Hocevar
c5915aa35c
tutorial: use real numbers in the fractal navigation (doubles are still
used in the fractal computation).
12 years ago
Sam Hocevar
5bd24fa1d3
build: hide the SDL_main.h inclusion in core.h, and only activate it
on Windows if using Visual Studio; if using MinGW, try to stick to the
original main() entry point.
12 years ago
Sam Hocevar
b5563ad21d
core: switch the Win32/x64 binaries to the Windows subsystem so that they
do not open a console at startup.
12 years ago
Sam Hocevar
951c93ab84
data: fix ascii.png search path.
12 years ago
Sam Hocevar
5008482e54
tutorial: remove dead code in 11_fractal.
12 years ago
Sam Hocevar
3389ed69a2
build: move all games to a "games" subdirectory to clean up the root
directory layout mess.
12 years ago
Sam Hocevar
78f7a303ff
build: reorganise all the build stuff so that it lies in build/ and
make sure each .vcxproj file is with its corresponding source code.
12 years ago
Sam Hocevar
28728814cc
core: replace usage of sin() or std::sin() with lol::sin() where appropriate.
12 years ago
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.
12 years ago
Sam Hocevar
a71562bd83
core: rename f64vec4 to dvec4 etc. for consistency with GLSL.
12 years ago
Sam Hocevar
ee7dd6a699
misc: move more shaders to .lolfx files.
12 years ago
Sam Hocevar
4770daf4ac
math: replace len(vec) with length(vec) to match the GLSL naming.
12 years ago
Sam Hocevar
90bfc79b22
core: tick methods now use seconds, like any sane system.
12 years ago
Sam Hocevar
b49ba4ef56
core: prefix some member variables with m_ for clarity.
12 years ago