improved boss effects

This commit is contained in:
laochailan 2011-08-26 15:19:14 +02:00
parent fe542e5378
commit 9ac2e65baf
10 changed files with 539 additions and 2 deletions

BIN
gfx/boss_circle.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 152 KiB

286
gfx/boss_circle.svg Normal file

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 17 KiB

BIN
gfx/boss_shadow.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4 KiB

120
gfx/boss_shadow.svg Normal file
View file

@ -0,0 +1,120 @@
<?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:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="142.0984"
height="194.25841"
id="svg2"
version="1.1"
inkscape:version="0.48.2 r9819"
sodipodi:docname="boss_shadow.svg"
inkscape:export-filename="/home/laochailan/src/taisei/gfx/boss_shadow.png"
inkscape:export-xdpi="63.336391"
inkscape:export-ydpi="63.336391">
<defs
id="defs4">
<linearGradient
id="linearGradient3755">
<stop
style="stop-color:#ffffff;stop-opacity:1;"
offset="0"
id="stop3757" />
<stop
id="stop3763"
offset="0.5"
style="stop-color:#ffffff;stop-opacity:0.64912283;" />
<stop
style="stop-color:#ffffff;stop-opacity:0;"
offset="1"
id="stop3759" />
</linearGradient>
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient3755"
id="radialGradient3761"
cx="281.58002"
cy="155.34673"
fx="281.58002"
fy="155.34673"
r="44.699249"
gradientTransform="matrix(1,0,0,1.2429379,0,-37.739609)"
gradientUnits="userSpaceOnUse" />
<filter
inkscape:collect="always"
id="filter3771"
x="-0.21404542"
width="1.4280908"
y="-0.19566779"
height="1.3913356"
color-interpolation-filters="sRGB">
<feGaussianBlur
inkscape:collect="always"
stdDeviation="8.1532399"
id="feGaussianBlur3773" />
</filter>
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:zoom="1.979899"
inkscape:cx="40.235115"
inkscape:cy="98.15668"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="false"
fit-margin-top="5"
fit-margin-left="5"
fit-margin-right="5"
fit-margin-bottom="5"
inkscape:window-width="1920"
inkscape:window-height="1038"
inkscape:window-x="0"
inkscape:window-y="-1"
inkscape:window-maximized="1" />
<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(-216.32577,-52.9972)">
<path
style="opacity:0.31203009;fill:#ffffff;stroke:none;filter:url(#filter3771)"
d="m 306.07622,77.564976 c 6.84137,34.491504 33.23485,67.100274 26.76904,100.005094 -14.4197,73.38251 -86.54842,45.31614 -91.4188,0 -4.11926,-38.32737 16.79182,-66.33334 23.23351,-99.500018 18.38995,30.041138 27.72185,15.873402 41.41625,-0.505076 z"
id="path3765"
inkscape:connector-curvature="0"
sodipodi:nodetypes="csscc" />
<path
sodipodi:type="arc"
style="opacity:0.63533834;fill:url(#radialGradient3761);fill-opacity:1;stroke:none"
id="path2985"
sodipodi:cx="281.58002"
sodipodi:cy="155.34673"
sodipodi:rx="44.699249"
sodipodi:ry="55.558392"
d="m 326.27927,155.34673 c 0,30.68405 -20.01254,55.55839 -44.69925,55.55839 -24.68672,0 -44.69925,-24.87434 -44.69925,-55.55839 0,-30.68406 20.01253,-55.558396 44.69925,-55.558396 24.68671,0 44.69925,24.874336 44.69925,55.558396 z"
transform="matrix(0.79661018,0,0,0.77727273,62.321273,53.540312)" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 4 KiB

BIN
gfx/boss_spellcircle0.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 118 KiB

101
gfx/boss_spellcircle0.svg Normal file
View file

