Commit graph

155 commits

Author SHA1 Message Date
Sebastian Krzyszkowiak
264ef2b86d
cmake: link to allegro-color addon 2019-04-29 13:17:56 +02:00
Sebastian Krzyszkowiak
c480289123
cmake: rework asset compression pipeline a bit 2019-04-29 03:11:55 +02:00
Sebastian Krzyszkowiak
569834bce4
cmake: fix problems with static linking with osxcross 2019-04-06 21:18:17 +02:00
Sebastian Krzyszkowiak
83bd62277f
initial set of timeline unit tests 2019-04-03 02:59:48 +02:00
Sebastian Krzyszkowiak
66e0319691
cmake: make source files of game's shared library configurable 2019-02-28 21:44:02 +01:00
Sebastian Krzyszkowiak
43c830bf99
drop "libsuperderpy-" prefix from game-specific shared libraries 2019-02-26 01:42:16 +01:00
Sebastian Krzyszkowiak
379ba8f629
cmake: make LTO optional 2019-02-13 22:53:43 +01:00
Sebastian Krzyszkowiak
d878a86634
make DCE on emscripten/wasm configurable and disabled by default 2019-02-08 02:12:31 +01:00
Sebastian Krzyszkowiak
b07c9033e9
update emscripten flags 2019-02-06 01:48:35 +01:00
Sebastian Krzyszkowiak
e89f654559
ImgToWebp: add ability to use lossless compression
Good for pixel art
2019-01-24 23:57:23 +01:00
Sebastian Krzyszkowiak
a411819d5a
android: update toolchain for docker images 2019-01-24 04:11:13 +01:00
Sebastian Krzyszkowiak
54a305b3ec
android: migrate from ant to gradle 2019-01-20 03:00:01 +01:00
Sebastian Krzyszkowiak
c5b5d7a7e0
fix macos builds 2019-01-13 21:34:32 +01:00
Sebastian Krzyszkowiak
65807cd369
enable dead code elimination on webassembly builds 2019-01-13 20:02:21 +01:00
Sebastian Krzyszkowiak
a6b6062be4
recompress flac to opus and images to lossy webp for emscripten and android builds, with asset cache 2019-01-13 18:45:17 +01:00
Sebastian Krzyszkowiak
ef77bedeae
clean up 2019-01-11 15:26:12 +01:00
Sebastian Krzyszkowiak
996c7e4d8e
FlacToOgg: fix and make more robust 2019-01-11 13:09:55 +01:00
Sebastian Krzyszkowiak
3da81d4388
cmake: fix Debug builds on Emscripten 2019-01-11 12:38:03 +01:00
Sebastian Krzyszkowiak
f5ce67e6cb
emscripten: export Gamestate_ProgressCount
Turns out there's no other way to export a variable.
Fixes wrong values in the progress bar.
2019-01-11 02:31:43 +01:00
Sebastian Krzyszkowiak
f5604b95fb
emscripten: output wasm submodules to .wasm.so files, so preload plugins can find them 2019-01-10 06:31:28 +01:00
Sebastian Krzyszkowiak
fe9b6f5384
emscripten: use __attribute__(used) in code instead of EXPORTED_FUNCTIONS in cmake 2019-01-10 06:04:29 +01:00
Sebastian Krzyszkowiak
8d4ee68936
emscripten: drop STRICT=1 flag, it breaks when SDL2 is self-built 2019-01-08 03:32:49 +01:00
Sebastian Krzyszkowiak
5fb99a97f8
emscripten: revise compiler settings and add a pre-js file with audio autoplay workaround 2019-01-07 00:37:34 +01:00
Sebastian Krzyszkowiak
f357d75591
emscripten: use emterpreter for displaying loading screen 2019-01-03 23:22:26 +01:00
Sebastian Krzyszkowiak
116d190876
cmake: update emscripten flags 2018-12-22 02:17:57 +01:00
Sebastian Krzyszkowiak
93db442e7b
cmake: disable LTO on MinGW
Crashes the compiler on my machine for some reason.
2018-12-18 14:34:10 +01:00
Sebastian Krzyszkowiak
492aa79a6b
cmake: enable -fstack-protector (all builds) and _FORTIFY_SOURCE=2 (release/relwithdebinfo)
_FORTIFY_SOURCE can't be used together with ASan, so it's not enabled for debug builds
2018-12-18 13:58:37 +01:00
Sebastian Krzyszkowiak
d20363e244
cmake: enable link time optimizations 2018-12-18 13:19:58 +01:00
Sebastian Krzyszkowiak
7cdcb7475a
cmake: set and use LIBSUPERDERPY_DIR variable 2018-12-18 13:18:52 +01:00
Sebastian Krzyszkowiak
23b11b1a5b
cmake: don't set -fsanitize-recover=all, and set other args only when specific sanitizers are requested 2018-12-14 02:26:46 +01:00
Sebastian Krzyszkowiak
edb87bc2fc
cmake: make sanitizer options more streamlined and configurable 2018-12-14 02:17:27 +01:00
Sebastian Krzyszkowiak
48516aa38c
cmake: enable asan and ubsan on GCC
On Clang it doesn't like -Wl,--no-undefined option, which I don't
really want to disable.
2018-12-13 03:55:17 +01:00
Sebastian Krzyszkowiak
66caf96cc8
fix missing gamestates on macOS builds 2018-12-08 14:52:05 +01:00
Sebastian Krzyszkowiak
1e4f0d3256
fix desktop and appdata files installation 2018-12-08 03:52:45 +01:00
Sebastian Krzyszkowiak
d42955789c
clean up cmake files and import include templates into the engine 2018-12-08 03:30:09 +01:00
Sebastian Krzyszkowiak
bffe816037
don't export functions from imgui integration implementation 2018-12-05 02:31:53 +01:00
Sebastian Krzyszkowiak
3586f49762
ensure that the game operates on UTF-8 on Windows
Should fix issues with Unicode filenames.
2018-12-05 02:09:06 +01:00
Sebastian Krzyszkowiak
01eabcfe80
add -Wno-return-type-c-linkage to CXX flags for cimgui quirk 2018-11-30 04:44:52 +01:00
Sebastian Krzyszkowiak
a961845698
code model, clang-tidy related tweaks and fixes 2018-11-30 04:20:35 +01:00
Sebastian Krzyszkowiak
37994781fd
update codestyle info, move clang-tidy config into a file 2018-11-30 02:45:22 +01:00
Sebastian Krzyszkowiak
440e6c41e6
Dear ImGui integration 2018-11-29 04:37:08 +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
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
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
3e7d9812a3
Refactor the engine's main loop. 2018-09-10 03:22:45 +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
1f71f03ef8
add LIBSUPERDERPY_GAME_GIT_REV define for game's git revision 2018-08-05 00:50:54 +02:00
Sebastian Krzyszkowiak
51d9fad1d6
export libsuperderpy's git revision and print on initializing 2018-08-04 18:25:30 +02:00
Sebastian Krzyszkowiak
c7fbf08e12 android: update default target per recent google play requirements and add explicit supports-screens tag 2018-08-01 20:21:47 +02:00
Sebastian Krzyszkowiak
74e2d863b9 android: don't install unneccesary files into assets directory 2018-07-19 01:28:53 +02:00
Sebastian Krzyszkowiak
4a60bfdcf9 enable -ffast-math 2018-07-18 19:45:30 +02:00
Sebastian Krzyszkowiak
dba2ef80da add correct file extension for wasm gamestates 2018-07-06 23:17:09 +02:00
Sebastian Krzyszkowiak
4f64b83e01 cmake: add an ability to make a WebAssembly build with emscripten 2018-07-06 22:07:13 +02:00
Sebastian Krzyszkowiak
314588640e cmake: add option to link dependencies statically 2018-07-06 15:43:56 +02:00
Sebastian Krzyszkowiak
8e1ece69f7 mingw: link i686 binaries as large address aware so they can use more than 2GB RAM (up to 4GB) 2018-07-06 14:29:14 +02:00
Sebastian Krzyszkowiak
a4bd7fbb0f cmake: add ability to use WebGL 2 with Emscripten 2018-07-06 04:04:05 +02:00
Sebastian Krzyszkowiak
7872542f2b emscripten: disable WASM
We're not WASM ready, while newer Emscripten enabled it by default.
2018-07-06 03:55:07 +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
62316e50c2 cmake: change register_gamestate API to take explicit list of source files 2018-05-16 20:51:38 +02:00
Sebastian Krzyszkowiak
45fb55a4e9 oscross64 toolchain: change prefix path to avoid polluting SDK directory 2017-09-25 00:40:04 +02:00
Sebastian Krzyszkowiak
73aece30e1 fix data directory path on Android 2017-09-25 00:36:45 +02:00
Sebastian Krzyszkowiak
b4c7edf335 update code checks for clang 5.0 2017-09-15 20:45:46 +02:00
Sebastian Krzyszkowiak
ca33fd7752 make usage of clang-tidy configurable 2017-09-10 22:53:41 +02:00
Sebastian Krzyszkowiak
2b1248ce14 clang-tidy support; clang-tidy and clang-format fixes 2017-09-10 21:35:14 +02:00
Sebastian Krzyszkowiak
e5b3d67e50 FlacToOgg: be quiet 2017-09-09 00:59:23 +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
3581c6060c full emscripten support, plus flac->ogg encoding for emscripten and android 2017-08-24 21:09:07 +02:00
Sebastian Krzyszkowiak
e06eca6d70 cmake: parametrize osxcross toolchain file 2017-08-19 01:27:09 +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
b4d331fdcc android: make target sdk version configurable 2017-08-19 01:25:02 +02:00
Sebastian Krzyszkowiak
d21a0b799d cmake: update android toolchain file 2017-08-15 13:04:01 +02:00
Sebastian Krzyszkowiak
e305c45033 cmake: add -fsanitize=undefined to debug flags to enable runtime warnings about undefined behaviour 2017-08-15 01:42:22 +02:00
Sebastian Krzyszkowiak
777a6c06c7 android: immersive mode and tweaks to build system 2017-08-14 02:02:37 +02:00
Sebastian Krzyszkowiak
f3ba496438 android: use clang instead of gcc 2017-08-14 02:02:09 +02:00
Sebastian Krzyszkowiak
11d3d03ae7 android: install proper icon sizes in mipmap directory 2017-08-09 19:59:08 +02:00
Sebastian Krzyszkowiak
e3fa78e1f6 android: always take big icon for package icon 2017-08-07 02:40:41 +02:00
Sebastian Krzyszkowiak
c28a7e0e2e osxcross toolchain: fix finding linkers
needed for libwebsockets compilation
2017-08-04 10:31:24 +02:00
Sebastian Krzyszkowiak
505de9086d fix whitespace style 2017-07-22 21:01:29 +02:00
Sebastian Krzyszkowiak
e931dbeb31 android: add support for automatic releases 2017-07-22 01:12:05 +02:00
Sebastian Krzyszkowiak
0bdbd27320 add LIBSUPERDERPY_VERSION variable for packaging 2017-06-26 15:40:04 +02:00
Sebastian Krzyszkowiak
519a22c9ad link to allegro5-video 2017-06-26 15:21:13 +02:00
Sebastian Krzyszkowiak
de7311dabf fixed screen orientation support 2017-06-26 03:18:54 +02:00
Sebastian Krzyszkowiak
fd7f68d616 don't pollute source directory with generated header 2016-11-09 00:32:38 +01:00
Sebastian Krzyszkowiak
5619fc993b add launcher icon on Android 2016-11-08 18:01:34 +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
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
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
f02caf73a2 fixed MinGW support 2016-07-03 20:34:31 +02:00
Sebastian Krzyszkowiak
90b00710fd cmake: link gamestates to common game library if such target is present 2016-07-03 01:54: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