Commit graph

730 commits

Author SHA1 Message Date
Sebastian Krzyszkowiak
0cfef4ddca BSOD: fix placement of the second-last line 2018-01-20 02:51:37 +01:00
Sebastian Krzyszkowiak
e2d9d21f3f BSOD: fix formatting and warnings 2018-01-20 02:45:06 +01:00
Sebastian Krzyszkowiak
18efca478e FatalError: print the error message to stderr
Printing to console outputs it to stdout, but only if
debug mode is enabled. stderr seems better suited too.
2018-01-20 02:24:33 +01:00
suve
2848753083 Use left-align for the wrapped error messages 2017-12-17 15:00:02 +01:00
suve
af53d1378f Wrap long messages in FatalError() 2017-12-17 14:58:03 +01:00
suve
705f84cbf1 Reduce code redundancy in FatalError() 2017-12-17 14:19:24 +01:00
Sebastian Krzyszkowiak
499e884a62 commit Fajer's legacy, so it won't be forgotten 2017-10-30 21:22:49 +01:00
Sebastian Krzyszkowiak
a4ec09d9cd updated .gitignore, code-cosmetics 2017-10-30 21:17:47 +01:00
Sebastian Krzyszkowiak
977a03db1e future-proof Android support by using ALLEGRO_FRAMELESS when fullscreen 2017-10-12 21:04:18 +02:00
Sebastian Krzyszkowiak
56ea82d526 GetDataFilePath: change order of lookup paths and remove "../data" 2017-09-20 18:13:49 +02:00
Sebastian Krzyszkowiak
a3cda7ba50 try to search for gamestates in directory with binary before resorting to LD_LIBRARY_PATHs 2017-09-20 18:11:29 +02:00
Sebastian Krzyszkowiak
c34c13739d add SetCharacterPivotPoint function 2017-09-15 23:44:44 +02:00
Sebastian Krzyszkowiak
ca33fd7752 make usage of clang-tidy configurable 2017-09-10 22:53:41 +02:00
Sebastian Krzyszkowiak
8cfde8c55f SUPPRESS_WARNING macro 2017-09-10 22:37:02 +02:00
Sebastian Krzyszkowiak
bf4aa069a4 don't use empty initializers (it's a GNU extension) 2017-09-10 22:07:02 +02:00
Sebastian Krzyszkowiak
2b1248ce14 clang-tidy support; clang-tidy and clang-format fixes 2017-09-10 21:35:14 +02:00
Sebastian Krzyszkowiak
0a4580a762 Android: honor tilde button for console toggling (you can attach a keyboard to Android device) 2017-09-09 02:46:07 +02:00
Sebastian Krzyszkowiak
a906b14e08 threaded screenshoting (now with gamestates redraw!) 2017-09-09 00:42:57 +02:00
Sebastian Krzyszkowiak
450e33b2e3 support of loading in separate thread; thread-safe console; various fixes from clang code model warnings 2017-09-09 00:11:43 +02:00
Sebastian Krzyszkowiak
4a2e2a3d25 try to create INT16 voice if FLOAT32 one fails
Seems to be some bug in Allegro, as it fails on OS X.
2017-09-05 03:01:18 +02:00
Sebastian Krzyszkowiak
f94930b5d5 PrintConsole: restore previous target bitmap instead of reseting to backbuffer 2017-09-04 16:02:49 +02:00
Sebastian Krzyszkowiak
9a6cbd2449 implement audio stream seeking in emscripten 2017-08-24 21:40:34 +02:00
Sebastian Krzyszkowiak
3581c6060c full emscripten support, plus flac->ogg encoding for emscripten and android 2017-08-24 21:09:07 +02:00
Sebastian Krzyszkowiak
a955820e8f emscripten support 2017-08-24 00:51:58 +02:00
Sebastian Krzyszkowiak
07d4c22199 init: call al_install_audio before al_init_acodec_addon 2017-08-19 01:27:34 +02:00
Sebastian Krzyszkowiak
b7346ea330 use leak sanitizer for debug build and break the build in case of unresolved symbols in libraries 2017-08-19 01:26:53 +02:00
Sebastian Krzyszkowiak
417d34ef1a fix stuff reported by static analyzer 2017-08-16 01:47:07 +02:00
Sebastian Krzyszkowiak
7ab739db54 config: fix config file handling when custom file interface is in effect 2017-08-15 01:41:24 +02:00
Sebastian Krzyszkowiak
b4b0403a77 GetDataFilePath: add ability to mask data files with android specific versions 2017-08-08 00:16:03 +02:00
Sebastian Krzyszkowiak
d8b7e0ec6b fix timeline removal and debug draw scaling on scaled viewports 2017-08-07 15:59:12 +02:00
Sebastian Krzyszkowiak
3fe7df2982 timeline: make debug draw optional and automatic 2017-08-07 02:26:36 +02:00
Sebastian Krzyszkowiak
b6eb181f1d timeline: fix TM_DrawDebug scaling 2017-08-07 02:01:15 +02:00
Sebastian Krzyszkowiak
4652efd6a9 timeline: update queues during cleaning
...so destructors can safely do stuff like TM_AddAction
(unless they make an infinite loop with that :P)
2017-08-07 01:52:42 +02:00
Sebastian Krzyszkowiak
505de9086d fix whitespace style 2017-07-22 21:01:29 +02:00
Sebastian Krzyszkowiak
e9bd4eefa5 update license to GPLv3+ 2017-07-22 18:22:28 +02:00
Sebastian Krzyszkowiak
519a22c9ad link to allegro5-video 2017-06-26 15:21:13 +02:00
Sebastian Krzyszkowiak
2dbabc502b always require OpenGL context 2017-06-26 03:19:32 +02:00
Sebastian Krzyszkowiak
de7311dabf fixed screen orientation support 2017-06-26 03:18:54 +02:00
Sebastian Krzyszkowiak
c97e163b31 don't require debug mode to be enabled in order to make a screenshot 2017-06-25 17:37:41 +02:00
Sebastian Krzyszkowiak
7241476886 use NotPreservedBitmap for game console 2017-06-13 14:21:17 +02:00
Sebastian Krzyszkowiak
d3f876097f add CreateNotPreservedBitmap helper 2017-06-13 14:21:17 +02:00
Sebastian Krzyszkowiak
e0c422972b add TM_DrawDebug: debug view for timelines 2017-03-16 22:05:22 +01:00
Sebastian Krzyszkowiak
e873e96194 fix compiler warning 2017-03-07 01:00:27 +01:00
Sebastian Krzyszkowiak
31f173f2a8 character: add support for repeating animation with successor
plus update README
2017-03-04 19:54:48 +01:00
Sebastian Krzyszkowiak
ca2f26e9ff add DrawScaledCharacter(F) 2016-12-06 02:54:31 +01:00
Sebastian Krzyszkowiak
bd57582b01 enable joystick support 2016-12-05 23:56:41 +01:00
Sebastian Krzyszkowiak
098231269c call Gamestate_Pause/Resume also on freezing 2016-11-11 20:17:02 +01:00
Sebastian Krzyszkowiak
fdd48433bc gamestate reloading and fix for calling Gamestate_Pause/Gamestate_Resume 2016-11-11 19:38:26 +01:00
Sebastian Krzyszkowiak
4b53b59e05 proper gamestate freezing on suspending android activity 2016-11-09 00:40:13 +01:00
Sebastian Krzyszkowiak
4ecb7e71de revamp letterbox and scaling code and add WindowCoordsToViewport util function 2016-11-08 23:28:28 +01:00
Sebastian Krzyszkowiak
625f202156 add ability to define game-specific global event handler 2016-11-08 22:11:10 +01:00
Sebastian Krzyszkowiak
a4ce032c8b don't crash on devices with no touchscreen 2016-11-08 17:56:19 +01:00
Sebastian Krzyszkowiak
6ac268f50b Revert "don't call al_get_touch_input_event_source on OSX, seems buggy"
This reverts commit d65873d63b.
2016-11-08 17:43:10 +01:00
Sebastian Krzyszkowiak
4d749b3ad1 make screen rotation working on Android
libsuperderpy now requires Allegro 5.2.2 for Android
2016-11-08 17:42:23 +01:00
Sebastian Krzyszkowiak
d65873d63b don't call al_get_touch_input_event_source on OSX, seems buggy 2016-11-08 11:17:27 +01:00
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
Sebastian Krzyszkowiak
f17b7bf100 initial full HD support 2012-12-10 12:44:22 +01:00
Sebastian Krzyszkowiak
1d1c62432e return -1 instead of 0 on one of error conditions 2012-11-14 22:13:25 +01:00
Sebastian Krzyszkowiak
194a81fa55 correctly define functions that take no arguments 2012-11-13 16:49:18 +01:00
Sebastian Krzyszkowiak
32207926f3 fix dangerous use of pointer as value keeper in Obst_MoveUpDown 2012-10-02 14:03:10 +02:00
Sebastian Krzyszkowiak
8ced946622 various Mac OS X fixes 2012-09-30 10:02:07 +02:00
Sebastian Krzyszkowiak
bedba9deb5 cosmetics and docs 2012-09-29 03:44:36 +02:00
Sebastian Krzyszkowiak
986378ec53 add start event to timeline manager 2012-09-29 02:34:42 +02:00
Sebastian Krzyszkowiak
85ae970597 moonwalk is now timeline based 2012-09-29 01:58:34 +02:00
Sebastian Krzyszkowiak
c863dfe58c load proper resources for each level, and add dummy resources for each level :D 2012-09-28 20:05:13 +02:00
Sebastian Krzyszkowiak
5083033a4b more reorganization 2012-09-28 16:43:13 +02:00
Sebastian Krzyszkowiak
1f3f99936e split each level to separate file 2012-09-28 03:53:43 +02:00
Sebastian Krzyszkowiak
8c24ebd982 implement progress bar on fulscreen toggling 2012-09-28 03:11:45 +02:00
Sebastian Krzyszkowiak
e67ffb821c fix double fade out on failing level 2012-09-28 02:57:43 +02:00
Sebastian Krzyszkowiak
79ac41a085 fix restarting level background music on toggling fullscreen mode 2012-09-28 02:50:43 +02:00
Sebastian Krzyszkowiak
d62be104e8 general reorganization. again. levels have now another abstraction layer, yay! :D 2012-09-28 02:30:48 +02:00
Sebastian Krzyszkowiak
74bf535c07 show console when using speed cheats 2012-09-27 20:39:37 +02:00
Sebastian Krzyszkowiak
cd3fbbccf0 more level modularity 2012-09-27 15:06:33 +02:00
Sebastian Krzyszkowiak
8fa37d619c cosmetics, TODOs and FIXMEs, docs 2012-09-27 02:59:56 +02:00
Sebastian Krzyszkowiak
c5e37bf9d5 refactor Level gamestate and introduce level modules 2012-09-27 02:48:45 +02:00
Sebastian Krzyszkowiak
2a80a3382f fix Derpy being one pixel too high in pause screen :D 2012-09-26 23:38:54 +02:00
Sebastian Krzyszkowiak
03ba62b34e make use from latest pausing functionality in TM to pause letter from Twilight 2012-09-26 23:34:27 +02:00
Sebastian Krzyszkowiak
533d53e535 fixup for last commit (pause, resume and draw events were always sent as draw) 2012-09-26 23:34:00 +02:00
Sebastian Krzyszkowiak
4ec5686aac fix pausing timers in timeline manager 2012-09-26 23:28:16 +02:00
Sebastian Krzyszkowiak
0eacf9a67d fix blinking on fading out occuring sometimes 2012-09-26 22:57:47 +02:00
Sebastian Krzyszkowiak
1caeb03ab4 fix infinite loop in about screen 2012-09-26 21:16:20 +02:00
Sebastian Krzyszkowiak
d0cadad936 implement timescaling cheats 2012-09-26 20:11:35 +02:00
Sebastian Krzyszkowiak
b2b95857cd take advantage from recent refactoring in frame skipping cheat 2012-09-26 20:00:24 +02:00
Sebastian Krzyszkowiak
1ba89400d6 revamp pause functionality 2012-09-26 20:00:11 +02:00
Sebastian Krzyszkowiak
e99f1e5936 timeline: call destroy callback *after* item has been removed from main queue 2012-09-26 19:49:27 +02:00
Sebastian Krzyszkowiak
d6b68a3740 refactor first level and timeline 2012-09-26 18:48:36 +02:00
Sebastian Krzyszkowiak
cae92f0272 fix FPS being limited sometimes to 60 2012-09-26 03:19:10 +02:00
Sebastian Krzyszkowiak
e6fa44514e refactored every gamestate for logic spearation except first level 2012-09-26 03:08:58 +02:00
Sebastian Krzyszkowiak
a6a02ba0c2 implement spritesheet successors 2012-09-21 14:47:34 +02:00
Sebastian Krzyszkowiak
042d29aff4 fix setting level number in command line 2012-09-21 14:47:14 +02:00
Sebastian Krzyszkowiak
ca94680674 implement input data convention for gamestates 2012-09-21 13:55:21 +02:00
Sebastian Krzyszkowiak
3b75879a1d fix cmake warnings 2012-09-20 02:03:56 +02:00
Sebastian Krzyszkowiak
2a2f22750c proper dependency handling support, for Windows and GNU/Linux for now 2012-09-20 01:46:29 +02:00
Sebastian Krzyszkowiak
ee023098d1 fix including application icon into windows executable 2012-09-19 01:37:00 +02:00
Sebastian Krzyszkowiak
3d60bac467 provide .desktop file and application icon 2012-09-19 01:20:24 +02:00
Sebastian Krzyszkowiak
d6d6038daa update default config options 2012-09-03 02:36:08 +02:00
Sebastian Krzyszkowiak
4bbbd1958f indentation fixes 2012-09-03 02:25:32 +02:00
Sebastian Krzyszkowiak
8420a5ca92 use correct paths for data files when game is installed 2012-09-03 02:08:12 +02:00
Sebastian Krzyszkowiak
8d99205e50 fixes for build system to work correctly on MinGW 2012-08-20 02:35:37 +02:00
Sebastian Krzyszkowiak
2d898363ef switch to cmake 2012-08-19 03:04:55 +02:00
Sebastian Krzyszkowiak
c7a3f3d007 add SIGSEGV signal handler... because ponies. 2012-08-04 21:58:31 +02:00
Sebastian Krzyszkowiak
0ec111c197 letterbox implementation is now complete and enabled by default 2012-08-04 20:58:24 +02:00
Sebastian Krzyszkowiak
219fc714db add code for letterboxing. this option is configurable and disabled by default for now, as it doesn't work correctly yet 2012-08-04 13:57:29 +02:00
Sebastian Krzyszkowiak
2078f2da29 fix displaying random first frame from memory left-overs right after game start on newer versions of Allegro 2012-08-04 12:56:24 +02:00
Sebastian Krzyszkowiak
533410baee This is Super Derpy: Muffin Attack 0.1a 2012-07-13 14:16:25 +02:00
Sebastian Krzyszkowiak
3d9fb8c66a fix crash on displaying letter from Twilight 2012-07-13 10:57:17 +02:00
Sebastian Krzyszkowiak
9a8264802a add recording of Twilight's letter by Emichwan88 2012-07-12 18:54:32 +02:00
Sebastian Krzyszkowiak
4448776890 fix laggy glass effect on some shitty platforms 2012-07-10 19:08:12 +02:00
Sebastian Krzyszkowiak
aba469c174 preparing for release 2012-07-09 21:47:18 +02:00
Sebastian Krzyszkowiak
471f33b720 add command line option for selecting initial gamestate 2012-07-08 23:08:23 +02:00
Sebastian Krzyszkowiak
85056130ac prepare for first release 2012-07-08 22:11:31 +02:00
Sebastian Krzyszkowiak
7667473206 don't allow loading GAMESTATE_PAUSE as primary game state 2012-07-08 16:21:08 +02:00
Sebastian Krzyszkowiak
da13fcb41c add disclaimer screen about early development preview 2012-07-08 15:52:56 +02:00
Sebastian Krzyszkowiak
7842385b27 reset Derpy's angle when returning to running 2012-07-08 14:14:34 +02:00
Sebastian Krzyszkowiak
59fd82b9e3 add "Press enter to continue..." text to letter screen 2012-07-08 02:47:45 +02:00
Sebastian Krzyszkowiak
820a1fbe15 letter from Twilight: add proper text 2012-07-08 00:23:40 +02:00
Sebastian Krzyszkowiak
d75591af6b add last animation from Anna Karlik to intro 2012-07-06 22:35:17 +02:00
Sebastian Krzyszkowiak
46c4ae08ed implement screenshot taking 2012-07-04 00:15:49 +02:00
Sebastian Krzyszkowiak
2a174898a8 glass performance tweaks 2012-07-03 23:44:03 +02:00
Sebastian Krzyszkowiak
77ef62b413 add logo to main menu, with glass effect 2012-07-03 16:27:57 +02:00
Sebastian Krzyszkowiak
64d0e30135 fix uninitialized angle value of owl in intro 2012-06-19 17:27:05 +02:00
Sebastian Krzyszkowiak
86f9a3f819 make Derpy more controllable 2012-06-19 17:18:33 +02:00
Sebastian Krzyszkowiak
6fd0af0605 add jumping Derpy animation for intro from Anna Karlik 2012-05-27 00:58:15 +02:00
Sebastian Krzyszkowiak
5065f49b5a update intro animations from Anna Karlik 2012-05-25 22:44:04 +02:00
Sebastian Krzyszkowiak
15e1822833 add cherries 2012-05-23 10:34:36 +02:00
Sebastian Krzyszkowiak
47b2903935 make loading progress bar on first level more accurate 2012-05-23 10:21:14 +02:00
Sebastian Krzyszkowiak
1d0ce78cb4 fix position of "Letter from Twilight" text 2012-05-22 21:46:51 +02:00
Sebastian Krzyszkowiak
06689721f0 lots of cosmetic things 2012-05-22 21:29:55 +02:00
Sebastian Krzyszkowiak
95e869baea small tweaks for gameplay 2012-05-21 22:38:41 +02:00
Sebastian Krzyszkowiak
918877c472 add bitmap for a letter from Twilight 2012-05-21 22:27:49 +02:00
Sebastian Krzyszkowiak
484d227b3a fix collision handling not working for some cases 2012-05-21 21:17:58 +02:00
Sebastian Krzyszkowiak
42c8473436 little animation at the end of the level 2012-05-21 20:56:16 +02:00
Sebastian Krzyszkowiak
db0ebca42d some tweaks for obstacles 2012-05-21 19:50:42 +02:00
Sebastian Krzyszkowiak
bd2e62f651 more obstacles 2012-05-21 18:47:17 +02:00
Sebastian Krzyszkowiak
d0f2ab8575 rotating muffins 2012-05-21 14:00:42 +02:00
Sebastian Krzyszkowiak
2fc3ac1a9a typo 2012-05-21 10:27:32 +02:00
Sebastian Krzyszkowiak
87dd644be6 moar documentation 2012-05-21 10:25:22 +02:00
Sebastian Krzyszkowiak
50e9bb8815 moar docs 2012-05-21 10:14:49 +02:00
Sebastian Krzyszkowiak
cd65b1d8e5 implement owl :D 2012-05-20 23:17:52 +02:00
Sebastian Krzyszkowiak
836eaedc41 hide muffin when eated, tweaks for level length and hardness 2012-05-20 20:05:03 +02:00
Sebastian Krzyszkowiak
fe8fbcb425 move timeline actions and obstacle callbacks to separate files 2012-05-20 18:07:24 +02:00
Sebastian Krzyszkowiak
c1aceaa473 fix possible cropping issues with animations in intro 2012-05-20 14:42:58 +02:00
Sebastian Krzyszkowiak
c62079d9d9 fix possible cropping issues with pigs 2012-05-20 14:41:49 +02:00
Sebastian Krzyszkowiak
7dc4dc7a73 PIGS!!! 2012-05-20 14:40:49 +02:00
Sebastian Krzyszkowiak
d98dcca2e4 log HP to console at the end of level (lol) 2012-05-20 00:16:55 +02:00
Sebastian Krzyszkowiak
5a846cea24 allow player to change Derpy speed with arrows 2012-05-19 22:38:13 +02:00
Sebastian Krzyszkowiak
e33c460896 fix spritesheet animations being off on some resolutions 2012-05-19 21:50:01 +02:00
Sebastian Krzyszkowiak
465e60dfa0 fix text in About screen 2012-05-19 20:00:27 +02:00
Sebastian Krzyszkowiak
160761e899 fine tune of collision handling 2012-05-19 18:48:29 +02:00
Sebastian Krzyszkowiak
c6e3707ab4 moar documentation 2012-05-19 18:28:19 +02:00
Sebastian Krzyszkowiak
5a6687e28b moar documentation 2012-05-19 18:09:20 +02:00
Sebastian Krzyszkowiak
7b1893f9ad s/obstracle/obstacle/ :D 2012-05-19 15:31:41 +02:00
Sebastian Krzyszkowiak
262d41925c fix for uninitialized variable 2012-05-19 01:20:52 +02:00
Sebastian Krzyszkowiak
1fe1187085 add muffins :D (for now as obstracles) 2012-05-18 23:40:02 +02:00
Sebastian Krzyszkowiak
10a786c431 introducing: brand-new ability to FAIL LEVEL! :) also, debug mode cheats and fine-tuning of HP meter 2012-05-18 22:07:35 +02:00
Sebastian Krzyszkowiak
0a17a95383 implement progress bar on loading screen 2012-05-18 18:34:07 +02:00
Sebastian Krzyszkowiak
a13ef8d88d some work on playability 2012-05-18 13:12:58 +02:00
Sebastian Krzyszkowiak
3f16d776cf some work on health meter 2012-05-17 00:18:19 +02:00
Sebastian Krzyszkowiak
5bba098c82 flush stdout on PrintConsole 2012-05-16 20:23:51 +02:00
Sebastian Krzyszkowiak
a74403bfbf Discord-rock animation in intro, Qt Creator project files, better vsync
handling
2012-05-16 18:18:52 +02:00
Sebastian Krzyszkowiak
05a96a36b7 enable multisampled display - it may help to draw prettier primitives in future 2012-05-10 20:02:22 +02:00
Sebastian Krzyszkowiak
3e36e0c264 fix bug with spritesheets derped when toggling fullscreen 2012-05-10 12:21:53 +02:00
Sebastian Krzyszkowiak
8b1b60ebde add some basic HUD 2012-05-09 12:40:21 +02:00
Sebastian Krzyszkowiak
389c4c27aa add "power meter" 2012-05-09 10:58:45 +02:00
Sebastian Krzyszkowiak
896b9d57aa add fly animation by Yudhaikeledai 2012-05-08 13:22:56 +02:00
Sebastian Krzyszkowiak
27ab9eaad8 fix compilation 2012-05-07 23:52:16 +02:00
Sebastian Krzyszkowiak
bfc3ee61e7 add new Derpy run cycle by Yudhaikeledai 2012-05-07 22:44:39 +02:00
Sebastian Krzyszkowiak
5969971fbc fix compiler warning 2012-05-07 20:17:35 +02:00
Sebastian Krzyszkowiak
4c8311d9fa fixes for fps vs. speed handling in level code 2012-05-07 14:56:32 +02:00
Sebastian Krzyszkowiak
a5a93ab871 fix "nigger derpy" 2012-05-04 03:43:42 +02:00
Sebastian Krzyszkowiak
472f3f0aa7 another attempt to fix animation in intro 2012-05-04 03:27:14 +02:00
Sebastian Krzyszkowiak
b4b45886be fix page switching with big fps 2012-05-04 03:22:45 +02:00
Sebastian Krzyszkowiak
763fd3e2f8 fix rest fadeloops 2012-05-04 03:17:18 +02:00
Sebastian Krzyszkowiak
339b8a9be8 fix stuck loading screen when there's too many fps 2012-05-04 03:14:28 +02:00
Sebastian Krzyszkowiak
66da4d18e9 add posibility to completely disable fps limiting, for testing purposes 2012-05-04 03:03:10 +02:00
Sebastian Krzyszkowiak
bd37d1dbcd add vsync and opengl config options 2012-05-04 02:45:53 +02:00
Sebastian Krzyszkowiak
9d633fca0d add config option, just for Patan ;3 2012-05-04 02:38:29 +02:00
Sebastian Krzyszkowiak
d4cee47073 default to display refresh rate if there's no fps limit set 2012-05-04 02:15:51 +02:00
Sebastian Krzyszkowiak
78475c456d some other performance tweaks 2012-05-04 02:13:46 +02:00
Sebastian Krzyszkowiak
bbf0198669 performance fixes for intro gamestate 2012-05-04 01:12:19 +02:00
Sebastian Krzyszkowiak
a4756eaeb0 implement fps counter 2012-05-04 00:26:24 +02:00
Sebastian Krzyszkowiak
7c6b0a0044 fix missing file in intro, few tweaks for animation speed in spritesheets 2012-05-03 19:59:53 +02:00
Sebastian Krzyszkowiak
8abc4a6763 implement spritesheet managament 2012-05-03 19:42:23 +02:00
Sebastian Krzyszkowiak
9959c1c6fe fix fullscreen switching with obstracles rendered 2012-05-03 13:20:25 +02:00
Sebastian Krzyszkowiak
62c7a3cd98 detect colisions, remove obstracles from queue 2012-05-03 02:49:08 +02:00
Sebastian Krzyszkowiak
b6d8136609 implement obstracles callbacks 2012-05-03 02:19:55 +02:00
Sebastian Krzyszkowiak
d4c5028216 workaround for allegro bug in tilde handling on Mac OS X 2012-05-01 23:36:11 +02:00
Sebastian Krzyszkowiak
81e13b8d34 debug keycode mode 2012-05-01 23:19:34 +02:00
Sebastian Krzyszkowiak
b57f20ac7d fix compilation on Mac OS X 2012-05-01 23:13:45 +02:00
Sebastian Krzyszkowiak
07ac5294d5 some work on levels 2012-05-01 22:52:30 +02:00
Sebastian Krzyszkowiak
a5e0be5434 add book frame to intro story 2012-05-01 16:55:39 +02:00
Sebastian Krzyszkowiak
1ffe2f8ce5 update map and other graphics 2012-04-30 22:52:46 +02:00
Sebastian Krzyszkowiak
928735faab respect voice volume settings 2012-04-30 20:39:40 +02:00
Sebastian Krzyszkowiak
0ed5b9495c cleaning up mess in data directory 2012-04-30 00:55:27 +02:00
Sebastian Krzyszkowiak
68a14b943f fix tilde key being handled by gamestate keydown function 2012-04-21 00:18:42 +02:00
Sebastian Krzyszkowiak
d252e87092 replace intro lines with Princess Celestia voice recorded by MEMJ0123 2012-04-21 00:06:56 +02:00
Sebastian Krzyszkowiak
555cc0b9e0 use ANSI C gcc mode 2012-04-14 22:26:33 +02:00
Sebastian Krzyszkowiak
35a6a328bf tweaks in Derpy animation speed 2012-04-10 14:07:36 +02:00
Sebastian Krzyszkowiak
3eef9495d4 fix compilation on windows 2012-04-09 18:41:46 +02:00
Sebastian Krzyszkowiak
502e9a8ea2 fix end of the sky :D 2012-04-09 18:11:09 +02:00
Sebastian Krzyszkowiak
9d747a459c prefix name of all actions provided by TM with "TM_" 2012-04-09 17:18:41 +02:00
Sebastian Krzyszkowiak
cd6e5a0ff9 support action names in timeline manager 2012-04-09 17:17:16 +02:00
Sebastian Krzyszkowiak
6e27c1e3b5 implement frame skipping as debug feature 2012-04-09 16:49:47 +02:00
Sebastian Krzyszkowiak
1db3134175 support "-l NR" commandline argument 2012-04-09 16:41:10 +02:00
Sebastian Krzyszkowiak
3c3fc64d80 level 1: add action for letter from Twilight Sparkle 2012-04-09 16:21:45 +02:00
Sebastian Krzyszkowiak
e9ffdf5465 limit derpy moves in Y axis 2012-04-09 16:14:10 +02:00
Sebastian Krzyszkowiak
61b862b858 better keyboard handling in level 2012-04-09 15:58:01 +02:00
Sebastian Krzyszkowiak
73edf91b6d fix sound in moonwalk 2012-04-09 15:35:06 +02:00
Sebastian Krzyszkowiak
7ac12920bb add music to level 1 2012-04-09 15:25:56 +02:00
Sebastian Krzyszkowiak
754f88facf some work on spritesheed speed 2012-04-09 13:31:14 +02:00
Sebastian Krzyszkowiak
cf2bc20b68 implement and use TM_AddQueuedBackgroundAction 2012-04-09 12:55:04 +02:00
Sebastian Krzyszkowiak
270e137ee5 level: fix animation when sheet_speed==1 2012-04-08 23:56:13 +02:00
Sebastian Krzyszkowiak
cceecdfd54 add some very basic keyboard handling in level 2012-04-08 23:41:22 +02:00
Sebastian Krzyszkowiak
4c039847a0 more work on first level 2012-04-08 23:25:14 +02:00
Sebastian Krzyszkowiak
676d2d8900 some first demo sidescrolling level 2012-04-08 19:01:30 +02:00
Sebastian Krzyszkowiak
8eab7da8f1 fix segfault when ini file does not exist 2012-04-08 11:39:27 +02:00
Sebastian Krzyszkowiak
efaa1803ea implement delays in timeline manager 2012-04-07 23:03:34 +02:00
Sebastian Krzyszkowiak
db056c3a2a implement TM_AddToArgs 2012-04-07 20:32:47 +02:00
Sebastian Krzyszkowiak
314429a2fe moar destroyin! 2012-04-07 18:41:39 +02:00
Sebastian Krzyszkowiak
cff6de73c3 implement timeline destroying 2012-04-07 18:32:47 +02:00
Sebastian Krzyszkowiak
4674c298bb implement fadein and fadeout actions 2012-04-07 13:33:04 +02:00
Sebastian Krzyszkowiak
27ddfaafc9 revamp argument handling of timeline actions 2012-04-07 13:04:55 +02:00
Sebastian Krzyszkowiak
f1e26219c4 moar work on timeline 2012-04-06 23:32:15 +02:00
Sebastian Krzyszkowiak
3e17070298 better structure of level-moonwalk relationship 2012-04-06 18:25:04 +02:00
Sebastian Krzyszkowiak
90c20b0c1c introduce timeline manager, split moonwalk code from level code 2012-04-06 17:28:38 +02:00
Sebastian Krzyszkowiak
c4ca72d875 implement continuity of levels 2012-04-05 12:57:11 +02:00
Sebastian Krzyszkowiak
1c825fbd14 fix segfaults with FLAC decoder in intro 2012-04-05 12:56:58 +02:00
Sebastian Krzyszkowiak
6583662d9f implement animations in intro state 2012-04-04 00:06:47 +02:00
Sebastian Krzyszkowiak
89c4d4096d fix sudden fadeout in about screen when it wasn't faded in yet 2012-04-03 23:17:18 +02:00
Sebastian Krzyszkowiak
26ecdcb532 update about screen 2012-04-03 21:17:56 +02:00
Sebastian Krzyszkowiak
37f879c297 little cleanup in menu handling code 2012-03-13 12:52:57 +01:00
Sebastian Krzyszkowiak
13aa555481 sound volume settings 2012-03-13 12:42:28 +01:00
Sebastian Krzyszkowiak
9b33a0af12 display "Loading" when switching to new resolution 2012-03-10 16:32:45 +01:00
Sebastian Krzyszkowiak
00f4c409e6 implement fullscreen setting from pause menu 2012-03-08 22:21:02 +01:00
Sebastian Krzyszkowiak
7f4c4f9fb5 replace "Critical Error" with "Not implemented yet" 2012-03-08 21:09:50 +01:00
Sebastian Krzyszkowiak
8e2e55e416 link to release version of allegro 2012-03-08 20:55:18 +01:00
Sebastian Krzyszkowiak
185ac75bbe inhibit screensaver 2012-03-08 20:55:11 +01:00
Sebastian Krzyszkowiak
662dbf3c89 play missing click sounds in pause menu 2012-03-08 19:26:30 +01:00
Sebastian Krzyszkowiak
2a16055a6b don't restart the game if video settings are changed during game 2012-03-08 17:38:40 +01:00
Sebastian Krzyszkowiak
e874678081 use mixer gain to enable/disable music/fx 2012-03-08 12:49:58 +01:00
Sebastian Krzyszkowiak
d8a6106157 add video options, implement fullscreen switching 2012-03-08 12:34:47 +01:00
Sebastian Krzyszkowiak
1f43af56f0 clean up of menu keydown handling (pause now shares code with menu) 2012-03-07 23:23:39 +01:00
Sebastian Krzyszkowiak
b0a4369678 introduce menustates 2012-03-07 22:06:19 +01:00
Sebastian Krzyszkowiak
f6e4b0625c update click sound, play it in few more places 2012-03-07 15:20:16 +01:00
Sebastian Krzyszkowiak
572d147e0c fix loading menu when starting with other gamestate 2012-03-07 15:03:56 +01:00
Sebastian Krzyszkowiak
e4e848b175 use mixers for audio 2012-03-05 21:07:42 +01:00
Sebastian Krzyszkowiak
2f118db351 create separate mixers for music and fx 2012-03-05 11:13:08 +01:00
Sebastian Krzyszkowiak
5627ddecaf rewrite config handling using allegro routines 2012-03-05 10:35:25 +01:00
Sebastian Krzyszkowiak
e5a9f12358 implement voice reading intro 2012-03-04 22:02:23 +01:00
Sebastian Krzyszkowiak
4b8bd024d7 better moonwalk synchronization :D 2012-03-04 17:37:44 +01:00
Sebastian Krzyszkowiak
cb33ac763d fix segfaults in pause 2012-03-04 16:52:05 +01:00