Commit graph

3537 commits

Author SHA1 Message Date
laochailan
96d6e4499c
make circle laser turn speed rad/frame 2023-02-03 07:41:12 +01:00
laochailan
d943e7ab88
remove smoothreclamp 2023-02-03 07:41:12 +01:00
laochailan
7fbcd8fb43
remove unused code 2023-02-03 07:41:12 +01:00
laochailan
a6c8979107
modernize broglie sign 2023-02-03 07:41:12 +01:00
laochailan
278bd104d3
first baryon non 2023-02-03 07:41:12 +01:00
laochailan
20a7193de3
elly eigenstate 2023-02-03 07:41:12 +01:00
laochailan
c64ae7c792
elly until baryons spawn 2023-02-03 07:41:12 +01:00
laochailan
3d1a1eae9c
add double version of common_easing_animate 2023-02-03 07:41:04 +01:00
laochailan
16e6d51851
kepler sign + tweaks 2023-02-03 07:37:53 +01:00
laochailan
c460627e41
newton difficulty scaling 2023-02-03 07:37:53 +01:00
laochailan
be97924a53
newton sign redesign 2023-02-03 07:37:53 +01:00
laochailan
20a4f3b4c7
first elly non wip 2023-02-03 07:37:53 +01:00
laochailan
a2a5fb6ada
scythe wip 2023-02-03 07:37:53 +01:00
laochailan
ae0eeec1ad
scythe wip 2023-02-03 07:37:53 +01:00
laochailan
f215d330d9
wip entity scythe 2023-02-03 07:37:52 +01:00
laochailan
66ccf18c63
wip spawn elly 2023-02-03 07:37:52 +01:00
laochailan
c947f0c3f9
modernize scythe mid 2023-02-03 07:37:52 +01:00
laochailan
bfae46ed24
more or less port flowermine fairy 2023-02-03 07:37:52 +01:00
laochailan
98370ed44b
modernized side fairy 2023-02-03 07:37:52 +01:00
laochailan
ece28c70f0
modernize hacker fairy 2023-02-03 07:37:52 +01:00
Andrei Alexeyev
b1e19f7069
build: fix meson deprecation warning 2023-02-03 07:08:37 +01:00
Andrei Alexeyev
2f48833004
difficulty: make difficulty_value() a type-generic macro 2023-02-03 07:05:49 +01:00
Andrei Alexeyev
ea5374bbc6
difficulty: formatting 2023-02-03 07:05:49 +01:00
Alice D
6938b0f8a8
fix release pipeline 2023-02-02 23:05:36 -05:00
Lukas Weber
93c68dbb0d
stage4: port to coroutine system (WIP)
Merges #285

Mostly functional, but needs a design iteration.

Squashed commit of the following:

commit 792e817f77
Author: Andrei Alexeyev <akari@taisei-project.org>
Date:   Tue Jan 31 05:46:51 2023 +0100

    stage4: fix warning

commit eefa6a5181
Author: Andrei Alexeyev <akari@taisei-project.org>
Date:   Tue Jan 31 05:41:32 2023 +0100

    stage4: vlad's army "fixes"

commit 7ac97455ef
Author: Andrei Alexeyev <akari@taisei-project.org>
Date:   Tue Jan 31 05:40:48 2023 +0100

    shader/sprite_negative: modulate color

commit 9a7121e329
Author: Andrei Alexeyev <akari@taisei-project.org>
Date:   Tue Jan 31 04:44:13 2023 +0100

    stage4: fix kurumi's boss nons to soft-reset position

commit a26c85c5bd
Author: Andrei Alexeyev <akari@taisei-project.org>
Date:   Tue Jan 31 04:35:47 2023 +0100

    stage4: use super fairy for supercard

commit 6453352555
Author: Andrei Alexeyev <akari@taisei-project.org>
Date:   Tue Jan 31 04:33:20 2023 +0100

    stage4: fix scythe

commit 9e0743573d
Author: Andrei Alexeyev <akari@taisei-project.org>
Date:   Tue Jan 31 04:32:47 2023 +0100

    stage4: use huge fairies for splashers

commit e36f3ab154
Author: Andrei Alexeyev <akari@taisei-project.org>
Date:   Tue Jan 31 03:30:21 2023 +0100

    stage4: formatting fixups

commit 11b2071790
Author: laochailan <laochailan@web.de>
Date:   Sat Sep 25 11:55:00 2021 +0200

    fix Alice D.’s comments and some other loose ends

