Commit graph

425 commits

Author SHA1 Message Date
Sebastian Krzyszkowiak
51590d9788 fix blinking borders outside clipping rectangle 2016-11-08 10:34:32 +01:00
Sebastian Krzyszkowiak
c3fb2e06f1 more robust Android support 2016-11-07 01:45:12 +01:00
Sebastian Krzyszkowiak
4c09151dae basic Android support 2016-11-06 03:10:43 +01:00
Sebastian Krzyszkowiak
ce4b474b5a fix aspect ratio letterboxing on automatic resolution 2016-10-21 12:49:24 +02:00
Sebastian Krzyszkowiak
fc9317d215 add DrawWrappedTextWithShadow 2016-09-08 01:42:48 +02:00
Sebastian Krzyszkowiak
f7362d3d74 added DrawWrappedText, some clean up 2016-09-08 00:32:57 +02:00
Sebastian Krzyszkowiak
655cce6abe Timeline Manager: run next action in main queue immediatelly after the last one ended 2016-09-06 01:48:30 +02:00
Sebastian Krzyszkowiak
9c414991dd SetupViewport: clear both backbuffer and fontbuffer on setup 2016-09-06 01:47:46 +02:00
Sebastian Krzyszkowiak
9c3d284a90 fix type warning on some platforms in screenshoting code 2016-09-06 01:47:12 +02:00
Sebastian Krzyszkowiak
c7741be51a streamline al_set_new_display_flags usage 2016-09-04 21:09:19 +02:00
Sebastian Krzyszkowiak
8bebe6c5e2 timeline: add new functions: TM_IsEmpty, TM_IsBackgroundEmpty, TM_SkipDelay 2016-09-04 03:06:26 +02:00
Sebastian Krzyszkowiak
26843776a2 gamestates: mark gamestate as started before launching Gamestate_Start
This change allows to stop the current gamestate from Gamestate_Start.
2016-09-04 01:26:41 +02:00
Sebastian Krzyszkowiak
96a33c1a37 make windowed display resizable and try to fix flickering border around the viewport 2016-09-02 00:07:43 +02:00
Sebastian Krzyszkowiak
2e1a7e73fd add IsOnCharacter helper function 2016-08-29 23:44:15 +02:00
Sebastian Krzyszkowiak
40cdf33bb8 add support for user events 2016-08-29 22:47:55 +02:00
Sebastian Krzyszkowiak
b4d9d01c01 don't dlclose gamestates when running on valgrind, so it can show its report correctly 2016-08-27 00:46:38 +02:00
Sebastian Krzyszkowiak
04db328028 refine Character API
BREAKING CHANGES: character->x and character->y now refer to position relative
to screen width and height (0.0,0.0 being top left; 1.0,1.0 being bottom right).
Use GetCharacterX and GetCharacterY to get position in pixels.
For consistency, it's also recommended to use GetCharacterAngle.
SetCharacterPosition/MoveCharacter still accept pixels.
To use relative positions, call SetCharacterPositionF/MoveCharacterF instead.

