// // Deus Hax (working title) // Copyright (c) 2010 Sam Hocevar <sam@hocevar.net> // #if defined HAVE_CONFIG_H # include "config.h" #endif #include <cstdio> #include <cmath> #include "core.h" #include "debugsprite.h" /* * DebugSprite implementation class */ class DebugSpriteData { friend class DebugSprite; private: Game *game; int tiler; float x, y, z; }; /* * Public DebugSprite class */ DebugSprite::DebugSprite(Game *game) { data = new DebugSpriteData(); data->game = game; Ticker::Ref(game); data->tiler = Tiler::Register("art/test/character-dress.png", 32); data->x = 320; data->y = 206; data->z = 0; } void DebugSprite::TickGame(float deltams) { Entity::TickGame(deltams); Float2 axis = Input::GetAxis(0); data->x += 0.1f * sqrtf(2.0f) * deltams * axis.x; data->y += 0.1f * deltams * axis.y; } void DebugSprite::TickDraw(float deltams) { Entity::TickDraw(deltams); int x = data->x; int y = data->y; int z = data->z; data->game->GetScene()->AddTile((data->tiler << 16) | 31, x - 16, y, z, 1); data->game->GetScene()->AddTile((data->tiler << 16) | 15, x - 16, y, z + 32, 1); } DebugSprite::~DebugSprite() { Ticker::Unref(data->game); Tiler::Deregister(data->tiler); delete data; }