#-*- mode: text -*-

Current version: 1.0.2

Release TODO
============

various Ideas for next release (1.1.0)
------------------------------
- screenshot irgendwie 'anzeigen', nicht ueberschreiben...
- 'activate' auch fuer Lift verlassen
- add ship-finished time in highscores?
- show remaining enemys/decks
- smaller font in Credits

Bugs
=======

Outstanding release-critical bugs (priority: high) 
--------------------------------------------------
- limit fps to get smoother play?

- use OpenGL for accel and smoother play?

- playtest on a _really_ slow machine...

- adjust Alert params (->freedroid.rules)

- allow original background fieps-pieps instead of music (switchable)

- steal the 'Metal Edition' as an additional theme?

- save Game option?

Outstanding normal bugs (priority: normal)
------------------------------------------

Outstanding tuning/design bugs and general TODO (priority: low)
--------------------------------------------------------------
- check if we cannot improve smoothness of scrolling/gameplay, 
  maybe by reducing fps and explicitly keeping it constant..?? 
  ..there always is some small 'jitter', worst on non-dma machines!
  -> use RLE acceleration?
  -> use double-buffer + HWSURF + SDL_Flip() to avoid flicker/shearing?

Wishlist
--------

Resolved bugs
-------------
- DONE mouse-support (should be good with touchstick on laptop!)

- DONE Before any release the levelcolor changing procedure must be rearranged to work
       well together with the combat screen resizing code
  ---> Done.

- DONE leaving level-editor in zoom-factor!= 1 is not restored when
       going back to game
       (Going back to game is a "development feature, that should of
        course not be present in the real game.)
       ---> Problem has been removed nevertheless.

-  DONE We really should have a "dat" file, where the constants involving
        only the game physics are stored, so that people can write their
        own "mods" and also transfer their mods to new versions of freed.
        This "dat" file should be well documented and ascii editable.

- DONE  Saving of Ships does NOT work correctly in the LevelEditor
        integrated in the game 
        (rp): PORT the map-editor 'maped' ?
        -->A maped clone has been integrated into the game
- DONE  Lift: show level-change in lift: probably just some
        SDL_rectangle-filling needed, as it's a simple color scheme anyway
        maybe even use alpha-channel??
- DONE  Incredible file sizes of ne_....bmp files should be reduced, e.g. by using gif file
        format instead, to reduce package size.
- DONE  Robots now "jitter" until they reach their waypoint: adapt to new
        coordinate-treatment: 
  (jp:) This does only happen with "slow" machines.  I had that too at
        first and then adapted the constant.  Will be more cautios and
        work over the constant again.
- (DONE) make sure all svgalib references are removed
- (rp) autoconf/automake: complete SDL checks 
- (DONE) Frage: weiss irgendwer wozu die globale Variable "BeamLine" dient??
         (rp) erschien mir nutzlos, und hab' die Variable jetzt eliminiert,
         hoffe dass niemand sie doch gebraucht haette...
	 (jp:) War fuer eine PlusExtension, die noch dazu instabil war.  Wir
	       koennen problemlos darauf verzichen bis auf weiteres.
- (DONE) "Ghosts" (i.e. Enemeys go throught walls...)
- NEW! but DONE! 
        There is a very strange bug:  When the influ switches to weapon
        mode or just is in WEAPON mode, the framerate GOES UP AND ALMOST
	DOUBLES!!!  This double framerate and the sudden change in framerate
	causes some ugly jumps in the position vectorys destroying the
	otherwise so smooth movement of the game.  Very strange bug.  At
	first I thought it had to do with keyboard handling, but that IS
	WRONG FOR SURE: tests have shown that WEAPON mode is sufficient for
	this strange change in framerate.  The bug also persists, no matter
	wether SDL or ansi C framerate computation is used.
	jp: The problem was that palette operations are SOOOO slow under X11
	and the SDL.  Now Influ-color is not set every frame.  This was the
        default in WEAPON mode only.  Now we have DOUBLE framerate!  coool!

