1 Note: Controversial list of things currently broken and controversial
7 * use SCons instead of CMake
9 * make code clean: "-O2", "-g3",
20 "-Winit-self", # only works with >= -O1
21 "-Wno-unused-parameter",
23 * do not use raw pointer, especially not for Sprite and Surface
25 * only do one variable initialization per line, not multiple as its
26 currently often done in initialization list
28 * remove overuse of multi-inheritance
30 * remove overuse of friend'ship
32 * maybe mark interfaces as interfaces (ISerializable or SerializableInterface)
34 * split files with multiple classes into multiple files with one class each
36 * switch to using SqPlus for squirrel bindings
38 * implement basic graphics in SDL 1.3 and only special eye-candy in OpenGL
44 * GameObject::RemoveListenerListEntry: Ughs, somebody trying to
45 implement a list class within in the GameObject?!
47 * replace random generator with mersene twister and/or move to external/
49 * check the code with Valgrind
51 * static vs anonymous namespace
53 * use Vector in Physics for 'a' and 'v'
55 * add --datadir DIR (data/) and --userdir DIR (~/.supertux/)
57 * make gravity a constant
59 * funky side effect of too much global variables: when having a
60 savegame with large or firetux and then starting that game, Tux in
61 the menu background will grow and be visible that way for a fraction
64 * write scripts for include sorting and include guard checking that
65 can be run automatically
67 * md5.hpp and random_generator.hpp could go to external/
69 * rename Vector -> Vector2f
71 * get rid of global SDL_Screen* screen variable
73 * identify all global variables and make them ugly (g_ or globals::)
75 * get rid of SCREEN_WIDTH/SCREEN_HEIGHT
77 * is version.h actually needed?
79 * resolution menu entry moves the wrong way around
81 * write scripts to automatically check for:
83 - all includes are relative to top level dir
85 - include guards are proper
87 * move SVN to http://code.google.com (maybe one day)
89 * move bugtracker to http://code.google.com (much simpler, less useless)
91 * having dictionary_manager in Lisp is extremely ugly
93 * enforce proper naming of files to match their class
95 * get rid of NDEBUG and conditional compilation, these should be
96 reserved for a few tiny cases, not spread all over the code
98 * split particlesystem_interactive
100 * Renderer::apply_config() needs to handle fullscreen switching
102 * collect all manager classe into globals.hpp
104 * more moving directories around?
117 for generic squirrel code
122 for scripting wrapper code
126 * implement PNG screenshot
128 * GL_ARB_texture_non_power_of_two returns 1 on MatroxG450, while it
129 returns "Missing" in glew info, something wrong
131 * having hitbox in Sprite is fugly
135 * implement surface and/or sprite scaling (MipMaps?)