TODO list for ASC, programming department. -1- is very high priority -9- is very low priority Bugs: - 640*480 building dlg - subbase.map - redraw problems with Win9x after task switch - *.ascmapxlat ========= Small tasks: -8- rewriting tdrawgettempline ( mapalgorithm.cpp ) which is way to slow -7- direct invocation of and from mail clients to automate email games -5- replacing those ugly dynamic_array templates by std::vector -9- Optimize int VehicleMovement::getDistance ( int x, int y) in unitctrl.cpp This function is pretty slow, but not called often enough to really beeing a problem => not so important -6- Caching of fullscreen image ( file sdl/loadimage.c ) converting an image from 24 bitt to 8 bit and resizing it is quite slow. The image could be cached as PCX with 8 bit and correct resolution to be loaded faster the next time. -- not very important -- -6- reaction fire doesn't fire on units which can suddenly be seen not because they themselfes are moving, but because some jamming vehicle went away. -3- scrollable unit/building cargo (unlimited number of units) -6- displaying the cost for constructing buildings somewhere -7- movement cost for putObject action -6- resize graphics to contain all vehicle categories in weapon info Medium sized tasks Since DOS is no longer supported by ASC, we can now rewrite much legacy code to make use of features modern operating system and even Windows provide: -3- Introducing Truetype font support. Although the current font handling routines are quite old, I still think they are quite ok and relatively fast. But the creation of font files is problematic. The tfont structures should be created on program start from TTF fonts. The SDL_TTF library provides the necessary background routines -2- new Keyboard handling. The handling of keyboard input was the biggest pain-in-the-ass under DOS. The keyboard routines should be completely redesigend. Searching for NEWKEYB will reveal all cruicial parts of the code which may be greatly simplified with a new key class that routines like rkey should return. -2- new string handling replacing all occurances of c-style strings (char*) and c++ strings (std::string) by the new ASCString class (which is derived from std::string) -5- new image storage for objects, so the images can be changed by graphic sets even when they were generated on runtime (mirroring) -8- embedding of units/objects/... in map -> requires reinitialization of gui host -8- input/output of raw height information in mapgenerator for usage by terragen or similar programs -6- the units that are destroyed by terrain change or lack or fuel (airplanes only) should be recorded in some kind of replay. -3- some statistics screen that lists your losses and the losses you inflicted at the enemy Larger Tasks: -1- Rewriting the whole graphics engine Currently is graphics engine is 8 bit depth only, cannot use hardware acceleration and an image is just a void* pointer (resulting in all the delete void* warnings on compilation). Creating a class that represents images and on which all graphic functions operate. This class should probably be a wrapper around a SDL_image structure. -2- maintaining and improving the mapeditor Especially the user interface of the mapeditor has some room for improvements. This jobs involves asking the map-designers what they think should be improved there and then do it... -3- Paragui has been chosen to be the new dialog engine for ASC. Now many old and outdated dialogs (like the VehicleInfo dialog) should be rewritten (www.paragui.org) Requested features: - A result screen in multiplayergames (who list how many units until now, lost buildings, gained resources, ... ) - A confirmation setting screen - map parameter: increased airplane fuel usage to allow realistic maps where airplanes can't 'stand' in midair for longer periods of time - Guenter Beine on 2000-12-13 : I like to make a proposal for the keybindings. Especially canceling an action is handled in different ways according to the proposed action i. e. moving, attacking, constructing etc. Canceling an activated attack is the best way. If you want to renounce an attack you mark a field that can not be attacked or simply the unit that you planed to make the attack and press the a-key again to abort the action. Or you mark another unit and press the a-key to get the same result. Pressing the key once more makes the marked unit ready to attack. I think handling of the game would be more easy if every action would be enabled and canceled by this way. - internationalization - infotext should be displayed by right clicking on the description in the main screen >Zu den baubaren/abreissbaren objekten Objekten. Jedes baubare oder >abreissbare Objekt erhlt optional eine "Scrap-ID". zb. Strae=1 , Brcke=2, >Wald=3, Felsen=10 .... - BI1 Blocking Requested features whos necessity should be discussed... - loading of savegames in the mapeditor - different jamming power for a unit on different levels of height - setting up new production facilities ingame