Andrei Alexeyev
c7d7bc4cd9
cutscene: advance cutscene on MENU_ABORT if not interruptible
2024-10-24 01:35:04 +02:00
Andrei Alexeyev
5bd284cd3d
menu/common: commit persistent data before starting a new game
2024-10-24 01:23:42 +02:00
Andrei Alexeyev
b9c8dc168b
main: commit persistent data after intro cutscene
2024-10-24 01:23:17 +02:00
Andrei Alexeyev
021584a83b
emscripten: redesign shell, always use whole window for game canvas
2024-10-24 01:08:32 +02:00
Andrei Alexeyev
e3ff572d90
log: don't disable debug log for emscripten
2024-10-24 00:59:06 +02:00
Andrei Alexeyev
2a17e82f9d
emscripten: modularize js/wasm, split from html shell
2024-10-23 18:04:47 +02:00
Andrei Alexeyev
68871bbe88
renderer/glcommon: remove dead code
2024-10-06 07:09:01 +02:00
Andrei Alexeyev
053edc4ad9
main: change default value of TAISEI_KIOSK_TIMEOUT to 2 minutes
...
That's the value we actually used at DoKomi 2024
2024-10-06 06:51:12 +02:00
Andrei Alexeyev
bc4924ac59
stagedraw: disable face culling for 2D rendering
...
It's never needed, and sometimes we have to re-enable it e.g. for blast
particles. This lets those cases batch together with other sprites.
2024-10-04 16:27:28 +02:00
Andrei Alexeyev
b9ee7628ba
resource/font: no need to enable face culling in text_render
2024-10-04 16:27:28 +02:00
Andrei Alexeyev
cef9524068
boss,stagedraw: improve overlay draw order
2024-10-04 16:27:28 +02:00
Andrei Alexeyev
8198f55584
enemy_classes: use sprite_particle for swirls to improve batching
2024-10-04 16:27:28 +02:00
Andrei Alexeyev
08a129d424
boss: use sprite_particle shader for better batching
2024-10-04 16:27:28 +02:00
Andrei Alexeyev
5610ecb6b7
player: use sprite_particle shader for better batching
2024-10-04 16:27:28 +02:00
Andrei Alexeyev
bcc5b17430
item: use sprite_particle shader for better batching
2024-10-04 16:27:28 +02:00
Andrei Alexeyev
321ba481d9
renderer/common/sprite_batch: don't pass NULL to r_uniform_sampler
2024-10-04 16:27:28 +02:00
Andrei Alexeyev
7c82cbba9b
gl33: remove avoid_sampler_uniform_updates workaround and make it the default
2024-10-04 16:27:28 +02:00
Andrei Alexeyev
5274cec283
gl33: use glTexStorage* and glInvalidateTexImage* when available
...
glTexStorage is mostly intended to work around a regression in ANGLE's
Metal backend; see https://issues.chromium.org/issues/355605685
Potentially fixes #386
2024-10-01 04:22:30 +02:00
Andrei Alexeyev
cae66eeadc
vfs/union: fix subdir lookup order lottery
2024-09-29 06:02:07 +02:00
Andrei Alexeyev
8b09cca7c2
src/entity: simplify sort comparison function
2024-09-22 21:18:31 +02:00
Andrei Alexeyev
22e6f9b4de
renderer/common/sprite_batch: r_draw_sprite optimizations
2024-09-22 21:18:31 +02:00
Andrei Alexeyev
7f570d2338
renderer/common/sprite_batch: remove string fields from SpriteParams
2024-09-22 21:18:31 +02:00
Andrei Alexeyev
2b21ee0e3f
util/assert: remove __builtin_unreachable() after assert trap
2024-09-22 21:18:31 +02:00
Andrei Alexeyev
d84a94d2f8
util/stringops: add strfmt_arena()
2024-09-10 14:32:22 +02:00
Andrei Alexeyev
787773a53b
memory/arena: add snapshot and rollback APIs
2024-09-10 14:31:55 +02:00
Andrei Alexeyev
5e0d85af1b
memory/arena: add opportunistic free and realloc functions
2024-09-10 14:31:55 +02:00
Andrei Alexeyev
1fc752531a
memory/arena: fix alignment offset calculation
...
Previously would add an unnecessary padding equal to alignment if the
pointer is already sufficiently aligned
2024-09-10 14:31:55 +02:00
Andrei Alexeyev
1ca51a6690
memory/arena: fix page size calculation
2024-09-10 14:31:55 +02:00
Andrei Alexeyev
56f0fde7c6
util/compat: fix windows UNICODE defines
2024-09-10 14:31:55 +02:00
Andrei Alexeyev
8ad74bf62f
rwops/rwops_segment: fix missing include
2024-09-10 14:31:55 +02:00
Andrei Alexeyev
fda8556a39
src: deprecate strdup(), use mem_strdup() explicitly
...
This fixes a nasty bug that manifests on windows when building without
precompiled headers. util/stringops.h used to silently replace strdup
with a macro that's compatible with mem_free(). This header would
typically be included everywhere due to PCH, but without it the strdup
from libc would sometimes be in scope. On most platforms mem_free() is
equivalent to free(), but not on windows, because we have to use
_aligned_free() there. Attempting to mem_free() the result of a libc
strdup() would segfault in such a configuration.
Avoid the footgun by banning strdup() entirely. Maybe redefining libc
names isn't such a great idea, who knew?
2024-09-10 14:31:55 +02:00
Andrei Alexeyev
c8a2fb1418
memory: fix mem_realloc edge case on windows
2024-09-10 14:28:36 +02:00
Andrei Alexeyev
c150f4cd13
gl33: fix gl33_framebuffer_finalize_read_requests()
2024-09-03 01:52:50 +02:00
Andrei Alexeyev
c73aa60b0d
util/stringops: constify hexdigest()
2024-08-30 11:52:47 +02:00
Andrei Alexeyev
7e5a7fa513
util/strbuf: make UBSan happy
2024-08-30 11:52:47 +02:00
Andrei Alexeyev
49bcbac838
renderer: remove PRIM_LINE_LOOP
2024-08-30 11:52:47 +02:00
Andrei Alexeyev
48568b9227
renderer: add r_unclaim_window API
...
Must be called before destroying a window. Implementation is optional.
2024-08-30 11:52:47 +02:00
Andrei Alexeyev
7acdad7531
dynarray: make UBSan happy
2024-08-30 11:52:47 +02:00
Andrei Alexeyev
47c8f5bee3
gl33: don't try to fall back to r_shader_standard() if active shader is deleted
...
This prevents clean shutdown in tests that don't bring up the whole
resource system, and is not really a sane fallback anyway.
2024-08-30 11:52:47 +02:00
Andrei Alexeyev
043f09c668
gl33: remove magic _SIZE uniform handling
...
Only FXAA ever used this, and it's trivial to implement in client code
2024-08-30 11:52:47 +02:00
Andrei Alexeyev
85eff81c7f
resources/shader/fxaa: don't rely on magic _SIZE uniform
2024-08-30 11:52:47 +02:00
Andrei Alexeyev
141c942432
resource/font: disable mipmap generation
...
The mipmaps were never used
2024-08-30 11:52:47 +02:00
Andrei Alexeyev
be06946a31
renderer/api: add NUM_TEXTURE_CLASSES constant
2024-08-30 11:52:47 +02:00
Andrei Alexeyev
718fc9685f
resource/texture_loader: remove bad assert; handle r_texture_create() failure
2024-08-30 11:52:47 +02:00
Andrei Alexeyev
26959c4a1f
renderer/common/sprite_batch: replace tex_aux array in shaders with plain samplers
...
SDL_gpu doesn't support sampler arrays
2024-08-30 11:52:47 +02:00
Andrei Alexeyev
cbdff3ca41
stage1: use correct depth function in background
...
It's a mystery that this worked in opengl…
2024-08-30 11:52:47 +02:00
Andrei Alexeyev
7cd47e9404
renderer: move magic uniform definitions to common
2024-08-30 11:52:47 +02:00
Andrei Alexeyev
4ebd7ba14b
gl33: remove trailing [0] from array uniform names
2024-08-30 11:52:47 +02:00
Andrei Alexeyev
50056eb41a
renderer: decouple models and sprite_batch init/shutdown from main render system
2024-08-30 11:52:47 +02:00
Andrei Alexeyev
2fdf9baf36
renderer/api: remove dead struct
2024-08-30 11:52:47 +02:00