Sebastian Krzyszkowiak
|
ddfe7cc50a
|
properly unset default mixer on engine destroy
fixes a segfault/broken assertion that could happen right before quiting
|
2019-04-22 01:34:53 +02:00 |
|
Sebastian Krzyszkowiak
|
26089d86e6
|
move SUPPRESS_WARNING macros to public header
|
2019-04-21 15:46:03 +02:00 |
|
Sebastian Krzyszkowiak
|
d93e1a1aca
|
imgui: scale the whole UI by factor from configuration
|
2019-04-07 23:26:54 +02:00 |
|
Sebastian Krzyszkowiak
|
6aedf685b6
|
update imgui to 1.69
|
2019-04-06 20:45:32 +02:00 |
|
Sebastian Krzyszkowiak
|
472ed0a1b4
|
timeline: fine-tune semantics and fix bugs shown by tests
|
2019-04-03 03:00:14 +02:00 |
|
Sebastian Krzyszkowiak
|
1e7fe215c4
|
timeline: gracefullly handle out of bounds indexes in TM_GetArg
|
2019-03-30 04:06:40 +01:00 |
|
Sebastian Krzyszkowiak
|
9706f61116
|
don't abort when there's no loading screen available
|
2019-03-30 03:34:55 +01:00 |
|
Sebastian Krzyszkowiak
|
44bee57f55
|
fix an endless loop on platforms where "char" is unsigned by default
|
2019-03-30 00:26:21 +01:00 |
|
Sebastian Krzyszkowiak
|
834b1028f5
|
support a case where width, height and ratio in params are all zeros
|
2019-03-29 21:26:25 +01:00 |
|
Sebastian Krzyszkowiak
|
deb38e778c
|
don't fail on missing icon file
|
2019-03-29 20:54:14 +01:00 |
|
Sebastian Krzyszkowiak
|
db0d8da708
|
utils: add FindDataFilePath, which just returns NULL on failure
|
2019-03-29 20:53:45 +01:00 |
|
Sebastian Krzyszkowiak
|
993e9884e6
|
adjust to clang-tidy 8.0
|
2019-03-29 03:24:36 +01: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
|
a309b8cb2b
|
support a command line switch "--debug" (or "-d") to enable debug mode
|
2019-03-28 15:33:21 +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
|
cdc99444e0
|
fix clang-analyzer warnings and reformat
|
2019-03-26 04:31:24 +01:00 |
|
Sebastian Krzyszkowiak
|
1350fe9437
|
timeline: use floating-point seconds instead of integer miliseconds for delays in API
|
2019-03-16 01:58:28 +01:00 |
|
Sebastian Krzyszkowiak
|
6e07719beb
|
timeline: add STOP action state
|
2019-03-16 01:44:02 +01:00 |
|
Sebastian Krzyszkowiak
|
52e128ed28
|
make sure to clear the screen completely on initial flips
|
2019-03-12 15:16:50 +01:00 |
|
Sebastian Krzyszkowiak
|
6899ea5f52
|
resize event handling tweaks
Fixes Android and somehow optimizes resizing with lots of gamestates
|
2019-03-09 03:18:42 +01:00 |
|
Sebastian Krzyszkowiak
|
f375b6f0b1
|
use 48kHz as a default audio sample rate
|
2019-03-05 03:48:39 +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
|
c7ebc51f16
|
move SetupViewport to internal functions
|
2019-03-05 03:42:59 +01:00 |
|
Sebastian Krzyszkowiak
|
151e11d371
|
utils: add ToggleFullscreen and ToggleMute
|
2019-03-05 03:42:25 +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
|
b84727bff0
|
utils: add transform-aware clipping rectangle functions
|
2019-02-26 01:59:49 +01:00 |
|
Sebastian Krzyszkowiak
|
43c830bf99
|
drop "libsuperderpy-" prefix from game-specific shared libraries
|
2019-02-26 01:42:16 +01:00 |
|
Sebastian Krzyszkowiak
|
d05e683171
|
add a hack for window size correction at launch
|
2019-02-24 04:20:36 +01:00 |
|
Sebastian Krzyszkowiak
|
c80a3c5717
|
report Allegro version and better format the OpenGL version
|
2019-02-23 13:36:27 +01:00 |
|
Sebastian Krzyszkowiak
|
7c89ef74e2
|
don't react to ALLEGRO_EVENT_DISPLAY_RESIZE if the new size is the same as the old one
|
2019-02-19 03:49:53 +01:00 |
|
Sebastian Krzyszkowiak
|
199ad64bac
|
ReloadGamestates: also reload loading gamestate
|
2019-02-14 05:35:17 +01:00 |
|
Sebastian Krzyszkowiak
|
0ba9c7bbae
|
move first al_flip_display() way earlier
|
2019-02-13 23:00:33 +01:00 |
|
Sebastian Krzyszkowiak
|
f8306f80c1
|
ReloadShaders: actually don't reload already loaded stuff unless forced
|
2019-02-13 22:59:45 +01:00 |
|
Sebastian Krzyszkowiak
|
d9dd73bfc8
|
make sure shaders are loaded in-between Load and PostLoad calls + call PostLoad for loading
|
2019-02-13 22:59:11 +01:00 |
|
Sebastian Krzyszkowiak
|
886034e596
|
use ALLEGRO_NO_PRESERVE_TEXTURE on SDL2
seems there's no reason not to; it even fixes some stuff
|
2019-02-13 22:54:49 +01:00 |
|
Sebastian Krzyszkowiak
|
26a32fd083
|
destroy and recreate voice on suspend and resume
|
2019-02-07 04:11:40 +01:00 |
|
Sebastian Krzyszkowiak
|
9e0a1ddb36
|
IsOnCharacter: properly support subbitmaps (for instance spritesheets)
|
2019-02-01 05:45:26 +01:00 |
|
Sebastian Krzyszkowiak
|
10164293ba
|
add ability to enable multisampling via init params
|
2019-02-01 03:37:15 +01:00 |
|
Sebastian Krzyszkowiak
|
45d36870ad
|
PrintConsole: print current time when in verbose mode
|
2019-01-17 02:42:33 +01:00 |
|
Sebastian Krzyszkowiak
|
a6b6062be4
|
recompress flac to opus and images to lossy webp for emscripten and android builds, with asset cache
|
2019-01-13 18:45:17 +01:00 |
|
Sebastian Krzyszkowiak
|
6211dcbf57
|
precache glyphs in fonts
|
2019-01-13 18:19:44 +01:00 |
|
Sebastian Krzyszkowiak
|
ef77bedeae
|
clean up
|
2019-01-11 15:26:12 +01:00 |
|
Sebastian Krzyszkowiak
|
1334fc6b1d
|
fix a NULL pointer dereference in ResizeGamestates
|
2019-01-11 15:25:24 +01:00 |
|
Sebastian Krzyszkowiak
|
9006427278
|
clean up a duplicated framebuffer of the loading gamestate
|
2019-01-11 12:28:08 +01:00 |
|
Sebastian Krzyszkowiak
|
2333ff1187
|
emscripten: pause the mainloop during loading
Fixes blinks of a blank screen when async calls are made.
|
2019-01-11 02:34:22 +01:00 |
|
Sebastian Krzyszkowiak
|
08ee8f142c
|
loading screen drawing tweaks
|
2019-01-11 02:33:48 +01:00 |
|
Sebastian Krzyszkowiak
|
0d32d00890
|
emscripten: detach/attach the voice during loading
Should prevent audio artifacts when the browser is busy...
...when Emscripten gets it fixed, that is :P
|
2019-01-11 02:33:17 +01:00 |
|
Sebastian Krzyszkowiak
|
f5604b95fb
|
emscripten: output wasm submodules to .wasm.so files, so preload plugins can find them
|
2019-01-10 06:31:28 +01:00 |
|
Sebastian Krzyszkowiak
|
fe9b6f5384
|
emscripten: use __attribute__(used) in code instead of EXPORTED_FUNCTIONS in cmake
|
2019-01-10 06:04:29 +01:00 |
|
Sebastian Krzyszkowiak
|
871cdf115e
|
emscripten: fix a crash when onvisibilitychange fired during loading
|
2019-01-10 06:03:57 +01:00 |
|
Sebastian Krzyszkowiak
|
8c7068b48d
|
PrintConsole: use emscripten_log; don't use printf on Android and Emscripten; unify outputs
|
2019-01-10 02:32:23 +01:00 |
|
Sebastian Krzyszkowiak
|
d55fbebe4d
|
add more drawing (and sleeping in emscripten) to improve responsiveness around loading
|
2019-01-08 05:21:41 +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
|
f648d661e6
|
emscripten: set ALLEGRO_NO_PRESERVE_TEXTURE
Doesn't seem to break anything there despite of using SDL2 backend.
|
2019-01-07 00:40:01 +01:00 |
|
Sebastian Krzyszkowiak
|
fdb4a29a13
|
emscripten_seek_audio_stream_secs: return end position after the sample has ended
Samples in Allegro return 0.0 in this case, while streams return the stream length.
|
2019-01-07 00:39:06 +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
|
f357d75591
|
emscripten: use emterpreter for displaying loading screen
|
2019-01-03 23:22:26 +01:00 |
|
Sebastian Krzyszkowiak
|
7d9adc8d14
|
emscripten: fix a typo in al_get_audio_stream_length_secs stub
|
2019-01-03 06:57:26 +01:00 |
|
Sebastian Krzyszkowiak
|
dbd047c64e
|
emscripten: force fullscreen as off on init
|
2018-12-22 02:21:46 +01:00 |
|
Sebastian Krzyszkowiak
|
cb0f4f6ba7
|
audio: always try INT16 depth first and use FLOAT32 as a fallback
|
2018-12-18 20:32:09 +01:00 |
|
Sebastian Krzyszkowiak
|
6e69d5410e
|
fix building with LIBSUPERDERPY_SINGLE_THREAD
|
2018-12-18 14:34:27 +01:00 |
|
Sebastian Krzyszkowiak
|
1b9b16cf15
|
more member name cleanup
|
2018-12-18 14:29:48 +01:00 |
|
Sebastian Krzyszkowiak
|
db096e7e97
|
GetDataFilePath: add "maemo5" directory handling similar to what's already done for android
|
2018-12-18 13:19:16 +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
|
4f438400fb
|
TestDataFilePath: accomodate also QtCreator's build directories
|
2018-12-13 03:56:23 +01:00 |
|
Sebastian Krzyszkowiak
|
fe23d33273
|
character: support advanced atlases in spritesheets
|
2018-12-12 01:46:16 +01:00 |
|
Sebastian Krzyszkowiak
|
f1933fc7ba
|
GetDataFilePath: support launching straight from the build directory
|
2018-12-11 01:20:57 +01:00 |
|
Sebastian Krzyszkowiak
|
ee058b439a
|
more warnings fixed
|
2018-12-11 00:54:43 +01:00 |
|
Sebastian Krzyszkowiak
|
5fcb55591c
|
fix cppcheck warnings
|
2018-12-11 00:26:51 +01:00 |
|
Sebastian Krzyszkowiak
|
d17a927a82
|
tween: add HasTweenEnded function
|
2018-12-10 21:24:59 +01:00 |
|
Sebastian Krzyszkowiak
|
f82dc24a88
|
don't use warning suppression on Maemo
"#pragma GCC diagnostic not allowed inside functions"
|
2018-12-08 06:27:51 +01:00 |
|
Sebastian Krzyszkowiak
|
b737d64ce8
|
improve SUPPRESS_WARNING macro
|
2018-12-08 05:50:27 +01:00 |
|
Sebastian Krzyszkowiak
|
d42955789c
|
clean up cmake files and import include templates into the engine
|
2018-12-08 03:30:09 +01:00 |
|
Sebastian Krzyszkowiak
|
37bf1ca1c6
|
particle: remove the destructor concept from FaderParticle, it's unnecessary
|
2018-12-07 07:11:18 +01:00 |
|
Sebastian Krzyszkowiak
|
3faa50165c
|
update imgui and clean up the allegro5 impl
|
2018-12-07 07:11:00 +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
|
0ebb85a660
|
make audio sample rate configurable
|
2018-12-06 05:37:51 +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
|
178b45968d
|
utils: fix DrawCentered* function to take float for bitmap position
|
2018-12-02 03:16:12 +01:00 |
|
Sebastian Krzyszkowiak
|
2179d6cdc2
|
synchronize with the main thread on BSoD
|
2018-12-02 00:26:33 +01:00 |
|
Sebastian Krzyszkowiak
|
d5d923daa6
|
don't go into infinite loop when loading a gamestate fails
|
2018-12-02 00:25:08 +01:00 |
|
Sebastian Krzyszkowiak
|
58cb054a18
|
add missing al_destroy_mixer
|
2018-12-02 00:24:31 +01:00 |
|
Sebastian Krzyszkowiak
|
a961845698
|
code model, clang-tidy related tweaks and fixes
|
2018-11-30 04:20:35 +01:00 |
|
Sebastian Krzyszkowiak
|
c8ee56fc2c
|
utils: add StrToLower and StrToUpper functions
|
2018-11-30 02:45:39 +01:00 |
|
Sebastian Krzyszkowiak
|
2149c11ace
|
imgui: handle touch input, set style and don't call al_set_mouse_cursor, which isn't implemented on some platforms
|
2018-11-29 21:09:20 +01:00 |
|
Sebastian Krzyszkowiak
|
71fec20936
|
clean up
|
2018-11-29 04:39:51 +01:00 |
|
Sebastian Krzyszkowiak
|
440e6c41e6
|
Dear ImGui integration
|
2018-11-29 04:37:08 +01:00 |
|
Sebastian Krzyszkowiak
|
52030b67e3
|
particle: fix tint preservation in FaderParticle
|
2018-11-27 04:44:15 +01:00 |
|
Sebastian Krzyszkowiak
|
91180024a1
|
add CopyCharacter util function
|
2018-11-27 04:43:58 +01:00 |
|
Sebastian Krzyszkowiak
|
97495fa2aa
|
require the compositor to clear the screen by itself
|
2018-11-27 03:08:21 +01:00 |
|