From 2b27e0e3b14c655e05c967d593f1c596d25795d1 Mon Sep 17 00:00:00 2001 From: weluvgoatz <39805490+weluvgoatz@users.noreply.github.com> Date: Sun, 8 Nov 2020 15:10:58 -0800 Subject: [PATCH 1/5] New bouncing snowball sprite [ci skip] --- .../creatures/bouncing_snowball/bounce1.png | Bin 0 -> 3086 bytes .../creatures/bouncing_snowball/bounce2.png | Bin 0 -> 3564 bytes .../creatures/bouncing_snowball/bounce3.png | Bin 0 -> 3184 bytes .../bouncing_snowball.sprite | 59 +++++++++++++++--- .../creatures/bouncing_snowball/bs1.png | Bin 0 -> 2724 bytes .../creatures/bouncing_snowball/bs2.png | Bin 0 -> 2858 bytes .../creatures/bouncing_snowball/bs3.png | Bin 0 -> 2894 bytes .../creatures/bouncing_snowball/bs4.png | Bin 0 -> 2845 bytes .../creatures/bouncing_snowball/bs5.png | Bin 0 -> 2843 bytes .../creatures/bouncing_snowball/bs6.png | Bin 0 -> 2828 bytes .../creatures/bouncing_snowball/bs7.png | Bin 0 -> 2761 bytes .../creatures/bouncing_snowball/bs8.png | Bin 0 -> 2702 bytes 12 files changed, 51 insertions(+), 8 deletions(-) create mode 100644 data/images/creatures/bouncing_snowball/bounce1.png create mode 100644 data/images/creatures/bouncing_snowball/bounce2.png create mode 100644 data/images/creatures/bouncing_snowball/bounce3.png create mode 100644 data/images/creatures/bouncing_snowball/bs1.png create mode 100644 data/images/creatures/bouncing_snowball/bs2.png create mode 100644 data/images/creatures/bouncing_snowball/bs3.png create mode 100644 data/images/creatures/bouncing_snowball/bs4.png create mode 100644 data/images/creatures/bouncing_snowball/bs5.png create mode 100644 data/images/creatures/bouncing_snowball/bs6.png create mode 100644 data/images/creatures/bouncing_snowball/bs7.png create mode 100644 data/images/creatures/bouncing_snowball/bs8.png diff --git a/data/images/creatures/bouncing_snowball/bounce1.png b/data/images/creatures/bouncing_snowball/bounce1.png new file mode 100644 index 0000000000000000000000000000000000000000..cfc5d8d52a7e277d05c991d2e549a5bb83b3b3e1 GIT binary patch literal 3086 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 literal 0 HcmV?d00001 diff --git a/data/images/creatures/bouncing_snowball/bounce2.png b/data/images/creatures/bouncing_snowball/bounce2.png new file mode 100644 index 0000000000000000000000000000000000000000..406b9130046a78f75e83f180a2a5808b7ef8d82f GIT binary patch literal 3564 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 WnwZMwj{lGV0000HEDIDS`jLiT503CEi zSad^gZEa<4bO1wgWnpw>WFU8GbZ8({Xk{QrNlj4iWF>9@01606L_t(|+U=Ryk7d_Y zhrhk|Ip+>_Yv|cMyJPo+lF*(SaN2QfjH3XuB{CsJAQ2?QQ-qNGVxD-2c?BVne}Ft8 zSwtWqP)HOd60w}g0^4c#;C9FE?y7QC-QnDG&K?&JrwH(TZ>2%H-&3h{rL)dDzrEIP ztqltnELgB$!GZ+~7A#osi$|{3QL{R$xaMLlTW>9b!O-~HK(N^3d)#FNJcM^4~< zAUVtM&>_}uT}M!L-XFZSdi>05#bD+3&F}o<-|Tf)J6y%v^SXpWx5uM?c;hmqp#lQZ`KXd2Z>({P*^VM_nj&o0rz_VZe6M5#j z=XvTApWxgBYaCuGSnlLxS`kvBY#atCGQ)DGpqFPvNg$AAhGFdyU^!QuJo*4xzYWK=;gO0h9@EDct;^6SqN(Pt$kx&E!cpPO>$s(|17^S_c`ee4mQ zz49an`vsZNDAmU5qtLiO;{!$;v~K?&MF0>1yPF`b6#M!GhXy?~!ld!+8}!($1N&B% zaapg}xpnnh^N4wF3V7(57r&Z<=aI)RlPMvIkfBftVuB=~l%kX8C3n@Vnf7eO%f=wUDGFm6R-g` zCp95Sdo+{~Vj|BBN+2^D8xqsnQe+w1O~A!OsHd#2ua~nPg}GSJI9%uCnKN{Yf|X9j zQmzRxF{~V88z^mLt8z>lPe=(H6QvDI8qcV43~i+Lg4T*&p7G%R0fQn#YenS(m5*db z(a#i{QD$C30gZj7F2F%91iDqA583=#__OiGSuIc|^=JiEGSY=w?>HQh$j{zkG>IYeW*gJV&GOQ3y$JDYh>!LSYPA zwS9kA7$ixs+bwoGCKDSdttTd7YuZp+hXQzMk4#7NaxY!u4cVjBzEpi{&Yo%@>rfDi&n618vryw(b(fdE=5jB3>YZJh`y z5qx4~JtD$N$Dk0LZ`-96VK{B5oX18Xc!v>Ty{suGC7BYmHh3TJzXAZpRl|XOYs4hD zl*myit?A^g`|~N%$uvz!=-o~r2wFjIGzfSfX}qV%GEfjx!uvqkIHGs#Os3qMG>|-X zOq6wlcMY=+v@;jM@zy3E+_~HCGg89(Kob&4Afc(9N2}Hu_H)CaQ;?gsJ+5|h4lQ@+ z=I!sS55$y+A!40lQq?%;2tF{XEWIM9&>HIk^=Jqp*vU}ts{%}3;6gwUVoE>v{4OMf zb_OVRZL!fB7a}1Fy`p{euyS;BsH`P~)Ov&v7)={SRl{mGr%r(+f_4oc#NbK3X$LK( zhWAwgZ(h5x^VSPq;4EGMk>Gig+<7X#%T3(n_M*xNrH2Zt#Qd{ zT49|-OQNxsjnRarZs_EOlmhj5h=f3@C$ok>djjg6&CBIvOh|$tI3K92V_emQ-D)pr zTo5WBh-r7wQMxrl2uLK;Ad+y-ktxMeVJI@q)OsqHSnhWz@|@9dM2sFKLOmH#?`&S4 zCH|R@zz0A2-t~vhU*zrU?{WC>A!2H)y$zA*9aA3>)yiKfg_6*=!VsyfrJEVLd4@|7 zqZPd(W4W6%oCZc^&4-f;r41mgZ*4KHYP@Yw5-E4K_~1w1yMA940I*}zovUxYL9XH8 zQU|RxASk6->2+~F;6lI$O+3`@2rC53`Qw=;qb0Ur~cJi~>+xOR*i+bW=G*xcG- zG?^l;eWcvDgNVE`YwUALz|z47K6CrVJ7h}nz}kQZ_xI@=g-F_6iM4HOdr~o}8d41C z-5Ed-##O`Cq@wYy{TzOu9>*jpG`oQLR%B{^IJ7rDn0>f#|*arGVfg-WK zzJYZODte~d8<;F(boVx{u3nkPT5N7Bu{hZO(s#c9{TD8N{1V5G9bv8CM=8aJ<0-XG zG|n@wYQ|NAj|rt(-w=2I?&KN97?d{jIyuof-n@B}dNQGtWvJlswxQOMYPda@uMcxv zioXBD?`}zV@bwhzSJn<3mWWm^MMl%6HESYt^Nb?X@*GcHn)-8sc^O5K`BjHhf&~i}ELgB$ e!GZ<HEDJN4SW$6F_03CEi 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 IM6N<$f_Y?kRsaA1 literal 0 HcmV?d00001 diff --git a/data/images/creatures/bouncing_snowball/bs3.png b/data/images/creatures/bouncing_snowball/bs3.png new file mode 100644 index 0000000000000000000000000000000000000000..b547720b5a976ff9ac8abef5f31ddb1cd997f6e9 GIT binary patch literal 2894 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 literal 0 HcmV?d00001 diff --git a/data/images/creatures/bouncing_snowball/bs5.png b/data/images/creatures/bouncing_snowball/bs5.png new file mode 100644 index 0000000000000000000000000000000000000000..061f79bb9f1729944d1e17f68bf5032797c4c653 GIT binary patch literal 2843 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 literal 0 HcmV?d00001 diff --git a/data/images/creatures/bouncing_snowball/bs6.png b/data/images/creatures/bouncing_snowball/bs6.png new file mode 100644 index 0000000000000000000000000000000000000000..a5659f1e2f330a2347d4cda686048f0ef55671a2 GIT binary patch literal 2828 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 P00000NkvXXu0mjfu8u%a literal 0 HcmV?d00001 diff --git a/data/images/creatures/bouncing_snowball/bs8.png b/data/images/creatures/bouncing_snowball/bs8.png new file mode 100644 index 0000000000000000000000000000000000000000..a2ee7021b9f22b20cb50edcb755b0384261b2fbd GIT binary patch literal 2702 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 Date: Sun, 8 Nov 2020 15:11:57 -0800 Subject: [PATCH 2/5] Updates to bouncy snowball --- src/badguy/bouncing_snowball.cpp | 19 +++++++++++++++++++ src/badguy/bouncing_snowball.hpp | 3 ++- 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/src/badguy/bouncing_snowball.cpp b/src/badguy/bouncing_snowball.cpp index 9bc7bec7044..063ea2796b9 100644 --- a/src/badguy/bouncing_snowball.cpp +++ b/src/badguy/bouncing_snowball.cpp @@ -17,6 +17,7 @@ #include "badguy/bouncing_snowball.hpp" #include "sprite/sprite.hpp" +#include "supertux/sector.hpp" #include @@ -35,6 +36,23 @@ BouncingSnowball::initialize() m_sprite->set_action(m_dir == Direction::LEFT ? "left" : "right"); } +void +BouncingSnowball::active_update(float dt_sec) +{ + BadGuy::active_update(dt_sec); + if ((m_sprite->get_action() == "left-up" || m_sprite->get_action() == "right-up") && m_sprite->animation_done()) + { + m_sprite->set_action(m_dir == Direction::LEFT ? "left" : "right"); + } + Rectf lookahead = get_bbox(); + lookahead.set_bottom(lookahead.get_bottom() + 48); + bool pathBlocked = !Sector::get().is_free_of_statics(lookahead); + if (pathBlocked && (m_physic.get_velocity_y() >= 0.0f)) + { + m_sprite->set_action(m_dir == Direction::LEFT ? "left-down" : "right-down"); + } +} + bool BouncingSnowball::collision_squished(GameObject& object) { @@ -55,6 +73,7 @@ BouncingSnowball::collision_solid(const CollisionHit& hit) if (get_state() == STATE_ACTIVE) { float bounce_speed = -m_physic.get_velocity_y()*0.8f; m_physic.set_velocity_y(std::min(JUMPSPEED, bounce_speed)); + m_sprite->set_action(m_dir == Direction::LEFT ? "left-up" : "right-up", /* loops = */ 1); } else { m_physic.set_velocity_y(0); } diff --git a/src/badguy/bouncing_snowball.hpp b/src/badguy/bouncing_snowball.hpp index 23dab5ab5f4..3ff2df01d0f 100644 --- a/src/badguy/bouncing_snowball.hpp +++ b/src/badguy/bouncing_snowball.hpp @@ -23,8 +23,9 @@ class BouncingSnowball final : public BadGuy { public: BouncingSnowball(const ReaderMapping& reader); - + virtual void initialize() override; + virtual void active_update(float) override; virtual void collision_solid(const CollisionHit& hit) override; virtual HitResponse collision_badguy(BadGuy& badguy, const CollisionHit& hit) override; virtual std::string get_class() const override { return "bouncingsnowball"; } From 7a4fec12b955e49d1382564d5372e6af83087f35 Mon Sep 17 00:00:00 2001 From: weluvgoatz <39805490+weluvgoatz@users.noreply.github.com> Date: Sun, 8 Nov 2020 17:22:54 -0800 Subject: [PATCH 3/5] Fix bugs --- src/badguy/bouncing_snowball.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/badguy/bouncing_snowball.cpp b/src/badguy/bouncing_snowball.cpp index 063ea2796b9..1037140d692 100644 --- a/src/badguy/bouncing_snowball.cpp +++ b/src/badguy/bouncing_snowball.cpp @@ -46,8 +46,9 @@ BouncingSnowball::active_update(float dt_sec) } Rectf lookahead = get_bbox(); lookahead.set_bottom(lookahead.get_bottom() + 48); + lookahead.set_top(lookahead.get_top() + 31); bool pathBlocked = !Sector::get().is_free_of_statics(lookahead); - if (pathBlocked && (m_physic.get_velocity_y() >= 0.0f)) + if (pathBlocked && (m_physic.get_velocity_y() >= 64.0f)) { m_sprite->set_action(m_dir == Direction::LEFT ? "left-down" : "right-down"); } From 851ac33e58d0ffa3f03537f166676564a581784c Mon Sep 17 00:00:00 2001 From: weluvgoatz <39805490+weluvgoatz@users.noreply.github.com> Date: Sun, 8 Nov 2020 19:09:37 -0800 Subject: [PATCH 4/5] more bugfixes --- src/badguy/bouncing_snowball.cpp | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/src/badguy/bouncing_snowball.cpp b/src/badguy/bouncing_snowball.cpp index 1037140d692..4661aa12ab9 100644 --- a/src/badguy/bouncing_snowball.cpp +++ b/src/badguy/bouncing_snowball.cpp @@ -44,14 +44,18 @@ BouncingSnowball::active_update(float dt_sec) { m_sprite->set_action(m_dir == Direction::LEFT ? "left" : "right"); } - Rectf lookahead = get_bbox(); - lookahead.set_bottom(lookahead.get_bottom() + 48); - lookahead.set_top(lookahead.get_top() + 31); - bool pathBlocked = !Sector::get().is_free_of_statics(lookahead); - if (pathBlocked && (m_physic.get_velocity_y() >= 64.0f)) + Rectf lookbelow = get_bbox(); + lookbelow.set_bottom(lookbelow.get_bottom() + 48); + lookbelow.set_top(lookbelow.get_top() + 31); + bool groundBelow = !Sector::get().is_free_of_statics(lookbelow); + if (groundBelow && (m_physic.get_velocity_y() >= 64.0f)) { m_sprite->set_action(m_dir == Direction::LEFT ? "left-down" : "right-down"); } + if (!groundBelow && (m_sprite->get_action() == "left-down" || m_sprite->get_action() == "right-down")) + { + m_sprite->set_action(m_dir == Direction::LEFT ? "left" : "right"); + } } bool From 70cada47d8933e3d33d7b77842add8be66aa6091 Mon Sep 17 00:00:00 2001 From: weluvgoatz <39805490+weluvgoatz@users.noreply.github.com> Date: Mon, 9 Nov 2020 06:41:11 -0800 Subject: [PATCH 5/5] fix --- src/badguy/bouncing_snowball.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/badguy/bouncing_snowball.hpp b/src/badguy/bouncing_snowball.hpp index 3ff2df01d0f..5590e4b0ff4 100644 --- a/src/badguy/bouncing_snowball.hpp +++ b/src/badguy/bouncing_snowball.hpp @@ -23,7 +23,7 @@ class BouncingSnowball final : public BadGuy { public: BouncingSnowball(const ReaderMapping& reader); - + virtual void initialize() override; virtual void active_update(float) override; virtual void collision_solid(const CollisionHit& hit) override;