commit 0e2bc7af1f
Author: laochailan <laochailan@web.de>
Date:   Sat Sep 25 11:03:33 2021 +0200

    stage4: remove unused constant

commit 1343a55141
Author: laochailan <laochailan@web.de>
Date:   Sat Sep 25 11:02:54 2021 +0200

    stage4: fix explosive_swirl crash

commit c5e571707c
Author: laochailan <laochailan@web.de>
Date:   Sat Sep 25 10:54:12 2021 +0200

    update to latest task api

commit e7202f9492
Author: laochailan <laochailan@web.de>
Date:   Sun May 2 10:08:51 2021 +0200

    attempt to fix scythe timing

commit 9abe4b4274
Author: laochailan <laochailan@web.de>
Date:   Sat May 1 21:04:23 2021 +0200

    modernize vlads army except draw rules

commit daf2b18e3d
Author: laochailan <laochailan@web.de>
Date:   Sat May 1 08:53:28 2021 +0200

    modernize vampiric vapor

commit 7a5ea6afc7
Author: laochailan <laochailan@web.de>
Date:   Sat May 1 07:42:43 2021 +0200

    rename a function

commit e76888cafe
Author: laochailan <laochailan@web.de>
Date:   Fri Apr 30 21:10:20 2021 +0200

    modernize blow the walls

commit d3cf94f20a
Author: laochailan <laochailan@web.de>
Date:   Fri Apr 30 08:33:37 2021 +0200

    remove the enemy from aniwall

commit 5604af5450
Author: laochailan <laochailan@web.de>
Date:   Thu Apr 29 21:41:30 2021 +0200

    animate wall modernized

    todo: remove the enemy out of it

commit d89c1d12b4
Author: laochailan <laochailan@web.de>
Date:   Wed Apr 28 20:55:57 2021 +0200

    modernize red spike

commit d963c50d2e
Author: laochailan <laochailan@web.de>
Date:   Wed Apr 28 19:35:07 2021 +0200

    modernize gate_of_walachia

commit 98b592ab80
Author: laochailan <laochailan@web.de>
Date:   Tue Apr 27 18:47:41 2021 +0200

    modernize kurumi nonspells

commit 109198fbb2
Author: laochailan <laochailan@web.de>
Date:   Mon Apr 26 17:47:47 2021 +0200

    modernize scythe (as a fairy)

commit b4b2b3d0e3
Author: laochailan <laochailan@web.de>
Date:   Sun Apr 25 22:03:22 2021 +0200

    modernize bigcircle_fairy

commit 4d1fa425b3
Author: laochailan <laochailan@web.de>
Date:   Sun Apr 25 21:44:10 2021 +0200

    modernize supercard fairy

commit 3214c1ab21
Author: laochailan <laochailan@web.de>
Date:   Sun Apr 25 19:19:08 2021 +0200

    modernize explosive_swirl

commit 8674f5d259
Author: laochailan <laochailan@web.de>
Date:   Sun Apr 25 17:46:33 2021 +0200

    modernize backfire_swirl

commit 645d56ac7d
Author: laochailan <laochailan@web.de>
Date:   Sun Apr 25 14:32:38 2021 +0200

    modernize cardbuster fairy

commit 2e641f6205
Author: laochailan <laochailan@web.de>
Date:   Sun Apr 25 12:26:04 2021 +0200

    modernize partcircle fairy

commit 46dd0dedca
Author: laochailan <laochailan@web.de>
Date:   Sun Apr 25 11:45:49 2021 +0200

    modernize fodder_fairy

commit 706ca100bf
Author: Alice D <alice@starwitch.productions>
Date:   Thu Apr 15 20:10:42 2021 -0400

    rebase

commit f1cf5b2f6d
Author: Alice D <alice@starwitch.productions>
Date:   Sun Apr 11 17:17:32 2021 -0400

    begin porting stage 4 - splasher fairies ported

