1 Note: Controversial list of things currently broken and controversial
7 * no external libraries in src/, they go to external/
9 * proper separation between engine and game specific code (especially
10 sound and video handling)
12 * normalize #include directives (all refer to top level dir)
14 * use SCons instead of CMake
16 * make code clean: "-O2", "-g3",
27 "-Winit-self", # only works with >= -O1
28 "-Wno-unused-parameter",
30 * do not use raw pointer, especially not for Sprite and Surface
32 * properly separate data members and member functions, don't mix them
35 * write namespaces like: "namespace NameSpace {", no newline before the {
37 * only do one variable initialization per line, not multiple as its
38 currently often done in initialization list
40 * conditional includes should be indended (makes it easier to handle
41 in include optimization):
44 # include "foobar.hpp"
47 * remove overuse of multi-inheritance
49 * remove overuse of friend'ship
51 * maybe mark interfaces as interfaces (ISerializable or SerializableInterface)
53 * split files with multiple classes into multiple files with one class each
59 * GameObject::RemoveListenerListEntry: Ughs, somebody trying to
60 implement a list class within in the GameObject?!
62 * replace random generator with mersene twister and/or move to external/
64 * check the code with Valgrind
66 * cleanup doxygen comments, use /** */, nothing else
68 * static vs anonymous namespace
70 * use Vector in Physics for 'a' and 'v'
72 * add --datadir DIR (data/) and --userdir DIR (~/.supertux/)
74 * make gravity a constant
76 * funky side effect of too much global variables: when having a
77 savegame with large or firetux and then starting that game, Tux in
78 the menu background will grow and be visible that way for a fraction
81 * write scripts for include sorting and include guard checking that
82 can be run automatically
84 * md5.hpp and random_generator.hpp could go to external/
86 * rename Vector -> Vector2f
88 * get rid of global SDL_Screen* screen variable
90 * identify all global variables and make them ugly (g_ or globals::)
92 * get rid of SCREEN_WIDTH/SCREEN_HEIGHT
94 * is version.h actually needed?
96 * resolution menu entry moves the wrong way around
98 * write scripts to automatically check for:
100 - all includes are relative to top level dir
102 - include guards are proper
104 * move SVN to http://code.google.com (maybe one day)
106 * move bugtracker to http://code.google.com (much simpler, less useless)