Deleted TODO and merged it into http://supertux.lethargik.org/wiki/TODO-List
authorIngo Ruhnke <grumbel@gmail.com>
Wed, 27 Aug 2014 20:31:22 +0000 (22:31 +0200)
committerIngo Ruhnke <grumbel@gmail.com>
Wed, 27 Aug 2014 20:31:22 +0000 (22:31 +0200)
TODO [deleted file]

diff --git a/TODO b/TODO
deleted file mode 100644 (file)
index b0e77e4..0000000
--- a/TODO
+++ /dev/null
@@ -1,231 +0,0 @@
-SuperTux TODO
-=============
-
-This is a list of tasks and issues that might be worth to implement or
-fix. This list is however not an authorative list of things that must
-be done, its a collection of random things that pop up during
-development, therefore not everything in here might be well thought
-out or worth to implement. Use your brain before implementing anything
-on this list and always think about how useful a new feature would be
-in the context of the whole game or if a potential performance
-enhanchment, actually enhanchmes anything at all.
-
-Coding Standard Stuff
-=====================
-
-* remove overuse of multi-inheritance 
-
-* remove overuse of friend'ship
-
-* maybe mark interfaces as interfaces (ISerializable or SerializableInterface)
-
-* split files with multiple classes into multiple files with one class each
-
-* Decide what to do with magic constants of objects (static vs anonymous namespace vs lisp property)
-
-* check the code with Valgrind and profilers
-
-* use Vector in Physics for 'a' and 'v'
-
-* replace random generator with C++11 stuff
-
-* md5.hpp and random_generator.hpp could go to external/
-
-* write/finish scripts to automatically:
-
-  - make all includes relative to top level dir
-
-  - sort includes (.hpp file, then system includes, then other project files)
-
-  - include guards proper and of the form HEADER_SUPERTUX_${PATH_TO_FILE}_HPP
-
-  - remove trailing whitespace
-
-TODO
-====
-
-* implement a system that allows to attach comments to specific regions in a level
-
-* implement a tool to "screenshot" a complete level
-
-* GameObject::RemoveListenerListEntry: Ughs, somebody trying to
-  implement a list class within in the GameObject?!
-
-* make gravity constant
-
-* rename Vector -> Vector2f
-
-* get rid of SCREEN_WIDTH/SCREEN_HEIGHT overuse, give them a proper name at least
-
-* resolution menu entry moves the wrong way around
-
-* having dictionary_manager in Lisp is extremely ugly
-
-* enforce proper naming of files to match their class (SomeClass -> some_class.?pp or so)
-
-* file naming is inconsistent: some times we use '_' to separate
-  words, sometimes we don't
-
-* more moving directories around?
-
-addon/ 
-audio/ 
-control/
-gui/   
-lisp/  
-math/
-physfs/        
-sprite/        
-util/
-video/
-squirrel/
-  for generic squirrel code
-supertux/
-  worldmap/
-  trigger/
-  scripting/
-    for scripting wrapper code
-  badguy/
-  object/
-
-* implement PNG screenshot
-
-* having hitbox in Sprite is fugly
-
-* add code that compares the last Log line with the current, if they
-  are the same reject them and just output something like:
-
-  * last line has been repeated X times
-
-* implement: http://standards.freedesktop.org/basedir-spec/basedir-spec-0.6.html
-
-* peaking up/down doesn't work properly
-
-* peaking left/right should make Tux look into that direction (up/down to, needs new sprites)
-
-* cleanup scripting interface
-
-* replace cloud tiles with decals
-
-* add support for automatic scrolling backgrounds
-
-* add direct reading of Vector2f to Reader/lisp
-
-* refactor Camera code, break ugly long functions into pieces and such
-
-* allow fully custom magnification levels from command line (maybe GUI
-  to if there is a proper/easy way to let the user enter numbers)
-  (--magnification or -g WIDTHxHEIGHT:ASPECTX:ASPECTY@MAGNIFICATION)
-
-* use AnchorPoint in Background instead of Alignment
-
-* allow gradients to parallax scroll like Background (make it optional)
-
-* add multicolored gradients (see Windstille source code, which can deal with Gimp gradients)
-
-* fix alpha blending in the SDL renderer, currently all sprites (Tux,
-  etc.) appear transparent
-
-* shadow font glyphs bleed into other glyphs
-
-* sprite/sprite.cpp: frame should never get out of range:
-
-  if((int)frame >= get_frames() || (int)frame < 0)
-    log_warning << "frame out of range: " << (int)frame << "/" << get_frames() << " at " << get_name() << "/" << get_action() << std::endl;
-
-* Surface::hflip() is used exactly once, should probally be part of the constructor
-\f
-Scenegraph and Physics Engine Restructuring
-===========================================
-
-* random idea to restructure engine stuff (might lead to nicer code
-  and easier scriptability (and a need to rewrite lots of stuff...):
-
-class SomeBadGuy : public PhysicsCallbackListener // or use boost::function
-{
-private:
-      PhysicsPtr box;
-      SpritePtr sprite;
-        
-public:
-      SomeBadGuy(Engine& engine)  
-      {
-         box    = engine.physics().create_box(Rectf(0,0,32,32));
-         box->register_listener(this);
-         sprite = engine.graphics().create_and_add_sprite("Foobar");
-      }
-
-      void update(float delta)
-      {
-         // not much to do, as most stuff is done internally in the engine
-         if (dead)
-         {
-                  sprite->replace_with("Foobar_dead");
-         }
-         else
-         {
-                sprite->hide();
-                sprite->set_pos(box->get_pos());
-        }
-      }
-
-      // no more draw(), done by the scene graph
-
-      void on_collision(CollisionData data)
-      {
-        // respond
-      }
-};
-
-Random Notes
-============
-
-* calculate the size of an background image that should fill the screen:
-
-  image_size = (1 - parallax_speed) * screen_size + level_size * parallax_speed
-
-def calc(parallax, screen, tiles):
-    return (1 - parallax) * screen + parallax * tiles * 32
-
-\f
-Supported Resolutions
-=====================
-
-SuperTux shall support resolutions from 640x480 to 1280x800 at a magnification of 1x.
-For resolutions higher, such as 2560x1600, upscaling will be used.
-For resolutions smaller, like 320x240 downscaling will be used.
-
-Higher resolution graphics for 2x maginification might be provided.
-Lower res graphics for 0.5x maginification might be provided as well.
-
-Resolution and magnification can be freely configured by the user within the given limits.
-
-In tiles this means we have 40x25 (=1280x800px) tiles per screen.
-\f
-Graphic Tasks
-=============
-
-* animate cave background torch: data/images/tiles/background/backgroundtile3.png
-
-* do parallax tiles
-
-* remove lightmap tiles
-
-* redraw/replace data/images/tiles/waterfall/
-\f
-Music Recode
-============
-
-Currently the music makes up a large chunk of the total tarball
-size. Compression could fix this:
-
-  ,-- Size of data/music/*.ogg
-  V
-40MB - Current quality in SVN
-24MB - Default oggenc quality (3)
-14MB - oggenc at 0 quality
-10MB - oggenc at -1 quality
-
-No audible difference on my sound setup. -- grumbel
-\f
-# EOF #