@ -0,0 +1,101 @@
<?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:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="341.25046"
height="340.98315"
id="svg2"
version="1.1"
inkscape:version="0.48.2 r9819"
sodipodi:docname="boss_spellcircle0.svg"
inkscape:export-filename="/home/laochailan/src/taisei/gfx/boss_spellcircle0.png"
inkscape:export-xdpi="113.40644"
inkscape:export-ydpi="113.40644">
<defs
id="defs4">
<filter
inkscape:collect="always"
id="filter3776"
color-interpolation-filters="sRGB">
<feGaussianBlur
inkscape:collect="always"
stdDeviation="5.4245192"
id="feGaussianBlur3778" />
</filter>
</defs>
<sodipodi:namedview
id="base"
pagecolor="#000000"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:zoom="1.979899"
inkscape:cx="333.77379"
inkscape:cy="175.87991"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="false"
inkscape:window-width="1920"
inkscape:window-height="1038"
inkscape:window-x="0"
inkscape:window-y="-1"
inkscape:window-maximized="1"
fit-margin-top="0"
fit-margin-left="1"
fit-margin-right="0"
fit-margin-bottom="0" />
<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(-208.18764,-104.61929)">
<path
sodipodi:type="arc"
style="opacity:0.43233086;fill:none;stroke:#c83737;stroke-width:11.74356556;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;filter:url(#filter3776)"
id="path2985"
sodipodi:cx="217.1828"
sodipodi:cy="242.21985"
sodipodi:rx="180.81731"
sodipodi:ry="180.81731"
d="m 398.00011,242.21985 c 0,99.86264 -80.95467,180.81731 -180.81731,180.81731 -99.86264,0 -180.817306,-80.95467 -180.817306,-180.81731 0,-99.86264 80.954666,-180.817308 180.817306,-180.817308 99.86264,0 180.81731,80.954668 180.81731,180.817308 z"
transform="matrix(0.85153015,0,0,0.85153015,194.07256,69.057376)" />
<text
xml:space="preserve"
style="font-size:24px;font-style:italic;font-variant:normal;font-weight:bold;font-stretch:normal;line-height:125%;letter-spacing:0.69px;word-spacing:0.50999998999999996px;opacity:0.34210528000000001;fill:#e6e6e6;fill-opacity:1;stroke:#000000;stroke-width:0.30000000999999998;stroke-miterlimit:4;stroke-dasharray:none;font-family:Linux Libertine O;-inkscape-font-specification:Linux Libertine O Bold Italic"
id="text3757"
sodipodi:linespacing="125%"><textPath
xlink:href="#path2985"
id="textPath3766">Border of Life Border of Life Border of Life Border of Life Border of Life Border of Life</textPath></text>
<path
sodipodi:type="arc"
style="opacity:0.09259997;fill:none;stroke:#ffffff;stroke-width:10;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
id="path3812"
sodipodi:cx="373.75644"
sodipodi:cy="272.52441"
sodipodi:rx="135.36044"
sodipodi:ry="135.36044"
d="m 509.11688,272.52441 c 0,74.75751 -60.60293,135.36045 -135.36044,135.36045 -74.75751,0 -135.36044,-60.60294 -135.36044,-135.36045 0,-74.7575 60.60293,-135.36044 135.36044,-135.36044 74.75751,0 135.36044,60.60294 135.36044,135.36044 z"
transform="matrix(1.0647716,0,0,1.0647716,-19.152382,-15.065401)" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

View file

@ -35,7 +35,7 @@ void spell_opening(Boss *b, int time) {
}
void draw_boss(Boss *boss) {
draw_animation_p(creal(boss->pos), cimag(boss->pos) + 10*sin(global.frames/25.0), boss->anirow, boss->ani);
draw_animation_p(creal(boss->pos), cimag(boss->pos) + 6*sin(global.frames/25.0), boss->anirow, boss->ani);
draw_text(AL_Left, 10, 20, boss->name, _fonts.standard);
if(!boss->current)

View file

@ -129,6 +129,23 @@ void stage_draw() {
if(!tconfig.intval[NO_SHADER])
apply_bg_shaders();
if(global.boss) {
glPushMatrix();
glTranslatef(creal(global.boss->pos), cimag(global.boss->pos), 0);
glColor3f(0.2,0.35,0.6);
draw_texture(0,0,"boss_shadow");
glColor3f(1,1,1);
glRotatef(global.frames*4.0, 0, 0, -1);
float f = 0.8+0.1*sin(global.frames/8.0);
glScalef(f,f,f);
draw_texture(0,0,"boss_circle");
glPopMatrix();
}
player_draw(&global.plr);
draw_items();
@ -173,6 +190,19 @@ void apply_bg_shaders() {
glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, resources.fbg.fbo);
global.boss->current->draw_rule(global.boss, global.frames - global.boss->current->starttime);
glPushMatrix();
glTranslatef(creal(global.boss->pos), cimag(global.boss->pos), 0);
glRotatef(global.frames*7.0, 0, 0, -1);
int t;
if((t = global.frames - global.boss->current->starttime) < 0) {
float f = 1.0 - t/(float)ATTACK_START_DELAY;
glScalef(f,f,f);
}
draw_texture(0,0,"boss_spellcircle0");
glPopMatrix();
glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, 0);
}

View file

@ -156,7 +156,7 @@ void cirno_pfreeze_bg(Boss *c, int time) {
}
Boss *create_cirno() {
Boss* cirno = create_boss("Cirno", "cirno", VIEWPORT_W + 30 + 30I);
Boss* cirno = create_boss("Cirno", "cirno", VIEWPORT_W + 150 + 30I);
boss_add_attack(cirno, AT_Move, "Introduction", 4, 0, cirno_intro, NULL);
boss_add_attack(cirno, AT_Spellcard, "Freeze Sign ~ Perfect Freeze", 22, 100, cirno_perfect_freeze, cirno_pfreeze_bg);