- Member Animation::clear ()
- remove hotspots
- Member Animation::loadAnimation (string animFile)
- Set hotspots
- Class Background
- allow tiled bgs and have them blit to a single surface / texture when loaded
- Member Background::collisionData
- implement collisions
- Member Camera::updatePos ()
- implement edge stopping. I.E. if screen hits the edge of the map stop following the sprite in that direction.
- Class Collision
- change this to where you can specify collision from object poll perspective or by partitioning and listing collisions for all objects in a map.
- Member Collision::CollisionLists
- make sure that things get removed from this and add at the appropriate time (think streaming maybe instead of hard level boundaries because otherwise we're going to have overlap issues)
- Member CollisionCircle::collision (const CollisionRectangle *c, WorldObject *wo, WorldObject *mObj) const
- test
- Member CollisionObject::CollisionObjectType
- make sure to put all CollisionObject children in here!
- Member CollisionObject::name
- make this actually be useful
- Class CollisionSegment
- make this implement something other than simply axis aligned segments
- Member CollisionSegment::collision (const CollisionRectangle *c, WorldObject *wo, WorldObject *mObj) const
- test
- Member CollisionSegment::collision (const CollisionObject *c, WorldObject *wo, WorldObject *mObj) const
- implement! initially just AA but later any normal
- Class Game
Handling Loading/Unloading of Audio content from disk
Storing Game Menus
- Member Game::addActor (string name, Actor actor)
- add find for each of these things.
- Member Game::handleInput (SDL_Event event)
- get rid of most of these. Put the rest in a #define determining whether or not to use cheats
- Member Game::mAnims
- make into map?
- Member Game::run ()
- remove this after testing done
- Class HUD
- maybe put menus as HUDS?
- Class Input
- move to Player class
- Member Input::doubleTapped (SDLKey key, int ms=-1)
- this should reeeally be tested to make sure - values of ms don't break.
- Member Input::doubleTapped (JoyButton button, int ms=-1)
- make TRIGGERTIME (this value cannot be larger than 2^31) settable
- Member Input::getDeviceCounts ()
- determine number of keyboards on linux
- Member Input::Input (bool isJoy=false)
- this should at some point store the defaults for both keyboard and joystick (player's personal preferences)and just use the one that is selected
- Member Input::inputs
- define NumKeyboards if we care about more than one
- Member Input::mIndex
- have this represent the joypad or keyboard index depending on isJoystick
- Member Input::removeKeyDownCallback (void(*fn)(SDLKey, SDLMod))
- fix all of these so they don't delete themselves instantaneously
- Member Input::triggered (SDLKey key, int ms=-1)
- this should reeeally be tested to make sure - values of ms don't break.
- Member Input::triggered (JoyButton button, int ms=-1)
- make TRIGGERTIME (this value cannot be larger than 2^31) settable
- Member Input::updateInputs (SDL_Event event)
see if it makes more sense for mousebutton and other things to allow the user to provide a processing function for each type of thing (makes lots of sense for mouse so that each event can be handled by a custom handler)
make this have a mapping from a joybutton to storage button (after getting a non-ps3 and non-360 controller) to make configurable
- Class Level
- Storing Level specific Menus
- Member Level::clearData ()
- stop and delete sound
- Member Level::load ()
- Add menu (not sure what I meant by this)
- Member Level::postEvent (SDL_Event event)
- this should probably dissapear because Input will handle this in the future
- Member Level::update ()
implement
implement
do collisions (do grid dropping for enemeies(maybe global scope?) collide ones in the same grid and then by name or all if you choose)
pause/unpause
loading screen
- Member Menu::Menu (std::string name, std::string themeName=NULL, bool fullscreen=true)
make MenuButtonList
make MenuPanel (for displaying content etc will consists of Buttonlists and displayAreas (inherit from to make info for monsters etc)
make Button class that has at minimum text, optional location for an image, ability to highlight selection
make changing from one menu to another
- Member MouseButton
- the alternate buttons don't exist to sdl atm
- Member ParticleSystem::CollisionList
- implement
- Member ParticleSystem::collisionWithSprites (string name, int count=-1)
- if vals has items in it add each of them into the marked set
- Member Player::doubleTapped (InputAction act, int ms=-1)
define a trigger time
make this check if shift and ctrl are down instead of triggered and triggered for the rest
- Member Player::InputAction
- this needs to be loaded/generated from a config file.
- Member Player::moveTowards (Point2D point)
- Implement with AI
- Member Player::Player (string filename)
LOAD FROM FILE!!!!
fix up the initialization
- Member Player::triggered (InputAction act, int ms=-1)
- define a trigger time
- Class Point2D
- implement length squared and length between two points (because it'll be needed)
- Class Sprite
make this be able to exist w/o loading all content
maybe rename to something else because this should also be the same thing used for 3D but with a model?
- Member Sprite::collisionWithSprites (string name, int count=-1)
- if vals has items in it add each of them into the marked set
- Member Sprite::getAnimation ()
- see if this is slower maybe undo
- Class SpriteFrame
make this handle frame being part of a larger texture (top left pos)
maybe also store the name of the texture so we can load them again?
- Member SpriteFrame::hotSpots
- implement default
- Member TestUpdate ()
- Players need to be added into game!!!
- Member Text::draw ()
- split the strings and then add an entry like \t at the end of each'page' to denote difference between same text or a new blob of text.
- Member Text::Text (string filename, string sectionName, FontType t, int size=24, Color c=Color::WHITE, int w=600, int h=150, Point2D pos=Point2D())
- move this to TextBox or some other class. This really shoudln't be a constructor for Text
- Member Text::wrap ()
- implement it sometime add one char at a time until the next char would make it too long and wrap like that (will probably break for jap but that's the best I can come up with for now)
- Class Texture
- see if making a template for this idea would make sense since Texture and Font both do it.
- Member WorldObject::moveTowards (Point2D direction)
Implement with AI
have Point2D keep track of magnitude for useability later
move velocity magnitude towards direction defaultly or pathfind
- Member WorldObject::mVelocity
- split into magnitude and direction (can use more efficienct computation of values since they are obtainable)
- Member WorldObject::update ()
- Handle basic physics here or just do in all inheriting classes (probably better to do later). Make sure to implement velocity and acceleration correctly
- Member WorldObject::WorldObjectType
- make sure to put all WorldObject children in here!