Commit graph

257 commits

Author SHA1 Message Date
laochailan
c2c4db8382 Fixed some broken effects 2012-04-06 18:01:12 +02:00
laochailan
d9af7b298f Removed bullet flare particle 2012-04-06 15:54:30 +02:00
laochailan
d96b368b4e Made shaders cache uniform locations 2012-04-05 16:27:18 +02:00
laochailan
9cd2187225 GL profiling, removing redundant gl calls 2012-04-05 14:24:55 +02:00
laochailan
6555180fb9 Big fairies + additive blending 2012-04-04 17:19:53 +02:00
laochailan
75d7e8489e Using a VBO for all the quads. 2011-12-25 08:18:03 +01:00
laochailan
8d236c7678 Balanced shotmodes and stage 2011-11-05 10:24:58 +01:00
laochailan
9242166daf Renovated Youmu Slash of Present bomb 2011-11-02 20:00:14 +01:00
laochailan
2ab202573d Renovated Marisa/Star Sign 2011-11-01 21:20:40 +01:00
laochailan
7b2e97fcec Added bombs for Youmu 2011-08-29 16:12:59 +02:00
laochailan
117bb30bf3 Improved boss health bar 2011-08-28 10:57:45 +02:00
laochailan
beef1c059e Finished stage 0
Balancing issues, different difficulty settings still not implemented.
2011-08-27 15:56:02 +02:00
laochailan
d04475591c create_element() was stupidish
so was youmu_homing()
2011-07-14 12:00:22 +02:00
laochailan
b0dbe755f9 Improved youmu homing
also:
+ master spark sound
* only one of a sound per frame
* references are more efficient
2011-07-07 14:34:30 +02:00
laochailan
363e8043c1 Added Marisa star shot mode 2011-07-06 14:33:53 +02:00
laochailan
a2a6fb9343 marisa laser revamped
also added fullscreen config option
2011-06-29 17:01:03 +02:00
laochailan
561a7faf4b fancyness and content
i am content with the current development of content.
2011-06-28 19:23:02 +02:00
laochailan
36e4dc331b compatibility for old hardware
added two config options:

disable_shader: will turn off the use of shaders and fbos in the game. there is no full replacement for them, however.
disable_audio: guess what.

