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
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
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.
40 UPDATE June 9, 2011: Sprites are no longer used, but we still need to
43 * Implement "nowalk" flags to prevent player from moving off map.
45 * Map should center around player.
49 X Remove arbitrary test values inside the code.
50 With layer and tileset parsing on TMX maps done, we can now load data from
51 there, making arbitrary test values obsolete.
52 (Fixed on June 9, 2011 in commit 2da906a3)
54 X Find a way to pass the error "domain" to XML's error message function.
55 libxml2 provides a userData variable in the validator context.
56 (Fixed on May 28, 2011 in commit cf6bcbe3)
58 X Switch from JSON to XML completely.
59 Although JSON is an expressive less-verbose-than-XML format, after
60 investigating a few JSON parsers, we have decided that none of them are up to
62 (Fixed on May 25, 2011 in commit 5e1c08b7)