diff options
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | src/animationparticle.cpp | 104 | ||||
-rw-r--r-- | src/imageparticle.cpp | 138 |
3 files changed, 123 insertions, 123 deletions
@@ -1,7 +1,7 @@ 2007-09-06 Philipp Sehmisch <tmw@crushnet.org> - * src/animationparticle.cpp, src/imageparticle.cpp: - Fixed animated particles. + * src/animationparticle.cpp, src/imageparticle.cpp: Fixed animated + particles. 2007-09-01 Bjørn Lindeijer <bjorn@lindeijer.nl> diff --git a/src/animationparticle.cpp b/src/animationparticle.cpp index 431fd3bd..c79a5bc4 100644 --- a/src/animationparticle.cpp +++ b/src/animationparticle.cpp @@ -1,52 +1,52 @@ -/*
- * The Mana World
- * Copyright 2006 The Mana World Development Team
- *
- * This file is part of The Mana World.
- *
- * The Mana World is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * any later version.
- *
- * The Mana World is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with The Mana World; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-#include "animationparticle.h"
-
-#include "graphics.h"
-#include "simpleanimation.h"
-
-AnimationParticle::AnimationParticle(Map *map, Animation *animation):
- ImageParticle(map, NULL),
- mAnimation(new SimpleAnimation(animation))
-{
-}
-
-AnimationParticle::AnimationParticle(Map *map, xmlNodePtr animationNode):
- ImageParticle(map, 0),
- mAnimation(new SimpleAnimation(animationNode))
-{
-}
-
-AnimationParticle::~AnimationParticle()
-{
- delete mAnimation;
- mImage = NULL;
-}
-
-bool AnimationParticle::update()
-{
- mAnimation->update(10); // particle engine is updated every 10ms
- mImage = mAnimation->getCurrentImage();
-
- return Particle::update();
-}
+/* + * The Mana World + * Copyright 2006 The Mana World Development Team + * + * This file is part of The Mana World. + * + * The Mana World is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * any later version. + * + * The Mana World is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with The Mana World; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + */ + +#include "animationparticle.h" + +#include "graphics.h" +#include "simpleanimation.h" + +AnimationParticle::AnimationParticle(Map *map, Animation *animation): + ImageParticle(map, NULL), + mAnimation(new SimpleAnimation(animation)) +{ +} + +AnimationParticle::AnimationParticle(Map *map, xmlNodePtr animationNode): + ImageParticle(map, 0), + mAnimation(new SimpleAnimation(animationNode)) +{ +} + +AnimationParticle::~AnimationParticle() +{ + delete mAnimation; + mImage = NULL; +} + +bool AnimationParticle::update() +{ + mAnimation->update(10); // particle engine is updated every 10ms + mImage = mAnimation->getCurrentImage(); + + return Particle::update(); +} diff --git a/src/imageparticle.cpp b/src/imageparticle.cpp index 35646b3e..17581a2a 100644 --- a/src/imageparticle.cpp +++ b/src/imageparticle.cpp @@ -1,69 +1,69 @@ -/*
- * The Mana World
- * Copyright 2006 The Mana World Development Team
- *
- * This file is part of The Mana World.
- *
- * The Mana World is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * any later version.
- *
- * The Mana World is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with The Mana World; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- * $Id$
- */
-
-#include "imageparticle.h"
-
-#include "graphics.h"
-
-#include "resources/image.h"
-
-ImageParticle::ImageParticle(Map *map, Image *image):
- Particle(map),
- mImage(image)
-{
- if (mImage) mImage->incRef();
-}
-
-ImageParticle::~ImageParticle()
-{
- if (mImage) mImage->decRef();
-}
-
-void ImageParticle::draw(Graphics *graphics, int offsetX, int offsetY) const
-{
- if (!mAlive)
- return;
-
- int screenX = (int) mPos.x + offsetX - mImage->getWidth() / 2;
- int screenY = (int) mPos.y - (int)mPos.z + offsetY - mImage->getHeight()/2;
-
- // Check if on screen
- if (screenX + mImage->getWidth() < 0 ||
- screenX > graphics->getWidth() ||
- screenY + mImage->getHeight() < 0 ||
- screenY > graphics->getHeight())
- {
- return;
- }
-
- float alphafactor = 1.0f;
-
- if (mLifetimeLeft > -1 && mLifetimeLeft < mFadeOut)
- alphafactor *= (float) mLifetimeLeft / (float) mFadeOut;
-
- if (mLifetimePast < mFadeIn)
- alphafactor *= (float) mLifetimePast / (float) mFadeIn;
-
- mImage->setAlpha(alphafactor);
- graphics->drawImage(mImage, screenX, screenY);
-}
+/* + * The Mana World + * Copyright 2006 The Mana World Development Team + * + * This file is part of The Mana World. + * + * The Mana World is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * any later version. + * + * The Mana World is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with The Mana World; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * $Id$ + */ + +#include "imageparticle.h" + +#include "graphics.h" + +#include "resources/image.h" + +ImageParticle::ImageParticle(Map *map, Image *image): + Particle(map), + mImage(image) +{ + if (mImage) mImage->incRef(); +} + +ImageParticle::~ImageParticle() +{ + if (mImage) mImage->decRef(); +} + +void ImageParticle::draw(Graphics *graphics, int offsetX, int offsetY) const +{ + if (!mAlive) + return; + + int screenX = (int) mPos.x + offsetX - mImage->getWidth() / 2; + int screenY = (int) mPos.y - (int)mPos.z + offsetY - mImage->getHeight()/2; + + // Check if on screen + if (screenX + mImage->getWidth() < 0 || + screenX > graphics->getWidth() || + screenY + mImage->getHeight() < 0 || + screenY > graphics->getHeight()) + { + return; + } + + float alphafactor = 1.0f; + + if (mLifetimeLeft > -1 && mLifetimeLeft < mFadeOut) + alphafactor *= (float) mLifetimeLeft / (float) mFadeOut; + + if (mLifetimePast < mFadeIn) + alphafactor *= (float) mLifetimePast / (float) mFadeIn; + + mImage->setAlpha(alphafactor); + graphics->drawImage(mImage, screenX, screenY); +} |