4 * Remove arbitrary test values inside the code.
5 * Command line interface using popt.
6 * Investigate whether switching from DTDs to Schemas would be worth it.
7 * Sprite doesn't support animations.
8 * Finish Area parsing code, integrate.
10 * Give World::player an Entity descriptor file.
11 What does an Entity descriptor file contain? What is an Entity?
12 -> Entity is the most complicated descriptor. It will take a while to
13 design. It's the only descriptor with multiple types which are each
14 different. It's possible that each type of entity will require a
17 * Avoid window damage when another window moves on top.
18 We have an optimization that makes our window only redraw itself if something
19 in the game world changed. This causes redraw requests when another window is
20 passing over us to be ignored.
22 Gosu might be forked to be explicit about the difference between timer-based
23 redraw requests and ones spawned by window damage.
25 * Rewrite Area parser for TMX format.
26 Though it's a bit more complex, using the TMX map format (XML based) will
27 allow ourselves and our users to edit areas with the excellent Tiled generic
30 * Area drawing shouldn't use Sprite.
31 Now that the TMX map format handles tilesets, this is especially true.
32 Tilesets were a bit different from Sprites in the first place, and we simply
33 handled them under the Sprite class for convenience, even though this method
34 was a bit hackish. Now that they're defined in full inside the Area
35 descriptor, Area should probably handle them. This means that tiles are no
36 longer Sprites. Area will also handle the tile animations. This should be
37 cleaner in the long run.
39 * Change XML parsers to use node stacks.
40 Stacks are probably cleaner and more sane, and fit well with the structure of
41 an XML document. They will especially improve the parsing of complex formats,
42 such as the TMX map format, with multiple "camel hump" changes in element
48 X Find a way to pass the error "domain" to XML's error message function.
49 libxml2 provides a userData variable in the validator context.
50 (Fixed on May 28, 2011 in commit cf6bcbe3)
52 X Switch from JSON to XML completely.
53 Although JSON is an expressive less-verbose-than-XML format, after
54 investigating a few JSON parsers, we have decided that none of them are up to
56 (Fixed on May 25, 2011 in commit 5e1c08b7)