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
|
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
|
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
|
7c30291d95
|
Load shaders created before libsuperderpy_start already when starting
|
2018-10-11 06:15:07 +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
|
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 |
|
Sebastian Krzyszkowiak
|
05c75a9437
|
init: set app name as window title by default
|
2018-08-03 01:39:05 +02:00 |
|
Sebastian Krzyszkowiak
|
b60bcfda54
|
character: support sub-characters (characters positioned relatively to parent character)
|
2018-08-02 23:32:03 +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
|
8ff2a57b64
|
fix broken fullscreen toggle on Windows
|
2018-07-30 17:00:31 +02:00 |
|
Sebastian Krzyszkowiak
|
c337e3435f
|
character: add ability to specify spritesheet wide pixel offset
|
2018-07-29 00:41:14 +02:00 |
|
Sebastian Krzyszkowiak
|
3c3730f9d5
|
maths: Sign can return an integer
|
2018-07-26 17:41:31 +02:00 |
|
Sebastian Krzyszkowiak
|
f215bc0c83
|
mute audio by setting main mixer gain to 0.0
using al_set_mixer_playing causes high CPU usage for some reason
|
2018-07-26 16:19:32 +02:00 |
|
Sebastian Krzyszkowiak
|
7c92d1e05e
|
add global audio mute config option
|
2018-07-26 15:33:02 +02:00 |
|
Sebastian Krzyszkowiak
|
6587d14530
|
don't pause/resume gamestates on execution pause that aren't started
|
2018-07-21 14:07:58 +02:00 |
|
Sebastian Krzyszkowiak
|
1c2e27f2b7
|
fix potential crash shown by clang-tidy warning
|
2018-07-19 01:39:53 +02:00 |
|
Sebastian Krzyszkowiak
|
31f6b8454d
|
don't live-reload gamestates that don't come from dynamic libraries
|
2018-07-18 19:58:34 +02:00 |
|
Sebastian Krzyszkowiak
|
f4ca431238
|
gmaestate: automatically load unloaded gamestate when trying to start it
|
2018-07-18 19:50:35 +02:00 |
|
Sebastian Krzyszkowiak
|
91a3bd1efa
|
call Gamestate_Pause and Gamestate_Resume on window focus change in debug mode (autoreload)
|
2018-07-18 19:47:56 +02:00 |
|
Sebastian Krzyszkowiak
|
3b2a675d23
|
don't Reload gamestates that aren't loaded
|
2018-07-18 19:46:59 +02:00 |
|
Sebastian Krzyszkowiak
|
fb7089b001
|
maths: restore DotProduct function missing after e5cf17a1a6
|
2018-07-18 01:57:31 +02:00 |
|
Sebastian Krzyszkowiak
|
98eaf73f8c
|
utils: add PunchNumber utility
|
2018-07-18 01:49:19 +02:00 |
|
Sebastian Krzyszkowiak
|
6061b8d1bb
|
tween: swap around style and duration arguments in Tween constructor
|
2018-07-18 01:40:23 +02:00 |
|
Sebastian Krzyszkowiak
|
fc404465d4
|
internal: rework console drawing code for better bounding rect handling
Also fixes broken timeline debug view when scaling.
|
2018-07-18 01:23:02 +02:00 |
|
Sebastian Krzyszkowiak
|
52da2d53e4
|
utils: move GetGameName to internal
|
2018-07-13 18:38: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
|
7a5c2f9ed3
|
loading: stop time in loading when converting memory bitmaps
Avoids annoying framedrops, just stops the animation for a while instead.
|
2018-07-06 23:29:16 +02:00 |
|
Sebastian Krzyszkowiak
|
dba2ef80da
|
add correct file extension for wasm gamestates
|
2018-07-06 23:17:09 +02:00 |
|
Sebastian Krzyszkowiak
|
ce76a53939
|
fix compilation on emscripten
|
2018-07-06 03:55:32 +02:00 |
|
Sebastian Krzyszkowiak
|
ab17bd8050
|
timeline: add TM_AddActionAfter
|
2018-07-05 22:31:18 +02:00 |
|
Sebastian Krzyszkowiak
|
c4ceb188f5
|
gamestate: move loading time counter to main thread to include PostLoad
|
2018-07-05 20:59:54 +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
|
a314ad2d6d
|
don't reload shaders multiple times when loading multiple gamestates
|
2018-07-05 20:47:30 +02:00 |
|
Sebastian Krzyszkowiak
|
e293047aba
|
gamestate: make some API endpoints optional
|
2018-07-05 20:42:51 +02:00 |
|
Sebastian Krzyszkowiak
|
125ff97fba
|
loading: show loading time and warn if ProgressCount isn't right
|
2018-07-05 19:39:11 +02:00 |
|
Sebastian Krzyszkowiak
|
49628de381
|
LoadSpritesheets: call progress function after each spritesheet
|
2018-07-05 19:38:31 +02:00 |
|
Sebastian Krzyszkowiak
|
ab8dc0f143
|
character: fix predecessor memory leak
|
2018-07-05 16:57:03 +02:00 |
|
Sebastian Krzyszkowiak
|
ce965a2643
|
character: add ability to set character destructor to free custom data
|
2018-07-05 16:43:13 +02:00 |
|
Sebastian Krzyszkowiak
|
96ab7a12ce
|
use ALLEGRO_FRAMELESS for fullscreen windows only on Android
It will be needed for immersive mode, while it can break
fullscreen toggling on other platforms.
|
2018-07-05 03:28:32 +02:00 |
|
Sebastian Krzyszkowiak
|
2d905ce3c0
|
update the timestamp after Gamestate_Start to prevent high delta jump
|
2018-07-05 02:33:59 +02:00 |
|
Sebastian Krzyszkowiak
|
d512b31889
|
shader: downgrade GLSL to 1.20 because of macOS
|
2018-07-05 02:32:58 +02:00 |
|
Sebastian Krzyszkowiak
|
3a04729fb6
|
shader: automatically prepend #version line
GL: "#version 130" (3.0)
GLES: "#version 100" (2.0)
|
2018-07-05 01:05:50 +02:00 |
|
Sebastian Krzyszkowiak
|
5888cd2575
|
FatalError, PrintConsole: properly mark format argument as such
Thanks to that static analysis can catch nonliteral format errors.
|
2018-07-05 01:04:54 +02:00 |
|
Sebastian Krzyszkowiak
|
dcf1375e6f
|
LoadSpritesheets: decrease the verboseness of logs in non-debug mode
|
2018-07-05 01:03:45 +02:00 |
|
Sebastian Krzyszkowiak
|
a29c7b4d2c
|
fix clang-tidy issues
|
2018-07-04 19:08:39 +02:00 |
|
Sebastian Krzyszkowiak
|
4d5fdcffbb
|
character: add more logging on spritesheet loading
|
2018-07-04 06:55:48 +02:00 |
|
Sebastian Krzyszkowiak
|
88ea60dd7b
|
add missing symbol exports for ShowCharacter and HideCharacter
Fixes MinGW
|
2018-07-04 06:55:12 +02:00 |
|
Sebastian Krzyszkowiak
|
c2f6aa73cd
|
utils: add Sign function
|
2018-07-03 04:22:30 +02:00 |
|
Sebastian Krzyszkowiak
|
7b93ced844
|
it's libsuperderpy 2 now
|
2018-07-03 04:22:12 +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
|
4b4e6cc023
|
timeline: capitalise TM_ACTION macro to prevent confusion with function declaration
|
2018-06-30 16:37:43 +02:00 |
|
Sebastian Krzyszkowiak
|
c7fac39b79
|
timeline: use macros to get action name by default
|
2018-06-30 02:52:06 +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
|
93859232d9
|
Fix GCC warnings
|
2018-06-30 01:50:29 +02:00 |
|
Sebastian Krzyszkowiak
|
4cf74ec0f3
|
timeline: delta eating
Untested. Great reason to write unit tests :)
|
2018-06-30 01:27:28 +02:00 |
|
Sebastian Krzyszkowiak
|
993a6fd2e7
|
Add more PrintConsoles around gamestate handling.
|
2018-06-30 00:59:54 +02:00 |
|
Sebastian Krzyszkowiak
|
40bda569b9
|
timeline: rework API to better handle common use cases
|
2018-06-30 00:50:55 +02:00 |
|
Sebastian Krzyszkowiak
|
b9774052eb
|
timeline: add TM_RunningOnly convienence macro
|
2018-06-29 23:00:58 +02:00 |
|
Sebastian Krzyszkowiak
|
a4a1c356df
|
timeline: don't use ALLEGRO_TIMERs anymore, rely on delta time instead
|
2018-06-29 23:00:13 +02:00 |
|
Sebastian Krzyszkowiak
|
b5d2b4a032
|
fix timeline debug mode
|
2018-06-28 04:38:33 +02:00 |
|
Sebastian Krzyszkowiak
|
ce131e50a0
|
character: fix switched names in CharacterCallback macro
|
2018-06-28 04:25:56 +02:00 |
|
Sebastian Krzyszkowiak
|
40df27640c
|
character: add CharacterCallback macro for defininig animation callbacks
|
2018-06-27 19:30:35 +02:00 |
|
Sebastian Krzyszkowiak
|
12faed0921
|
timeline: add TM_Action macro for defining action callbacks
|
2018-06-27 19:30:18 +02:00 |
|
Sebastian Krzyszkowiak
|
1c66f219d8
|
timeline: expose the delta value to actions
|
2018-06-27 19:00:48 +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
|
81488f9390
|
character: rework IsOnCharacter to work properly regardless of pivot, rotation and scale
|
2018-06-04 19:10:29 +02:00 |
|
Sebastian Krzyszkowiak
|
291e4c73d6
|
use al_reset_clipping_rectangle for clarity
|
2018-06-03 03:39:28 +02:00 |
|