-
Notifications
You must be signed in to change notification settings - Fork 1
/
TODO
76 lines (69 loc) · 4.77 KB
/
TODO
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
== ROADMAP ==
* Skeletal animation (implement only basic running and fly-to-run anims at first)
---> Release as alpha2. Try to reach this point by end of service.
* Switch to free fonts (see Downloads/freefont)
* Music & sound effects
* More animations, and smooth animation merging
* Create simple versions of some of the story missions
* Make the HUD better
* Shadows
* Particles
* Do a Shadow-of-the-Colossus texture-parallax effect
* Inside/outside effect (HDR?), with light shining through leaves nicely if possible
* Improve background stuff (as it is now orbiting stuff is ludicrously oversized)
- Alternately; find a way to make large objects part of the canon, so we get neat ring effect
* Try switching ODE to single precision
* Maybe fix the blinky star problem and also the apparent-star-size changing problem at once:
- Just use a very simple sphere-like shape instead of a box
- Or, you know, a significantly more sphere-like shape than the current shape
* Make all custom SConstruct actions work like capsulate, so that scons -Q can be used safely
== OTHER STUFF TO DO ==
Thinh's ideas:
- FOV on acceleration
- Reduced rotation speed, cap
Blender addons:
- Export as ORE
- Don't remove scale from original blend; form a mesh ORE entry for each scale-mesh pairing in blend
- Maybe hash Blender object marshal to know when we can avoid reprocessing?
- Generic edit lighting (when showing textured 3d view, render with some extra lights just to make life easier)
- Consider having an optimized-output build mode that does some of the following:
- Enables optimization flags (compare -O2 with -O3 to see if latter helps...)
- Builds the entire project at once to see if g++'s unit-at-a-time thing helps
- Uses g++'s profiling mechanism with some kind of demo
- Consider an alternate input mode that uses combinations of stick motions to indicate action
- Note: 2 sticks gives us 16 possible direction combinations. With 6 axes of motion, we would only need 12.
- However, it is a little problematic because it doesn't allow us to express all *combinations* of those 6 axes.
- Still, might be cool.
- In all the places in the program that show a copyright notice, also mention the font license.
- Find a way to make it really easy to update the copyright notice everywhere at the same time
- Repeated error where I confuse 'const shared_ptr<X>' with 'shared_ptr<const X>', doh! Should fix this.
- Possibly make Confirm refocus menu and disable mouse cursor
- Make it so that if mouse motion caused the Confirm, this doesn't happen (re-enable same frame in MouseCursor?)
- Fix flickering problem when mouse motion associated with UIX or UIY
- Refactor the over-entrenched distinction between axis and button input bindings
- Refactor text display to allow easy alignment within a box
- Smarter way to deal with inversion settings, so that when inversion is on for an action:
- Reverse label in control settings (i.e. "Move down & up", not "Move up & down")
- In binding dialog, flip input bindings before saving
- Put config and log in an orbit ribbon directory ('Orbit Ribbon' in appdata on Windows, '.orbit-ribbon' in home on Linux)
- When mouse cursor is visible and fullscreen mode is off, allow cursor to leave the window
- When Saving::save is called, it should only actually write the save file if contents have differed
- Use boost::format instead of lexical_cast wherever it makes sense (which is most places)
- Don't hide mouse cursor when in transition between two cursor-showing modes
- Seperate most of the custom SCons stuff into python files in a site_scons directory
- Use a dialog box to show fatal errors in Windows
- Speed cap enforced with non-linear drag
- Use a pool of minizip handles to make loading faster
- Use XDR or CDR for faster-loading XML data
- Use valgrind to check for leaks on display mode changing restart
- For the sake of UI juiciness and following the theme, give the mouse cursor a little bit of momentum ala Per.Oxyd
- Come up with a simple way to do documentation; doxygen's usual format is a pain in the ass
- Pass boost::shared_ptr by const reference wherever possible
- Make the naming of variables consistent (in particular, use underscore prefix for members)
- Make sure mipmapping and texture compression are both actually working
- Do mipmapping in advance, when generating ORE file
- Make sure that untextured faces are very obviously detectable; need a REALLY ugly default texture
- Consider using texture packing
- Have the ORE file include pre-calculated information about how much memory must be allocated for the VBOs
- Show a loading animation while loading
- Maybe when it is necessary to tilt about z axis while running, I should add some x linear force to simulate banking. Banking would actually occur, since one foot would be pushing sideways to adjust orientation, right?