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