Commit graph

2740 commits

Author SHA1 Message Date
Andrei Alexeyev
1acd9b4d12
sync music after skipping to bookmark 2020-03-04 22:26:40 +02:00
Andrei Alexeyev
f4d25a8409
basic "bookmark" system for skipping to specific stage portions 2020-03-04 22:26:40 +02:00
Andrei Alexeyev
7ca54ec350
Add CANCEL_TASK_AFTER and macros for boss attacks
Also document various coroutine system macros
2020-03-04 22:25:44 +02:00
Andrei Alexeyev
a753bd462d
remove a bunch of stage1 dead code 2020-03-04 22:06:40 +02:00
Andrei Alexeyev
20a417da97
remake Cirno's snowflake non 2020-03-04 22:06:40 +02:00
Andrei Alexeyev
75e99fa5c8
fix another subtask corruption 2020-03-04 22:06:40 +02:00
Andrei Alexeyev
490b224bd7
run upkeep 2020-03-04 22:06:39 +02:00
Andrei Alexeyev
953ac1c97b
macro fuckery for boxed ent arrays 2020-03-04 22:06:39 +02:00
Andrei Alexeyev
56aebcd921
fix corruption when subtask ends before its parent 2020-03-04 22:06:39 +02:00
Andrei Alexeyev
a846e4598f
event-based way to wait for boss defeat and retrieve the waiting time 2020-03-04 22:06:39 +02:00
laochailan
8a1f51dce8
pfreeze 2020-03-04 22:06:39 +02:00
Andrei Alexeyev
1ddea7ab97
random wandering function 2020-03-04 22:06:38 +02:00
laochailan
10f0ffe814
snowflake port 2020-03-04 22:06:38 +02:00
Andrei Alexeyev
63c55ba09b
remove some bad assertions 2020-03-04 22:06:38 +02:00
Andrei Alexeyev
6596b76641
Add dependent subtasks; fix finalization bugs 2020-03-04 22:06:38 +02:00
Andrei Alexeyev
3dcc3dbfa1
add PFLAG_NOMOVE and PFLAG_MANUALANGLE 2020-03-04 22:06:38 +02:00
Andrei Alexeyev
9498e64dd1
further task-boss infrastructure WIP 2020-03-04 22:06:38 +02:00
Andrei Alexeyev
e14eb36e5c
implement some infrastructure for coroutine bosses 2020-03-04 22:06:37 +02:00
laochailan
4dc86d976c
Create extra stage stub (with an enemy pattern) 2020-03-04 22:05:55 +02:00
Andrei Alexeyev
65a0f77d01
stage1 progress: pre-midboss section somewhat playable (tuned for lunatic) 2020-03-04 21:53:28 +02:00
Andrei Alexeyev
b45fdfdd84
Use INLINE macro for various static-inline functions 2020-03-04 21:52:54 +02:00
Andrei Alexeyev
c9ab42dc02
wip stage 1 progress 2020-03-04 21:52:53 +02:00
Andrei Alexeyev
c3d7827b7c
add generic move support for enemies 2020-03-04 21:52:53 +02:00
Andrei Alexeyev
4e4224dc59
task system tweaks and early Stage 1 port attempt 2020-03-04 21:50:51 +02:00
Andrei Alexeyev
76aef22e23
integrate task scheduling into the stage loop 2020-03-04 21:50:51 +02:00
Andrei Alexeyev
5b0b676c0e
INVOKE_TASK_DELAYED; CANCEL_TASK_WHEN; event robustness fixes 2020-03-04 21:50:51 +02:00
Andrei Alexeyev
156d8147b1
Add a way to define extern tasks (to reference across files) 2020-03-04 21:50:51 +02:00
Andrei Alexeyev
13b5e33b0c
add 'killed' event for projectiles 2020-03-04 21:50:51 +02:00
Andrei Alexeyev
2a34f7bad4
generalize common bullet motion rules; add some math helpers 2020-03-04 21:50:50 +02:00
Andrei Alexeyev
439d8ea339
add kill_projectile() as a kind-of ACTION_DESTROY substitute 2020-03-04 21:50:50 +02:00
Andrei Alexeyev
3f99739d62
coroutines: task finalizers; fix enemy death event 2020-03-04 21:50:50 +02:00
Andrei Alexeyev
9fe54e0335
experimental event system for coroutine-based stages 2020-03-04 21:50:50 +02:00
Andrei Alexeyev
1579082e30
"Boxed" entities; facility to bind tasks to entity lifetime 2020-03-04 21:50:50 +02:00
Andrei Alexeyev
6a8ed64adb
make enemy logic rule optional 2020-03-04 21:50:50 +02:00
Andrei Alexeyev
bdef62d7f4
Initial coroutine/task system implementation 2020-03-04 21:50:22 +02:00
Kasymov Grigorii
6ba4d4fa6b
move sound resume code to js for emscripten build (#195) 2020-03-02 10:54:30 +02:00
Andrei Alexeyev
8aad971114
clear up some ancient 3D confusion 2020-02-22 08:56:41 +02:00
Andrei Alexeyev
fadd6de76d
refactor some aspects of path config, ANGLE libs in particular 2020-02-21 00:36:40 +02:00
Alice
0b29dd473b
OpenGL ES 3.0/ANGLE support on macOS (#190)
* fixing OpenGL ES 3.0 support in macOS

* make GLES libraries loaded via buildconf vars

* fix relative install paths for macOS

* fix indenting, add comments

* fix indentation for REAL this time (thanks editorconfig)
2020-02-20 04:16:28 +02:00
Andrei Alexeyev
5d02fa4e47
webgl: enable WEBGL_debug_renderer_info 2020-02-18 06:00:29 +02:00
Andrei Alexeyev
58f7dc7d7b
Workaround for macOS AMD performance issues (#188)
fixes #182
2020-02-18 05:56:36 +02:00
Alice
00cd15af21
fix Stage 1 water effect on Intel UHD (#189) 2020-02-18 05:06:21 +02:00
Andrei Alexeyev
f4a3207f61
support GL_ANGLE_base_vertex_base_instance 2020-02-15 20:58:15 +02:00
Andrei Alexeyev
7474ff3a25
OpenGL ES 2.0 support (#187)
* WIP gles2 compat

* More gles2 compat. Playable with ANGLE now, with some rendering bugs.

* fix matrix mult. order in generic laser shader

* gles20: fix indexed rendering

* Update docs about gles20 status

* fix formatting
2020-02-15 19:45:09 +02:00
laochailan
44bd09bada
linear3dpos saved a multiplication and draw nearest to farthest 2020-02-01 08:55:37 +01:00
laochailan
7e6b98fe4f
refactored linear3dpos 2020-02-01 08:37:36 +01:00
Andrei Alexeyev
3bd884cd1b
Stage3D improvements
* More consistent function names
* No need to register models, just pass what you want to draw to
stage3d_draw()
* Optimize vector math
2020-02-01 03:24:17 +02:00
makise-homura
f9f1f41991 Fix for strange behavior of elbrus compiler regarding __auto_type
On `__auto_type x = y`, it creates x as array rather than pointer
if y is array, while gcc always makes x a pointer.
2020-01-24 02:33:14 +03:00
Andrei Alexeyev
1cca9173b8
renderer: expose half-float and depth{24,32} pixel formats 2020-01-16 21:58:25 +02:00
Andrei Alexeyev
b8c2755ce1
attempt to fix more feature-test-macro portability issues 2019-12-18 15:38:00 +02:00