Sam Hocevar
d92dd6fc3c
Remove uses of the UNUSED macro.
vor 4 Jahren
Sam Hocevar
9090b5a4e2
Stop including <lol/msg> and <lol/base/assert.h> automatically.
vor 4 Jahren
Sam Hocevar
0f5913edce
base: deprecate lol::array.
Unfortunately, easymesh code still relies heavily on its specifics, so I’m
letting it live as lol::easy_array for the near future. But it’s going away.
vor 4 Jahren
Sam Hocevar
d40b492d23
base: disable array::data() when the underlying object is a tuple.
vor 4 Jahren
Sam Hocevar
9e982a51a7
Major header refactoring.
vor 4 Jahren
Sam Hocevar
f8d3df0632
Update lol-core.
vor 4 Jahren
Sam Hocevar
35955b2ac1
Remove several deprecated headers.
vor 4 Jahren
Sam Hocevar
53e86aa9c5
Clean up header usage.
vor 4 Jahren
Sam Hocevar
65abcac37b
Use std::tuple for our custom dynamic arrays.
This is the first step to getting rid of lol::array in favour of std::vector.
vor 4 Jahren
Sam Hocevar
f9d97f6340
Refactor several headers, slowly migrating to include-what-you-use.
vor 4 Jahren
Sam Hocevar
85007bd019
More header cleanup.
vor 4 Jahren
Sam Hocevar
2a798387fb
Refactor all code that uses the color class.
vor 4 Jahren
Sam Hocevar
e340757a51
Remove more math-related headers.
vor 4 Jahren
Sam Hocevar
f0ac602eee
Remove the half.h header, now part of lol-core.
vor 4 Jahren
Sam Hocevar
555032db18
math: use real.h only where necessary; improves build times.
vor 4 Jahren
Sam Hocevar
fdc2c98196
test: remove implicit conversions in the real class tests.
vor 4 Jahren
Sam Hocevar
9d4b7ff456
Refactor header usage to use our core submodule instead.
vor 4 Jahren
Sam Hocevar
607369b223
net: implement async HTTP/HTTPS requests for Windows and Linux.
vor 4 Jahren
Sam Hocevar
e1c47e9e03
net: implement async HTTP requests for the emscripten backend.
Does not work very well because of CORS restrictions in browsers.
vor 4 Jahren
Sam Hocevar
54335bd5aa
build: reference projects using a property sheet instead of a guid.
vor 5 Jahren
Sam Hocevar
cf02d4b0d0
gpu: rename a few methods.
vor 5 Jahren
Sam Hocevar
2c5a1be8b3
Make the check for threading support runtime to make debugging easier.
vor 5 Jahren
Sam Hocevar
f6f61ceb23
gpu: add helper functions to upload buffer data.
vor 5 Jahren
Sam Hocevar
2c45d0918d
gpu: fix numerous OpenGL programming errors.
vor 5 Jahren
Sam Hocevar
d7fc121faf
Start porting the engine to the Nintendo Switch.
vor 5 Jahren
Sam Hocevar
2c484bc8ae
Add NX64 platform to projects.
vor 5 Jahren
Sam Hocevar
b5de2bd6e6
math: implement <<(ostream &, real).
vor 5 Jahren
Sam Hocevar
2bf54ebcb0
math: use std::string logic rather than printf() for real number formatting.
vor 5 Jahren
Sam Hocevar
a21c2cbea7
tutorial: fix build.
vor 5 Jahren
Sam Hocevar
c49bce2b8b
tutorial: add a few missing “override” qualifiers.
vor 5 Jahren
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.
vor 5 Jahren
Sam Hocevar
6f0155a50e
audio: allow to load a sample from raw data.
vor 5 Jahren
Sam Hocevar
70847edb61
tutorial: fix a signedness bug in the sound tutorial.
vor 5 Jahren
Sam Hocevar
aedc1da589
build: remove built-in bullet compilation on Linux.
Executables that use libbullet are now 1 MiB smaller (stripped!).
vor 5 Jahren
Sam Hocevar
634e96fa37
tutorial: refresh some tutorial programs to use the init/release entity mechanism.
vor 5 Jahren
Sam Hocevar
19cf115ae1
tutorial: add a VS project for the sound tutorial.
vor 5 Jahren
Sam Hocevar
96736217fe
doc: update some tutorials to use the new entity init/release mechanism.
vor 5 Jahren
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.
vor 5 Jahren
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.
vor 5 Jahren
Sam Hocevar
96a336db03
build: fix a few CRLF issues and make .gitattributes more robust.
vor 5 Jahren
Sam Hocevar
9c13aabe98
build: fix the mingw cross compilation.
vor 5 Jahren
Sam Hocevar
c9f75a6c3f
input: start splitting keyboard, mouse etc. objects
vor 5 Jahren
Sam Hocevar
b0a8596001
RIP lol::Controller and lol::InputProfile ⚰️ LOL
vor 5 Jahren
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.
vor 5 Jahren
Sam Hocevar
fe66f12e53
input: start implementing controller features directly in the input device.
vor 5 Jahren
Sam Hocevar
a713297cfb
input: minor cleanup.
vor 5 Jahren
Sam Hocevar
1388625308
input: remove dead code and more cleanup.
vor 5 Jahren
Sam Hocevar
1ab9866c31
input: drivers no longer need to create the default devices.
vor 5 Jahren
Sam Hocevar
6ad9c0d8bf
Various compilation warning and error fixes.
vor 5 Jahren
Sam Hocevar
4ee191fbf4
engine: start working on a tickable object, cleaner than entities.
vor 5 Jahren