From 01855433649374b48523f5eb7e6cf204391c36ca Mon Sep 17 00:00:00 2001 From: LMH Date: Fri, 28 Nov 2014 16:27:44 -1000 Subject: [PATCH 1/1] Finished up code for basic functionality of earthflower powerup. --- data/images/creatures/tux/earth/light/stand.png | Bin 0 -> 60210 bytes data/images/creatures/tux/earth/stand.png | Bin 0 -> 5030 bytes data/images/creatures/tux/light.sprite | 105 ++++++++++ data/images/creatures/tux/powerups.sprite | 105 ++++++++++ data/images/creatures/tux/tux.sprite | 232 +++++++++++++++++++++ data/images/objects/particles/airtux-hat.sprite | 14 ++ data/images/objects/particles/earthtux-hardhat.png | Bin 0 -> 1767 bytes .../objects/particles/earthtux-hardhat.sprite | 12 ++ src/object/player.cpp | 85 +++++--- src/object/player.hpp | 3 +- 10 files changed, 531 insertions(+), 25 deletions(-) create mode 100644 data/images/creatures/tux/earth/light/stand.png create mode 100644 data/images/creatures/tux/earth/stand.png create mode 100644 data/images/creatures/tux/light.sprite create mode 100644 data/images/creatures/tux/powerups.sprite create mode 100644 data/images/objects/particles/airtux-hat.sprite create mode 100644 data/images/objects/particles/earthtux-hardhat.png create mode 100644 data/images/objects/particles/earthtux-hardhat.sprite diff --git a/data/images/creatures/tux/earth/light/stand.png b/data/images/creatures/tux/earth/light/stand.png new file mode 100644 index 0000000000000000000000000000000000000000..9f2e8779cd6ca439353f6bd3de740773fd56bc30 GIT binary patch literal 60210 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

