'nowalk' flag implemented
[Tsunagari.git] / TODO.txt
blobc35078c8ee786121e44ef093e99d2af72a932b43
1 ITEMS
4 * Command line interface using popt.
5 * Investigate whether switching from DTDs to Schemas would be worth it.
6 * Sprite doesn't support animations.
7 * Finish Area parsing code, integrate.
9 * Give World::player an Entity descriptor file.
10   What does an Entity descriptor file contain? What is an Entity?
11   ->    Entity is the most complicated descriptor. It will take a while to
12         design. It's the only descriptor with multiple types which are each
13         different. It's possible that each type of entity will require a
14         different DTD.
16 * Avoid window damage when another window moves on top.
17   We have an optimization that makes our window only redraw itself if something
18   in the game world changed. This causes redraw requests when another window is
19   passing over us to be ignored.
21   Gosu might be forked to be explicit about the difference between timer-based
22   redraw requests and ones spawned by window damage.
24 * Rewrite Area parser for TMX format.
25   Though it's a bit more complex, using the TMX map format (XML based) will
26   allow ourselves and our users to edit areas with the excellent Tiled generic
27   map editor.
28   
29   UPDATE June 9, 2011: Attribute data, layers and tilesets load.
31 * Area drawing shouldn't use Sprite.
32   Now that the TMX map format handles tilesets, this is especially true.
33   Tilesets were a bit different from Sprites in the first place, and we simply
34   handled them under the Sprite class for convenience, even though this method
35   was a bit hackish. Now that they're defined in full inside the Area
36   descriptor, Area should probably handle them. This means that tiles are no
37   longer Sprites. Area will also handle the tile animations. This should be
38   cleaner in the long run.
39   
40   UPDATE June 9, 2011: Sprites are no longer used, but we still need to
41   implement animations.
43 * Implement "nowalk" flags to prevent player from moving off map.
45 * Diagonal movement in roguelike mode.
47 FINISHED ITEMS
49 X Map should center around player.
50   Viewport now centers around player!
51   (Fixed on June 11, 2011 in commit ec2c2736)
53 X Remove arbitrary test values inside the code.
54   With layer and tileset parsing on TMX maps done, we can now load data from
55   there, making arbitrary test values obsolete.
56   (Fixed on June 9, 2011 in commit 2da906a3)
58 X Find a way to pass the error "domain" to XML's error message function.
59   libxml2 provides a userData variable in the validator context.
60   (Fixed on May 28, 2011 in commit cf6bcbe3)
62 X Switch from JSON to XML completely.
63   Although JSON is an expressive less-verbose-than-XML format, after
64   investigating a few JSON parsers, we have decided that none of them are up to
65   our expectations.
66   (Fixed on May 25, 2011 in commit 5e1c08b7)