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.
10 lat temu
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.
10 lat temu
Sam Hocevar
6914c4e05e
tileset: disable weird inheritance code.
This sort of pImpl inheritance code code was weird, I got rid of it
and added a new pointer in the TileSet class instead.
10 lat temu
Benjamin ‘Touky’ Huet
bd9fddc5d9
Split Tileset in TextureImage -> Tileset
Added Texture (by image) update in TextureImage (and tileset)
Added lolimgui first integration pass
10 lat temu
Sam Hocevar
cd988786b9
build: reorganise includes so that we can use precompiled headers later.
11 lat temu
Sam Hocevar
d88217d413
base: fix header inconsistencies that broke the build.
11 lat temu
Sam Hocevar
ad9a388e80
misc: remove 100% of the "using namespace std;" madness.
11 lat temu
Sam Hocevar
fe665f85b4
base: strip core.h from its contents and put it in public/private headers.
11 lat temu
Sam Hocevar
3862ad59dc
base: going on a lowercase rampage; today’s victim: Array.
11 lat temu
Sam Hocevar
12d249f3fa
image: add Convolution() method, with optimisation for separable filters.
11 lat temu
Sam Hocevar
da6b3d5cd0
scenegraph: Entity::TickDraw() now provides a reference to the current
scene so that g_scene can be deprecated later.
11 lat temu
Sam Hocevar
227411f337
image: refactor codecs so that they no longer store anything in the image
objects themselves.
11 lat temu
Sam Hocevar
f455f0e2d1
image: start reworking the Image class to properly split the pixel handling
and the codec logic.
11 lat temu
Sam Hocevar
d16595a0bc
image: some refactoring of the Image class. Not final.
11 lat temu
Sam Hocevar
44dec8612e
core: fix minor Windows and Raspberry compilation issues.
11 lat temu
Benjamin ‘Touky’ Huet
f5e37a4337
AddedSprite_sorter stores parameters now.
Added palette in Scene.
11 lat temu
Benjamin ‘Touky’ Huet
a78293bf92
tileset zoom fix -sowwwwy-
11 lat temu
Benjamin ‘Touky’ Huet
58a0c1001a
ThreadManager is now an entity, it's awesooooome
11 lat temu
Benjamin ‘Touky’ Huet
3d4b3d53c3
Added bunch of stuff on threads and images.
11 lat temu
Sam Hocevar
c9b8ff54a1
misc: some refactoring in texture handling.
11 lat temu
Sam Hocevar
c29058ac87
gpu: give access to the Texture behind a TileSet.
11 lat temu
Sam Hocevar
32143b8bb4
scene: allow to rotate sprites around the Z axis.
11 lat temu
Sam Hocevar
6c0cab193c
scene: position sprite tiles from their centre instead of their corner.
11 lat temu
Sam Hocevar
7c8fc6df12
gpu: move more platform-specific code from Video to Render.
12 lat temu
Benlitz
60b06ee98e
added BytesPerPixel() method to PixelFormat structure
12 lat temu
Sam Hocevar
95369e26db
base: a few minor style tweaks.
12 lat temu
Sam Hocevar
9a752c84d8
tileset: refactor the tile generation code.
12 lat temu
Sam Hocevar
9e236b8946
gpu: fix several bugs introduced by the tileset refactoring.
12 lat temu
Sam Hocevar
d34d31dae0
base: some refactoring in the tileset class.
12 lat temu
Sam Hocevar
aeda5c74f7
gpu: ugly hack to avoid sprite artifacts on the PS3.
12 lat temu
Sam Hocevar
d4dcdb75e6
gpu: account for the HLSL half-texel offset on the PS3.
12 lat temu
Sam Hocevar
e6b0bd07bf
image: hide the constructor behind a factory so that we can later
return an already created object if necessary.
12 lat temu
Sam Hocevar
f16704ecb0
image: GetData returns uint8_t* instead of void*, it's a lot safer.
12 lat temu
Sam Hocevar
c46b3fbfec
image: remove the Image::Format enum and use PixelFormat instead.
12 lat temu
Sam Hocevar
6e282a674a
base: remove some sprintf() calls in profit of string ops.
12 lat temu
Sam Hocevar
39a8c26fb5
base: start removing occurrences of NULL on our long journey to nullptr.
12 lat temu
Benjamin ‘Touky’ Huet
77dcb3c146
EasyMesh : vdecl/vbo flag test fixup.
Tileset : added GetTileSize().
13 lat temu
Benjamin ‘Touky’ Huet
a573b0908b
MeshViewer : Added shitty texture to bulletproof easymesh UV, and therefore correct wrongly set ones.
13 lat temu
Sam Hocevar
42fb9b6853
gpu: support 1-component (luminance) textures.
13 lat temu
Benjamin ‘Touky’ Huet
c7219ff1dd
New year copyright update.
13 lat temu
Sam Hocevar
d6634da83f
build: fix the WTFPL site URL in all code comments.
13 lat temu
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.
13 lat temu
Sam Hocevar
87f653c504
gpu: if 2D tiles have negative scaling, switch the triangle winding.
13 lat temu
Sam Hocevar
3bfbb6c408
build: fix shitloads of warnings.
13 lat temu
Sam Hocevar
28728814cc
core: replace usage of sin() or std::sin() with lol::sin() where appropriate.
13 lat temu
Sam Hocevar
d452194326
gpu: activate backface culling on OpenGL to remain consistent with
the Direct3D backend.
13 lat temu
Sam Hocevar
90bfc79b22
core: tick methods now use seconds, like any sane system.
13 lat temu
Sam Hocevar
fe9bab81c1
gpu: fix a great lot of Direct3D problems, spotted using PIX.
13 lat temu
Sam Hocevar
f7770f7387
gpu: add an Unbind() method for textures for clean up. Unfortunately
the Scene code still breaks Direct3D rendering.
13 lat temu
Sam Hocevar
57f393d0d3
gpu: port the texture and scene handling code to Direct3D. Not functional.
13 lat temu