mcPW=If 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 literal 0 HcmV?d00001 diff --git a/data/images/creatures/tux/earth/stand.png b/data/images/creatures/tux/earth/stand.png new file mode 100644 index 0000000000000000000000000000000000000000..0d7083f283a43981903a5095c28553ee0b6c2a5f GIT binary patch literal 5030 zcmX9?3p`WpA3x+Wp_ZtX$17WN9&SZ{bA}lUx7i{ro@M+4=08&-R?>_k3@^=Z=e$o$~ta>mdkIwm)$U56(8= zaDmBz&qpmGw%{ap;iTO$=+A$z;--pha77{L1Th4H6gU5ONI`k|2yjt8)ZWon{;MK# zt2$aS0ttS(+0g#jky8=9Qy!F*b3$S)pS#)|K3&k0>p4?7GH-W5w^JvKWb7#Ou*`9n zR_0Du8>Uu`^&Y~HB(GmvOEL#f!(G;@u}2=A-LrkC)rEUIKMt1R?8i>Y?50wX=FgfY zBU&zng-w6xn+e%q%@Mz=-1E?VcI)Cj^po(*VPY$ZWykW1j^*=%VSQ<$VDkX(RQ-;+ zk^g^L)0AuY8ut`^(is==|3oFg0pZ7 z-m;sv*f%jTkw7L^!V^X#)3jinMyVH5##~iXOZ0o$lx1t^y7EhPTE+@P&IU!*>X_Tw z&VF%~LfLo5%WF3cp28&=Ij%$L!nB{F745TL1|u8l>+82A4&hX7f<0qQS zeb@X*q>+aw@9*y!nMII^7mT+1T)HGj$AdA?S0!0=3@ux=vt_hp3=IugqN(#?NO5|$ z&hH0TXMcY;wwl?Y-C7h77&uVZ)I%|4MobV&a#!-?roz;H z5U+!gLHv(1l2?eMg<|g%ZQj9rGwS*SFMdcn6`08mNWiU3a!)Mt(^n6<_;O#XrrO%i z%5O6E9XLQTE7+-Y^dd3QqJv6?n5wmuqc{b=X_|&*GMa}mH@`a+beqIY^D!$Z@y#>o zn5zg-fN1bE`cL8UQrFWcS#234_Xhm+ieNz4?Hv%XA+TwF%XIT{z$t>Pkh&>Rn_plq zuPxJM#3T@6eyy(ky^@!|7q{_Ct))3a>3gANbkKO0ZfkG~8|@=HWYKZdQwTwAi0cD( z1VVl2xJq8R6jRj)G2Fa7eN@%fJLMG{eayAm4yC4o)jMnqISSAO!rPdE-K(*hSeS#} zW=xxl>aAGiVUt8MG01Z(4i&_AC8)i|w8~pA9{KR$!%InwzrTO6{`%3#Y4bFJ9Hybi zwD>6M9+7baF3mTUyD9b4B1s$x%33*zh567ry)mFBDF!k};w?H{Rb?kQawH`hd^FNZ zI3w{oAaleBfBT5THmA6wVK z54nbm@9eCkQM&&XhHu)u+&?q?Z_jfrnifo2^QHVZvA8Al$KWf{*8S%qI%=nkwOd85 zss;90WpQur72}gnqFT(58#H_S`uZB#Y%tWb=H>u|bsFge3cwc0J%UKganP#|8j^-y z&RGCN8(!uY5B&LPOk~Km<)~uev!yvY_IR4lna0Y-7)gKl;gcs%uHyzuacDB(@eVFuO^Tsv=i(K9=C)2Ih>R&vxi-+&Lho4L_nBeS3^Q4)oI8=S* z-4cB`_t_&kGBMAub3D|WxP^`f+?C&ev?&z-HMw0dPX85UnMKZJO>)?j#%Jiqg+)by z{-OXtp{3=8sa?;XKkrellBRlk4d*|`D1oxWrR}r4F^J-BzZ(X62oky@#096kt+zJy z$&-Em_SPsSZP<|@jx-7RrsOYT)Kd0B7lf6bL?riS%<=-|mQQ_`UyW1s*(aNiz*jD3 z>D&)YK6r(=MKAl#6FOGab};`a>Q-2zG8Q($xkMlUFv77e1T}xraU$b~#m4OSGJuR5 ztyeJ94dTLlcvm>GVp}@bF1qP!3(co~OX83yf9_}bCnKJh0`;+V{a$(l%!?a57^z{D6lzwGYNru7`amchFR@%_B2GU|Fm7yW za-_jIMTcu*%nDx5S-ep+o1)s)KYJ#{4OUtfQd6BO=Ekme*ECl_rwDKBYHO|X%Ewi- zWp2KLfY4cJkfNhSWs))8eIFuYT)vEsNIjlYP#`Pr`<^%(k)mV&4j}sTJ}IEkkA{L4 zFM0~U^!2rl3o2?3#eZ8@@HP8=>xn@vScZ-Qz#;rKbdQ`ny-s7@59WjIkoK|A@h;{8 zn$LHjiyCi+;3AQz96ga16dS97$DKeuBBhP~GhQ+Jp&n-AA z$I}m9NU@|4w#&|V4=ApFSQo-QT26X1i-N?ae#u>1i1%$n-80$9*;W$H7ww zmgRWIq#Sq70?-qswYRT#cXz){5siL& z($lOfe^NduGXBrUGgq8ng%bGdCW=}F}af0 zhH0UzU~dnJ0$cj6qZj^WP38d)kDmG3RB+!bHgW)jf%}2mAv)fR=;09}FtT-31={u( z3updDuiIGb>`y&=X((}*MTenUsbJg&rDn1G@AF+u)sOK{s;aWZh0*)3&ooJ5ZBaGL zUa9(-jzlqYA0w?Q6 z()D4KHaxgqK__E>fPVC zbMoERmc_STms4WCB}%&p=cj?vg-Bsxqmcni*9Rn05J(4-7>5eCb1xz`5eV98Bv53x zxw|DVJ%Cq#{@N5BjYE~VttIR6kn6Cp!l;QyzXcV}EqctAPUUs+A=7e4;`Nh1jFtmQ z4GGY*iu&uJTV!;!I+?irATss%7t@jKp`iLY^vRzjxk*Btn{)c^Y=y{gxtC)DD(pEv zPz3Z8hy=fZ=%+=C$FJuG!)0!0+x@fAQ2-ooSL%pK+vBR{r~nM2dVcofbf%t-a-w@O z9dGgD<+>uE3Fv!xMd1#>@na~;)o{B9>Vk2QQQlBJ-y?2{BLU#c0*MU0`5oL>K_;!C zW@-@Q*GyN4j3+Mcb)TzqPBzFcQ@(lM>Z;5ESIn;u)IDY$3_m$Au4AvoEGrai+p8GL z37*?{YRp;KHTEacuTd}v9b4C&Ej`!ki=cS-Oh>`s+pS(JfHXo)sO?J@KDp-XK9I^< zgZ(cp(eWW4^WfBbw@1GGl0Cb=$Rs!chq}XfcY3?NqX41dg1ccL$5bt&>+@86^Z0*1 zc|rxxK_K+MHLY0UJ5{(n@6lz_COJT7K-f%#OvT?|-~Y%TDdrbiiay^P#dUqkEv8E| zKLy>zw<~#A&)#v)7#kZi)s|_ggg#N5T1`(cImsS@0E7jly1@b?AgRWWs!k6lmtefC z7YA=L3T1=%j$z+JTU3;qEFRv-zz_F_57gX(&r)SUKvpR38ZGb8A$|BR6~m|cZMD5& z(G%cEpXupV0G&Wp&@$Sno@!i!*O*UcJ8-BnU%#-pdHKsJK)MZe_wex96~w~i)lD5ynG7IFHg zeuE5+*zJ!iSvnxSxs?|=X~};#g*zW4ISNRX>@yJ@nVJGca?;<<+AmpdPkw&%`wa6 z5k(^v{P@%7BXtAnMAm3tR?G5qBM7bNlcc-jZMHm86ZELD)yOdw*0t``Kl0|-WImto zbRV!Ue5#kwOuv|qt9hqJ}ly-PtQjUJV)OJrrT9kTPQuAq-m7vn|llsYr>`FfxKnFHqFSWDLx8QHRF<%6J zHL-UM5?^@-g@On&0DJQTNkTX6-v*a?HHU?nnVVlNl2NHHnch>o%Defh z*d0ftWdwmxyb0UMVqHXXThwKatUgPR`PWvvRkDpVk+%+GXgK0n;YJo6>d~&@7@h0|ApbVcmIj7 zU}V47nUO4~;*;^X7%c1_KFg_s^sY-1lSj_=t2tXeFq3UQUBBzj$l~GU)wLxM2L@zZ z&WC{1RpgVhYD_{8=3AQ|J}e2xw?Cv`Q?bolc_wrMt2l-}aDZo$HpJQgG1?}wFdNMS zK+ep5UzSqxmub+TjVFO%kn5nstX9ExT6Cz1^Kqzs{04`tRu-$>uTBIEE_wna#&N)F z7MVCk-FFj*!ohxf6@7qXzlcF|%zp7=#T@8WiwUsCY%WFU8GbZ8()Nlj2>E@cM*00v7*L_t(Y$F-JQY+Th9 zhQEEznKS3icpTfY6W6h^6Oz=*y}@!z6C8v^X(1LgsZiUbQj9<L{)orD@+5@I_}V$XOSd+z5pd-cIBCD77VsK2zOy_U4s zuXWjLE%+bM)nyolL4q#`>ytt(24T2zcN|(bZd7|$ty1@yCU+$gs>Qa+B$MVD&y!+4 z&%)T4o&?Un@Iq|i$dQ$YeSPrSYoAZ5KCN&Z@O|!UZB^gfzTNot-o3`^J$p>nuUF)9 z!i5W(r6tgs^5mp0oIYKh8XcA2I1YdEJf{9DSL^F<6I+0vZP=hHPd;hMOE1M`b~YhF zJ|R+Y<%aJ_UMHmFC*|x}M^2uM$>3mIo_HeWn%PC4Q&C#4{cELL5am~dt9UPHESRWdZ>$cYm%4ZL&kptrBuu9iB;_A=ujV>Kkr2OjHCU< zIte8qel96~Zk33*(%)~&V!BqYoY|uq`6tiTW>kivrkprM7-d- zN!hk-n;bZBK$@GI1?au4dPVr*p+i>l&aKL*rc7lJVv321Ybx;&JBp!H$jps^uWV9e z8x?N4is{(&^q9Q+u4aB-7#IlIcaPzeOF|IrqO-Gw9XobXDwUX@pWg|b0x*G&#zxiu z%rmjg&6_P{ML-l$^-YL0DlUkxdFMSLieTIBI5mNZT@w*R25XyOY)s>MU@E9A3YI9& zzL#Ni^dgx|hSjTAGdVe#0sa7B09(KDfYH9TSt(OAj%9#lu@FGa)i}h66@@$RGeM3^S{zOQ`WfBj?9vWGW+Mf2vb0?HN0 zF9|Ih6mBx0n1f1D@XCS&aOiHhaHh&DY1qFVqzcVVQ1U?p+!z!c#gC8KY~OA1)YDa- zeKv@OhqV<1Y#Se!hqUH(%T8j4A(e@X+I5|k(whEorD&=l=<13=I}U4CK|BUIt@!dj zlW#s`GBl#`Mk7)wp>wA}?{{K+br&RK!dwJ%b6Af&VwHn{2L=bD9aB@X%DVR+v$a8q zG&RBHF^#QZO#>J6M|P`aVrx-q`7!SGcux?n$onkD#_)@Ubs;GaB51P zudCzFYReY&lYl9RJoPbgdtegO1OgnmY0QWR>+(@RVI1$Y^lK6;e#=bi(VO3_nO!!NqKt+xyKfnL}@3tQ}&`V28{bD*@2nPmUK7IM}Ot`c( zy;xhjG`ee-antuHe(-@Vm&=rZB9H~j9UThK6XxgtX*?bW+lE5nQ=3B+K|ar$5dQYz zhr5q;cW=M);)}mqf9cYQlg(b8>FR3xWvSG0?fUgnXqqeku3Y}?h-z(BoH--6>3o0X zd>+1j`0(L#y}i9N?d|QyfnD&$_o4rYy1Ke<%d#E>>i?fSe*@7^B_G^VDggih002ov JPDHLkV1k?tOhfcreate("images/objects/lightmap_light/lightmap_light-tiny.sprite")), + lightsprite(SpriteManager::current()->create("images/creatures/tux/light.sprite")), + powersprite(SpriteManager::current()->create("images/creatures/tux/powerups.sprite")), dir(), old_dir(), last_ground_y(), @@ -223,7 +225,7 @@ Player::init() backflip_direction = 0; sprite->set_angle(0.0f); visible = true; - glide_time = 0; + ability_time = 0; stone = false; swimming = false; on_ice = false; @@ -412,7 +414,7 @@ Player::update(float elapsed_time) do_standup(); } if (player_status->bonus == AIR_BONUS) - glide_time = player_status->max_air_time * GLIDE_TIME_PER_FLOWER; + ability_time = player_status->max_air_time * GLIDE_TIME_PER_FLOWER; } // calculate movement for this frame @@ -730,12 +732,12 @@ Player::handle_vertical_input() } // airflower glide only when holding jump key } else if (controller->hold(Controller::JUMP) && player_status->bonus == AIR_BONUS && physic.get_velocity_y() > MAX_GLIDE_YM) { - if (glide_time > 0 && !ability_timer.started()) - ability_timer.start(glide_time); + if (ability_time > 0 && !ability_timer.started()) + ability_timer.start(ability_time); else if (ability_timer.started()) { // glide stops after some duration or if buttjump is initiated if ((ability_timer.get_timeleft() <= 0.05f) || controller->hold(Controller::DOWN)) { - glide_time = 0; + ability_time = 0; ability_timer.stop(); } else { physic.set_velocity_y(MAX_GLIDE_YM); @@ -752,7 +754,7 @@ Player::handle_vertical_input() early_jump_apex(); } if (player_status->bonus == AIR_BONUS && ability_timer.started()){ - glide_time = ability_timer.get_timeleft(); + ability_time = ability_timer.get_timeleft(); ability_timer.stop(); } } @@ -845,10 +847,11 @@ Player::handle_input() } /* Turn to Stone */ - if (controller->pressed(Controller::DOWN) && player_status->bonus == EARTH_BONUS) { - if (controller->hold(Controller::ACTION)) { - jump_early_apex = false; + if (controller->pressed(Controller::DOWN) && player_status->bonus == EARTH_BONUS && !cooldown_timer.started()) { + if (controller->hold(Controller::ACTION) && !ability_timer.started()) { + ability_timer.start(player_status->max_earth_time * STONE_TIME_PER_FLOWER); stone = true; + physic.set_gravity_modifier(1.0f); // Undo jump_early_apex } } @@ -856,8 +859,20 @@ Player::handle_input() apply_friction(); /* Revert from Stone */ - if (stone && !controller->hold(Controller::ACTION)) + if (stone && (!controller->hold(Controller::ACTION) || ability_timer.get_timeleft() <= 0.5f)) { + cooldown_timer.start(ability_timer.get_timegone()/2.0f); //The longer stone form is used, the longer until it can be used again + ability_timer.stop(); stone = false; + for (int i = 0; i < 8; i++) + { + Vector ppos = Vector(get_bbox().get_left() + 8 + 16*((int)i/4), get_bbox().get_top() + 16*(i%4)); + float grey = graphicsRandom.randf(.4f, .8f); + Color pcolor = Color(grey, grey, grey); + Sector::current()->add_object(std::make_shared(ppos, -60, 240, 42, 81, Vector(0, 500), + 8, pcolor, 4 + graphicsRandom.randf(-0.4, 0.4), + 0.8 + graphicsRandom.randf(0, 0.4), LAYER_OBJECTS+2)); + } + } /* Duck or Standup! */ if (controller->hold(Controller::DOWN) && !stone) { @@ -1088,7 +1103,7 @@ Player::set_bonus(BonusType type, bool animate) Vector pspeed = Vector(((dir==LEFT) ? +100 : -100), -300); Vector paccel = Vector(0, 1000); std::string action = (dir==LEFT)?"left":"right"; - Sector::current()->add_object(std::make_shared("images/objects/particles/icetux-cap.sprite", action, ppos, ANCHOR_TOP, pspeed, paccel, LAYER_OBJECTS-1)); + Sector::current()->add_object(std::make_shared("images/objects/particles/airtux-hat.sprite", action, ppos, ANCHOR_TOP, pspeed, paccel, LAYER_OBJECTS-1)); if (climbing) stop_climbing(*climbing); } if ((player_status->bonus == EARTH_BONUS) && (animate)) { @@ -1097,7 +1112,7 @@ Player::set_bonus(BonusType type, bool animate) Vector pspeed = Vector(((dir==LEFT) ? +100 : -100), -300); Vector paccel = Vector(0, 1000); std::string action = (dir==LEFT)?"left":"right"; - Sector::current()->add_object(std::make_shared("images/objects/particles/firetux-helmet.sprite", action, ppos, ANCHOR_TOP, pspeed, paccel, LAYER_OBJECTS-1)); + Sector::current()->add_object(std::make_shared("images/objects/particles/earthtux-hardhat.sprite", action, ppos, ANCHOR_TOP, pspeed, paccel, LAYER_OBJECTS-1)); if (climbing) stop_climbing(*climbing); } player_status->max_fire_bullets = 0; @@ -1162,7 +1177,7 @@ Player::draw(DrawingContext& context) else if (player_status->bonus == AIR_BONUS) sa_prefix = "ice"; else if (player_status->bonus == EARTH_BONUS) - sa_prefix = "fire"; + sa_prefix = "earth"; else sa_prefix = "small"; @@ -1181,6 +1196,9 @@ Player::draw(DrawingContext& context) // do_duck() will take care of cancelling growing manually // update() will take care of cancelling when growing completed } + else if (stone) { + sprite->set_action(sprite->get_action()+"-stone"); + } else if (climbing) { sprite->set_action(sa_prefix+"-climbing"+sa_postfix); } @@ -1234,6 +1252,12 @@ Player::draw(DrawingContext& context) } } + /* Set Tux powerup sprite action */ + if (player_status->bonus == EARTH_BONUS) { + powersprite->set_action(sprite->get_action()); + lightsprite->set_action(sprite->get_action()); + } + /* // Tux is holding something if ((grabbed_object != 0 && physic.get_velocity_y() == 0) || @@ -1247,16 +1271,29 @@ Player::draw(DrawingContext& context) /* Draw Tux */ if (safe_timer.started() && size_t(game_time*40)%2) ; // don't draw Tux - else { - sprite->draw(context, get_pos(), LAYER_OBJECTS + 1); - // draw light with earthflower bonus - if (player_status->bonus == EARTH_BONUS){ - context.push_target(); - context.set_target(DrawingContext::LIGHTMAP); - lightsprite->draw(context, get_pos() + Vector(dir==LEFT ? 0 : 32, 0), 0); - context.pop_target(); + else if (player_status->bonus == EARTH_BONUS){ // draw special effects with earthflower bonus + // shake at end of maximum stone duration + Vector shake_delta = (stone && ability_timer.get_timeleft() < 1.0f) ? Vector(graphicsRandom.rand(-3,3), 0) : Vector(0,0); + sprite->draw(context, get_pos() + shake_delta, LAYER_OBJECTS + 1); + // draw hardhat + powersprite->draw(context, get_pos(), LAYER_OBJECTS + 1); + // light + context.push_target(); + context.set_target(DrawingContext::LIGHTMAP); + lightsprite->draw(context, get_pos()/* + Vector(dir==LEFT ? 0 : 32, 0)*/, 0); + context.pop_target(); + // give an indicator that stone form cannot be used for a while + if (cooldown_timer.started() && graphicsRandom.rand(0, 4) == 0) { + float px = graphicsRandom.randf(bbox.p1.x, bbox.p2.x); + float py = bbox.p2.y+8; + Vector ppos = Vector(px, py); + Sector::current()->add_object(std::make_shared( + "images/objects/particles/sparkle.sprite", "dark", + ppos, ANCHOR_MIDDLE, Vector(0, 0), Vector(0, 0), LAYER_OBJECTS+1+5)); } } + else + sprite->draw(context, get_pos(), LAYER_OBJECTS + 1); } @@ -1538,7 +1575,7 @@ Player::bounce(BadGuy& ) physic.set_velocity_y(controller->hold(Controller::JUMP) ? -520 : -300); else { physic.set_velocity_y(controller->hold(Controller::JUMP) ? -580 : -340); - glide_time = player_status->max_air_time * GLIDE_TIME_PER_FLOWER; + ability_time = player_status->max_air_time * GLIDE_TIME_PER_FLOWER; } } diff --git a/src/object/player.hpp b/src/object/player.hpp index 2a5b9773d..4d178aa0c 100644 --- a/src/object/player.hpp +++ b/src/object/player.hpp @@ -276,7 +276,7 @@ private: int backflip_direction; Direction peekingX; Direction peekingY; - float glide_time; + float ability_time; bool stone; bool swimming; float speedlimit; @@ -285,6 +285,7 @@ private: bool on_ice; bool ice_this_frame; SpritePtr lightsprite; + SpritePtr powersprite; public: Direction dir; -- 2.11.0