Commit graph

87 commits

Author SHA1 Message Date
Andrei Alexeyev
6da17d8b1d
get rid of Texture.truew/trueh; simplify some transformations 2018-01-29 10:35:35 +02:00
laochailan
03b75cac07
changed something that hopefully fixes it 2018-01-21 17:46:16 +01:00
laochailan
240e0362bb
rewrote most of the laser collision detection 2018-01-21 16:25:00 +01:00
Andrei Alexeyev
d2743196ce
use collision_step=1 for laser curves by default (better accuracy) 2018-01-12 21:58:47 +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
9b7ac2e747
optimize rendering of some additive stuff a bit 2018-01-11 09:33:51 +02:00
Andrei Alexeyev
032a3852d7
fix my clearhazards fuckups 2018-01-06 20:23:38 +02:00
Andrei Alexeyev
728709befa
make Ricci field grazeable again, but with a milder effect and reduced score (PFLAG_GRAZESPAM) 2018-01-06 11:44:27 +02:00
Andrei Alexeyev
fc8cda89d7
improve stage_clear_hazards api, add particle effect for cleared bullets 2018-01-06 11:24:46 +02:00
Andrei Alexeyev
485c9a8ed6
Happy New Year! 2018-01-04 19:14:31 +02:00
Andrei Alexeyev
e355e57fb5
make the list api require less insane casts all over the place
by sealing the spirit of insanity in its header file, that is
2017-12-24 08:16:25 +02:00
Andrei Alexeyev
29acd5f58a meson: intel intrinsics, various improvements 2017-12-21 03:58:54 +01:00
Andrei Alexeyev
abbc62b49c
object pools 2017-12-13 21:08:23 +02:00
Andrei Alexeyev
4b53d65c23
enable GL_TEXTURE_2D by default to reduce API calls 2017-11-22 02:05:42 +02:00
Andrei Alexeyev
7b53d9e731
redesign list api 2017-11-21 16:45:01 +02:00
Andrei Alexeyev
586af9a6b0
huge projectile API changes and optimizations (#93) 2017-11-10 22:49:16 +02:00
Andrei Alexeyev
00bd11ea89
item tweaks; improved after-death grace period
* items bounce off the viewport "walls"
    * autocollect is interrupted on death
    * all projectiles are continuously cleared during the death and
    respawn process
2017-10-31 15:47:20 +02:00
Andrei Alexeyev
a1204d40b2
new sfx, changed wriggle stage2 nonspell pattern
* bullet "redirection" sound
    * extra spell charge sound
2017-10-22 22:13:07 +03:00
Andrei Alexeyev
2290d9c2ea
WIP de Broglie tweaks 2017-10-22 05:52:37 +03:00
Andrei Alexeyev
c5717cca5e
wave-particle duality changes
whatever, ship it
2017-10-20 21:53:21 +03:00
Andrei Alexeyev
4d5f7e06d3
fix messed up static laser width/collision 2017-10-04 00:24:36 +03:00
Andrei Alexeyev
7627a1e531
New cirno hard+ spell: Winter Sign ~ Snow Halation 2017-10-03 08:46:15 +03:00
Andrei "Akari" Alexeyev
837c02c791
fix undefined behaviour in various places
these were found by UBSan in clang builds. they don't show up in gcc
builds
2017-09-26 03:38:34 +03:00
laochailan
6bd74a4139 REMEMBER to never make macros duplicate random arguments 2017-09-24 16:45:49 +02:00
Andrei "Akari" Alexeyev
7c9e54a71d
update copyright and credits 2017-09-12 04:28:15 +03:00
Andrei "Akari" Alexeyev
ae4eb3746f
ricci changes, with basic diff. balancing 2017-09-11 06:44:16 +03:00
Andrei "Akari" Alexeyev
7856bc997a fixed the fallback laser rendering method 2017-04-18 23:12:49 +03:00
Andrei "Akari" Alexeyev
084df4a8e9 removed a log_debug 2017-04-15 19:12:19 +03:00
Andrei "Akari" Alexeyev
7da6326140 more accurate/forgiving laser collision detection 2017-04-15 19:09:14 +03:00
Andrei "Akari" Alexeyev
528323a92d WIP phosphaenus hemipterus redesign 2017-04-14 07:00:11 +03:00
Andrei "Akari" Alexeyev
1742366980 laserclearing fixes and tweaks 2017-04-06 02:09:09 +03:00
Andrei "Akari" Alexeyev
784b04ea37 experimental laser clearing animation/mechanic, similar to how bullets die 2017-04-06 01:46:00 +03:00
Andrei "Akari" Alexeyev
86930cfdc0 Merge branch 'master' into extraspells 2017-03-11 03:49:09 +02:00
Andrei "Akari" Alexeyev
dc1cfa7ae9 Merge branch 'master' into res-refactor 2017-03-11 03:17:12 +02:00
Andrei "Akari" Alexeyev
0b9eb062df WIP wriggle night ignite tweaks 2017-03-07 17:56:47 +02:00
Andrei "Akari" Alexeyev
3416fb16ec fix a GL error in instanced lasers
this does not fix wave theory
2017-03-05 04:40:49 +02:00
Andrei "Akari" Alexeyev
ca16c30966 large refactoring WIP
windows & osx untested
bgm untested
too many changes to comment on
2017-03-05 00:39:17 +02:00
Andrei "Akari" Alexeyev
24dd1c8c39 Merge branch 'master' into extraspells 2017-03-03 19:45:20 +02:00
Andrei "Akari" Alexeyev
41fa6d9d76 malloc-less colors 2017-03-03 19:31:04 +02:00
Andrei "Akari" Alexeyev
248210f575 Merge branch 'master' into extraspells 2017-02-27 17:36:43 +02:00
Andrei "Akari" Alexeyev
0091c7aca7 Refactored the gl loader into a polyglot macro monstrosity
We no longer link to libGL by default. All GL functions are loaded
dynamically through SDL apis. Use -DLINK_TO_LIBGL to enable linking, in
which case Taisei won't try to dynamically load any of the gl functions.

Previously we used a strange inconsistent setup where some functions
were loaded dynamically and others pulled from the linked library.

We also no longer link to libGLU even if LINK_TO_LIBGL is set. The only
function we used from that library was gluPerspective. taiseigl now
provides a simple substitute via glFrustum.

The SDL2 gl headers are now used instead of the system ones, this should
be more portable. The taiseigl.h header contains generated code
partially based on content from those headers. It also doubles as a
python3 script that actually generates that code and inserts it into
itself. It scans the Taisei source tree for gl* calls and generates code
only for the functions we use, and a few manually specified ones that
are called indirectly.

Assumptions such as "linux = glx" are no longer made. SDL takes care of
platform specifics, as it should.

The GL_EXT_draw_instanced/GL_ARB_draw_instanced extension detection has
been improved. Taisei should be able to figure out which one to use
without a compile-time check, and support for the ARB version has been
actually implemented for the laser snippet loader. I've tested it on
Windows 8 with Intel drivers that don't support the EXT version but do
support the ARB one, instanced drawing works and the lasers don't lag!
OSX should benefit from this change as well, although I've not yet
tested the OSX build, beyond simply compiling it.
2017-02-25 15:24:54 +02:00
Andrei "Akari" Alexeyev
cc00a8754e unbroke laser rendering 2017-02-25 00:08:23 +02:00
Andrei "Akari" Alexeyev
99419d44ac WIP extraspell for Iku
Review and tweaking needed. Does not support difficulties yet.
2017-02-25 00:08:23 +02:00
Andrei "Akari" Alexeyev
b0abd177ac Removed redundant null checks before free() calls
free(NULL) is guaranteed to be a no-op by the C standard, so let's not
clutter the code with those.
2017-02-23 16:05:55 +02:00
Andrei "Akari" Alexeyev
32f7edd24e Refactored config into a macro hell 2017-02-17 18:03:49 +02:00
Andrei "Akari" Alexeyev
e8f52f1b49 Scoring changes
* Score is now preserved between stages in story mode as it was intended
    * Score given for shooting enemies is now based on the projectile damage
    * Some score is also given for shooting the boss, also based on the projectile damage
    * Score given for grazing has been increased substantially
    * Grazing range has been increased
    * The graze counter is now reset between stages
2017-02-11 00:05:22 +02:00
Andrew "Akari" Alexeyew
7d53d3fb27 laser grazing 2012-08-14 17:14:53 +03:00
Andrew "Akari" Alexeyew
779ff58684 Fixed all the () prototypes, changed to (void) 2012-08-10 23:08:51 +03:00
laochailan
a8251b1966 Merge branch 'master' into stage6
Conflicts:
	shader/laser_snippets
	src/CMakeLists.txt
	src/global.h
	src/projectile.c
	src/stage.c
	src/stage.h
	src/stages/stage3.c
	src/stages/stage3_events.c
	src/stages/stage4_events.c
2012-08-03 16:55:10 +02:00
Andrew "Akari" Alexeyew
eff7bb6435 Merge remote-tracking branch 'upstream/master' into stage3 2012-08-03 00:40:20 +03:00