Co-authored-by: Andrei Alexeyev <akari@taisei-project.org>
Co-authored-by: Alice D <alice@starwitch.productions>
2023-01-31 05:48:56 +01:00
Andrei Alexeyev
e580657f5b
enemy_classes: fix item drops
The drop task's lifetime was incorrectly bound to the enemy. It's
triggered on enemy death, so it only worked for 1 frame and died
prematurely.
2023-01-31 04:15:51 +01:00
Andrei Alexeyev
211c197f30
item,common_tasks: fix off-by-one error in ItemCounts
lives weren't accounted for in the array view
2023-01-31 04:15:51 +01:00
Andrei Alexeyev
e515b85fa3
external: update koishi 2023-01-28 00:57:00 +01:00
Andrei Alexeyev
e2c0282a30
vfs,build,emscripten: new resource delivery system for Emscripten
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.
2023-01-28 00:31:15 +01:00
Andrei Alexeyev
915285a24e
eventloop: sync vfs on enter 2023-01-28 00:31:15 +01:00
Andrei Alexeyev
5a4dd417ca
emscripten: update asyncify blacklist 2023-01-28 00:31:15 +01:00
Andrei Alexeyev
28f206a09d
vfs,build: Add "resource index" VFS backend
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.
2023-01-28 00:31:15 +01:00
Andrei Alexeyev
84b67a66bf
stage3: fix gcc build 2023-01-28 00:20:13 +01:00
Andrei Alexeyev
558541e2cc
stage3: Major redesign of the stage (WIP)
Still needs work, but good enough for now.

Merges #203

Squashed commit of the following:

commit 7f30ef2393
Author: Andrei Alexeyev <akari@taisei-project.org>
Date:   Fri Jan 27 23:50:42 2023 +0100

    stageinfo: finally rename stage3

commit 53ca691e68
Author: Andrei Alexeyev <akari@taisei-project.org>
Date:   Fri Jan 27 23:38:36 2023 +0100

    stage3: telegraph moonlight rockets

commit 4d247877e7
Author: Andrei Alexeyev <akari@taisei-project.org>
Date:   Wed Jan 18 15:54:44 2023 +0100

    stage3: moonlight rocket fixes

commit 684a167611
Author: Andrei Alexeyev <akari@taisei-project.org>
Date:   Wed Jan 18 14:50:48 2023 +0100

    stage3: update background

commit bed836f56c
Author: laochailan <laochailan@web.de>
Date:   Sat Jan 7 19:52:51 2023 -0500

    stage3: make easy mode easier

commit bec659a6eb
Author: Andrei Alexeyev <akari@taisei-project.org>
Date:   Wed Dec 7 20:20:18 2022 +0100

    stage3: sprinkle some random difficulty_value() calls

commit 2090821188
Author: Andrei Alexeyev <akari@taisei-project.org>
Date:   Sun Nov 20 07:57:33 2022 +0100

    stage3: refactor and fix deadly dance (no design update yet)

commit 5dbdeae1dd
Author: Andrei Alexeyev <akari@taisei-project.org>
Date:   Sun Nov 20 07:17:05 2022 +0100

    stage3: redesign scuttle nonspell

commit 70666a4074
Author: Andrei Alexeyev <0x416b617269@gmail.com>
Date:   Mon Nov 14 01:32:11 2022 +0100

    stage3: last pre-boss section draft

commit 42bb538ff5
Author: Andrei Alexeyev <0x416b617269@gmail.com>
Date:   Mon Nov 14 01:28:32 2022 +0100

    stage3: bunch of swarm-trail fairy fixes

commit 5938783591
Author: Andrei Alexeyev <akari@taisei-project.org>
Date:   Sat Nov 12 01:40:23 2022 +0100

    stage3: more misery

commit 84342f1973
Author: Andrei Alexeyev <akari@taisei-project.org>
Date:   Tue Nov 8 16:35:11 2022 +0100

    stage3: post-midboss up to climax

commit b40f71bbc6
Author: Andrei Alexeyev <akari@taisei-project.org>
Date:   Wed Nov 2 18:43:54 2022 +0100

    stage3: experimental post-midboss pattern

commit b5710faa04
Author: Andrei Alexeyev <akari@taisei-project.org>
Date:   Wed Nov 2 18:12:49 2022 +0100

    stage3: deadly dance fixes

commit f85aa25c00
Author: Andrei Alexeyev <akari@taisei-project.org>
Date:   Wed Nov 2 18:08:02 2022 +0100

    stage3: first sparks of difficulty balance

commit 33b65b7fbe
Author: laochailan <laochailan@web.de>
Date:   Sun Oct 16 10:27:24 2022 -0400

    stage3: align swarm fairies

commit 2556a0de9e
Author: Andrei Alexeyev <akari@taisei-project.org>
Date:   Mon Sep 26 05:35:53 2022 +0200

    stage3: more progress on the first half

