Sam Hocevar
d7fc121faf
Start porting the engine to the Nintendo Switch.
5 lat temu
Sam Hocevar
2c484bc8ae
Add NX64 platform to projects.
5 lat temu
Sam Hocevar
b5de2bd6e6
math: implement <<(ostream &, real).
5 lat temu
Sam Hocevar
2bf54ebcb0
math: use std::string logic rather than printf() for real number formatting.
5 lat temu
Sam Hocevar
a21c2cbea7
tutorial: fix build.
5 lat temu
Sam Hocevar
c49bce2b8b
tutorial: add a few missing “override” qualifiers.
5 lat temu
Sam Hocevar
68c2530b16
audio: refactor audio streaming mechanism.
Rename “channels” to “tracks” when talking about the mixing channels, to
avoid confusion with channels in the context of mono/stereo/5.1. Also allow
conversions between various formats and frequencies.
To do: allow to query the current audio device’s preferred frequency when
the client application is able to send the best possible data.
5 lat temu
Sam Hocevar
6f0155a50e
audio: allow to load a sample from raw data.
5 lat temu
Sam Hocevar
70847edb61
tutorial: fix a signedness bug in the sound tutorial.
5 lat temu
Sam Hocevar
aedc1da589
build: remove built-in bullet compilation on Linux.
Executables that use libbullet are now 1 MiB smaller (stripped!).
5 lat temu
Sam Hocevar
634e96fa37
tutorial: refresh some tutorial programs to use the init/release entity mechanism.
5 lat temu
Sam Hocevar
19cf115ae1
tutorial: add a VS project for the sound tutorial.
5 lat temu
Sam Hocevar
96736217fe
doc: update some tutorials to use the new entity init/release mechanism.
5 lat temu
Sam Hocevar
2e4aabbc29
ticker: better mechanism for entity init/release.
Now we can call functions that need to access GPU resources explicitly
on the draw thread.
5 lat temu
Sam Hocevar
1186c08ad7
entity: add a flag system.
This lets us get rid of m_autorelease and m_destroy and we’ll be able
to implement init_game/init_draw later, for stuff that must happen
on the render thread.
5 lat temu
Sam Hocevar
96a336db03
build: fix a few CRLF issues and make .gitattributes more robust.
5 lat temu
Sam Hocevar
9c13aabe98
build: fix the mingw cross compilation.
5 lat temu
Sam Hocevar
c9f75a6c3f
input: start splitting keyboard, mouse etc. objects
5 lat temu
Sam Hocevar
b0a8596001
RIP lol::Controller and lol::InputProfile ⚰️ LOL
5 lat temu
Sam Hocevar
8c81b07465
input: start replacing controller functions with standard input functions.
Controller::WasKeyReleasedThisFrame() is now keyboard->key_released() so
there is usually no need for a controller. They will completely disappear
when joystick axis binding has been ported to InputDevice.
5 lat temu
Sam Hocevar
fe66f12e53
input: start implementing controller features directly in the input device.
5 lat temu
Sam Hocevar
a713297cfb
input: minor cleanup.
5 lat temu
Sam Hocevar
1388625308
input: remove dead code and more cleanup.
5 lat temu
Sam Hocevar
1ab9866c31
input: drivers no longer need to create the default devices.
5 lat temu
Sam Hocevar
6ad9c0d8bf
Various compilation warning and error fixes.
5 lat temu
Sam Hocevar
4ee191fbf4
engine: start working on a tickable object, cleaner than entities.
5 lat temu
Sam Hocevar
6455091518
doc: rename a few tutorials to remove “lol” from their names.
5 lat temu
Sam Hocevar
fc43bd7e5b
input: remove useless code.
5 lat temu
Sam Hocevar
016330c12b
ui: move a lot of files around.
Most input and GUI files are now in a common ui/ directory. The platform/
directory is no longer, as everythyng was moved to application/ or ui/.
5 lat temu
Sam Hocevar
a57cecaf98
input: remove a lot of unnecessarily convoluted code.
In particular, get rid of the enum magic; we can use map<string,int> if we
really need some named enums. Which we usually don’t.
5 lat temu
Sam Hocevar
ce751a1534
Add imgui.ini to .gitignore, we really don’t need it.
5 lat temu
Sam Hocevar
a55450b94d
doc: add missing vcxproj for the movie tutorial.
5 lat temu
Sam Hocevar
d3d84948d4
sdl: move files around in separate directories.
5 lat temu
Sam Hocevar
25b5d97d28
gui: clean up the ImGui integration code.
5 lat temu
Sam Hocevar
fca56d7f7d
Rename some classes and methods to lowercase.
5 lat temu
Sam Hocevar
1f9be92a66
Use smart pointers in a lot of the rendering code.
5 lat temu
Sam Hocevar
3effd3abe5
Fix tutorial build and a few compilation warnings.
5 lat temu
Sam Hocevar
6e428a6243
Remove deprecated code I don’t understand.
5 lat temu
Sam Hocevar
0e79b79d23
Remove the overly complex thread manager.
5 lat temu
Sam Hocevar
2df434a2b2
Remove obsolete file.
5 lat temu
Sam Hocevar
4c9c63894d
Allow to resize the SDL window and propagate changes to the scene.
5 lat temu
Sam Hocevar
effc880011
tutorial: nicer example for the GIF generation.
5 lat temu
Sam Hocevar
beeded3d85
render: simplify Renderer code
The scene now owns its renderer, so there is no need to keep a list
of existing renderers and to call Renderer::Get().
5 lat temu
Sam Hocevar
34fab09274
Remove NaCl support. Google is deprecating it.
5 lat temu
Sam Hocevar
1d8083af86
engine: get rid of the Dict class (WIP).
This was not a very smart class. We replace it with a bidirectional map.
5 lat temu
Sam Hocevar
d0f3f71e8c
doc: fix detection of Dot tool and upgrade Doxygen config file.
6 lat temu
Sam Hocevar
67dd817aa2
math: remove unused trig code.
Let’s be honest, I’m never gonna use it in its current form.
6 lat temu
Sam Hocevar
6dd7a0cb39
Another lowercase switching frenzy, because why not.
6 lat temu
Sam Hocevar
50e494803d
Replace array::empty() with array::clear().
We used to have lol::map::empty() to empty maps, but in std::map
this method is called clear(). It sounds safe to harmonise between
our types and have lol::array::clear() too.
6 lat temu
Sam Hocevar
7faedd4517
build: fix linking with Bullet on Linux.
6 lat temu