X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=TODO;h=b8c522bb734bf1723034678af2868dde2d76873e;hb=ce804ee356a732b967f5db8183fc70be27ca8ecc;hp=2752a5a18bea69753b8820e454e66a72f8127361;hpb=83af7721e9f4199e62c6f8047e197f8f6597c0a7;p=supertux.git diff --git a/TODO b/TODO index 2752a5a18..b8c522bb7 100644 --- a/TODO +++ b/TODO @@ -1,69 +1,102 @@ +Note: Controversial list of things currently broken and controversial +solutions for them. -- To do for Milestone1 - -http://super-tux.sf.net/ - -Last update: May 3, 2004 - -These are mostly bugs: - -Todo ----- -H: high priority -L: low priority - -[H] AX_CHECK_GL produces an error during configure -[H] Change resolution to 800x600 - - Levels need to be updated to resolution - - Might still be some other bugs to iron out -[H] Buttjump related things - - Right now only breaks bricks beneath tux - - Should only work when Tux is bug - - Should kill enemies with a certain range - - Should disable Tux Temporarily - - Animation (need images) - - Change controls (just press down while in air, not Up+Down) - -[H] Camera movement shouldn't be so fast at the beggining, it takes the focus from - the game (backscrolling) -[H] Tux should fall while walking in tiles that have a space between. - -[M] Save score on per-level basis to make high-score -[M] Save time on per-level basis to make low-time-score -[M] Add bonus score for extra time left when finishing a level -[M] When aborting a level, lives and score should remain the same as they - were before. Solution: make more dependency between the game engine and worldmap - or just backup those variables before starting a level. - fixed? -[H] in the "Welcome to Antarctica" level, the blocks next to the first growup - look like there are 2 blocks above each other when bumping against them as - small tux... -[H] Enemies should turn upside down after being hit by an kicked - iceblock, fireball or bomb -[H] When jumping into a brick and there is a powerup, it should change direction or not, - depending where the collision was. It currently sucks. - -[M] when bumping a special with 2 blocks at once, it won't change direction -[M] tux get killed if he kicks a iceblock while at the same time - bouncing on the roof - -[L] time runs while being in in-game menu, at least a bit (jump, go to - menu, wait a bit, leave menu, Tux will 'flip' to the ground, - instead of fall, pause mode doesn't seem to have this problem, only - menu) -[L] catch exceptions thrown by lispreader -[L] fadein/out for intro/extro would be nice - - -Stuff for past milestone1: --------------------------- -Note that this list is far from complete, but lists some bugs that we don't want -to touch before milestone1 at the moment. -- You shouldn't be able to stand on invisible blocks, before you bumped them -- bombs should explode directly when hit by another bomb or a mr.iceblock -- we only have a global counter for multiple coin blocks. This should be handled - per block. -- We should reduced the width of tux collision rectangle so that he falls easier - between 1 tile wide holes. -- The enabled/disabled icon in the options shouldn't be a cross. Some people - think the options are disabled because they're crossed. Better use a green - check mark. +Coding Standard +=============== +* use SCons instead of CMake + +* 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", + +* do not use raw pointer, especially not for Sprite and Surface + +* only do one variable initialization per line, not multiple as its + currently often done in initialization list + +* 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 + + +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 #