Commit graph

920 commits

Author SHA1 Message Date
Sebastian Krzyszkowiak
9ec64c46b3
character: introduce streamed spritesheets
Streamed spritesheets can be generated on-the-go and don't need to be
loaded from any file (or loading can be handled manually). Streamed
spritesheet can also be "preloaded", that is - converted to regular
spritesheet by preemptively reading the stream and storing the results.
2019-11-18 12:04:23 +01:00
Sebastian Krzyszkowiak
332c668717
character: don't call character callback indefinitely after animation finishes
This could happen when the repeats counter went down to 0 with
no successor - the callback would then be called every frame.
2019-11-18 09:47:13 +01:00
Sebastian Krzyszkowiak
08a3c24c56
mainloop: call al_convert_memory_bitmaps after gamestate loading
This handles a case where "progress" function hasn't been called
by the gamestate at all.
2019-11-18 09:41:43 +01:00
Sebastian Krzyszkowiak
e9d645ecee
test: fix compiler warnings about missing return value checks 2019-11-12 01:25:49 +01:00
Sebastian Krzyszkowiak
0062dbac3b
defines.h: define LIBSUPERDERPY_GAME_VERSION 2019-11-11 23:36:55 +01:00
Sebastian Krzyszkowiak
a0dabfdeec
cmake: unix: install man page if it exists 2019-11-11 22:42:04 +01:00
Sebastian Krzyszkowiak
3c0f104add
TestDataFilePath: handle /usr/share/games/ data path
This makes it work with proper Debian packages.
2019-11-11 21:24:43 +01:00
Sebastian Krzyszkowiak
5c9ebfdbdd
cmake: make bin, lib and share directories configurable 2019-11-11 21:23:43 +01:00
Sebastian Krzyszkowiak
ae2c483111
Update embedded allegro copy 2019-11-11 21:23:03 +01:00
Sebastian Krzyszkowiak
63d1ae8bf7
init: add --fullscreen and --windowed command line options 2019-10-17 03:51:11 +02:00
Sebastian Krzyszkowiak
1ff0d6ddac
emscripten: compensate canvas size for device pixel ratio 2019-10-17 03:50:48 +02:00
Sebastian Krzyszkowiak
a112e5de0d
cmake: set BINARYEN_TRAP_MODE=clamp for wasm
It's necessary to avoid random breakage due to llvm optimizations.
2019-10-07 00:01:18 +02:00
Sebastian Krzyszkowiak
11267cd3b1
character: fix stopping of non-repeating reversed spritesheets 2019-10-06 08:06:53 +02:00
Sebastian Krzyszkowiak
1d6dc5e0d0
test: add tests for characters 2019-10-06 08:06:52 +02:00
Sebastian Krzyszkowiak
b8d44792f1
cmake: support memory sanitizer 2019-10-06 08:06:40 +02:00
Sebastian Krzyszkowiak
356cb6c2e8
cmake: specify LIBSUPERDERPY_EMBEDDED_ALLEGRO as an option 2019-10-06 08:01:08 +02:00
Sebastian Krzyszkowiak
861850aafb
cmake: set _POSIX_C_SOURCE instead of _XOPEN_SOURCE
On Maemo we set _GNU_SOURCE instead because of its old glibc.
2019-10-06 08:00:32 +02:00
Sebastian Krzyszkowiak
7cca01b4b8
utils: improve docs and const correctness 2019-10-01 23:05:30 +02:00
Sebastian Krzyszkowiak
f7c9088695
Console_Load: allow to run without external font assets available 2019-10-01 23:04:32 +02:00
Sebastian Krzyszkowiak
036cc00332
cmake: install the app icon into /usr/share/pixmaps as well 2019-09-07 18:11:56 +02:00
Sebastian Krzyszkowiak
521ea828f8
cmake: fix embedded allegro getting built as a shared lib 2019-09-07 03:55:34 +02:00
Sebastian Krzyszkowiak
d9b0892637
Update allegro5 submodule 2019-09-07 03:01:53 +02:00
Sebastian Krzyszkowiak
aa1c864811
cmake: add ability to build an embedded, static copy of Allegro 2019-09-07 01:13:52 +02:00
Sebastian Krzyszkowiak
09c8506b37
ToggleFullscreen: log whether fullscreen is being toggled on or off 2019-09-06 22:57:04 +02:00
Sebastian Krzyszkowiak
3a0b8a706a
timeline: add TM_END and TM_REPEAT boolean aliases 2019-08-28 20:38:31 +02:00
Sebastian Krzyszkowiak
29e38ac04c
character: add detailedProgress property for progress report on each frame 2019-08-28 04:18:20 +02:00
Sebastian Krzyszkowiak
02650dfb4f
character: rename CharacterCallback macro to CHARACTER_CALLBACK 2019-08-28 04:17:57 +02:00
Sebastian Krzyszkowiak
b5b938ef28
init: list connected joystick data in debug output 2019-07-25 03:26:08 +02:00
Sebastian Krzyszkowiak
943c4fb77b
support gamepad hotplug 2019-07-23 03:57:23 +02:00
Sebastian Krzyszkowiak
4cc19c3382
README: add Bob 2019-07-22 23:49:45 +02:00
Sebastian Krzyszkowiak
1807fe256e
limit delta to 1 second
It doesn't make much sense to react to bugger deltas; especially that
looping over Gamestate_Tick may take significant amount of time in such
cases.
2019-07-22 17:51:57 +02:00
Sebastian Krzyszkowiak
5ca9d844b8
mainloop: correct for joystick quirks on GNU/Linux and Nintendo Switch 2019-07-22 17:44:07 +02:00
Sebastian Krzyszkowiak
112be73531
cmake: add CONFIGURE_DEPENDS to file(GLOB...) invocations 2019-06-27 21:24:30 +02:00
Sebastian Krzyszkowiak
5757c5170a
config: store the config file instantly after setting a new value 2019-06-26 22:44:48 +02:00
Sebastian Krzyszkowiak
94de1c5975
character: mark spritesheets loaded from bitmaps as shared, so the bitmaps don't get destroyed 2019-06-25 05:12:04 +02:00
Sebastian Krzyszkowiak
8e49e5e2ee
update imgui to v1.71 2019-06-14 00:23:20 +02:00
Sebastian Krzyszkowiak
5a437a27bf
fix missing loading screens with static gamestates 2019-06-07 21:35:16 +02:00
Sebastian Krzyszkowiak
63e5210796
use 44100 sample rate by default and make the default configurable by the game 2019-06-07 20:37:57 +02:00
Sebastian Krzyszkowiak
f701df6100
imgui: fix clang-analyzer warnings 2019-06-06 02:49:52 +02:00
Sebastian Krzyszkowiak
0f3a5ca25e
character: add RegisterSpritesheetFromBitmap helper 2019-06-03 03:43:35 +02:00
Sebastian Krzyszkowiak
0b9cf5549e
update clang-tidy mention in codestyle readme 2019-06-01 04:30:21 +02:00
Sebastian Krzyszkowiak
b0ec8ef683
imgui: synchronize platform code with upstream allegro5 example 2019-05-31 02:52:29 +02:00
Sebastian Krzyszkowiak
7ade9ee1aa
3rdparty: use cimgui with patched version of imgui to fix building for Nintendo Switch 2019-05-31 01:47:00 +02:00
Sebastian Krzyszkowiak
afc60d96d0
cmake: adjust order of dependencies to link with
The order is important when linking statically.
2019-05-31 01:26:39 +02:00
Sebastian Krzyszkowiak
6758075511
cmake: rework static linking configuration 2019-05-17 17:35:07 +02:00
Sebastian Krzyszkowiak
c6ef4a6199
support static linking the whole game into one binary 2019-05-17 02:31:17 +02:00
Sebastian Krzyszkowiak
c724a490fb
formal Pocket C.H.I.P support 2019-05-13 23:51:07 +02:00
Sebastian Krzyszkowiak
b0bf4f13be
cmake: disable GNU extensions 2019-05-13 23:47:16 +02:00
Sebastian Krzyszkowiak
8c228aa9e0
cmake: set -std=gnu99 when the compiler default is C90
Fixes compilation on the Pocket C.H.I.P
2019-05-12 22:35:51 +02:00
Sebastian Krzyszkowiak
5b8df3c180
cmake: disable stack protector on Maemo
It causes strange segfaults there
2019-05-12 22:33:34 +02:00