[Supertux-Commit] r5980 - in branches/supertux-milestone2-grumbel/src: badguy object sprite supertux trigger worldmap
grumbel at cummiskey.dreamhost.com
grumbel at cummiskey.dreamhost.com
Sun Nov 15 13:17:15 PST 2009
Author: grumbel
Date: 2009-11-15 13:17:15 -0800 (Sun, 15 Nov 2009)
New Revision: 5980
Modified:
branches/supertux-milestone2-grumbel/src/badguy/badguy.cpp
branches/supertux-milestone2-grumbel/src/badguy/ghosttree.cpp
branches/supertux-milestone2-grumbel/src/badguy/root.cpp
branches/supertux-milestone2-grumbel/src/object/block.cpp
branches/supertux-milestone2-grumbel/src/object/block.hpp
branches/supertux-milestone2-grumbel/src/object/bullet.cpp
branches/supertux-milestone2-grumbel/src/object/falling_coin.cpp
branches/supertux-milestone2-grumbel/src/object/falling_coin.hpp
branches/supertux-milestone2-grumbel/src/object/floating_image.cpp
branches/supertux-milestone2-grumbel/src/object/flower.cpp
branches/supertux-milestone2-grumbel/src/object/flower.hpp
branches/supertux-milestone2-grumbel/src/object/gameobjs.cpp
branches/supertux-milestone2-grumbel/src/object/gameobjs.hpp
branches/supertux-milestone2-grumbel/src/object/infoblock.cpp
branches/supertux-milestone2-grumbel/src/object/invisible_block.cpp
branches/supertux-milestone2-grumbel/src/object/lantern.cpp
branches/supertux-milestone2-grumbel/src/object/lantern.hpp
branches/supertux-milestone2-grumbel/src/object/light.cpp
branches/supertux-milestone2-grumbel/src/object/light.hpp
branches/supertux-milestone2-grumbel/src/object/moving_sprite.cpp
branches/supertux-milestone2-grumbel/src/object/moving_sprite.hpp
branches/supertux-milestone2-grumbel/src/object/player.cpp
branches/supertux-milestone2-grumbel/src/object/player.hpp
branches/supertux-milestone2-grumbel/src/object/rainsplash.hpp
branches/supertux-milestone2-grumbel/src/object/spotlight.cpp
branches/supertux-milestone2-grumbel/src/object/spotlight.hpp
branches/supertux-milestone2-grumbel/src/object/sprite_particle.cpp
branches/supertux-milestone2-grumbel/src/object/sprite_particle.hpp
branches/supertux-milestone2-grumbel/src/sprite/sprite_manager.cpp
branches/supertux-milestone2-grumbel/src/sprite/sprite_manager.hpp
branches/supertux-milestone2-grumbel/src/supertux/levelintro.cpp
branches/supertux-milestone2-grumbel/src/trigger/door.cpp
branches/supertux-milestone2-grumbel/src/trigger/door.hpp
branches/supertux-milestone2-grumbel/src/trigger/switch.cpp
branches/supertux-milestone2-grumbel/src/trigger/switch.hpp
branches/supertux-milestone2-grumbel/src/worldmap/level.cpp
branches/supertux-milestone2-grumbel/src/worldmap/special_tile.cpp
branches/supertux-milestone2-grumbel/src/worldmap/sprite_change.cpp
branches/supertux-milestone2-grumbel/src/worldmap/teleporter.cpp
branches/supertux-milestone2-grumbel/src/worldmap/tux.cpp
Log:
Use std::auto_ptr<Sprite> instead of Sprite*
Modified: branches/supertux-milestone2-grumbel/src/badguy/badguy.cpp
===================================================================
--- branches/supertux-milestone2-grumbel/src/badguy/badguy.cpp 2009-11-15 20:59:17 UTC (rev 5979)
+++ branches/supertux-milestone2-grumbel/src/badguy/badguy.cpp 2009-11-15 21:17:15 UTC (rev 5980)
@@ -115,7 +115,7 @@
void
BadGuy::draw(DrawingContext& context)
{
- if(!sprite)
+ if(!sprite.get())
return;
if(state == STATE_INIT || state == STATE_INACTIVE)
return;
Modified: branches/supertux-milestone2-grumbel/src/badguy/ghosttree.cpp
===================================================================
--- branches/supertux-milestone2-grumbel/src/badguy/ghosttree.cpp 2009-11-15 20:59:17 UTC (rev 5979)
+++ branches/supertux-milestone2-grumbel/src/badguy/ghosttree.cpp 2009-11-15 21:17:15 UTC (rev 5980)
@@ -53,7 +53,7 @@
suck_lantern(0),
willowisps()
{
- glow_sprite.reset(sprite_manager->create("images/creatures/ghosttree/ghosttree-glow.sprite"));
+ glow_sprite = sprite_manager->create("images/creatures/ghosttree/ghosttree-glow.sprite");
set_colgroup_active(COLGROUP_TOUCHABLE);
sound_manager->preload("sounds/tree_howling.ogg");
sound_manager->preload("sounds/tree_suck.ogg");
Modified: branches/supertux-milestone2-grumbel/src/badguy/root.cpp
===================================================================
--- branches/supertux-milestone2-grumbel/src/badguy/root.cpp 2009-11-15 20:59:17 UTC (rev 5979)
+++ branches/supertux-milestone2-grumbel/src/badguy/root.cpp 2009-11-15 21:17:15 UTC (rev 5980)
@@ -29,7 +29,7 @@
offset_y(0),
hatch_timer()
{
- base_sprite.reset(sprite_manager->create("images/creatures/ghosttree/root-base.sprite"));
+ base_sprite = sprite_manager->create("images/creatures/ghosttree/root-base.sprite");
base_sprite->set_action("appearing", 1);
base_sprite->set_animation_loops(1); // TODO: necessary because set_action ignores loops for default action
physic.enable_gravity(false);
Modified: branches/supertux-milestone2-grumbel/src/object/block.cpp
===================================================================
--- branches/supertux-milestone2-grumbel/src/object/block.cpp 2009-11-15 20:59:17 UTC (rev 5979)
+++ branches/supertux-milestone2-grumbel/src/object/block.cpp 2009-11-15 21:17:15 UTC (rev 5980)
@@ -39,8 +39,13 @@
static const float EPSILON = .0001f;
static const float BUMP_ROTATION_ANGLE = 10;
-Block::Block(Sprite* newsprite)
- : sprite(newsprite), bouncing(false), breaking(false), bounce_dir(0), bounce_offset(0), original_y(-1)
+Block::Block(std::auto_ptr<Sprite> newsprite) :
+ sprite(newsprite),
+ bouncing(false),
+ breaking(false),
+ bounce_dir(0),
+ bounce_offset(0),
+ original_y(-1)
{
bbox.set_size(32, 32.1f);
set_group(COLGROUP_STATIC);
@@ -50,7 +55,6 @@
Block::~Block()
{
- delete sprite;
}
HitResponse
@@ -152,8 +156,9 @@
//---------------------------------------------------------------------------
-BonusBlock::BonusBlock(const Vector& pos, int data)
- : Block(sprite_manager->create("images/objects/bonus_block/bonusblock.sprite")), object(0)
+BonusBlock::BonusBlock(const Vector& pos, int data) :
+ Block(sprite_manager->create("images/objects/bonus_block/bonusblock.sprite")),
+ object(0)
{
bbox.set_pos(pos);
sprite->set_action("normal");
Modified: branches/supertux-milestone2-grumbel/src/object/block.hpp
===================================================================
--- branches/supertux-milestone2-grumbel/src/object/block.hpp 2009-11-15 20:59:17 UTC (rev 5979)
+++ branches/supertux-milestone2-grumbel/src/object/block.hpp 2009-11-15 21:17:15 UTC (rev 5980)
@@ -17,6 +17,8 @@
#ifndef HEADER_SUPERTUX_OBJECT_BLOCK_HPP
#define HEADER_SUPERTUX_OBJECT_BLOCK_HPP
+#include <memory>
+
#include "lisp/lisp.hpp"
#include "supertux/moving_object.hpp"
@@ -26,7 +28,7 @@
class Block : public MovingObject
{
public:
- Block(Sprite* sprite = 0);
+ Block(std::auto_ptr<Sprite> sprite);
~Block();
virtual HitResponse collision(GameObject& other, const CollisionHit& hit);
@@ -41,7 +43,7 @@
void start_break(GameObject* hitter);
void break_me();
- Sprite* sprite;
+ std::auto_ptr<Sprite> sprite;
bool bouncing;
bool breaking;
float bounce_dir;
Modified: branches/supertux-milestone2-grumbel/src/object/bullet.cpp
===================================================================
--- branches/supertux-milestone2-grumbel/src/object/bullet.cpp 2009-11-15 20:59:17 UTC (rev 5979)
+++ branches/supertux-milestone2-grumbel/src/object/bullet.cpp 2009-11-15 21:17:15 UTC (rev 5980)
@@ -32,14 +32,14 @@
physic.set_velocity_x(speed + xm);
if(type == FIRE_BONUS) {
- sprite.reset(sprite_manager->create("images/objects/bullets/firebullet.sprite"));
+ sprite = sprite_manager->create("images/objects/bullets/firebullet.sprite");
} else if(type == ICE_BONUS) {
life_count = 10;
- sprite.reset(sprite_manager->create("images/objects/bullets/icebullet.sprite"));
+ sprite = sprite_manager->create("images/objects/bullets/icebullet.sprite");
} else {
log_warning << "Bullet::Bullet called with unknown BonusType" << std::endl;
life_count = 10;
- sprite.reset(sprite_manager->create("images/objects/bullets/firebullet.sprite"));
+ sprite = sprite_manager->create("images/objects/bullets/firebullet.sprite");
}
bbox.set_pos(pos);
Modified: branches/supertux-milestone2-grumbel/src/object/falling_coin.cpp
===================================================================
--- branches/supertux-milestone2-grumbel/src/object/falling_coin.cpp 2009-11-15 20:59:17 UTC (rev 5979)
+++ branches/supertux-milestone2-grumbel/src/object/falling_coin.cpp 2009-11-15 21:17:15 UTC (rev 5980)
@@ -15,6 +15,7 @@
// along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "object/falling_coin.hpp"
+
#include "sprite/sprite_manager.hpp"
#include "supertux/main.hpp"
@@ -28,7 +29,6 @@
FallingCoin::~FallingCoin()
{
- delete sprite;
}
void
Modified: branches/supertux-milestone2-grumbel/src/object/falling_coin.hpp
===================================================================
--- branches/supertux-milestone2-grumbel/src/object/falling_coin.hpp 2009-11-15 20:59:17 UTC (rev 5979)
+++ branches/supertux-milestone2-grumbel/src/object/falling_coin.hpp 2009-11-15 21:17:15 UTC (rev 5980)
@@ -29,9 +29,10 @@
void draw(DrawingContext& context);
void update(float elapsed_time);
+
private:
Vector pos;
- Sprite* sprite;
+ std::auto_ptr<Sprite> sprite;
};
#endif
Modified: branches/supertux-milestone2-grumbel/src/object/floating_image.cpp
===================================================================
--- branches/supertux-milestone2-grumbel/src/object/floating_image.cpp 2009-11-15 20:59:17 UTC (rev 5979)
+++ branches/supertux-milestone2-grumbel/src/object/floating_image.cpp 2009-11-15 21:17:15 UTC (rev 5980)
@@ -22,7 +22,7 @@
FloatingImage::FloatingImage(const std::string& spritefile)
: layer(LAYER_FOREGROUND1 + 1), visible(false), anchor(ANCHOR_MIDDLE), fading(0), fadetime(0)
{
- sprite.reset(sprite_manager->create(spritefile));
+ sprite = sprite_manager->create(spritefile);
}
FloatingImage::~FloatingImage()
Modified: branches/supertux-milestone2-grumbel/src/object/flower.cpp
===================================================================
--- branches/supertux-milestone2-grumbel/src/object/flower.cpp 2009-11-15 20:59:17 UTC (rev 5979)
+++ branches/supertux-milestone2-grumbel/src/object/flower.cpp 2009-11-15 21:17:15 UTC (rev 5980)
@@ -19,8 +19,8 @@
#include "object/player.hpp"
#include "sprite/sprite_manager.hpp"
-Flower::Flower(BonusType _type)
- : type(_type)
+Flower::Flower(BonusType _type) :
+ type(_type)
{
bbox.set_size(32, 32);
@@ -40,7 +40,6 @@
Flower::~Flower()
{
- delete sprite;
}
void
Modified: branches/supertux-milestone2-grumbel/src/object/flower.hpp
===================================================================
--- branches/supertux-milestone2-grumbel/src/object/flower.hpp 2009-11-15 20:59:17 UTC (rev 5979)
+++ branches/supertux-milestone2-grumbel/src/object/flower.hpp 2009-11-15 21:17:15 UTC (rev 5980)
@@ -33,7 +33,7 @@
private:
BonusType type;
- Sprite* sprite;
+ std::auto_ptr<Sprite> sprite;
private:
Flower(const Flower&);
Modified: branches/supertux-milestone2-grumbel/src/object/gameobjs.cpp
===================================================================
--- branches/supertux-milestone2-grumbel/src/object/gameobjs.cpp 2009-11-15 20:59:17 UTC (rev 5979)
+++ branches/supertux-milestone2-grumbel/src/object/gameobjs.cpp 2009-11-15 21:17:15 UTC (rev 5980)
@@ -42,7 +42,6 @@
BouncyCoin::~BouncyCoin()
{
- delete sprite;
}
void
@@ -173,7 +172,6 @@
SmokeCloud::~SmokeCloud()
{
- delete sprite;
}
void
Modified: branches/supertux-milestone2-grumbel/src/object/gameobjs.hpp
===================================================================
--- branches/supertux-milestone2-grumbel/src/object/gameobjs.hpp 2009-11-15 20:59:17 UTC (rev 5979)
+++ branches/supertux-milestone2-grumbel/src/object/gameobjs.hpp 2009-11-15 21:17:15 UTC (rev 5980)
@@ -17,6 +17,8 @@
#ifndef HEADER_SUPERTUX_OBJECT_GAMEOBJS_HPP
#define HEADER_SUPERTUX_OBJECT_GAMEOBJS_HPP
+#include <memory>
+
#include "math/vector.hpp"
#include "supertux/game_object.hpp"
#include "supertux/timer.hpp"
@@ -37,7 +39,7 @@
virtual void draw(DrawingContext& context);
private:
- Sprite* sprite;
+ std::auto_ptr<Sprite> sprite;
Vector position;
Timer timer;
float emerge_distance;
@@ -93,7 +95,7 @@
virtual void draw(DrawingContext& context);
private:
- Sprite* sprite;
+ std::auto_ptr<Sprite> sprite;
Timer timer;
Vector position;
Modified: branches/supertux-milestone2-grumbel/src/object/infoblock.cpp
===================================================================
--- branches/supertux-milestone2-grumbel/src/object/infoblock.cpp 2009-11-15 20:59:17 UTC (rev 5979)
+++ branches/supertux-milestone2-grumbel/src/object/infoblock.cpp 2009-11-15 21:17:15 UTC (rev 5980)
@@ -29,8 +29,10 @@
const float HEIGHT = 200;
}
-InfoBlock::InfoBlock(const lisp::Lisp& lisp)
- : Block(sprite_manager->create("images/objects/bonus_block/infoblock.sprite")), shown_pct(0), dest_pct(0)
+InfoBlock::InfoBlock(const lisp::Lisp& lisp) :
+ Block(sprite_manager->create("images/objects/bonus_block/infoblock.sprite")),
+ shown_pct(0),
+ dest_pct(0)
{
Vector pos;
lisp.get("x", pos.x);
Modified: branches/supertux-milestone2-grumbel/src/object/invisible_block.cpp
===================================================================
--- branches/supertux-milestone2-grumbel/src/object/invisible_block.cpp 2009-11-15 20:59:17 UTC (rev 5979)
+++ branches/supertux-milestone2-grumbel/src/object/invisible_block.cpp 2009-11-15 21:17:15 UTC (rev 5980)
@@ -21,8 +21,9 @@
#include "sprite/sprite_manager.hpp"
#include "supertux/constants.hpp"
-InvisibleBlock::InvisibleBlock(const Vector& pos)
- : Block(sprite_manager->create("images/objects/bonus_block/invisibleblock.sprite")), visible(false)
+InvisibleBlock::InvisibleBlock(const Vector& pos) :
+ Block(sprite_manager->create("images/objects/bonus_block/invisibleblock.sprite")),
+ visible(false)
{
bbox.set_pos(pos);
sound_manager->preload("sounds/brick.wav");
Modified: branches/supertux-milestone2-grumbel/src/object/lantern.cpp
===================================================================
--- branches/supertux-milestone2-grumbel/src/object/lantern.cpp 2009-11-15 20:59:17 UTC (rev 5979)
+++ branches/supertux-milestone2-grumbel/src/object/lantern.cpp 2009-11-15 21:17:15 UTC (rev 5980)
@@ -49,7 +49,6 @@
Lantern::~Lantern()
{
- delete lightsprite;
}
void
Modified: branches/supertux-milestone2-grumbel/src/object/lantern.hpp
===================================================================
--- branches/supertux-milestone2-grumbel/src/object/lantern.hpp 2009-11-15 20:59:17 UTC (rev 5979)
+++ branches/supertux-milestone2-grumbel/src/object/lantern.hpp 2009-11-15 21:17:15 UTC (rev 5980)
@@ -49,7 +49,7 @@
private:
Color lightcolor;
- Sprite* lightsprite;
+ std::auto_ptr<Sprite> lightsprite;
void updateColor();
private:
Modified: branches/supertux-milestone2-grumbel/src/object/light.cpp
===================================================================
--- branches/supertux-milestone2-grumbel/src/object/light.cpp 2009-11-15 20:59:17 UTC (rev 5979)
+++ branches/supertux-milestone2-grumbel/src/object/light.cpp 2009-11-15 21:17:15 UTC (rev 5980)
@@ -25,7 +25,6 @@
Light::~Light()
{
- delete sprite;
}
void
Modified: branches/supertux-milestone2-grumbel/src/object/light.hpp
===================================================================
--- branches/supertux-milestone2-grumbel/src/object/light.hpp 2009-11-15 20:59:17 UTC (rev 5979)
+++ branches/supertux-milestone2-grumbel/src/object/light.hpp 2009-11-15 21:17:15 UTC (rev 5980)
@@ -17,6 +17,8 @@
#ifndef HEADER_SUPERTUX_OBJECT_LIGHT_HPP
#define HEADER_SUPERTUX_OBJECT_LIGHT_HPP
+#include <memory>
+
#include "math/vector.hpp"
#include "supertux/game_object.hpp"
#include "video/color.hpp"
@@ -35,7 +37,7 @@
protected:
Vector position;
Color color;
- Sprite* sprite;
+ std::auto_ptr<Sprite> sprite;
};
#endif
Modified: branches/supertux-milestone2-grumbel/src/object/moving_sprite.cpp
===================================================================
--- branches/supertux-milestone2-grumbel/src/object/moving_sprite.cpp 2009-11-15 20:59:17 UTC (rev 5979)
+++ branches/supertux-milestone2-grumbel/src/object/moving_sprite.cpp 2009-11-15 21:17:15 UTC (rev 5980)
@@ -68,7 +68,7 @@
MovingObject(other),
layer(other.layer)
{
- sprite = new Sprite(*other.sprite);
+ sprite.reset(new Sprite(*other.sprite));
}
/*
MovingSprite&
@@ -87,7 +87,6 @@
*/
MovingSprite::~MovingSprite()
{
- delete sprite;
}
void
Modified: branches/supertux-milestone2-grumbel/src/object/moving_sprite.hpp
===================================================================
--- branches/supertux-milestone2-grumbel/src/object/moving_sprite.hpp 2009-11-15 20:59:17 UTC (rev 5979)
+++ branches/supertux-milestone2-grumbel/src/object/moving_sprite.hpp 2009-11-15 21:17:15 UTC (rev 5980)
@@ -45,7 +45,7 @@
protected:
std::string sprite_name;
- Sprite* sprite;
+ std::auto_ptr<Sprite> sprite;
int layer; /**< Sprite's z-position. Refer to video/drawing_context.hpp for sensible values. */
/**
Modified: branches/supertux-milestone2-grumbel/src/object/player.cpp
===================================================================
--- branches/supertux-milestone2-grumbel/src/object/player.cpp 2009-11-15 20:59:17 UTC (rev 5979)
+++ branches/supertux-milestone2-grumbel/src/object/player.cpp 2009-11-15 21:17:15 UTC (rev 5980)
@@ -114,7 +114,7 @@
{
this->name = name;
controller = main_controller;
- scripting_controller = new CodeController();
+ scripting_controller.reset(new CodeController());
sprite = sprite_manager->create("images/creatures/tux/tux.sprite");
airarrow.reset(new Surface("images/engine/hud/airarrow.png"));
idle_timer.start(IDLE_TIME[0]/1000.0f);
@@ -133,8 +133,6 @@
Player::~Player()
{
if (climbing) stop_climbing(*climbing);
- delete sprite;
- delete scripting_controller;
}
void
@@ -217,11 +215,11 @@
void
Player::use_scripting_controller(bool use_or_release)
{
- if ((use_or_release == true) && (controller != scripting_controller)) {
+ if ((use_or_release == true) && (controller != scripting_controller.get())) {
scripting_controller_old = get_controller();
- set_controller(scripting_controller);
+ set_controller(scripting_controller.get());
}
- if ((use_or_release == false) && (controller == scripting_controller)) {
+ if ((use_or_release == false) && (controller == scripting_controller.get())) {
set_controller(scripting_controller_old);
scripting_controller_old = 0;
}
Modified: branches/supertux-milestone2-grumbel/src/object/player.hpp
===================================================================
--- branches/supertux-milestone2-grumbel/src/object/player.hpp 2009-11-15 20:59:17 UTC (rev 5979)
+++ branches/supertux-milestone2-grumbel/src/object/player.hpp 2009-11-15 21:17:15 UTC (rev 5980)
@@ -53,7 +53,7 @@
enum FallMode { ON_GROUND, JUMPING, TRAMPOLINE_JUMP, FALLING };
Controller* controller;
- CodeController* scripting_controller; /**< This controller is used when the Player is controlled via scripting */
+ std::auto_ptr<CodeController> scripting_controller; /**< This controller is used when the Player is controlled via scripting */
PlayerStatus* player_status;
bool duck;
bool dead;
@@ -292,10 +292,7 @@
Portable* grabbed_object;
- Sprite* sprite; /**< The main sprite representing Tux */
- Sprite* smalltux_gameover;
- Sprite* smalltux_star;
- Sprite* bigtux_star;
+ std::auto_ptr<Sprite> sprite; /**< The main sprite representing Tux */
std::auto_ptr<Surface> airarrow; /**< arrow indicating Tux' position when he's above the camera */
Modified: branches/supertux-milestone2-grumbel/src/object/rainsplash.hpp
===================================================================
--- branches/supertux-milestone2-grumbel/src/object/rainsplash.hpp 2009-11-15 20:59:17 UTC (rev 5979)
+++ branches/supertux-milestone2-grumbel/src/object/rainsplash.hpp 2009-11-15 21:17:15 UTC (rev 5980)
@@ -33,7 +33,7 @@
virtual void update(float time);
virtual void draw(DrawingContext& context);
private:
- Sprite* sprite;
+ std::auto_ptr<Sprite> sprite;
Vector position;
int frame;
};
Modified: branches/supertux-milestone2-grumbel/src/object/spotlight.cpp
===================================================================
--- branches/supertux-milestone2-grumbel/src/object/spotlight.cpp 2009-11-15 20:59:17 UTC (rev 5979)
+++ branches/supertux-milestone2-grumbel/src/object/spotlight.cpp 2009-11-15 21:17:15 UTC (rev 5980)
@@ -49,11 +49,6 @@
Spotlight::~Spotlight()
{
- delete center;
- delete base;
- delete lights;
- delete lightcone;
- delete light;
}
void
Modified: branches/supertux-milestone2-grumbel/src/object/spotlight.hpp
===================================================================
--- branches/supertux-milestone2-grumbel/src/object/spotlight.hpp 2009-11-15 20:59:17 UTC (rev 5979)
+++ branches/supertux-milestone2-grumbel/src/object/spotlight.hpp 2009-11-15 21:17:15 UTC (rev 5980)
@@ -17,6 +17,8 @@
#ifndef HEADER_SUPERTUX_OBJECT_SPOTLIGHT_HPP
#define HEADER_SUPERTUX_OBJECT_SPOTLIGHT_HPP
+#include <memory>
+
#include "lisp/lisp.hpp"
#include "math/vector.hpp"
#include "supertux/game_object.hpp"
@@ -36,11 +38,11 @@
private:
Vector position;
float angle;
- Sprite* center;
- Sprite* base;
- Sprite* lights;
- Sprite* light;
- Sprite* lightcone;
+ std::auto_ptr<Sprite> center;
+ std::auto_ptr<Sprite> base;
+ std::auto_ptr<Sprite> lights;
+ std::auto_ptr<Sprite> light;
+ std::auto_ptr<Sprite> lightcone;
Color color;
};
Modified: branches/supertux-milestone2-grumbel/src/object/sprite_particle.cpp
===================================================================
--- branches/supertux-milestone2-grumbel/src/object/sprite_particle.cpp 2009-11-15 20:59:17 UTC (rev 5979)
+++ branches/supertux-milestone2-grumbel/src/object/sprite_particle.cpp 2009-11-15 21:17:15 UTC (rev 5980)
@@ -24,7 +24,7 @@
: position(position), velocity(velocity), acceleration(acceleration), drawing_layer(drawing_layer)
{
sprite = sprite_manager->create(sprite_name);
- if (!sprite) throw std::runtime_error("Could not load sprite "+sprite_name);
+ if (!sprite.get()) throw std::runtime_error("Could not load sprite "+sprite_name);
sprite->set_action(action, 1);
sprite->set_animation_loops(1); //TODO: this is necessary because set_action will not set "loops" when "action" is the default action
Modified: branches/supertux-milestone2-grumbel/src/object/sprite_particle.hpp
===================================================================
--- branches/supertux-milestone2-grumbel/src/object/sprite_particle.hpp 2009-11-15 20:59:17 UTC (rev 5979)
+++ branches/supertux-milestone2-grumbel/src/object/sprite_particle.hpp 2009-11-15 21:17:15 UTC (rev 5980)
@@ -33,8 +33,9 @@
virtual void hit(Player& player);
virtual void update(float elapsed_time);
virtual void draw(DrawingContext& context);
+
private:
- Sprite* sprite;
+ std::auto_ptr<Sprite> sprite;
Vector position;
Vector velocity;
Vector acceleration;
Modified: branches/supertux-milestone2-grumbel/src/sprite/sprite_manager.cpp
===================================================================
--- branches/supertux-milestone2-grumbel/src/sprite/sprite_manager.cpp 2009-11-15 20:59:17 UTC (rev 5979)
+++ branches/supertux-milestone2-grumbel/src/sprite/sprite_manager.cpp 2009-11-15 21:17:15 UTC (rev 5980)
@@ -33,7 +33,7 @@
}
}
-Sprite*
+std::auto_ptr<Sprite>
SpriteManager::create(const std::string& name)
{
Sprites::iterator i = sprites.find(name);
@@ -50,7 +50,7 @@
data = i->second;
}
- return new Sprite(*data);
+ return std::auto_ptr<Sprite>(new Sprite(*data));
}
SpriteData*
Modified: branches/supertux-milestone2-grumbel/src/sprite/sprite_manager.hpp
===================================================================
--- branches/supertux-milestone2-grumbel/src/sprite/sprite_manager.hpp 2009-11-15 20:59:17 UTC (rev 5979)
+++ branches/supertux-milestone2-grumbel/src/sprite/sprite_manager.hpp 2009-11-15 21:17:15 UTC (rev 5980)
@@ -18,6 +18,7 @@
#define HEADER_SUPERTUX_SPRITE_SPRITE_MANAGER_HPP
#include <map>
+#include <memory>
#include <string>
class SpriteData;
@@ -34,7 +35,7 @@
~SpriteManager();
/** loads a sprite. */
- Sprite* create(const std::string& filename);
+ std::auto_ptr<Sprite> create(const std::string& filename);
private:
SpriteData* load(const std::string& filename);
Modified: branches/supertux-milestone2-grumbel/src/supertux/levelintro.cpp
===================================================================
--- branches/supertux-milestone2-grumbel/src/supertux/levelintro.cpp 2009-11-15 20:59:17 UTC (rev 5979)
+++ branches/supertux-milestone2-grumbel/src/supertux/levelintro.cpp 2009-11-15 21:17:15 UTC (rev 5980)
@@ -28,7 +28,7 @@
LevelIntro::LevelIntro(const Level* level, const Statistics* best_level_statistics)
: level(level), best_level_statistics(best_level_statistics), player_sprite_py(0), player_sprite_vy(0)
{
- player_sprite.reset(sprite_manager->create("images/creatures/tux/tux.sprite"));
+ player_sprite = sprite_manager->create("images/creatures/tux/tux.sprite");
player_sprite->set_action("small-walk-right");
player_sprite_jump_timer.start(systemRandom.randf(5,10));
}
Modified: branches/supertux-milestone2-grumbel/src/trigger/door.cpp
===================================================================
--- branches/supertux-milestone2-grumbel/src/trigger/door.cpp 2009-11-15 20:59:17 UTC (rev 5979)
+++ branches/supertux-milestone2-grumbel/src/trigger/door.cpp 2009-11-15 21:17:15 UTC (rev 5980)
@@ -22,8 +22,8 @@
#include "supertux/object_factory.hpp"
#include "trigger/door.hpp"
-Door::Door(const lisp::Lisp& reader)
- : state(CLOSED)
+Door::Door(const lisp::Lisp& reader) :
+ state(CLOSED)
{
reader.get("x", bbox.p1.x);
reader.get("y", bbox.p1.y);
@@ -37,8 +37,8 @@
sound_manager->preload("sounds/door.wav");
}
-Door::Door(int x, int y, std::string sector, std::string spawnpoint)
- : state(CLOSED)
+Door::Door(int x, int y, std::string sector, std::string spawnpoint) :
+ state(CLOSED)
{
bbox.set_pos(Vector(x, y));
target_sector = sector;
@@ -53,7 +53,6 @@
Door::~Door()
{
- delete sprite;
}
void
Modified: branches/supertux-milestone2-grumbel/src/trigger/door.hpp
===================================================================
--- branches/supertux-milestone2-grumbel/src/trigger/door.hpp 2009-11-15 20:59:17 UTC (rev 5979)
+++ branches/supertux-milestone2-grumbel/src/trigger/door.hpp 2009-11-15 21:17:15 UTC (rev 5980)
@@ -45,10 +45,11 @@
CLOSING
};
+private:
DoorState state; /**< current state of the door */
std::string target_sector; /**< target sector to teleport to */
std::string target_spawnpoint; /**< target spawnpoint to teleport to */
- Sprite* sprite; /**< "door" sprite to render */
+ std::auto_ptr<Sprite> sprite; /**< "door" sprite to render */
Timer stay_open_timer; /**< time until door will close again */
};
Modified: branches/supertux-milestone2-grumbel/src/trigger/switch.cpp
===================================================================
--- branches/supertux-milestone2-grumbel/src/trigger/switch.cpp 2009-11-15 20:59:17 UTC (rev 5979)
+++ branches/supertux-milestone2-grumbel/src/trigger/switch.cpp 2009-11-15 21:17:15 UTC (rev 5980)
@@ -28,8 +28,8 @@
const std::string SWITCH_SOUND = "sounds/switch.ogg";
}
-Switch::Switch(const lisp::Lisp& reader)
- : state(OFF)
+Switch::Switch(const lisp::Lisp& reader) :
+ state(OFF)
{
if (!reader.get("x", bbox.p1.x)) throw std::runtime_error("no x position set");
if (!reader.get("y", bbox.p1.y)) throw std::runtime_error("no y position set");
@@ -43,7 +43,6 @@
Switch::~Switch()
{
- delete sprite;
}
void
Modified: branches/supertux-milestone2-grumbel/src/trigger/switch.hpp
===================================================================
--- branches/supertux-milestone2-grumbel/src/trigger/switch.hpp 2009-11-15 20:59:17 UTC (rev 5979)
+++ branches/supertux-milestone2-grumbel/src/trigger/switch.hpp 2009-11-15 21:17:15 UTC (rev 5980)
@@ -48,7 +48,7 @@
};
std::string sprite_name;
- Sprite* sprite;
+ std::auto_ptr<Sprite> sprite;
std::string script;
SwitchState state;
Modified: branches/supertux-milestone2-grumbel/src/worldmap/level.cpp
===================================================================
--- branches/supertux-milestone2-grumbel/src/worldmap/level.cpp 2009-11-15 20:59:17 UTC (rev 5979)
+++ branches/supertux-milestone2-grumbel/src/worldmap/level.cpp 2009-11-15 21:17:15 UTC (rev 5980)
@@ -39,7 +39,7 @@
std::string spritefile = "images/worldmap/common/leveldot.sprite";
lisp->get("sprite", spritefile);
- sprite.reset(sprite_manager->create(spritefile));
+ sprite = sprite_manager->create(spritefile);
lisp->get("extro-script", extro_script);
Modified: branches/supertux-milestone2-grumbel/src/worldmap/special_tile.cpp
===================================================================
--- branches/supertux-milestone2-grumbel/src/worldmap/special_tile.cpp 2009-11-15 20:59:17 UTC (rev 5979)
+++ branches/supertux-milestone2-grumbel/src/worldmap/special_tile.cpp 2009-11-15 21:17:15 UTC (rev 5980)
@@ -35,7 +35,7 @@
if(!invisible) {
std::string spritefile = "";
lisp->get("sprite", spritefile);
- sprite.reset(sprite_manager->create(spritefile));
+ sprite = sprite_manager->create(spritefile);
}
lisp->get("map-message", map_message);
Modified: branches/supertux-milestone2-grumbel/src/worldmap/sprite_change.cpp
===================================================================
--- branches/supertux-milestone2-grumbel/src/worldmap/sprite_change.cpp 2009-11-15 20:59:17 UTC (rev 5979)
+++ branches/supertux-milestone2-grumbel/src/worldmap/sprite_change.cpp 2009-11-15 21:17:15 UTC (rev 5980)
@@ -31,7 +31,7 @@
std::string spritefile = "";
lisp->get("sprite", spritefile);
- sprite.reset(sprite_manager->create(spritefile));
+ sprite = sprite_manager->create(spritefile);
lisp->get("stay-action", stay_action);
lisp->get("initial-stay-action", in_stay_action);
Modified: branches/supertux-milestone2-grumbel/src/worldmap/teleporter.cpp
===================================================================
--- branches/supertux-milestone2-grumbel/src/worldmap/teleporter.cpp 2009-11-15 20:59:17 UTC (rev 5979)
+++ branches/supertux-milestone2-grumbel/src/worldmap/teleporter.cpp 2009-11-15 21:17:15 UTC (rev 5980)
@@ -30,7 +30,7 @@
std::string spritefile = "";
if (lisp->get("sprite", spritefile)) {
- sprite.reset(sprite_manager->create(spritefile));
+ sprite = sprite_manager->create(spritefile);
}
lisp->get("worldmap", worldmap);
Modified: branches/supertux-milestone2-grumbel/src/worldmap/tux.cpp
===================================================================
--- branches/supertux-milestone2-grumbel/src/worldmap/tux.cpp 2009-11-15 20:59:17 UTC (rev 5979)
+++ branches/supertux-milestone2-grumbel/src/worldmap/tux.cpp 2009-11-15 21:17:15 UTC (rev 5980)
@@ -42,7 +42,7 @@
moving(),
ghost_mode()
{
- sprite.reset(sprite_manager->create("images/worldmap/common/tux.sprite"));
+ sprite = sprite_manager->create("images/worldmap/common/tux.sprite");
offset = 0;
moving = false;
More information about the Supertux-Commit
mailing list