Andrei Alexeyev
8b37d1cbf2
src: the great #include massacre of 2024
2024-05-17 14:11:48 +02:00
Andrei Alexeyev
be7905d6a3
src: run upkeep
2024-05-17 04:58:47 +02:00
Andrei Alexeyev
886ba290a9
util/callchain: split from eventloop
2023-04-07 16:08:49 +02:00
Andrei Alexeyev
8d2ee76710
replace include guards with #pragma once
2021-08-31 23:34:46 +03:00
Andrei Alexeyev
0cbc86c66e
Add generic type-safe facility for dynamic arrays ( #207 )
...
Replace most ad-hoc opencoded dynamic arrays across the codebase
2020-04-05 05:51:00 +03: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
5a23fb95fc
make upkeep script preserve existing copyrights
2019-08-03 20:44:22 +03:00
Andrei Alexeyev
3055901998
update my email
2019-07-03 21:00:56 +03:00
Andrei Alexeyev
4159ea1249
'upkeep' target for maintenance tasks; back to include guards; happy new year!
2019-01-23 22:10:43 +02:00
Andrei Alexeyev
b16f402040
Refactor framebuffer-related stuff ( #130 )
...
* Renderer: rename render targets to framebuffers
* Refactor framebuffer pair helper and some of the video API
* Remove hardcoded dimensions from draw_framebuffer_tex
* Make viewport a per-framebuffer property rather than a global one
* Handle config updates via the events system. React to viewport fg/bg quality change requests.
2018-07-04 11:36:16 +03:00
Andrei Alexeyev
2932247249
attempt to refactor the util disaster into several smaller disasters
2018-05-15 03:27:25 +03:00
Andrei Alexeyev
ef37b22d6d
Improve (totally rewrite) projectile collision detection and graze mechanics ( #122 )
...
* improve (totally rewrite) projectile collision detection and graze mechanics
* fix lineseg_circle_intersect as per lao's suggestion
* adjust hit"boxes"
* fix false hits on inductive resonanse (bad lerp)
* initialize projectile prevpos on spawn
* pp_basic_init_projectile: always override the projectile's sprite when setting the prototype
2018-05-13 16:08:58 +03:00
Andrei Alexeyev
fd06ad3026
fix some of the set_ortho/draw_fbo madness
2018-04-26 02:50:48 +03:00
Andrei Alexeyev
af7c4bbb4f
add portable wrappers around getenv/setenv and friends
2018-04-18 01:34:41 +03:00
Andrei Alexeyev
59cf8f6300
Rendering system rewrite, tons of refactoring, optimizations, and other cool stuff ( #116 )
2018-04-12 17:08:48 +03:00
Andrei Alexeyev
c6789f5908
move assert stuff into its own module
2018-02-07 10:19:21 +02:00
Andrei Alexeyev
a9561d7baf
Sprites and texture atlases; upgrade most graphics to a higher resolution (optimized for 1600x1200) ( #113 )
2018-02-06 08:19:25 +02:00
Andrei Alexeyev
48649b2c24
teach begin_draw_texture to draw an arbitrary fragment
...
this is a tiny intermediate step towards a more flexible sprite system
it also seems to improve performance a little bit, though that's moot
since we're going to rewrite this part later together with most of the
rendering code anyway.
2018-01-29 05:37:05 +02:00
Andrei Alexeyev
30b0c4e3ee
moved draw_stars to util, optimized/rewrote it in the process
2018-01-20 16:53:31 +02:00
Andrei Alexeyev
a2399b76f3
move framerate stuff to its own file
2018-01-20 16:17:32 +02:00
Andrei Alexeyev
513d613387
Consistent indentation: indent with tabs, align with spaces ( #104 )
...
I would've preferred to just go with 4-spaces for indent and no tabs,
but lao is a bit conservative about it. :^)
Still, this is a ton better than mixing different styles all over the
place, especially within the same file.
2018-01-12 20:26:07 +02:00
Andrei Alexeyev
485c9a8ed6
Happy New Year!
2018-01-04 19:14:31 +02:00
Andrei Alexeyev
48b13cd83a
frameskip option for slow GPUs
2017-12-26 13:07:40 +02:00
Andrei Alexeyev
d66793a117
add option to swap buffers after waiting for next frame
...
also restructured loop_at_fps a bit. it now handles FPS counter updates
and buffer swaps.
2017-12-26 10:56:21 +02:00
Andrei Alexeyev
ddb5bee65f
fix some warnings
2017-12-24 18:38:08 +02:00
Andrei Alexeyev
29acd5f58a
meson: intel intrinsics, various improvements
2017-12-21 03:58:54 +01:00
Andrei Alexeyev
6c8f304a9c
fix accelerated crc32 never being used
2017-12-14 09:46:48 +02:00
Andrei Alexeyev
f8be292802
make my windows cross-compiler (gcc 7.2 from mxe) shut the fuck up
2017-11-24 16:23:24 +02:00
Andrei Alexeyev
db8dd8ad7c
desperate optimizations
...
i even used a profiler
2017-11-23 18:23:30 +02:00
Andrei Alexeyev
76ee80b6da
(attempt to) prevent draw code from altering state
2017-11-16 22:25:03 +02:00
Martin Herkt
119535eda4
Fix symbol clashes
...
Happens to remove some duplicate code as well.
2017-11-12 04:51:04 +01:00
Andrei Alexeyev
499259512b
fix fullscreen/window management issues
2017-11-11 20:47:32 +02:00
Andrei Alexeyev
fa69e96643
make sure strtok_r doesn't clash with the system version
2017-11-10 22:26:09 +02:00
Andrei Alexeyev
62c34e3b5a
WIP fucking badass Marisa lasers
2017-10-31 08:57:32 +02:00
Andrei Alexeyev
05478cd543
another desperate attempt at an accurate fps limiter
2017-10-04 08:07:04 +03:00
Andrei Alexeyev
4e2e050baa
basic utf8 text input, with clipboard support
2017-10-01 00:43:22 +03:00
laochailan
03a2426012
update to use #pragma once
2017-09-27 14:14:53 +02:00
laochailan
4eec55223a
fps counter cleanup
2017-09-20 16:42:36 +02:00
Andrei "Akari" Alexeyev
35a933426a
remove remains of dead code, revert fps to 1 update/second
2017-09-19 17:36:17 +03:00
Andrei "Akari" Alexeyev
0647566e20
add env variable: TAISEI_NOUNLOAD
...
if 1, all resources are loaded in permanent mode
2017-09-13 08:52:55 +03:00
Andrei "Akari" Alexeyev
7c9e54a71d
update copyright and credits
2017-09-12 04:28:15 +03:00
Andrei "Akari" Alexeyev
9b6f51ca67
WIP ricci sign overhaul
2017-09-11 04:46:39 +03:00
Andrei "Akari" Alexeyev
5dd2d70bec
Merge branch 'master' into vfs
2017-05-07 02:03:17 +03:00
Andrei "Akari" Alexeyev
c76e16ef70
Add some potentially useful warnings
2017-05-07 02:02:56 +03:00
Andrei "Akari" Alexeyev
7546b706f5
win32 implementation of vfs_syspath. tested on wine
2017-04-21 07:22:43 +03:00
Andrei "Akari" Alexeyev
12147f4486
Merge branch 'master' into vfs
2017-04-21 02:27:05 +03:00
Andrei "Akari" Alexeyev
e3da5f27f6
more correct and portable printing of size_t and fixed-width integers
...
previously it didn't work properly on windows
2017-04-21 02:11:53 +03:00
Andrei "Akari" Alexeyev
471f30083e
WIP virtual filesystem
2017-04-20 05:02:22 +03:00
Andrei "Akari" Alexeyev
edf584b9f3
WIP rendering quality (resolution) settings.
...
Rewrote a lot of the stage drawing and FBO handling code. Introduced
some WTFs, hence the WIP.
2017-04-07 12:59:23 +03:00
laochailan
1e16b9bc0b
Merge branch 'master' of github.com:laochailan/taisei into extraspells
2017-03-29 08:58:51 +02:00