- (DONE) (jp:) wenn man ganz am rechts unteren Rand einer rechteckigen Kartenform
               steht wird die Framerate nachweislich bei mir HALBIERT!  Das liegt
               an den vielen IsVisible-Abfragen, die scheinbar irgendwo aus der
               Karte hinaus im Speicher die Sichtbarkeit uberpruefen.  Sehr 
               fragwuerdig
         (jp:) appearently this bug has been resolved somewhere since it was encounteres
               while using SVGALIB and might have been resolved with the new and corrected
               get-ship-routines of rp or so.  At least this bug cannot be found on my
               machine any more.
- DONE     (rp:) game should be able to check if yiff is actually _running_ and
                 complain if not and/or continue  
           (jp:) I do not see this problem.  If yiff is not started, it will be
	         started.  If yiff is already started, thats it and yiff will be used.
   	         So why check if yiff is already running?
	         Also I have added extensive error handling and error documentation 
	         for the user, so I consider the problem now fixed.
           (jp:) YIFF has been entirely removed, to this really is handled...
- (DONE)   Schussfrequenz des 001 zu hoch
- (DONE)   gesamt Spiel-geschwindigkeit zu hoch (play original game to compare!!)
           --> jp: Gut.  Habe Robotgeschwindigkeiten und Schussgeschwindigkeiten etwas adaptiert.
- (DONE)   Laufschrift gehoert zu Paradroid-'extensions'
	   --> habe sie als solche vermerkt.
- (DONE)   (rp) Invincible mode: versagt manchmal (collisions)
	   --> inzwischen ueberlebt man die absurdesten Kaempfe und Situationen damit
- (DONE?)  (jp) Calculate all movement (where movement is to be understood in an abstract
	   sense including movement of energy and such) framerate-dependant
	   --> sollte weitestgehend erledigt sein.  Was fehlt noch?  Anmerkungen bitte.
- (DONE)   (rp/jp?) Ship-console endlich ordentlich machen, haufenweise
	   Robo-graphics noetig:  Graphics sind jetzt da, einbauen noch noetig.
	   --> Konsole ist jetzt relativ ansehnlich.  Weitere
	   Verbesserungsvorschaege erwuenscht. 
	   (Bei zu viel Text, scheint immernoch ein segfault zu drohen
- (DONE)   correct the too fast refresh movement and effect
	   Refreshes sollten jetzt ordentlich arbeiten.  Etwas kalibrieren koennte man
	   sie vielleicht noch.
- (DONE)   correct the too fast explosion (blast) damage effect
	   --> sowohl fuer Feinde als auch fuer den Influ sollte das
	   jetzt angemessen wirken 
- (DONE)   (rp) Takeover game still looks 'unfinished'
	   --> der Reinhard hat da scheinbar weitgehend aufger\"aumt...
- (DONE)   (jp) "Fieps-pieps" music ist im Originalspiel nur am Anfang, im Haupt-spiel
	   sind nur ein paar "Brumm-brumm" Geraeusche
	   --> Fieps-Fieps ist jetzt auch bei uns nur am Anfang.  Spaeter aber ein Bischen
	       Themenbezogene Hintergrundmusik find ich dagegen gar nicht so schlecht.
- (DONE)   Also there are 516 in the yellow level, which shouldn't be the  case.
           I also encounter OTHER 001 druids of black color!
               Especially after having died at least once before!  Very strange!
           (rp: this should now work ok)
- (rp)     Timing in takeover game 
- (DONE)   Concept view is ugly
- (DONE)   Pause stopped working with SDL-port
- (DONE)   Uebernommener 302 is zu schnell, 420 is zu langsam..., etc etc
           (jp: finde ich nicht.  Ist zwar nicht 100% Originalgetreu, aber ich finde schon,
           dann die Geschwindigkeit des entsprechenden Robots dann auch fuer den 001 gelten
           sollte, wenn er einen dieser Robots uebernommen hat.)
- (DONE)   proper Highscore list 
           --> Highscore list is accessible via the ESCAPE menu (single player submenu)
- (DONE)   Debriefing ordentlich
           debriefing sieht jetzt gar nicht so schlecht aus.
- (DONE)   Lift-entry: man muss zu lange auf Space sein bis man in den Lift
           kommt. Das "Lift-fahren" ist auch zu schwerfaellig.
- (DONE)   Blitz-schuesse flimmern jetzt zu stark/lang	
           --> nicht mehr, seit die Framerate durch weniger debug-messages 
           generell hoch ist und Flashes Framerate-abhaengig lang leben
- (rp) should have maximally one 999 on commando-bridge
  (jp: I think I've encountered 0 often, later 2 on other ships,
       so I think thats not really so serious)
- (DONE) Endscreen after being killed ("Flimmern4") is too slow
         (rp: now speeded up a bit, but should write a new one)
- (DONE) put all "cheat"-keys in cheat-menu (some are still accessible outside)
- (DONE) Enemey visibility is a bit shakey (revisit visibility calcuations...)
         Test with concept view:  VISIBILITY seems to work perfectly well.
	 The variable onscreen is not updated except for in PutEnemys and should
	 perhaps be removed:  We HAVE the time to calculate visibility every
	 time we want to use it and DO NOT NEED to store is somewhere.
- hide mouse pointer
  (would that really be a good idea?)
  YES: only relevant for Freedroid-window, and has ben done already 

- (rp?) The game gets stuck in the very left elevator on the deck above the
          very lowest deck.  Might have something to do with map topics
  (DONE) enemy-navigation got stuck if waypoint had _zero_
          connections, such "solo" waypoints are signalled, but works ok now.

- (rp?) joystick/gamepad support waere toll!
  (DONE) geht schon super!

- (DONE) Options menu, wo man etwa: 1.) Die Lautstaerke der Hintergrundmusik
         bequem einstellen kann: Use ESCAPE key to access menu

