1-*-org-*-
2
3* Pending
4** Bump function is not smooth across start of track.
5** Don't let cars intersect.
6** Check for memory leaks on reloading cars and tracks.
7** Occasional track-to-world assert
8nico> ./vamos -o 6 -t Villeneuve -f -c F1
9Warning: Road::track_coordinates guess=18 found=20
10Warning: Road::track_coordinates guess=18 found=20
11Warning: Road::track_coordinates guess=18 found=20
12Warning: Road::track_coordinates guess=18 found=20
13Warning: Road::track_coordinates guess=18 found=20
14Warning: Road::track_coordinates guess=18 found=20
15Warning: Road::track_coordinates guess=18 found=20
16Warning: Road::track_coordinates guess=18 found=20
17Warning: Road::track_coordinates guess=18 found=20
18Warning: Road::track_coordinates guess=18 found=20
19Warning: Road::track_coordinates guess=18 found=20
20Warning: Road::track_coordinates guess=18 found=20
21Warning: Road::track_coordinates guess=18 found=20
22Warning: Road::track_coordinates guess=18 found=20
23Warning: Strip_Track::track_coordinates guess=6 found=9
24lt-vamos: Strip_Track.cc:1417: virtual Vamos_Geometry::Three_Vector Vamos_Track::Strip_Track::track_coordinates(const Vamos_Geometry::Three_Vector&, size_t&, size_t&): Assertion `false' failed.
25Aborted (core dumped)
26
27** Improve framerate
28   Allow more cars at once.  Rendering is the major bottleneck.
29   Collision handling reduces perfomance a bit for large numbers of cars.
30   | Car |  # | f/s (rendered) | f/s (not rendered) | f/s (no collision) |
31   |-----+----+----------------+--------------------+--------------------|
32   | GT  |  1 | 240, 230       | 390                | 240, 230           |
33   |     |  2 | 230, 220       | 390                | 230, 225           |
34   |     | 10 | 90, 77         | 250, 200           | 120, 110           |
35   |     | 15 | 57, 38         | 160, 125           | 74, 64             |
36   |     | 18 | 40, < 33       | 72, 57             | 60, 55             |
37   |     | 20 |                | 60, < 33           | 57, 40             |
38   | F1  |  1 | 240, 230       | 390                | 240, 230           |
39   |     |  2 | 200, 180       | 380                | 200, 195           |
40   |     | 10 | 40             | 250, 200           | 44, 40             |
41   |     | 15 | < 33           | 160, 130           | < 33               |
42   |     | 18 |                | 70, 60             |                    |
43   |     | 20 |                | 61, 40             |                    |
44   - F1: 6 cars @ 60 Hz fullscreen
45   - GT: 13 cars @ 60 Hz fullscreen
46
47** Fail if libraries are missing
48   Also add libXi, libXmu
49* Enif's Win32 issues
50** Update dependencies in web docs.
51   http://vamos.sourceforge.net/vamos-docs/Building-Vamos.html#Building-Vamos
52** Macro guards
53   In front of glu.h and glut.h includes:
54   #ifdef WIN32
55   # define WINDOWS_LEAN_AND_MEAN 1
56   # define NOMINMAX 1
57   # include <windows.h>
58   #endif
59** Direction enum conflicts
60** Rectangle name conflicts
61   Rectangle -> Vamos_Geometry::Rectangle.
62* Game Support (post 0.7.0)
63** Draw lines on the track.
64** Handle starting grid.
65** Handle pit placement.
66** Add starting lights.
67** Make crash sound play consistently.
68** Randomize robots.
69
70* Post 1.0
71** Make tires springy
72** Review suspension
73   - Is the current model adequate?
74   - Should we handle bad settings better?
75   - Handle bottoming out
76
77* Maybe
78** Draw shadows
79*** Projection shadows and stencil buffer
80    Glut 3.7 example
81    Planar surface only.  Track may be close enough to planar.
82*** Stencil buffer
83    Any shape of surface
84*** Fast shadows
85    SIGGRAPH '92 paper Fast Shadows and Lighting Effects Using Texture
86    Mapping, Mark Segal et al.
87    GL_EXT_depth_texture and the GL_EXT_texture3D extensions or OpenGL
88    1.2 are required.
89
90    Have GL_EXT_texture3D, GL_SGIX_depth_texture and
91    GL_ARB_depth_texture.  Good enough?
92
93    Can't find the article.
94
95