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
40 * GameObject::RemoveListenerListEntry: Ughs, somebody trying to
41 implement a list class within in the GameObject?!
43 * replace random generator with mersene twister and/or move to external/
45 * check the code with Valgrind
47 * static vs anonymous namespace
49 * use Vector in Physics for 'a' and 'v'
51 * add --datadir DIR (data/) and --userdir DIR (~/.supertux/)
53 * make gravity a constant
55 * funky side effect of too much global variables: when having a
56 savegame with large or firetux and then starting that game, Tux in
57 the menu background will grow and be visible that way for a fraction
60 * write scripts for include sorting and include guard checking that
61 can be run automatically
63 * md5.hpp and random_generator.hpp could go to external/
65 * rename Vector -> Vector2f
67 * get rid of global SDL_Screen* screen variable
69 * identify all global variables and make them ugly (g_ or globals::)
71 * get rid of SCREEN_WIDTH/SCREEN_HEIGHT
73 * is version.h actually needed?
75 * resolution menu entry moves the wrong way around
77 * write scripts to automatically check for:
79 - all includes are relative to top level dir
81 - include guards are proper
83 * move SVN to http://code.google.com (maybe one day)
85 * move bugtracker to http://code.google.com (much simpler, less useless)
87 * having dictionary_manager in Lisp is extremely ugly
89 * enforce proper naming of files to match their class
91 * get rid of DEBUG and conditional compilation, these should be
92 reserved for a few tiny cases, not spread all over the code
94 * split particlesystem_interactive
96 * Renderer::apply_config() needs to handle fullscreen switching
98 * collect all manager classe into globals.hpp
100 * more moving directories around?
119 * implement PNG screenshot
121 * GL_ARB_texture_non_power_of_two returns 1 on MatroxG450, while it
122 returns "Missing" in glew info, something wrong
127 * +/- zoom buttons do not zoom to the center of the screen
129 * Object Tool should behave more like Inkscape:
131 - LMB on an object to select
132 - LMB on the background to start a select-rectangle
133 - LMB+move to drag objects it around
134 - Shift+LMB to add an object to the selection
135 - RMB for context menu
137 * Select Tool should be removed (identical to Object Tool)
139 * replace tool crashes:
141 Note: Applications can use GLib.ExceptionManager.UnhandledException to handle the exception.
142 System.Collections.Generic.KeyNotFoundException: The given key was not present in the dictionary.
143 at System.Collections.Generic.Dictionary`2[System.Object,System.Single].get_Item (System.Object key) [0x00000]
144 at LayerListWidget.VisibilityDataFunc (Gtk.TreeViewColumn Column, Gtk.CellRenderer Renderer, TreeModel Model, TreeIter Iter) [0x00000]
145 at GtkSharp.TreeCellDataFuncWrapper.NativeCallback (IntPtr tree_column, IntPtr cell, IntPtr tree_model, IntPtr iter, IntPtr data) [0x00000]
146 at GLib.ExceptionManager.RaiseUnhandledException(System.Exception e, Boolean is_terminal)
147 at GtkSharp.TreeCellDataFuncWrapper.NativeCallback(IntPtr tree_column, IntPtr cell, IntPtr tree_model, IntPtr iter, IntPtr data)
148 at Gtk.Application.gtk_main()
149 at Gtk.Application.Run()
150 at Application.Main(System.String[] args)
152 * Replace Tool should document its functions in a status bar message
154 * Path Tool doesn't seem to do anything
156 * Tiles Tool doesn't display the current tile