2 1. (DONE?) ToB specific actions/triggers, like pocketplane (so ToB will work)
3 2. (PARTLY) Properly detect the play mode (sp/mp, normal/extended)
6 1. fix (finish implementation of) talk table override
7 2. implement feature: "<GENDER?stref1:strref2>" (or even more ambitious stat specific strref tokens)
10 1. (DONE?) fix combat round timings
11 2. implement customisable combat calculation, it should be general enough to
12 simulate all games, without any hardcoded parts
13 3. (PARTLY) implement wspatck.2da and wspecial.2da handling
16 1. (DONE-almost) Break items, count charges
17 2. (PARTLY) Implement switching weapon abilities
18 3. (DONE-almost) Implement item usage (similar to spells)
21 1. (DONE-almost) Implement common effects
22 2. (PARTLY) Implement IWD2 effects
23 3. (DONE-almost) Implement TOB effects
24 4. (PARTLY) Implement PST effects
25 5. (DONE-almost) Implement area/non-living affecting effects
28 1. (PARTLY) Don't load scripts for pile items? (research when a script is unused)
29 2. (DONE) Create real streaming ambients (do not preload them, just use them when needed)
30 3. (DONE) in pathfinder, calculate with the actor's feet circle size (npc blocking still needed)
31 4. (DONE-almost) fix overlaid tiles - bug #1623839
34 1. Store caching (especially bags)
37 1. (PARTLY) fix char animation sequences
38 2. stanceID is still fuzzy. Fix it. (FIXED?)
39 3. (PARTLY) Implement projectile animations (area, cone, fragments, hardcoded features)
42 1. (PARTLY) Use the character sheet (Actor.cpp) itself to store attributes of the character
43 during character generation.
44 Benefits: data is already stored in the destination, data constraints and relations
45 are easily implemented.
46 How to: replace GemRB.SetVar with GemRB.SetPlayerStat. Don't forget to create
47 the character first. - see bg1 chargen for a complete solution
48 2. Move position of actor (and ground circle) to the center of a searchmap cell
49 3. (PARTLY) Actually handle the iwd2 spelllists. Exporter is still needed.
52 1. (PARTLY) implement class based (but customisable) action button bar. Generally port
53 the IWD2 system to all engines
54 2. implement grabbing mouse pointer by a control to fix dragging of PST Float menu window
55 3. (PARTLY) Fix drop capitals (initials) Calculate text height/width correctly, display
57 4. (PARTLY) Fix unwanted screen shake (especially when on bottom of area)
58 5. (DONE-almost) Level up code, this should be written mostly in GuiScript!!!
59 6. (PARTLY) Contingency, spell trigger setup windows
60 7. (PARTLY) Customize windows (part of character record window)
63 1. The Cache and Variables classes could be rewritten to incorporate the release
64 function more smoothly (use templates?)
65 2. various directories (GemRB override, game override ...) should be resolved
66 right after loading config files and remain static afterwards. Maybe define
67 some PATH variable describing all the directories searched for files
68 3. valgrind reports a big heap of unreleased python objects
69 4. Implement at least all the options accessible from the GUI options setup,
70 rewrite baldur|torment|icewind.ini
73 1. use scaling in Video::SpriteScaleDown() instead of in Video::GetPreview()
75 2. move SDLVideoDriver sprite functions to their own file, rename them to
76 SpriteIsPixelTransparent etc.
77 3. (PARTLY) Add PNG support? (still image done)
78 4. Fog of war: fully visible squares with one corner neighbour invisible need alpha of the adjacent corner to the invisible square tuned down (uh, i hope it is clear what to do, look for artifacts in the fog of war edge)
81 1. valgrind reports invalid memory access due to Unqueueing buffers and using
82 them in another thread (openal weirdness?)
83 2. (PARTLY) sounds get sometimes distorted, might be connected to problem #1
84 3. (PARTLY) Separate OpenAL interface from ACM loader and MVE player
85 4. implement sound handles so looping, moving sound, stopping sound is possible
86 5. fix sound settings (currently the volumes get reset on area change, for example)
87 6. implement and use as much from EAX (echo, damping, etc) as possible
90 1. fix include paths during compilation, so the files do not
91 use #include "../../Core/something.h" etc.
94 1. Create packages for various distros and get them to distributions. Requires
96 2. Get a sample game with some free license which could be distributed
101 1. (PARTLY) make tool to scan source files for those with non-standard
103 2. Add Doxygen doc comments to more objects
104 3. Write GemRB overview, structure and high-level flow docs
108 1. (DONE-needs more work) Update the web page, get rid of postnuke
109 2. Move this todo to bug/task tracker at Sourceforge :-)