Commit graph

880 commits

Author SHA1 Message Date
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
9266ab65b6 cmake: don't use clang-tidy on MinGW
It doesn't work well.
2018-07-04 18:51:52 +02:00
Sebastian Krzyszkowiak
e491a78cbd cmake: detect static version of Allegro 2018-07-04 18:51:26 +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
Sebastian Krzyszkowiak
897aa8b52f character: honor x/y values from frames when calculating animation size 2018-06-03 03:39:11 +02:00
Sebastian Krzyszkowiak
71ec8b396e shader: auto rebuild and auto destroy shaders 2018-05-31 20:52:16 +02:00
Sebastian Krzyszkowiak
5fe62da08f tween: add SYMBOL_EXPORT macros 2018-05-31 20:51:44 +02:00
Sebastian Krzyszkowiak
9182cabf79 Add abstraction for GPU shaders 2018-05-30 21:11:46 +02:00
Sebastian Krzyszkowiak
52883755f1 timeline: initial API change for handling time delta 2018-05-30 03:10:03 +02:00
Sebastian Krzyszkowiak
62316e50c2 cmake: change register_gamestate API to take explicit list of source files 2018-05-16 20:51:38 +02:00
Sebastian Krzyszkowiak
b0d2c59596 add SwitchSpritesheet 2018-04-26 14:34:00 +02:00
Sebastian Krzyszkowiak
396e07a0ce DrawCenteredTintedScaled 2018-04-24 22:06:06 +02:00
Sebastian Krzyszkowiak
34a36c2038 DrawCenteredScaled 2018-04-24 05:01:59 +02:00
Sebastian Krzyszkowiak
80f59dd749 tween: add function to just interpolate the value, without using Tween object 2018-04-23 03:24:13 +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
a9c318dd78 loading: call Gamestate_Logic 2018-04-21 00:11:34 +02:00
Sebastian Krzyszkowiak
0af3d8b1d0 ResumeExecution: guard against open/link failure on live reload 2018-04-18 23:14:05 +02:00
Sebastian Krzyszkowiak
08d2e544b7 character: read width/height values from ini file 2018-04-18 23:13:31 +02:00
Sebastian Krzyszkowiak
3938a78503 live reloading 2018-04-16 01:06:58 +02:00
Sebastian Krzyszkowiak
60b960ab2c character: use Spritesheet structs instead of strings with names in callbacks 2018-04-15 23:00:53 +02:00
Sebastian Krzyszkowiak
c77c91e570 character: add GetSpritesheet for getting struct by name 2018-04-15 23:00:17 +02:00