both options *should* be activated automatically as soon as something goes wrong.
2011-06-27 13:36:35 +02:00
laochailan
e470236379 use glew and err.h replacement
some changes for compatibility and windows.
2011-06-26 16:10:13 +02:00
laochailan
5a2ac5b7ba "API changes", swirl
you see dat swirl? you see two z^3*i^|z|?
2011-06-26 13:45:27 +02:00
laochailan
e2ec67bc39 Player Selection.
may also include traces of minor fixes i forgot.
2011-06-24 19:16:05 +02:00
laochailan
c811fa76e7 Fx/API/Particles
Bullet creation and death effects (don't know what is new in detail), improvements on the "API", especially around create_projectile() and extensive use of particles in addtion with generic particle/projectile movement and drawing rules (see projectile.h)
2011-05-21 15:02:19 +02:00
laochailan
5239e7ec08 added myon draw rule
sometimes complicated things already lay on the table. think about it before sacrificing your paper and spinal health for extensive math gore.
2011-05-14 17:26:43 +02:00
laochailan
91b3b7d65e reference system
added some kind of reference system (see list.h) to ensure particles/projectiles/enemies storing pointers to each other that they will not access a borked address.
2011-05-13 19:03:02 +02:00
laochailan
eae73f77ad added Freeze Sign ~ Perfect Freeze
implementation of test spellcard almost as seen in Touhou 6.
2011-05-09 13:42:02 +02:00
laochailan
b16df91ad5 removing SDL_image dependency
taisei now uses plain libpng to load graphics ... and various other changes I don't remember.
2011-05-06 17:09:43 +02:00
laochailan
c220f7b4ae uh cirno and poweritem -> item 2011-04-29 10:26:37 +02:00
laochailan
3f2885e185 fix: memleaks
there were some memleaks I left out of laziness. fixed.
2011-04-26 22:39:50 +02:00
laochailan
72286b4529 projectile coloring by shader 2011-04-26 16:55:18 +02:00
laochailan
bdc0db9957 merged Slave and Fairy to Enemy
To create a slave, pass ENEMY_IMMUNE for hp in create_enemy(). tip: create_enemyg(...) is an abbreviation for create_enemy(&global.enemies, ...).
There is something like a super fancy event system for Enemies' logic rules now: logic_rule will be called with t = negative special values like EVENT_BIRTH or EVENT_DEATH on corresponding events. cool, isn't it? well those values have to be filtered out (like if(t < 0) return;) if you don't use them so they don't do strange things with your locus.
2011-04-26 12:04:45 +02:00
laochailan
d280d8c8ad laz0rs
added straight and curved types of lasers. I'm searching for a better way to render them though. also, renewal of Youmu's shot, inspired by th13.
2011-04-24 15:39:17 +02:00
laochailan
4583f592b6 Points and slaves
Another Sarrg commit implementing score, different items and alternative player shot modes. Some things need improvements, some don't. But this commit fixes a bug with bomb counting, which is I think enough reason to push it now.
2011-04-10 10:23:24 +02:00
laochailan
1a625a8ffa Bosses
added boss support. not enough time to explain.
2011-04-08 18:59:03 +02:00
laochailan
88a77b3fb8 sound system added
load_textures() was changed to load_resources() and will now load all sounds in sfx/. playing via play_sound(char *name) (or the pointer variant). positional audio is not implemented yet.

and some other changes.
2011-04-02 12:14:37 +02:00
laochailan
0268449151 fixed recovery for death/bombs
player.recovery is now negative for death recovery times and positive for bomb recovery. abs(player.recovery) is the end frame of the recovery.
2011-03-29 15:55:46 +02:00
laochailan
24aaafa929 Lifes, Bombs and mighty Perspective
Another Sarrg-commit.
2011-03-23 12:26:30 +01:00
laochailan
ec85251571 dynamic texture loader
The static texture loading was replaced by a dynamic loader. Every png file in gfx/ is (recursively) loaded at the beginning and accessed via get_tex(name) or get_ani(name).name for "gfx/stage1/border.png" would be "stage1/border".

Sprite information is to be specified in the filename in the pattern: ani_${row count}_${col count}_${animation frequency}_${name}.png
2011-03-19 16:21:48 +01:00
laochailan
da36d2cd07 Power Items: Auto Collect
Items start approaching the player when they are on the top of the screen or close to them.
2011-03-19 09:11:05 +01:00
laochailan
a889515b2a Complex positions
Ever thought about abusing C1 as R2? I tried and it turned out to be very comfortable, especially when you realize that you can use massive imaginary power to move your rice. I also fixed various things on the way which I forgot. hm.
2011-03-18 19:03:06 +01:00
laochailan
a10f5eea93 power items.
Sarrg was friendly enough to provide us some power item support. Looks like in the orignal in some way.
2011-03-17 21:13:11 +01:00
laochailan
05fb40b7f4 forgot git add *cough* 2011-03-07 13:59:55 +01:00
laochailan
48b42d42e6 memleak/crash on player shot fix
two fixes.
2011-03-07 13:41:10 +01:00
laochailan
55c7866755 drawing gaps fixed
The gap problem is solved for now, by abandonning the frame limiter and setting simple delay plus using a higher framerate (100 FPS). but i had to regress to frame-dependent movement, because things were buggy.
2011-03-07 07:26:43 +01:00
Lukas Weber
5b9199adcf reverted style
and added higher resolution version of fairy_circle.png
2011-03-06 17:00:25 +01:00
Lukas Weber
90ad677742 frame independent movement
didn't fix the problem though.
2011-03-05 19:03:32 +01:00
Lukas Weber
7d5fdfa0ea nothing important
uhm just putting a newer version online.
2010-11-29 16:33:01 +01:00
Lukas Weber
7ddf4fe3ca Fancyness! Fairies + HUD
- HUD is more like in original touhou
- Fairies look hot now.

- sorry for the giant svg diff :/
2010-11-28 07:31:26 +01:00
Lukas Weber
bdfceda7b9 Power! and fonts
I built some font support (new dependency: SDL_ttf). The Biolinum font of the Libertine project was included as the new ingame font.

Shot at fairies and you will get power. The system is pretty dumb currently, i guess i'll improve it somwhen. If you get a power level >= 2 you get a better shot. anyway, just testing. the player projectiles are somewhat uncomfortable to look at. to do.
2010-11-14 13:24:56 +01:00
Lukas Weber
a4a2d9a1a1 killed list double code
yay. look, i cut some of that annoying list code repetitions you always have with linked lists in C. let's just pretend C had templates, put some void-pointers in, add the necessary (void *) casts to show that you are really serious about this and wazaah, you created another funny piece of (C++)--
2010-10-27 19:51:49 +02:00
Lukas Weber
3203fc754f new create_particle() syntax; drawing
- order of create_projectile() arguments changed to enable stating a variable amount of parameters depending on the movement rule. movement rules were generalized and could be used for fairies also in the future.

- drawing should be faster now. we have a frame limiter and clearer drawing code now (except of draw_projectiles() which was victim to an optimizing frenzy)
2010-10-24 14:44:48 +02:00
Lukas Weber
6a418fe2a1 projectile drawing faster
performance improvements on the drawing part. mostly achieved by minimizing texture changes and efficient use of glScalef().
2010-10-18 14:40:15 +02:00
Lukas Weber
f5f844235b test danmaku
small danmaku showing the momentary possibilities of the system
2010-10-17 22:25:10 +02:00
Lukas Weber
5e3061a911 fairy collision
fairies are hit and hurt by player's projectiles. rampage risk for openth players raised by 200%
2010-10-17 10:39:07 +02:00
Lukas Weber
4cdadbc918 projectile collisions
player can be hit by projectiles now.
2010-10-17 09:27:44 +02:00
Lukas Weber
38fff7fc29 new textures + fix
- added rice, bigball and youmu textures.
- minor fix in projectile drawing.
2010-10-14 12:27:00 +02:00
Lukas Weber
8e3970f3ae texture-projectiles/texture improvements
- added reimplementation of texture-projectiles (drawing them with opengl primitives wasn't a good idea after all).

Note: projectile graphics now contain two versions of the projectile, look at gfx/projectiles/ball.png for example. the left version is the uncolored part and the right one is the colored part. I added a shell script building these projectile textures from the B and G channels of an image to make storing the sources in one piece easier (reference: gfx/projectiles/{render.sh,ball.svg}).

- some improvements on texture loading/drawing + a fancy error message, so it won't segault silently at that place again.
2010-10-13 12:38:38 +02:00
Lukas Weber
95c257064c first commit
yay, let's get things started.
2010-10-12 10:55:23 +02:00