This is an automated email from the git hooks/post-receive script. odyx pushed a commit to branch debian/master in repository planetblupi.
commit d2046a93894c6c4884c67c8601efc9f53cfc61cc Author: Mathieu Schroeter <math...@schroetersa.ch> Date: Sun Feb 18 23:24:06 2018 +0100 Move code for testing if an object can burn in a dedicated func --- src/decmove.cxx | 67 +++++++++++++++++++++++++++++++++------------------------ src/decor.h | 1 + 2 files changed, 40 insertions(+), 28 deletions(-) diff --git a/src/decmove.cxx b/src/decmove.cxx index 228f7fd..5decaad 100644 --- a/src/decmove.cxx +++ b/src/decmove.cxx @@ -1012,53 +1012,64 @@ CDecor::MoveAddIcons (Point cel, Sint32 rankIcons, bool bContinue) } /** - * \brief Start the fire on a cell. + * \brief Test if something can burn at a specified cell. * * \param[in] cel - Position. * \returns true if possible. */ bool -CDecor::MoveStartFire (Point cel) +CDecor::CanBurn (Point cel) { Sint32 channel, icon; + bool canBurn = false; cel.x = (cel.x / 2) * 2; cel.y = (cel.y / 2) * 2; - channel = m_decor[cel.x / 2][cel.y / 2].objectChannel; - icon = m_decor[cel.x / 2][cel.y / 2].objectIcon; - - if ( - channel == CHOBJECT && ((icon >= 6 && icon <= 11) // trees ? - || (icon >= 65 && icon <= 71) // palissade ? - || icon == 61 // cabane ? - || icon == 36 // planches ? - || icon == 60 // tomatoes ? - || icon == 63 // eggs ? - || icon == 113 // house ? - || icon == 121 // mine de fer ? - || icon == 122 // mine de fer ? - )) - { - if (!MoveCreate (cel, -1, false, CHOBJECT, -1, -1, -1, 9999, 1, 0, true)) - return false; - - MoveAddIcons (cel, 1, true); // small fire - m_decor[cel.x / 2][cel.y / 2].fire = 2; + const auto cell = m_decor[cel.x / 2][cel.y / 2]; + + channel = cell.objectChannel; + icon = cell.objectIcon; + + canBurn = channel == CHOBJECT && ((icon >= 6 && icon <= 11) // trees ? + || (icon >= 65 && icon <= 71) // palissade ? + || icon == 61 // cabane ? + || icon == 36 // planches ? + || icon == 60 // tomatoes ? + || icon == 63 // eggs ? + || icon == 113 // house ? + || icon == 121 // mine de fer ? + || icon == 122 // mine de fer ? + ); + if (canBurn) return true; - } // If there is an other object, then no fire. if (channel >= 0) return false; - channel = m_decor[cel.x / 2][cel.y / 2].floorChannel; - icon = m_decor[cel.x / 2][cel.y / 2].floorIcon; + channel = cell.floorChannel; + icon = cell.floorIcon; - if ( - channel == CHFLOOR && (icon == 20 || // herbe foncée ? - (icon >= 59 && icon <= 64))) // bridge ? + canBurn = channel == CHFLOOR && (icon == 20 || // herbe foncée ? + (icon >= 59 && icon <= 64)); + return canBurn; +} + +/** + * \brief Start the fire on a cell. + * + * \param[in] cel - Position. + * \returns true if possible. + */ +bool +CDecor::MoveStartFire (Point cel) +{ + if (this->CanBurn (cel)) { + cel.x = (cel.x / 2) * 2; + cel.y = (cel.y / 2) * 2; + if (!MoveCreate (cel, -1, false, CHOBJECT, -1, -1, -1, 9999, 1, 0, true)) return false; diff --git a/src/decor.h b/src/decor.h index ddcc376..70ea98b 100644 --- a/src/decor.h +++ b/src/decor.h @@ -322,6 +322,7 @@ public: Term * GetTerminated (); // DecMove.cpp + bool CanBurn (Point cel); void MoveFlush (); Sint32 MoveMaxFire (); void MoveFixInit (); -- Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-games/planetblupi.git _______________________________________________ Pkg-games-commits mailing list Pkg-games-commits@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-games-commits