Merge branch 'master' into stage5

This commit is contained in:
laochailan 2012-07-22 09:32:22 +02:00
commit 8750e83e8b
5 changed files with 122 additions and 10 deletions

BIN
gfx/proj/bullet.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 454 B

102
gfx/proj/bullet.svg Normal file
View file

@ -0,0 +1,102 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="13"
height="22"
id="svg2"
version="1.1"
inkscape:version="0.48.3.1 r9886"
sodipodi:docname="bullet.svg">
<defs
id="defs4">
<filter
inkscape:collect="always"
id="filter3852"
x="-0.14808512"
width="1.2961702"
y="-0.077939533"
height="1.1558791"
color-interpolation-filters="sRGB">
<feGaussianBlur
inkscape:collect="always"
stdDeviation="0.61702128"
id="feGaussianBlur3854" />
</filter>
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="22.075"
inkscape:cx="1.2644394"
inkscape:cy="14.218009"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="true"
inkscape:window-width="1920"
inkscape:window-height="1061"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0">
<inkscape:grid
type="xygrid"
id="grid3758"
empspacing="5"
visible="true"
enabled="true"
snapvisiblegridlinesonly="true"
originx="0.5px"
originy="1.5000018px" />
</sodipodi:namedview>
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Ebene 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0.5,-1031.8622)">
<path
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#00ff00"
d="m 1,1040.3622 c 0,-3.8165 3.3333333,-7 5,-7 1.6666667,0 5,3.1835 5,7 l 0,12 -10,0 z"
id="rect2987"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cscccc" />
<path
sodipodi:nodetypes="cscccc"
inkscape:connector-curvature="0"
id="path3770"
d="m 1,1040.3622 c 0,-3.8165 3.3333333,-7 5,-7 1.6666667,0 5,3.1835 5,7 l 0,12 -10,0 z"
style="fill:#00ff00;fill-opacity:1;fill-rule:nonzero;stroke:#00ff00;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:none" />
<path
style="fill:#0000ff;fill-opacity:1;fill-rule:nonzero;stroke:none;filter:url(#filter3852)"
d="m 1,1040.3622 c 0,-3.8165 3.3333333,-7 5,-7 1.6666667,0 5,3.1835 5,7 l 0,12 -10,0 z"
id="path3772"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cscccc" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.1 KiB

View file

@ -463,14 +463,13 @@ void stage_loop(StageInfo* info, StageRule start, StageRule end, StageRule draw,
if(REPLAY_ASKSAVE) {
global.menu = create_saverpy_menu();
while(global.menu) {
stage_draw(draw, shaderrules, endtime);
ingame_menu_logic(&global.menu);
if(!global.menu)
break;
menu_input(global.menu);
stage_draw(draw, shaderrules, endtime);
menu_input(global.menu);
SDL_GL_SwapBuffers();
frame_rate(&global.lasttime);
}

View file

@ -407,7 +407,7 @@ void kurumi_boss_intro(Boss *b, int t) {
TIMER(&t);
GO_TO(b, VIEWPORT_W/2.0+200I, 0.01);
AT(150)
AT(400)
global.dialog = stage3_dialog();
}
@ -449,8 +449,14 @@ int aniwall_bullet(Projectile *p, int t) {
if(t < 0)
return 1;
if(t > creal(p->args[1]))
if(t > creal(p->args[1])) {
if(global.diff > D_Normal) {
p->args[0] += (0.1-0.2*frand() + 0.1I-0.2I*frand())*(global.diff-2);
p->args[0] += 0.005*cexp(I*carg(global.plr.pos - p->pos));
}
p->pos += p->args[0];
}
p->clr->r = cimag(p->pos)/VIEWPORT_H;
@ -495,7 +501,7 @@ int aniwall_slave(Enemy *e, int t) {
e->pos += e->args[2];
if(!(t % 7-global.diff)) {
if(!(t % 7-global.diff-2*(global.diff > D_Normal))) {
complex v = e->args[2]/cabs(e->args[2])*I*copysign(1,creal(e->args[0]));
create_projectile2c("ball", e->pos, rgb(1,0,0), aniwall_bullet, 1*v, 40);
}
@ -692,9 +698,9 @@ void kurumi_danmaku(Boss *b, int time) {
Boss *create_kurumi() {
Boss* b = create_boss("Kurumi", "kurumi", -400I);
boss_add_attack(b, AT_Move, "Introduction", 5, 0, kurumi_boss_intro, NULL);
boss_add_attack(b, AT_Move, "Introduction", 9, 0, kurumi_boss_intro, NULL);
boss_add_attack(b, AT_Normal, "Sin Breaker", 20, 20000, kurumi_sbreaker, NULL);
boss_add_attack(b, AT_Spellcard, "Limit ~ Animate Wall", 30, 30000, kurumi_aniwall, kurumi_spell_bg);
boss_add_attack(b, AT_Spellcard, global.diff < D_Hard ? "Limit ~ Animate Wall" : "Summoning ~ Demon Wall", 30, 40000, kurumi_aniwall, kurumi_spell_bg);
boss_add_attack(b, AT_Normal, "Cold Breaker", 20, 20000, kurumi_breaker, NULL);
boss_add_attack(b, AT_Spellcard, "Power Sign ~ Blow the Walls", 30, 32000, kurumi_blowwall, kurumi_spell_bg);
if(global.diff > D_Normal)
@ -708,8 +714,8 @@ Boss *create_kurumi() {
void stage3_events() {
TIMER(&global.timer);
// AT(0)
// global.timer = 3200;
AT(0)
global.timer = 5200;
AT(70) {
create_enemy1c(VIEWPORT_H/4*3*I, 3000, BigFairy, stage3_splasher, 3-4I);

View file

@ -6,6 +6,11 @@
*/
#include "stage4_events.h"
#include <global.h>
void stage4_events() {
TIMER(&global.timer);
FROM_TO(0, 500, 10)
create_projectile2c("bullet", VIEWPORT_W/2, rgb(0.3,0,1), asymptotic, 2I+1-2*frand(), 5);
}