commit 86fc38255b
Author: Andrei Alexeyev <akari@taisei-project.org>
Date:   Sat Sep 24 04:10:57 2022 +0200

    stage3: add some swirls after superfairy

commit b0134e82c7
Author: Andrei Alexeyev <akari@taisei-project.org>
Date:   Sat Sep 24 04:10:11 2022 +0200

    stage3: experimental laserball fairy

commit 88d7646927
Author: Andrei Alexeyev <akari@taisei-project.org>
Date:   Sat Sep 24 04:09:14 2022 +0200

    stage3: tweak horde fairies

commit b97da7a9e9
Author: Andrei Alexeyev <akari@taisei-project.org>
Date:   Tue Sep 13 17:08:12 2022 +0200

    stage3: wip circletwist fairy tweaks

commit ee9234a72b
Author: Andrei Alexeyev <akari@taisei-project.org>
Date:   Mon Sep 5 04:41:55 2022 +0200

    wip swirls

commit 26c7a35e04
Author: laochailan <laochailan@web.de>
Date:   Sun Jan 2 11:29:41 2022 +0100

    stage3 wip

commit d1a263223f
Author: laochailan <laochailan@web.de>
Date:   Fri Nov 12 05:57:07 2021 +0100

    wip wip wip

commit c2527b05cf
Author: laochailan <laochailan@web.de>
Date:   Thu Sep 30 20:38:38 2021 +0200

    stage3 redesign: some first prototypes

commit 0c2855e3ca
Author: Andrei Alexeyev <akari@taisei-project.org>
Date:   Thu May 6 21:59:48 2021 +0300

    stage3: some preliminary fixes

commit fddf314db9
Author: Andrei Alexeyev <akari@taisei-project.org>
Date:   Sun Feb 28 07:36:04 2021 +0200

    stage3: port rest of night ignite

commit 1cd84d7834
Author: Andrei Alexeyev <akari@taisei-project.org>
Date:   Sat Feb 27 04:50:46 2021 +0200

    stage3: port night ignite slaves

commit cb991be703
Author: Andrei Alexeyev <akari@taisei-project.org>
Date:   Sat Feb 27 04:26:26 2021 +0200

    stage3: finish porting firefly storm

commit 0fb9733829
Author: Andrei Alexeyev <akari@taisei-project.org>
Date:   Wed Jun 23 02:44:14 2021 +0300

    stage3: partial firefly storm port

commit ba174893a0
Author: Andrei Alexeyev <akari@taisei-project.org>
Date:   Tue Feb 23 02:28:13 2021 +0200

    stage3: enable all wriggle attacks

commit 03e1dd8078
Author: Andrei Alexeyev <akari@taisei-project.org>
Date:   Tue Feb 23 02:22:35 2021 +0200

    stage3: port wriggle nons

commit 3308255579
Author: Andrei Alexeyev <akari@taisei-project.org>
Date:   Mon Feb 22 16:27:50 2021 +0200

    stage3: fix some indent issues

commit b1c1115d7f
Author: Andrei Alexeyev <akari@taisei-project.org>
Date:   Mon Feb 22 16:23:07 2021 +0200

    stage3: fix deprecations in moonlight rocket

commit 990489e960
Author: Andrei Alexeyev <akari@taisei-project.org>
Date:   Thu Feb 4 08:53:00 2021 +0200

    stage3: port moonlight rocket

commit 859592a89b
Author: Andrei Alexeyev <akari@taisei-project.org>
Date:   Thu Feb 4 07:31:58 2021 +0200

    stage3: basic port of wriggle slaves

commit b88b4f5249
Author: Andrei Alexeyev <akari@taisei-project.org>
Date:   Mon Feb 1 06:28:30 2021 +0200

    stage3: port Light Singularity

