X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=TODO;h=f2a71f27e37ee4d1546fcd71c13681cf75bec56c;hb=d16e1f8b714a3c710518e899b01a53209bcb00c3;hp=3e14bdbbba170a0a6951309cb2cdbc3dea42efc0;hpb=09bdcf5a2f9b165105fad71de3eee9e4d4467f8e;p=supertux.git diff --git a/TODO b/TODO index 3e14bdbbb..f2a71f27e 100644 --- a/TODO +++ b/TODO @@ -152,6 +152,74 @@ drivers = oss * cleanup scripting interface +* remove cloud tiles, replace with decal + +* option menu has text overlap in "aspect ratio" + +* jumping up from an enemy doesn't make a sound + +* add support for automatic scrolling backgrounds + +* add direct reading of Vector2f + +* replace bell with 'reset block', that starts to glow once bumped into + +* enable mipmapping + +* refactor Camera code, break ugly long functions into pieces and such + +* allow fully custom magnification levels from command line (maybe GUI + do if there is a proper/easy way to let the user enter numbers) + (--magnification or -g WIDTHxHEIGHT:ASPECTX:ASPECTY@MAGNIFICATION) + +* use AnchorPoint in Background instead of Alignment + +* allow gradients to parallax scroll like Background (make it optional) + +* add multicolored gradients (see Windstille source code, which can deal with Gimp gradients) + +Scenegraph and Physics Engine Restructuring +=========================================== + +* random idea to restructure engine stuff (might lead to nicer code + and easier scriptability and a need to rewrite lots of stuff...): + +class SomeBadGuy : public PhysicsCallbackListener // or use boost::function +{ +private: + PhysicsPtr box; + SpritePtr sprite; + +public: + SomeBadGuy(Engine& engine) + { + box = engine.physics().create_box(Rectf(0,0,32,32)); + box->register_listener(this); + sprite = engine.graphics().create_and_add_sprite("Foobar"); + } + + void update(float delta) + { + // not much to do, as most stuff is done internally in the engine + if (dead) + { + sprite->replace_with("Foobar_dead"); + } + else + { + sprite->hide(); + sprite->set_pos(box->get_pos()); + } + } + + // no more draw(), done by the scene graph + + void on_collision(CollisionData data) + { + // respond + } +}; + Subversion->Git/Mercurial/Bzr Move ================================== @@ -203,6 +271,7 @@ trunk/supertux-portable trunk/supertux-sharp trunk/wiz-test + Potential Git Issues ==================== @@ -227,4 +296,40 @@ Potential Git Issues way the tree was at a specific date, its impossible to lose history unless you hack the repository +svn2bzr.py +========== + +Committed revision 5727 +Committed revision 5728 +Committed revision 5729 +Committed revision 5730 +Traceback (most recent call last): + File "./svn2bzr.py", line 194, in + main() + File "./svn2bzr.py", line 187, in main + log=log) + File "./svn2bzr.py", line 88, in svn2bzr + creator.run() + File "/mnt/bzr/svn2bzr/branchcreator.py", line 622, in run + entries = self.filter_entries(entries) + File "/mnt/bzr/svn2bzr/branchcreator.py", line 671, in filter_entries + entries = self.filter_moves(entries) + File "/mnt/bzr/svn2bzr/branchcreator.py", line 727, in filter_moves + entries = self.filter_simult_fren_dirmove(entries) + File "/mnt/bzr/svn2bzr/branchcreator.py", line 784, in filter_simult_fren_dirmove + newfname = svnrelpath(newdpth, newfpth) + File "/mnt/bzr/svn2bzr/branchcreator.py", line 60, in svnrelpath + raise errors.PathNotChild(path, base) +bzrlib.errors.PathNotChild: Path "trunk/media/images/creatures/mr_cherry/cherrybomb.xcf" is not a child of path "trunk/media/images/creatures/mr_bomb" + +Random Notes +============ + +* calculate the size of an background image that should fill the screen: + + image_size = (1 - parallax_speed) * screen_size + level_size * parallax_speed + +def calc(parallax, screen, tiles): + return (1 - parallax) * screen + parallax * tiles * 32 + # EOF #