Commit graph

78 commits

Author SHA1 Message Date
Sebastian Krzyszkowiak
c6ef4a6199
support static linking the whole game into one binary 2019-05-17 02:31:17 +02:00
Sebastian Krzyszkowiak
26089d86e6
move SUPPRESS_WARNING macros to public header 2019-04-21 15:46:03 +02:00
Sebastian Krzyszkowiak
d54b311a3c
fix a case where SetupViewport wasn't called when it should after a display resize 2019-03-28 16:58:15 +01:00
Sebastian Krzyszkowiak
6d7007b39e
don't rely on the game name string pointer to be valid for a whole lifetime 2019-03-28 15:25:37 +01:00
Sebastian Krzyszkowiak
5a6e212de1
make sure to redraw the gamestates after a resize
Also affects compositor toggling
2019-03-05 03:48:11 +01:00
Sebastian Krzyszkowiak
c93c22cf04
make Gamestate structure private and add API for accessing it 2019-03-05 03:20:06 +01:00
Sebastian Krzyszkowiak
ae9cf19778
utils: Push/PopTransform functions for easier transforming 2019-02-26 18:14:19 +01:00
Sebastian Krzyszkowiak
10164293ba
add ability to enable multisampling via init params 2019-02-01 03:37:15 +01:00
Sebastian Krzyszkowiak
ef77bedeae
clean up 2019-01-11 15:26:12 +01:00
Sebastian Krzyszkowiak
9006427278
clean up a duplicated framebuffer of the loading gamestate 2019-01-11 12:28:08 +01:00
Sebastian Krzyszkowiak
871cdf115e
emscripten: fix a crash when onvisibilitychange fired during loading 2019-01-10 06:03:57 +01:00
Sebastian Krzyszkowiak
f07b075052
emscripten: install a callback for visibility changes
Fixes an issue where focus blur event was being dispatched only after
the game has been focused again.
2019-01-08 04:57:30 +01:00
Sebastian Krzyszkowiak
2ad77b071f
move autopause feature out of debug events 2019-01-08 04:54:53 +01:00
Sebastian Krzyszkowiak
d0316cd789
don't use timer for ticking; rely on delta instead
Timer was causing an infinite loop in cases where ticking took
more time than 1/60 sec.
2019-01-08 04:53:13 +01:00
Sebastian Krzyszkowiak
5fb99a97f8
emscripten: revise compiler settings and add a pre-js file with audio autoplay workaround 2019-01-07 00:37:34 +01:00
Sebastian Krzyszkowiak
4da588cbb2
API consistency tweaks 2018-12-16 15:35:53 +01:00
Sebastian Krzyszkowiak
df1790d242
doxygen tweaks 2018-12-16 15:15:38 +01:00
Sebastian Krzyszkowiak
09e6b321b6
streamline the ability to access internal fields a bit 2018-12-15 05:29:32 +01:00
Sebastian Krzyszkowiak
b9b231a438
put debug config into public config struct 2018-12-15 01:09:44 +01:00
Sebastian Krzyszkowiak
ce66ba8060
reorganize Game structure, deprecate access to _priv fields 2018-12-15 00:59:34 +01:00
Sebastian Krzyszkowiak
d8f975300d
PrintConsole/DrawConsole: guard console data usage with mutexes 2018-12-14 02:18:05 +01:00
Sebastian Krzyszkowiak
ad26fe14ad
add a separate flag to indicate that the loading screen is being shown 2018-12-07 06:14:52 +01:00
Sebastian Krzyszkowiak
f0910b63f7
remove phantom (never implemented) viewport option 2018-12-05 02:40:27 +01:00
Sebastian Krzyszkowiak
bffe816037
don't export functions from imgui integration implementation 2018-12-05 02:31:53 +01:00
Sebastian Krzyszkowiak
3586f49762
ensure that the game operates on UTF-8 on Windows
Should fix issues with Unicode filenames.
2018-12-05 02:09:06 +01:00
Sebastian Krzyszkowiak
2179d6cdc2
synchronize with the main thread on BSoD 2018-12-02 00:26:33 +01:00
Sebastian Krzyszkowiak
440e6c41e6
Dear ImGui integration 2018-11-29 04:37:08 +01:00
Sebastian Krzyszkowiak
48189e7715
make depth buffer creation configurable 2018-11-27 03:06:43 +01:00
Sebastian Krzyszkowiak
e5937537df
initial draft of particle engine 2018-11-26 09:18:28 +01:00
Sebastian Krzyszkowiak
9ecd29a7c3
include allegro_color and platform specific headers already in libsuperderpy.h, clean up 2018-11-26 01:40:19 +01:00
Sebastian Krzyszkowiak
6c59ef1049
add support for routing the loading gamestate through compositor 2018-11-22 04:53:51 +01:00
Sebastian Krzyszkowiak
3e7d9812a3
Refactor the engine's main loop. 2018-09-10 03:22:45 +02:00
Sebastian Krzyszkowiak
7d4575308d
add config switches for various debug options 2018-08-09 00:05:25 +02:00
Sebastian Krzyszkowiak
6684847424
send filename, line number and function name to PrintConsole and FatalError for verbose debug output 2018-08-08 22:19:50 +02:00
Sebastian Krzyszkowiak
7bde25fe84 add a public field with in-game total passed time 2018-08-03 13:15:06 +02:00
Sebastian Krzyszkowiak
093a808dc2 character: reuse already loaded bitmaps 2018-08-03 05:02:44 +02:00
Sebastian Krzyszkowiak
a730281bb8 add QuitGame function for quiting or sending game to the background (depending on the platform) 2018-07-31 21:25:07 +02:00
Sebastian Krzyszkowiak
7c92d1e05e add global audio mute config option 2018-07-26 15:33:02 +02:00
Sebastian Krzyszkowiak
e5cf17a1a6 utils: add Fract util function and move math utils to separate unit 2018-07-12 20:18:23 +02:00
Sebastian Krzyszkowiak
d6f6f32e00 include math.h header in libsuperderpy.h 2018-07-12 00:03:00 +02:00
Sebastian Krzyszkowiak
521e6bf431 gamestate: add optional PostLoad hook for stuff that needs to be done on GPU thread 2018-07-05 20:55:32 +02:00
Sebastian Krzyszkowiak
23ffcae034 better handling of joystick, mouse and font initialization failures
Now libsuperderpy works on FreeBSD \o/
2018-07-03 00:41:57 +02:00
Sebastian Krzyszkowiak
d5faec85ac mark loading.inProgress variable as volatile to prevent optimization bugs in threaded loading 2018-06-30 02:35:32 +02:00
Sebastian Krzyszkowiak
40bda569b9 timeline: rework API to better handle common use cases 2018-06-30 00:50:55 +02:00
Sebastian Krzyszkowiak
016c482154 convert bitmaps to video textures on every progress() when loading gamestate in threaded mode 2018-06-23 04:44:36 +02:00
Sebastian Krzyszkowiak
9182cabf79 Add abstraction for GPU shaders 2018-05-30 21:11:46 +02:00
Sebastian Krzyszkowiak
0f14629a15 Introducing the tweening engine. 2018-04-22 05:30:56 +02:00
Sebastian Krzyszkowiak
01ae741558 loading: call Gamestate_Logic in single thread mode as well 2018-04-21 01:08:39 +02:00
Sebastian Krzyszkowiak
3938a78503 live reloading 2018-04-16 01:06:58 +02:00
Sebastian Krzyszkowiak
adb15a9caf libsuperderpy: init video addon 2018-04-08 01:33:13 +02:00