- The free/restricted axis distinction is gone; the joystick always
operates in "free" mode.
- Added direction snapping functionality to help aid exact movement in
cardinal and/or diagonal directions. The snapping angle can be
adjusted from 0% (disabled) to 100% (similar to the old "restricted"
mode). The snapping angle can also be biased towards cardinals or
diagonals.
- When the maximum zone is less than or equals dead zone, moving
the character will always move at maximum speed (as in the old
"restricted" mode).
- Most of these settings are now visualized in the options menu and can
be tested there.
* Consistently use floats in the API and internally; don't round stuff
arbitrarily.
* Use freetype's "normal" hinting algorithm.
* Implement subpixel positioning to avoid bad glyph spacing at small
font sizes.
* Improved border control: inner and outer borders can be adjusted
separately and per-font. (The "inner border" affects the "highlight"
effect used in some shaders (blue channel)).
* Fix borders causing all glyphs to be misaligned (shifted down-right)
by a constant offset.
* Various other improvements.
Mostly functional, needs a balance/design pass
Closes #280
Squashed commit of the following:
commit 2c71f06c09
Author: Andrei Alexeyev <akari@taisei-project.org>
Date: Fri Feb 24 00:55:19 2023 +0100
stage5: fix nonspell3 sound
commit 162b6c5554
Author: Andrei Alexeyev <akari@taisei-project.org>
Date: Fri Feb 24 00:52:18 2023 +0100
stage5: fix boss background
commit 6bc70b9cc8
Author: Andrei Alexeyev <akari@taisei-project.org>
Date: Fri Feb 24 00:39:41 2023 +0100
stage5: adjust midboss bombs
commit 1dd947b54b
Author: Andrei Alexeyev <akari@taisei-project.org>
Date: Fri Feb 24 00:23:53 2023 +0100
stage5: adjust some enemy types
commit 5c8fbfa245
Author: Andrei Alexeyev <akari@taisei-project.org>
Date: Thu Feb 16 18:25:32 2023 +0100
stage5: iku's overload rewrite
commit 939b9d6d88
Author: Andrei Alexeyev <akari@taisei-project.org>
Date: Thu Feb 16 18:09:35 2023 +0100
stage5: fix midboss shots
commit b206760c97
Author: Andrei Alexeyev <akari@taisei-project.org>
Date: Fri Feb 10 14:49:38 2023 +0100
stage5: fix ENTITIES_STAGE5
commit 3b5b4e1d19
Author: Andrei Alexeyev <akari@taisei-project.org>
Date: Fri Feb 10 14:23:42 2023 +0100
stage5: fix spell practice bg
commit c3a4b6a899
Author: Andrei Alexeyev <akari@taisei-project.org>
Date: Fri Feb 10 14:13:55 2023 +0100
stage5: fix magnetto swirls shot pattern
commit c3c6525786
Author: Andrei Alexeyev <akari@taisei-project.org>
Date: Fri Feb 10 14:01:49 2023 +0100
stage5: fix magnetto swirls
commit 308fed3f60
Author: Andrei Alexeyev <akari@taisei-project.org>
Date: Fri Feb 10 14:00:37 2023 +0100
stage5: fix iku_lightning_particle
commit 57aae9af2d
Author: Andrei Alexeyev <akari@taisei-project.org>
Date: Thu Feb 9 08:35:01 2023 +0100
stage5: fix warnings
commit c5d43100f2
Author: Alice D <alice@starwitch.productions>
Date: Wed Feb 16 22:01:04 2022 -0500
remove missing shaders
commit b281d0653d
Author: Alice D <alice@starwitch.productions>
Date: Sat Feb 12 18:48:41 2022 -0500
rebase + PR stuff
commit ea0f3a5b92
Author: Alice D <alice@starwitch.productions>
Date: Fri Nov 5 20:09:54 2021 -0400
merge goof
commit 971300f366
Author: Alice D <alice@starwitch.productions>
Date: Sun May 2 13:47:42 2021 -0400
simplify laser_fairy, try to get magnetto to work again
commit 82f841dd00
Author: Alice D <alice@starwitch.productions>
Date: Sun May 2 12:44:52 2021 -0400
'fix' Iku static-bomb from spawning items (for now), remove ENEMY_IMMUNE
commit 78ecd3d4c1
Author: Alice D <alice@starwitch.productions>
Date: Sat May 1 17:05:40 2021 -0400
PR changes
commit 13192e600a
Author: Alice D <alice@starwitch.productions>
Date: Sat Apr 10 16:51:37 2021 -0400
remove dead functions from headers
commit 0e64556a1c
Author: Alice D <alice@starwitch.productions>
Date: Sat Apr 10 14:52:46 2021 -0400
remove extra imports (thanks, vim)
commit 466621ebca
Author: Alice D <alice@starwitch.productions>
Date: Sat Apr 10 13:41:12 2021 -0400
revert overload spellcard
commit e459942561
Author: Alice D <alice@starwitch.productions>
Date: Thu Apr 8 18:39:40 2021 -0400
works a bit better like this
commit 9ccb923c4b
Author: Alice D <alice@starwitch.productions>
Date: Thu Apr 8 18:30:27 2021 -0400
initial work on Overload - not quite working yet, but almost there
commit cb94b0f8fc
Author: Alice D <alice@starwitch.productions>
Date: Tue Apr 6 21:44:04 2021 -0400
unusued variable
commit 3ae92b1b9a
Author: Alice D <alice@starwitch.productions>
Date: Tue Apr 6 21:34:50 2021 -0400
PR fixes
commit 60689975af
Author: Alice D <alice@starwitch.productions>
Date: Tue Apr 6 21:19:02 2021 -0400
finish all Iku nonspells/spells, except for Overload
commit 255ca91df6
Author: Alice D <alice@starwitch.productions>
Date: Sun Apr 4 14:47:52 2021 -0400
remove global.diff and use difficulty_value
commit cb38e4cd78
Author: Alice D <alice@starwitch.productions>
Date: Sun Apr 4 13:05:17 2021 -0400
modernize more Iku, modernize boss nonspell 1
commit 52f878cf14
Author: Alice D <alice@starwitch.productions>
Date: Fri Apr 2 16:41:36 2021 -0400
fix direction, clean up
commit 5273a76484
Author: Alice D <alice@starwitch.productions>
Date: Tue Mar 30 16:19:28 2021 -0400
more PR changes
commit 1bb9a001b8
Author: Alice D <alice@starwitch.productions>
Date: Tue Mar 30 16:10:00 2021 -0400
PR changes
commit aa9a163877
Author: Alice D <alice@starwitch.productions>
Date: Sun Mar 28 20:39:48 2021 -0400
figured out why it didn't work
commit de181da68c
Author: Alice D <alice@starwitch.productions>
Date: Sun Mar 28 19:37:47 2021 -0400
finish initial port of midboss
commit e36750e90d
Author: Alice D <alice@starwitch.productions>
Date: Sun Mar 21 23:16:08 2021 -0400
fixing variable
commit e0df309e0c
Author: Alice D <alice@starwitch.productions>
Date: Sun Mar 21 23:08:52 2021 -0400
stashing changes
commit 802ce61b73
Author: Alice D <alice@starwitch.productions>
Date: Sun Mar 21 18:11:29 2021 -0400
finish porting over last basic enemy, begin more work on porting midboss
commit 05d9b1cf44
Author: Alice D <alice@starwitch.productions>
Date: Sun Mar 14 23:54:16 2021 -0400
make loop-motion logic less braindead
commit c843e397a7
Author: Alice D <alice@starwitch.productions>
Date: Sun Mar 14 17:03:13 2021 -0400
code review
commit d2f21543e3
Author: Alice D <alice@starwitch.productions>
Date: Sun Mar 7 15:59:27 2021 -0500
remove unused variable
commit f2f96b12bb
Author: Alice D <alice@starwitch.productions>
Date: Sun Mar 7 15:54:21 2021 -0500
begin porting midboss, clean up timings
commit 7d40edb030
Author: Alice D <alice@starwitch.productions>
Date: Sun Mar 7 14:47:11 2021 -0500
remaster superbullet fairies
commit 221808e3f5
Author: Alice D <alice@starwitch.productions>
Date: Sun Mar 7 13:33:07 2021 -0500
port laserfairies [skip ci]
commit 96069e14cf
Author: Alice D <alice@starwitch.productions>
Date: Sun Mar 7 12:54:58 2021 -0500
finish miner swirls [skip ci]
commit 131777d6b8
Author: Alice D <alice@starwitch.productions>
Date: Sun Mar 7 12:32:49 2021 -0500
more swirls
commit 22dcf813f6
Author: Alice D <alice@starwitch.productions>
Date: Sat Mar 6 16:34:23 2021 -0500
begin porting miner swirls
commit ec2d05ab8f
Author: Alice D <alice@starwitch.productions>
Date: Sat Mar 6 16:06:24 2021 -0500
begin modernizing stage5_swirl
commit f995e82c00
Author: Alice D <alice@starwitch.productions>
Date: Wed Mar 3 17:41:28 2021 -0500
remastered limiter fairies, begin work on swirls
commit 6a3351755c
Author: Alice D <alice@starwitch.productions>
Date: Tue Mar 2 21:31:54 2021 -0500
move header position
commit bd3b2fa355
Author: Alice D <alice@starwitch.productions>
Date: Tue Mar 2 21:01:56 2021 -0500
more for-loop cleaning, port over last lightbursts, remove dead code
commit 3ba89e538d
Author: Alice D <alice@starwitch.productions>
Date: Tue Mar 2 20:07:56 2021 -0500
clean up for-loops, hopefully solve gcc compile errors
commit 91c404584b
Author: Alice D <alice@starwitch.productions>
Date: Tue Mar 2 19:57:55 2021 -0500
remastered lightburst fairies
commit 88be0ed8b5
Author: Alice D <alice@starwitch.productions>
Date: Tue Mar 2 16:40:23 2021 -0500
code review
commit bce0fa81cf
Author: Alice D <alice@starwitch.productions>
Date: Sun Feb 28 21:12:02 2021 -0500
greeter fairies modernized
Co-authored-by: Andrei Alexeyev <akari@taisei-project.org>
Resource files are no longer packaged and preloaded all in advance.
Instead, they are downloaded while the game is running.
The implementation is less than ideal, but it works. Resources are
requested on demand and cached into IDBFS. Unfortunately, since the
resource system was not designed with web-style asynchrony in mind and
we aren't ready for threads either, we have no way to do any useful work
while a required file is downloading. To somewhat offset that, we also
pre-fetch files that were not requested yet. The pre-fetching is limited
to 4 files at a time, which seems to be a reasonable compromise between
throughput and cold-cache load latency on slow connections. Also
unfortunately, it's dumb as rocks: we have no way of knowing which files
we will actually be needing soon, so the pre-fetching is done in
whatever order the files were indexed.
Possibly the easiest way to improve this system would be to bundle (and
compress) all of the tiny text files together to alleviate the overhead
of hundreds of HTTP requests.
This is currently unused. It's going to be the backbone for a new
on-the-fly resource fetching system for the Emscripten port.
In this mode, the virtual resource directory structure is embedded into
the executable. Files are referenced by their "content IDs", which are
currently their sha256 hashes. The "resindex" VFS backend allows one to
define a custom file open function, which connects the content IDs to
actual data. A example implementation is provided in resindex_layered,
which simply opens the content ID as a file under a specified VFS path.
Squashed commit of the following:
commit 9ab0197ee1
Author: Andrei Alexeyev <akari@taisei-project.org>
Date: Wed Dec 28 23:05:58 2022 +0100
build: add dummy descriptions for deprecated options
commit b0c41d4719
Author: Alice D <alice@starwitch.productions>
Date: Mon Dec 26 15:18:09 2022 -0500
update docker containers with ones containing meson 0.63.3
commit a2dd4173fc
Author: Andrei Alexeyev <akari@taisei-project.org>
Date: Sun Dec 25 19:20:44 2022 +0100
build: featurize audio options
commit 7c59e2a569
Author: Andrei Alexeyev <akari@taisei-project.org>
Date: Sun Dec 25 19:20:35 2022 +0100
build: remove dead code
commit cf500af137
Author: Andrei Alexeyev <akari@taisei-project.org>
Date: Sun Dec 25 19:07:37 2022 +0100
doc: update BUILD.rst
commit 9764ac706f
Author: Andrei Alexeyev <akari@taisei-project.org>
Date: Sun Dec 25 17:12:37 2022 +0100
ci: disable WGI joystick backend for SDL
Fails to build with latest llvm-mingw
commit 2d4f310b90
Author: p-sam <p-sam@d3vs.net>
Date: Sun Dec 25 17:03:47 2022 +0100
switch: fix missing include
commit 9264f1649d
Author: Andrei Alexeyev <akari@taisei-project.org>
Date: Sat Dec 24 14:36:41 2022 +0100
ci: update meson to 0.63.3 due to a bug
commit 3e37be3d8f
Author: Andrei Alexeyev <akari@taisei-project.org>
Date: Sat Dec 24 13:42:34 2022 +0100
ci: update build options
commit 281a39a4f5
Author: Alice D <alice@starwitch.productions>
Date: Sun Dec 18 00:17:07 2022 -0500
ci: change when apt is cleaned up for switch image
commit 2f2100a84c
Author: Alice D <alice@starwitch.productions>
Date: Sun Dec 18 00:11:08 2022 -0500
ci: bump switch homebrew container version
commit ebaff59260
Author: Alice D <alice@starwitch.productions>
Date: Sat Dec 17 22:55:39 2022 -0500
ci: bump windows container version
commit 7ce6f23419
Author: Andrei Alexeyev <akari@taisei-project.org>
Date: Sat Dec 17 07:36:28 2022 +0100
build: featurize renderer options
commit a345f21b35
Author: Andrei Alexeyev <akari@taisei-project.org>
Date: Sat Dec 17 07:33:30 2022 +0100
build: revert to explicit fallback for libzstd
Implicit fallback causes conflicts in the basis_universal subproject
https://github.com/mesonbuild/meson/issues/11189
commit b2de61f5c5
Author: Andrei Alexeyev <akari@taisei-project.org>
Date: Sat Dec 17 05:29:29 2022 +0100
build: remove debug_opengl
This option was always misdocumented, as it only controlled whether GL
debugging is on by default. You can still control it with the
TAISEI_GL_DEBUG environment variable, which is set to 1 in meson devenv.
commit 4c659ba195
Author: Andrei Alexeyev <akari@taisei-project.org>
Date: Fri Dec 16 08:03:37 2022 +0100
build: set up useful env vars for meson devenv
Makes Taisei load resources from the source tree, making live reload
work; enables OpenGL debugging by default; works around ASan stack use
after return false positives.
commit 1ddc58b84a
Author: Andrei Alexeyev <akari@taisei-project.org>
Date: Wed Dec 14 08:06:32 2022 +0100
build: featurize docs; always install licenses
commit c3a94d7f5b
Author: Andrei Alexeyev <akari@taisei-project.org>
Date: Wed Dec 14 07:46:28 2022 +0100
build: featurize shader_transpiler
commit 619d82ae36
Author: Andrei Alexeyev <akari@taisei-project.org>
Date: Wed Dec 14 07:38:30 2022 +0100
build: allow libzip fallback by default
commit 79ab72292a
Author: Andrei Alexeyev <akari@taisei-project.org>
Date: Wed Dec 14 07:35:51 2022 +0100
build: featurize use_libcrypto
commit b393077f71
Author: Andrei Alexeyev <akari@taisei-project.org>
Date: Wed Dec 14 05:03:20 2022 +0100
build: featurize validate_glsl
commit 7d76484079
Author: Andrei Alexeyev <akari@taisei-project.org>
Date: Wed Dec 14 04:34:31 2022 +0100
build: featurize some more installation options
commit 17c0bda205
Author: Andrei Alexeyev <akari@taisei-project.org>
Date: Wed Dec 14 03:24:46 2022 +0100
build: deprecate enable_zip for vfs_zip; convert package_data into feature
commit 9a4ef8c091
Author: Andrei Alexeyev <akari@taisei-project.org>
Date: Wed Dec 14 02:37:55 2022 +0100
build: deprecate developer=auto; default to false
commit 807240e508
Author: Andrei Alexeyev <akari@taisei-project.org>
Date: Wed Dec 14 02:24:04 2022 +0100
build: move subproject fallback info into wraps
commit 08c953f487
Author: Andrei Alexeyev <akari@taisei-project.org>
Date: Wed Dec 14 01:57:33 2022 +0100
build: deprecate 'static' option
Meson has a built-in `prefer_static` now
commit c575601537
Author: Andrei Alexeyev <akari@taisei-project.org>
Date: Wed Dec 14 01:49:31 2022 +0100
build: remove complicated shaderc detection logic
Meson does all of this internally since 0.51.0
commit cd2d460d4b
Author: Andrei Alexeyev <akari@taisei-project.org>
Date: Wed Dec 14 01:45:17 2022 +0100
build: Require meson >=0.63.0
commit 10abd790f7
Author: Andrei Alexeyev <akari@taisei-project.org>
Date: Mon Dec 12 05:16:47 2022 +0100
ci: remove meson dist version workaround from release workflow
Meson should know the correct version now
commit 31a07d8c3c
Author: Andrei Alexeyev <akari@taisei-project.org>
Date: Mon Dec 12 03:46:28 2022 +0100
build: use built-in summary() function
commit 0c47f6d14b
Author: Andrei Alexeyev <akari@taisei-project.org>
Date: Mon Dec 12 04:33:01 2022 +0100
build: remove -Dversion_fallback and introduce .VERSION file
The version script will now first try to read the version from a
.VERSION file in the source root. If that file does not exist, it will
query git. The .VERSION file is not included in the git repository, it
is generated for inclusion in source tarballs.
Package maintainers who had any use for -Dversion_fallback may want to
create the .VERSION file themselves.
Additionally, some git-specific files have been removed from source
tarballs.
commit d32332a5e3
Author: Andrei Alexeyev <akari@taisei-project.org>
Date: Mon Dec 12 03:00:07 2022 +0100
build: set the "real" version in project()
commit f9a3fbc729
Author: Andrei Alexeyev <akari@taisei-project.org>
Date: Mon Dec 12 01:50:08 2022 +0100
build: raise meson_version and remove some legacy workarounds
Effectively 0.56.0 was already required since we started using some of
its features at some point.
This also fixes all current meson warnings.
All sprites have been autocropped, with virtual paddings added to
preserve the original dimensions. This saves some VRAM and fragment
shader invocations.