X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=TODO;h=b8c522bb734bf1723034678af2868dde2d76873e;hb=53209e9747f4c830eeeb926d3a44918ed86621ba;hp=cd00ba02287c8e26fd37f130ba4b46f1eb343ab0;hpb=153ef0c2485bbd86acf207bdd6c6af3bff8d532f;p=supertux.git diff --git a/TODO b/TODO index cd00ba022..b8c522bb7 100644 --- a/TODO +++ b/TODO @@ -1,42 +1,102 @@ +Note: Controversial list of things currently broken and controversial +solutions for them. -- To do for Milestone1 - -http://super-tux.sf.net/ +Coding Standard +=============== -Last update: April 26, 2004 +* use SCons instead of CMake -These are mostly bugs: +* make code clean: "-O2", "-g3", + "-ansi", + "-pedantic", + "-Wall", + "-Wextra", + "-Wnon-virtual-dtor", + "-Weffc++", + "-Wconversion", + "-Werror", + "-Wshadow", + "-Wcast-qual", + "-Winit-self", # only works with >= -O1 + "-Wno-unused-parameter", -Todo ----- +* do not use raw pointer, especially not for Sprite and Surface -- tux sometimes makes short jumps in the endsequence, mostly when - going through the goal with a small jump, might be old_up related -- fadein/out for intro/extro would be nice -- when you interrupted the intro (by going to credits for example) and go back - to it, tux doesn't jump anymore -- when jupming against the 2nd multiple coin block in a level only 1 coin will - come out. -- when jumping into the exit with a star, the endgame music will change back to - levelmusic after a short time -- the can_jump flag should be based on a time instead of the 2 tiles check. - Since the 2 tiles flag won't help when you're jumping over a hole. Better use - a timer that is started when up is pressed, when you then land and the timer - is below a certain time, you can do the jump. -- when bumping a special with 2 blocks at once, it won't change direction -- points aren't reset when gameover +* only do one variable initialization per line, not multiple as its + currently often done in initialization list -- leveleditor lacks enemies support (will be fixed soon by Tobias) -- sometimes you die after being in pause modus and unpausing - still true? +* remove overuse of multi-inheritance +* remove overuse of friend'ship -Fixed ------ +* maybe mark interfaces as interfaces (ISerializable or SerializableInterface) -- supertux crashs from time to time - fixed -- mriceblock doesn't fall down when being squished in the air - fixed -- It's not possible to duck while jumping - fixed -- Intro/Extro textspeed is CPU dependent - fixed -- sometimes the level restarts/you die after collecing a growup - fixed -- mriceblock doesn't disapear after being kicked my another iceblock, - not sure when exactly it happens, might depend on direction or so - fixed +* split files with multiple classes into multiple files with one class each + +TODO +==== + +* GameObject::RemoveListenerListEntry: Ughs, somebody trying to + implement a list class within in the GameObject?! + +* replace random generator with mersene twister and/or move to external/ + +* check the code with Valgrind + +* static vs anonymous namespace + +* use Vector in Physics for 'a' and 'v' + +* add --datadir DIR (data/) and --userdir DIR (~/.supertux/) + +* make gravity a constant + +* funky side effect of too much global variables: when having a + savegame with large or firetux and then starting that game, Tux in + the menu background will grow and be visible that way for a fraction + of a second + +* write scripts for include sorting and include guard checking that + can be run automatically + +* md5.hpp and random_generator.hpp could go to external/ + +* rename Vector -> Vector2f + +* get rid of global SDL_Screen* screen variable + +* identify all global variables and make them ugly (g_ or globals::) + +* get rid of SCREEN_WIDTH/SCREEN_HEIGHT + +* is version.h actually needed? + +* resolution menu entry moves the wrong way around + +* write scripts to automatically check for: + + - all includes are relative to top level dir + + - include guards are proper + +* move SVN to http://code.google.com (maybe one day) + +* move bugtracker to http://code.google.com (much simpler, less useless) + +* convert worldmap from const lisp::Lisp* lisp to "const Reader&" + +* having dictionary_manager in Lisp is extremely ugly + +* enforce proper naming of files to match their class + +* get rid of DEBUG and conditional compilation, these should be + reserved for a few tiny cases, not spread all over the code + +* split particlesystem_interactive + +* centralize menus + +* make a proper class out of supertux/resources.hpp + +# EOF #