Also, DrawCharacter now casts the position to integer, effectively disabling
Allegro's subpixel precision. To disable casts, use DrawCharacterF.
2016-08-26 23:52:32 +02:00
Sebastian Krzyszkowiak
af6636009e make viewport configurable 2016-08-23 02:13:15 +02:00
Sebastian Krzyszkowiak
39eeeb44fd use al_resume_timer where appropriate 2016-08-21 21:58:47 +02:00
Sebastian Krzyszkowiak
b927a0c130 add a bunch of new gamestate lifecycle methods to simplify game pausing 2016-08-21 21:58:31 +02:00
Sebastian Krzyszkowiak
97d62e4c04 make showing loading screen on launch configurable 2016-08-20 03:32:32 +02:00
Sebastian Krzyszkowiak
63451eb858 add ChangeGamestate/ChangeCurrentGamestate API for replacing gamestates without unloading 2016-08-20 03:32:09 +02:00
Sebastian Krzyszkowiak
4aad8fabac add ability to manually register gamestate API 2016-08-20 03:02:39 +02:00
Sebastian Krzyszkowiak
1afc4a3f31 don't create and destroy bitmap on every PrintConsole call 2016-08-16 23:20:00 +02:00
Sebastian Krzyszkowiak
2dfc565178 fix gamestate lifecycle management when game logic frame takes longer than 1/60s and implement SwitchCurrentGamestate 2016-08-16 18:41:50 +02:00
Sebastian Krzyszkowiak
686514fba5 fix memory leaks and other mem-bugs 2016-08-16 18:01:12 +02:00
Sebastian Krzyszkowiak
51b08cee76 move SetupViewport to utils 2016-08-15 04:41:54 +02:00
Sebastian Krzyszkowiak
6bf5fc493b garbage collector for util functions returning strings that are usually used as function params
because why not :D
2016-08-15 04:37:27 +02:00
Sebastian Krzyszkowiak
cfb5cefff1 add UnloadAllGamestates function 2016-08-13 21:35:26 +02:00
Sebastian Krzyszkowiak
676ae31613 gamestates: handle unload/load and stop/start cycles in one tick correctly 2016-08-13 20:03:58 +02:00
Sebastian Krzyszkowiak
8087ad1afc loading screen fixes 2016-08-13 18:14:42 +02:00
Sebastian Krzyszkowiak
0b49342e39 fix character.h include 2016-08-12 06:56:06 +02:00
Sebastian Krzyszkowiak
e419df49a5 request OpenGL programmable pipeline, adjust cmake includes 2016-08-11 19:32:49 +02:00
Sebastian Krzyszkowiak
a82dfb16cf fixed OSX support 2016-07-05 01:30:06 +02:00
Sebastian Krzyszkowiak
fc44fd2d5a better symbol visibility handling 2016-07-04 01:12:55 +02:00
Sebastian Krzyszkowiak
617f9c0270 reorganize source files a bit 2016-07-04 00:56:45 +02:00
Sebastian Krzyszkowiak
c964f72d66 make it buildable by clang; adjust function visibility 2016-07-04 00:06:50 +02:00
Sebastian Krzyszkowiak
ffd44df08b split libsuperderpy function to _init, _run and _destroy 2016-07-03 22:38:36 +02:00
Sebastian Krzyszkowiak
f02caf73a2 fixed MinGW support 2016-07-03 20:34:31 +02:00
Sebastian Krzyszkowiak
b8008d2872 librarization clean up 2016-07-03 00:43:32 +02:00
Sebastian Krzyszkowiak
a8475eb99b librarify! 2016-07-02 23:23:08 +02:00
Sebastian Krzyszkowiak
0a6b70f72e clean up and generalize 2016-06-28 00:17:49 +02:00
Sebastian Krzyszkowiak
2544d94156 import Mediator codebase 2016-06-27 21:21:59 +02:00
Sebastian Krzyszkowiak
2e79fe8f7b import Tickle Monster codebase 2016-06-27 21:20:36 +02:00
Sebastian Krzyszkowiak
46827594b4 import Radio Edit codebase 2016-06-27 21:20:02 +02:00
Sebastian Krzyszkowiak
e92e4b6bec dodger: obstacle speed tweaks 2016-01-23 21:31:18 +01:00
Sebastian Krzyszkowiak
ed3b78224b Remove unnecessary supersampling. 2016-01-23 20:58:16 +01:00
Sebastian Krzyszkowiak
76cf21daeb dosowisko: put transparent pixels in checkerboard 2016-01-19 00:15:42 +01:00
Sebastian Krzyszkowiak
749da9203a menu: move bg mountain logic into logic pipeline 2015-04-18 18:07:50 +02:00
Sebastian Krzyszkowiak
25dcae6151 timeline: add TM_CleanQueue and TM_CleanBackgroundQueue functions 2015-03-18 02:48:56 +01:00
Sebastian Krzyszkowiak
937981a1df no more global timeline - from now on timelines can be instantiated! 2015-03-18 02:21:57 +01:00
Sebastian Krzyszkowiak
5172db6fe3 dosowisko: lock bitmap before generating checkerboard pattern 2015-03-16 14:32:20 +01:00
Sebastian Krzyszkowiak
feef69ce03 update docs 2015-03-15 20:51:56 +01:00
Sebastian Krzyszkowiak
8e3b1dd6d9 dosowisko: don't use FadeGamestate 2015-03-15 20:45:10 +01:00
Sebastian Krzyszkowiak
98968591fc dosowisko: don't leak target bitmap on fadeout 2015-03-15 06:01:53 +01:00
Sebastian Krzyszkowiak
34f01d0336 dosowisko: different ending 2015-03-15 05:58:02 +01:00
Sebastian Krzyszkowiak
c2df1fc036 dosowisko: don't use TM to blink the cursor 2015-03-15 05:47:28 +01:00
Sebastian Krzyszkowiak
b746ecbebd dosowisko: destroy all the things 2015-03-15 05:43:39 +01:00
Sebastian Krzyszkowiak
145727658f intro: fix moving animation speed to be independent of viewport size 2015-03-15 05:38:51 +01:00
Sebastian Krzyszkowiak
e4553576ce add dosowisko.net intro logo 2015-03-15 05:38:15 +01:00
Sebastian Krzyszkowiak
b983eac305 tweaks for character positions 2013-06-06 10:08:31 +02:00
Sebastian Krzyszkowiak
f73b9abd26 make TM_AddToArgs variadic function 2013-06-05 23:59:02 +02:00
Sebastian Krzyszkowiak
001ed62181 lots of level 1 tweaks 2013-06-05 23:20:55 +02:00
Sebastian Krzyszkowiak
d0ac545e4b fix possible delay when displaying loading screen 2013-06-04 01:44:17 +02:00
Sebastian Krzyszkowiak
f0c72edfd5 make level 1 compilable... of course it doesn't work yet :D 2013-06-04 01:37:50 +02:00
Sebastian Krzyszkowiak
ced56209c1 move shared placeholder level code to separate file 2013-06-03 13:41:03 +02:00
Sebastian Krzyszkowiak
69966ada03 working all moonwalk levels, compiling dodger module (not usable yet), some small tweaks and fixes 2013-06-03 00:42:33 +02:00
Sebastian Krzyszkowiak
e85fcdf8a6 tweaks and estetics for level2/moonwalk code 2013-02-26 00:59:20 +01:00
Sebastian Krzyszkowiak
91d3bb0d59 bring back level 2 with its moonwalk 2013-02-26 00:42:26 +01:00
Sebastian Krzyszkowiak
840202f758 AdvanceLevel implementation; sprintf hardening 2013-02-25 01:39:41 +01:00
Sebastian Krzyszkowiak
3ba92508e2 giant refactoring... and giant breakage :P 2013-02-25 01:23:27 +01:00
Sebastian Krzyszkowiak
9a43132af3 unload loading screen on exit 2012-12-28 03:46:27 +01:00
Sebastian Krzyszkowiak
c8356b815b bring back loading screen 2012-12-28 03:42:59 +01:00
Sebastian Krzyszkowiak
c39fea9c98 make fonts sharper (integer positioning) 2012-12-28 03:08:36 +01:00
Sebastian Krzyszkowiak
dd29fc6f5b Blue Screen of Death 2012-12-28 02:55:52 +01:00
Sebastian Krzyszkowiak
b39ec719be bring back support for loading progress 2012-12-28 00:00:37 +01:00
Sebastian Krzyszkowiak
3d44b4abbf [Intro] restart intro properly after Stop/Start gamestate sequence 2012-12-27 21:14:37 +01:00
Sebastian Krzyszkowiak
7293ed191a bring back Menu gamestate 2012-12-27 21:05:28 +01:00
Sebastian Krzyszkowiak
08c9506aeb [Intro] better animation scaling 2012-12-27 19:38:43 +01:00
Sebastian Krzyszkowiak
00dd653a10 don't send events to gamestates that correspond to debug functions 2012-12-27 01:02:47 +01:00
Sebastian Krzyszkowiak
5d3bb2d0d7 bring back Map gamestate 2012-12-27 00:46:23 +01:00
Sebastian Krzyszkowiak
1e901cf51b bring back Intro gamestate 2012-12-26 23:48:05 +01:00
Sebastian Krzyszkowiak
632be33eaa bring back About gamestate 2012-12-26 20:02:40 +01:00
Sebastian Krzyszkowiak
91c49e927f move building gamestates to separate CMakeLists file 2012-12-26 19:00:29 +01:00
Sebastian Krzyszkowiak
725918e3b4 merge Keydown methods with ProcessEvent 2012-12-26 15:15:02 +01:00
Sebastian Krzyszkowiak
3934ca696b exit from the game when last gamestate is unloaded 2012-12-26 13:38:15 +01:00
Sebastian Krzyszkowiak
3daa3c714f pass pointer to data structure to/from gamestates functions 2012-12-26 13:24:34 +01:00
Sebastian Krzyszkowiak
232cc6a204 initial support of run-time loading gamestates as dynamic libraries 2012-12-26 02:25:56 +01:00
Sebastian Krzyszkowiak
b36c5e8ed4 basic implementation of gamestates handling 2012-12-25 00:22:03 +01:00
Sebastian Krzyszkowiak
e29382b5dc Remove everything!
Engine should be now clean from gamestate dependences.
The next thing will be implementing dynamic gamestate loading.
2012-12-24 19:41:12 +01:00
Sebastian Krzyszkowiak
5baf800f34 Remove all gamestates except Menu and Loading.
Those two are a starting point for refactoring.
Others will be restored later.
2012-12-24 01:48:36 +01:00
Sebastian Krzyszkowiak
d98817ecbd globals are evul 2012-12-23 14:29:54 +01:00
Sebastian Krzyszkowiak
b0b26461be Fix vaporizing Owlicious 2012-12-15 02:06:43 +01:00
Sebastian Krzyszkowiak
aba6cc3a0f Aspect ratio tweaks for About screen 2012-12-15 01:58:48 +01:00
Sebastian Krzyszkowiak
6a8d7d0d8a Aspect ratio teaks in levels 2012-12-15 01:45:14 +01:00
Sebastian Krzyszkowiak
b0e3a09e6a disable letterbox by default and implement rotation of the screen if height > width (enabled by default) 2012-12-14 23:30:49 +01:00
Sebastian Krzyszkowiak
f2f66ff1e3 Aspect ratio fixes for Map 2012-12-14 23:10:09 +01:00
Sebastian Krzyszkowiak
0dbaf9c679 Updated a bit graphics and sprite positions in Intro 2012-12-14 21:01:59 +01:00
Sebastian Krzyszkowiak
6ddf347f8f aspect ratio tweaks 2012-12-11 02:04:31 +01:00
Sebastian Krzyszkowiak
4792af13ec fix segfault on resuming from letter screen 2012-12-10 13:09:33 +01:00