Commit graph

924 commits

Author SHA1 Message Date
Sebastian Krzyszkowiak
9611be3267
add ClearToColor util for clearing whole target bitmap, not just the clipping rectangle
Clearing the clipping rectangle can be very costly, while clearing a whole texture is often free.
2018-11-27 02:50:16 +01:00
Sebastian Krzyszkowiak
d20eb28814
particle: add missing SYMBOL_EXPORTs 2018-11-26 18:32:56 +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
de46cff0a4
character: add an ability to tint subcharacters by their parent's color 2018-11-25 05:00:42 +01:00
Sebastian Krzyszkowiak
63f7ae39b9
character: support custom frame duration 2018-11-25 04:49:26 +01:00
Sebastian Krzyszkowiak
a74aa55409
character: allow creating characters with NULL name
Useful for shared characters that are going to be swapped between
their archetypes.
2018-11-25 04:17:00 +01:00
Sebastian Krzyszkowiak
a7d2ed55c0
character: don't log destroying shared characters
Usually leads to too much noise for no value.
2018-11-25 04:09:41 +01:00
Sebastian Krzyszkowiak
a7d2d72bd6
add .editorconfig file 2018-11-24 03:24:57 +01:00
Sebastian Krzyszkowiak
93f2be37d8
draw compositors, postdraw hooks and consoles on whole screen in full resolution (breaking change) 2018-11-22 21:01:35 +01:00
Sebastian Krzyszkowiak
56eb5a6ef4
loading: fix resetting showLoading var too early 2018-11-22 20:31:13 +01:00
Sebastian Krzyszkowiak
6c59ef1049
add support for routing the loading gamestate through compositor 2018-11-22 04:53:51 +01:00
Sebastian Krzyszkowiak
7f7c522b3c
make SetFramebufferAsTarget work also for the loading gamestate 2018-11-22 03:40:41 +01:00
Sebastian Krzyszkowiak
a6abd01ec2
libsuperderpy_start: load shaders before loading the loading gamestate
Allows the loading gamestate to use shaders created in common resources.
2018-11-22 03:37:32 +01:00
Sebastian Krzyszkowiak
80f59721f2
fix a clang warning 2018-11-20 22:01:39 +01:00
Sebastian Krzyszkowiak
a68e15e274
tween: add ability to store a custom tweening function with the Tween object 2018-11-20 20:30:48 +01:00
Sebastian Krzyszkowiak
9d9d23dfe8
tween: pre/post-delay support, StaticTween helper 2018-11-17 12:06:05 +01:00
Sebastian Krzyszkowiak
4754d8dd4e
shader: don't try to build a shader that already failed to be attached 2018-11-15 17:41:56 +01:00
Sebastian Krzyszkowiak
e04a52ea35
init: set libsuperderpy's default mixer as Allegro's default one 2018-11-02 06:10:15 +01:00
Sebastian Krzyszkowiak
f922ffe997
android: log into logcat 2018-11-02 06:07:49 +01:00
Sebastian Krzyszkowiak
bbba7da52f
AllocateGamestate: fix uninitialized memory
Fixes a segfault when resizing a window in between allocating and
loading the gamestate.
2018-11-01 23:56:37 +01:00
Sebastian Krzyszkowiak
b67d146cdb
maemo: rewrite mouse events into touch ones 2018-10-30 18:05:54 +01:00
Sebastian Krzyszkowiak
a73e780668
Maemo support 2018-10-30 09:04:21 +01:00
Sebastian Krzyszkowiak
2299cacc16
android: use LIBSUPERDERPY_APPID as the package name and net.dosowisko.libsuperderpy.Activity as activity name 2018-10-30 02:17:35 +01:00
Sebastian Krzyszkowiak
de835593c8
set the default window size according to the viewport aspect ratio 2018-10-27 05:18:02 +02:00
Sebastian Krzyszkowiak
e12bc10840
cmake: add an option to build libsuperderpy as a static library
Might be useful when packaging games for distribution repositories.
2018-10-23 03:53:54 +02:00
Sebastian Krzyszkowiak
ded00145ed
Add ODLOT to the README 2018-10-15 13:41:43 +02:00
Sebastian Krzyszkowiak
7c30291d95
Load shaders created before libsuperderpy_start already when starting 2018-10-11 06:15:07 +02:00
Sebastian Krzyszkowiak
ca02e4ed2a
Re-disable randomness-related diagnostics in clang-tidy
MinGW does not contain srandom/random by default.
2018-10-10 22:30:27 +02:00
Sebastian Krzyszkowiak
d20b81d104
update clang-tidy diagnostics 2018-10-10 21:37:54 +02:00
Sebastian Krzyszkowiak
532727b15c
Add some missing guards and debug messages for gamestate handling 2018-09-10 04:36:18 +02:00
Sebastian Krzyszkowiak
3e7d9812a3
Refactor the engine's main loop. 2018-09-10 03:22:45 +02:00
Sebastian Krzyszkowiak
c5fcba57cb
Fix a segfault when there's no postdraw handler 2018-09-10 03:12:19 +02:00
Sebastian Krzyszkowiak
9580873b16
emscripten: adjust to support proper builds with all dependencies 2018-09-06 04:29:16 +02:00
Sebastian Krzyszkowiak
b14347bd96
osxcross64.toolchain: add CMAKE_OSX_SYSROOT for compatibility with older cmakes 2018-08-10 07:58:25 +02:00
Sebastian Krzyszkowiak
916094b371
debug: decouple livereload from autopause 2018-08-09 00:42:53 +02:00
Sebastian Krzyszkowiak
7d4575308d
add config switches for various debug options 2018-08-09 00:05:25 +02:00
Sebastian Krzyszkowiak
e5dd715eb2
fix and update debug function keys 2018-08-08 23:59:38 +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
942fd043fd
lock the timeline debug view to debug mode 2018-08-07 00:43:42 +02:00
Sebastian Krzyszkowiak
b3a9186c6a
character: don't include frame offset in character's transform
Fixes handling of subcharacters.
2018-08-05 04:27:26 +02:00
Sebastian Krzyszkowiak
9953d3f171
gamestate: add optional Gamestate_Tick function for logic with fixed interval 2018-08-05 02:01:21 +02:00
Sebastian Krzyszkowiak
4c12939afe
set ALLEGRO_NO_PRESERVE_TEXTURE by default on desktop platforms
This almost halves RAM usage on desktop. On mobile, a more elaborate
approach will have to be developed.
2018-08-05 01:17:41 +02:00
Sebastian Krzyszkowiak
1f71f03ef8
add LIBSUPERDERPY_GAME_GIT_REV define for game's git revision 2018-08-05 00:50:54 +02:00
Sebastian Krzyszkowiak
a03a031c6c
call postdraw hook also after drawing loading screen 2018-08-05 00:23:05 +02:00
Sebastian Krzyszkowiak
51d9fad1d6
export libsuperderpy's git revision and print on initializing 2018-08-04 18:25:30 +02:00
Sebastian Krzyszkowiak
0c5fee3cbb
character: apply spritesheet offset after scaling and rotating
I'm not 100% sure yet, but I think this makes more sense.
2018-08-04 03:21:55 +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
341aa1d823 character: add ability to specify per-frame color tint 2018-08-03 05:26:28 +02:00
Sebastian Krzyszkowiak
093a808dc2 character: reuse already loaded bitmaps 2018-08-03 05:02:44 +02:00