- (jp/rp?) make sure sound-code respects HAVE_LIBSDL_MIXER #define!!
  (DONE)
- (rp) adapt Takeover game to the new engine
  (DONE)

- DONE Colors sind allgemein ein wenig verdreht seit SDL Port
       (wird automatisch behoben mit dem Umstieg auf TrueColor mode,
       wo es dann ohnehin keine Farbpalette mehr gibt...)
- DONE need to allow waypoint ON a refresh for ex. (-> level 5!)
- DONE level 11: console rechts unten ist verkehrt
       (wird leicht zu beheben sein, sobald das Abspeichern von maps aus
       dem neuen MapEditor funktioniert.)

- Farbpalettenrotation fuer Bulletcolor austauschen, da sie die
  Framerate verschlingt!! (we should check that first, though)
  (wird sowieso automatisch behoben bzw. automatisch umgestellt, 
  wenn wir mit der neuen Engine dann auf TrueColor-Modus umstellen.

- (rp) Joystick shooting should determine direction more precisely
       (difficult to shoot "straight")
       (DONE)
- (jp/rp) "Ghost" bullets firing on me on empyy levels (eg. level 5) 
  then also had some ghost bullets coming from nowhere on other
  (no-empty) levels
  ---> has already been removed.  That was only a symtom while I was
       extending.  Problem is fixed I think.

- (rp) sensitivity in takeover-game too high (single steps difficult)
  (is BETTER NOW)

- (rp?) The space for droids in the takeover game is a bit scarce.  The bottom tends to
        get chopped off.  Takeover should be rearranged to display the droids without
        chopped off parts indepentend of which theme is loaded.
- (rp) stabilise Highscore list

- (rp) improve keyboard-repeat in takeover
- (rp/jp) put a crosshair mouse-cursor
  jp: --> done via taking and modifieing the example from the SDL doku
          the current cursor is defines via pixel-map contants in the code, haha.

- bullet to top-right seems to be "offset" to top with respect to
  displayed bullet-pic (which is positioned correctly), i.e. 
  collisions with wall or robots take place as if it was higher in y...
  jp: --> Problem fixed.  The rotated Block is no longer of size Block_Width x Block_Height
          but of the size of the smalled rectrangle containing the uncroped rotated 
	  square of this size.

- DONE Put the 'shipname' into the maps file.  Currently 'Paradroid' is always displayed
       as the current ship.

- Correct the console map:  Do scaling in a way that allows to bring the whole map
  exactly on the screen and perhaps also give the scaling factor used for generating
  the map as additional text to the picture.

- (jp) There is still a lot of german in the code.  Since we are growing more and more 
       international, that should be removed and better sooner than later, as well in
       the comments as in the choice of some old variable names, which are from 
       historical origin, long before I started using the internet at all.

- (rp) missing "takeover announcement" of droid opponent

- (rp) Build-environment: make sure SDL/X,jpeg etc tests work ok!
  (seems ok so far..)

- (jp) some missing "color rotations": takeover-mode 

- Walls are too "sticky", would be better playable if one could "slide"
  (jp:)  That has been completely resolved, at least for my machine!!
         Please tell me if you still experience trouble.

- (rp) Levelnumber should be the index in curShip.AllLevels for simplicity

- (jp) add more sounds:  
  We might use a new sound file for every different level. That would be
  nice.  But where to get that?

- save highscores to disk

- (rp+jp) use GNU coding standards (see doc file 'gnu-standards')
       

- !! We should have a common bug/patch mailing address somewhere !!
  freedroid@....

- (rp) frame-rate neglected when counting out after takeover finished

- (rp) when SoundInit fails: get SegFault instead of proper termination
      (also bad because corrupts highscore file apparently)

- after using flash-bullet: there seems to be a "hanging flash"
  whenever entering a new level...
  --> FIXED!! Only IsVisible() check was done for Droid damage, which
  does not take levelnum into account!


- (rp) mouse actions lead to "glitches" in display..
      --> ONLY seems to happen with ATI's 3D driver, not with standard radeon...
        so probably it's not our fault at all!

- (rp) sometimes droids get created in "piles", i.e. on top of each other
  FIXED!!: forgot to ActivateConservativeFrameComputation() in
  ThouArtDefeated() ==> huge Frame_Time() in first step of new game!
  
- mouse-cursor visible/invisible should be done in input.c !
  (done)

- more mouse-support in Konsole, lift + menu
  (done?!)

- missing 711 ...
  (done)

- make sure droid shuffling is randon enough, also concerning the 
  waypoints used (seems a a bit predictable right now...)
  (done)

- decrease CPU usage in menu and maybe console(?)
  (done)

- update level displayed when changed in LevelEditor
  (done)
- increase sound-channels to allow playing more sounds simultaneously
  (done: 20 channels now)


- force "release key" instead of waiting for it
  (is it worth it?) -> I think so!
  (done)

- reactivate modifier keys
  (fixed that bug!)

- add "white noise" sound to the ThouArtDefeated() ceremony
  (done!)
- acoustic "countdown" in takeover game might be useful!
  --> (done)
- load all droid pics at startup, to avoid delays in DroidShow
  (done) 
- make sure game doesnt SegFault when files are missing
  (should be done now: pass criticality of file to find_file())
- change laser-rifle pic in classic theme
  (done)
- separate 'takeover'-mode  from 'activate' ? 
  (done! I think that's much better!)
- adapt Key-description to new "activate" keys
  (done)
- generate 3D rotation models for droids and use them in show_droid_info!
  (done)

- in ThouArtDefeated: need to use a png-pic of 999 for transparency!
  (done)
- adapt LevelEditor to new waypoint/connections scheme
  (done)
- more flexible theme-handling to allow new themes to be added more easily...
  (done)
- add options-switch for takeover=activate (purist's choice ;)
  (done)
- implement the 'Alert' feature of the original version
  (done)
- change GameConfig reading to use ReadValueFromString() for more 'robustnes'
  (done)
- bug: Area-names etc seems cut now due to use of ReadValueFromString
  (fixed)
- fix bug of exploding enemy (somewhere?) after restarting Mission...
  (fixed)
- accelerate explosions, make sure blast-duration is not theme-configurable
  (done)
- check and adjust 614 parameters (too fast shot-rate!) and  
  (better now;)
- add explosion-decals ? (switchable)
  (done)

- allow initial scaling of the _whole_ game (-> Sharp Zaurus 320x200!)
  (done)
(done) - write some Changelog summary vs 0.8.4
(done)- write a HappyPenguin announcement
(done)- update INSTALL-instructions, README, News etc..
- Add the original energy-upload-function from the C64 classical game start
  to Freedroid (instead of BeamLine perhaps...)
  --> (rp) mhh, dunno if that's worth the effort, let's see
