Commit graph

2872 commits

Author SHA1 Message Date
Andrei Alexeyev
54c93d8923
Disable -Wimplicit-fallthrough for now
Unfortunately with clang10 this generates lots of spurious warnings from
SDL headers, even though they have fallthrough comments.
2020-04-04 02:54:00 +03:00
Martin Herkt
f60e0b1df3
Update email 2020-04-02 18:40:55 +02:00
Andrei Alexeyev
431237f0f2
Coroutinize MarisaA (#206) 2020-04-01 23:08:40 +03:00
Andrei Alexeyev
7b445fbc77
ent->spawn_id must not overflow 2020-04-01 02:15:13 +03:00
Andrei Alexeyev
40a604a6a5
Add 'use_gnu_ext' option
Controls the USE_GNU_EXTENSIONS define in compat.h
2020-03-31 22:51:31 +03:00
Andrei Alexeyev
b902e90229
Add alist_merge_tail to efficiently merge two lists
Empties the "source" list, moving its contents to the tail of the
"destination" list.
2020-03-31 22:16:10 +03:00
Andrei Alexeyev
09d1a65faf
Fixup scheduling order of tasks
Previously tasks that were invoked by an initial invocation of another
task were scheduler before that parent task. Now they are scheduled
after the parent task, following the sequential order of invocation
2020-03-31 22:16:04 +03:00
Andrei Alexeyev
55eaa3556a
Update wraps: SPIRV-Cross, SPIRV-Headers, SPIRV-Tools, glslang 2020-03-30 09:25:57 +03:00
Andrei Alexeyev
dc57f78d89
Prevent OS DPI scaling on windows (untested) 2020-03-30 02:04:46 +03:00
Andrei Alexeyev
07b6e0950c
Add r_framebuffer_get_size; abstract away SDL_GL_GetDrawableSize 2020-03-30 01:41:29 +03:00
Andrei Alexeyev
c5b28b2b15
Determine window size options dynamically 2020-03-30 00:47:07 +03:00
Alice D
77246397c3
Video resolution improvements/high-DPI quirks (#204) 2020-03-30 00:03:38 +03:00
Andrei Alexeyev
a54d1dcf32
ReimuA: use event-based bomb mechanism (like ReimuB) 2020-03-26 19:57:40 +02:00
Andrei Alexeyev
7b0d288cbe
ReimuB cleanup 2020-03-26 19:57:18 +02:00
Andrei Alexeyev
b6a6496c39
Coroutinize ReimuB (#205) 2020-03-25 08:52:18 +02:00
Andrei Alexeyev
b56f3eeb54
fix broken logic 2020-03-21 04:26:18 +02:00
Andrei Alexeyev
5086211a57
disable more stuff we don't need 2020-03-19 09:02:33 +02:00
Andrei Alexeyev
5435971a08
bunch of emscripten crap 2020-03-19 08:58:51 +02:00
Andrei Alexeyev
051f061b93
Update SDL2 wrap to 2.0.12 2020-03-19 08:58:33 +02:00
Andrei Alexeyev
186257cee6
Update libzip wrap to 1.6.1 2020-03-19 06:30:21 +02:00
Andrei Alexeyev
197cd93ef6
Update libwebp wrap to 1.1.0 2020-03-19 06:29:41 +02:00
Andrei Alexeyev
de0813151d
Update gamecontrollerdb 2020-03-19 05:51:39 +02:00
Andrei Alexeyev
02eb72608e
Fix various warnings 2020-03-19 05:04:11 +02:00
Andrei Alexeyev
c6f75c07ea
fix r_shader_uniform 2020-03-18 05:23:25 +02:00
Andrei Alexeyev
9aecad7aaa
inline get_ani 2020-03-17 11:47:14 +02:00
Andrei Alexeyev
a239d18cbe
Disable koishi thread safety by default
We don't run coroutines in parallel, so the TLS access only adds
pointless overhead.
2020-03-17 11:00:34 +02:00
Andrei Alexeyev
89579646b5
update koishi 2020-03-17 10:58:32 +02:00
Andrei Alexeyev
0fdea86be1
Implement Robin Hood hashing (#200)
* Implement Robin Hood hashing

This replaces the previous separate chaining implementation. This
approach is more memory-efficient, cache-friendly, and puts much less
stress on the memory allocator.

* Replace crc32 with fnva1

Also attempt to make the compiler pre-hash as much stuff as possible at
build time.
2020-03-17 10:09:49 +02:00
Andrei Alexeyev
15593ab207
ent_shutdown: panic if any live entities detected
In case this still happens in a release, log the error and try to at
least not corrupt the object pools.
2020-03-15 06:57:57 +02:00
Andrei Alexeyev
6df777b4b8
log: add LOG_FATAL_IF_DEBUG pseudo-level
This if LOG_FATAL in developer builds, LOG_ERROR otherwise
2020-03-15 06:57:04 +02:00
Andrei Alexeyev
d9ac1cfd92
ReimuA: fix subtle entity corruption (some trail particles not unregistered)
This is a simple & stupid fix, so it blows up the number of running
tasks into 200s, but premature optimization is indeed the root of all
evil.
2020-03-15 06:50:55 +02:00
Andrei Alexeyev
389a406a62
preliminary ReimuA balance attempt 2020-03-13 23:44:59 +02:00
Andrei Alexeyev
01e7ea8a33
Coroutinize ReimuA (#199) 2020-03-13 22:54:07 +02:00
Andrei Alexeyev
76a60d92a9
Fix stagetext_add_numeric
Pass correct buffer size, get rid of NUM_PLACEHOLDER nonsense.
Also update format_huge_num signature to identify buf as char[bufsize]
2020-03-09 03:31:17 +02:00
Andrei Alexeyev
adeca742ec
Fix CoEvents overflowing with zombie subscribers 2020-03-08 23:25:37 +02:00
Andrei Alexeyev
38d21bbb1f
fix some bad function pointer casts 2020-03-08 18:55:46 +02:00
Andrei Alexeyev
0d08042c39
Add angle_delta projectile property
for spinning in PFLAG_MANUALANGLE mode, or angle offset in auto-angle mode
2020-03-08 17:13:09 +02:00
Andrei Alexeyev
8c78c5e08c
fix non-developer build with assertions 2020-03-08 14:17:26 +02:00
Andrei Alexeyev
673a73cf76
Fix invalid free in edge case of coevent_cancel 2020-03-08 13:47:41 +02:00
Andrei Alexeyev
6413f2aadc
fix linking failures with clang+ASan 2020-03-08 12:41:43 +02:00
Andrei Alexeyev
35e0721cd1
Let ent-bound tasks wait for their own "finished" event 2020-03-08 03:41:02 +02:00
Andrei Alexeyev
d54c58a7bc
Add ability to wait for task's "finished" event
This works even if the scheduler is shutting down, allowing reliable
"cleanup" routines to be registered.
2020-03-08 02:35:53 +02:00
Andrei Alexeyev
f2c8fae0cc
Add NOT_NULL(ptr) macro
Used to assume/assert that a pointer is not NULL in an expression.
Returns that pointer.
2020-03-08 02:34:36 +02:00
Andrei Alexeyev
a8bf8012f6
shut up some anal-retentive warnings 2020-03-07 18:47:02 +02:00
Andrei Alexeyev
d6b2177786
update koishi 2020-03-07 00:08:29 +02:00
Andrei Alexeyev
4b721644ae
Add .mailmap 2020-03-06 17:16:51 +02:00
Andrei Alexeyev
909ca04ab3
Merge branch 'coroutines' (#196) 2020-03-06 13:51:46 +02:00
Andrei Alexeyev
a9604b1109
some sprite batching optimizations 2020-03-05 21:14:31 +02:00
Andrei Alexeyev
d259ffe074
Merge coroutines_temp atlas into common 2020-03-05 21:14:31 +02:00
Andrei Alexeyev
ebb509d80d
fix petal_explosion 2020-03-04 22:26:55 +02:00