commit db6bb13326
Author: Alice D <34408664+StarWitch@users.noreply.github.com>
Date:   Wed Mar 18 23:25:25 2020 -0400

    stage3: preliminary coroutinization (#197)

    * first enemy of Stage 3 converted

    * review suggestions

    * add interval for burst_swirls

    * mid-commit

    * fairy group (second spawned enemies)

    * forgot to use my own variable

    * comment changes

    * better understanding of second arg of create_enemy*

    * fix subtasks (wasn't using them the correct way)

    * swirls that go from one side to the other

    * burst fairies complete

    * all complete up until midboss (stage 3 coroutines)

    * remove sub-rule for projectiles in charge_fairy

    * entire stage on coroutines now (boss spellcards missing)

    * rip out more old/dead code, make file better organized

    * timing changes

    * remove old background (looks jank now with new timing)

    * PR review changes

    * slight readability changes

    * Scuttle lethal_bite implemented

    * PR changes (ignore wriggle, she's still a WIP)

    * revert Info.plist entry (for separate PR)

    * finish(?) Scuttle's deadly dance, plus some PR changes

Co-authored-by: Alice D <34408664+StarWitch@users.noreply.github.com>
Co-authored-by: Lukas Weber <laochailan@web.de>
2023-01-27 23:57:12 +01:00
Andrei Alexeyev
12af051d48
video: don't hide cursor in windowed mode 2023-01-27 23:44:29 +01:00
Andrei Alexeyev
dc2fc2b5c4
shader/lib/parallaxmap: bring default number of layers way down
Could probably lower it even more if needed. The quality difference is
hard to spot even when explicitly looking for it in 4k.
2023-01-27 00:12:31 +01:00
Andrei Alexeyev
40c3cd0f20
vfs: make repr slightly more readable 2023-01-23 15:06:26 +01:00
Frogggers
e5e9bff3c7
doc: Fix typo in BUILD.rst (#356) 2023-01-21 13:53:24 +02:00
Andrei Alexeyev
2b30973e92
vfs: disable logging of vfs_set_error() calls by default
This is very verbose and only useful for VFS debugging.
2023-01-20 17:13:46 +01:00
Andrei Alexeyev
a957b51298
vfs: fix vfs_mount_or_decref()
In practice this was not a problem because everything so far passes
vfs_root to vfs_mount_or_decref().
2023-01-20 17:13:46 +01:00
Andrei Alexeyev
324edfeb6b
vfs: rewrite union to use dynarrays and less allocations 2023-01-20 17:13:46 +01:00
Andrei Alexeyev
3169b16d10
vfs: refactor VFSNode allocation and handling of backend-specific data
VFSNode no longer has the generic void* data1 and data2 fields.
Introduced a macro system that allows backends to easily "subclass"
VFSNode to add extra fields.
2023-01-20 17:13:46 +01:00
Andrei Alexeyev
b42899cc6a
dynarray: fix dynarray_foreach_reversed
Honestly, not sure what is wrong with the original, but it breaks down
at -O2 or higher and this one doesn't.
2023-01-20 17:13:29 +01:00
Andrei Alexeyev
7bc0e09a70
shader/zbuf_fog_tonemap: remove dead code 2023-01-18 14:52:37 +01:00
Andrei Alexeyev
aa9929e469
pbr: add environment light modulation support 2023-01-18 14:52:37 +01:00
Andrei Alexeyev
746b20eb4f
shader/pbr_generic: ignore alpha in final color 2023-01-18 14:52:37 +01:00
Andrei Alexeyev
528aec0688
hashtable: add strset to predefs 2023-01-18 13:26:32 +01:00
Andrei Alexeyev
d32e53cb09
dynarray: add macros for reverse iteration 2023-01-18 13:26:32 +01:00
Andrei Alexeyev
0d3c2c1793
util/strbuf: fix strbuf_ncat() 2023-01-18 13:26:32 +01:00
Andrei Alexeyev
b6978178b1
memory: use custom memory allocation wrappers
Introduces wrappers around memory allocation functions in `memory.h`
that should be used instead of the standard C ones.

These never return NULL and, with the exception of `mem_realloc()`,
zero-initialize the allocated memory like `calloc()` does.

All allocations made with the memory.h API must be deallocated with
`mem_free()`. Although standard `free()` will work on some platforms,
it's not portable (currently it won't work on Windows). Likewise,
`mem_free()` must not be used to free foreign allocations.

The standard C allocation functions are now diagnosed as deprecated.
They are, however, available with the `libc_` prefix in case interfacing
with foreign APIs is required. So far they are only used to implement
`memory.h`.

Perhaps the most important change is the introduction of the `ALLOC()`,
`ALLOC_ARRAY()`, and `ALLOC_FLEX()` macros. They take a type as a
parameter, and allocate enough memory with the correct alignment for
that type. That includes overaligned types as well. In most
circumstances you should prefer to use these macros. See the `memory.h`
header for some usage examples.
2023-01-18 13:23:22 +01:00