/* --------------------------------- history -------------------------------- */

/* This is part of the flight simulator 'fly8'.
 * Author: Eyal Lebedinsky (eyal@ise.canberra.edu.au).
*/

Changes for release 1.02
========================

[ 6 February 94]
- fix bug in UNIX/ctime.c chopping off the year in messages.
- add ':pack' to standard ini files net drivers parameters.
- fix UDP logic so it works on SUN too.
- add strerror() to need.c
- use need.c and config.h in UNIX UDP related programs.

[ 5 February 94]
- add UDP level multi-player capability to the unix port.

[ 4 February 94]
- Force brake on when new plane created (only CC).
- Adjust chute descent command ('D') to 10 meters (2 seconds worth).
- include <errno.h> in UNIX/fifo.c.

[ 3 February 94]
- Fix bug in unix mouse driver.

[ 1 February 94]
- move 'tpointer' to 'radar' menu and add 'vpointer option.
- add simple fifo.c driver to unix port. It now allows playing head-to-head
  between two FIFOs or across a serial link. See 'flytty' and 'flyfifo'.

[30 January 94]
- oops! gear[] array was defined as [3] but prm.c was storing [5]!
- Keep track of gear up/down position.
- Add more integer-divide-overflow resistance to gear.c and sixdof.c. But you
  can still blow it during violent landings!
- Rudder commands now move it 10% instead of 1%.

[29 January 94]
- add 'stores' display. New module stores.c.
- fix bug is map hight being wrong.
- fix power-up/down slipup.

[28 January 94]
- add speed director to ether hud.
- add clipping to the director.

[26 January 94]
- test on SUN SparcStation 10. Compile OK, now needs testing...
- fix minor printing problem in info.c
- use strtol() instead of strtoul(). We may have to add it to our need.c.
- re-test on msdos, still OK.
- properly split UNIX/mouse.c+grx.c. mouse.c now identical on X11 and MsWin.

[25 January 94]
- fixed keypad for when in AUTO mode.
- build the MsWin port (from Mike). Works OK, still slow...

[24 January 94]
- joystick linear/log option is in the .prm file, makes no sense! also means
  that keypad behaviour is unusable unless it is set to 'linear'. Added
  'linear' option to stick instead. Now the linux version works fine too.
- now pointer->a[] is the actual control input and pointer->l[] is the
  transfered command. The plane only sees the l[]. The pilot delivers the a[].

[22 January 94]
- bumped version to 1.02 for imminent release.

Changes for release 1.01
========================

[20 January 94]
- add 'nexttime' tracking to msdos/speaker.c.
- add PgDn/PgUp to menus for last/first selection. Accept Left/Right as
  Up/Down.

[19 January 94]
- fix bug in max.c which, on 32bit machines, would store bad key names
  of input definition thus finding all .max keys undefined.
- reduce MACRO to use Ushort instead of int.
- fix 'basic' model to properly level when on ground.
- change command options for numbers:
  B	nb	max display list lines
  t	nt	secs to shutdown
        nm	num of macros (new)
  i	ni	min millisec for plane dynamics
- changed parameters for get_narg() and get_inarg()!
- changed init numeric options to accept common base notation.

[18 January 94]
- Change 'st' (status) to NEAR.
- Add va_end() in message.c. ANSI says so.
- Bug fix: Snd->List was called after Snd was closed (set to zero).
  Now Snd and Kbd are set to valid dummy drivers when not active (same as
  Tm and Sys already do). New nokbd.c.
- Looks good, proceed with release packaging. Linux builds and runs with no
  problems. MsWindows now works too.
- rename pointer options to shorter names.

[17 January 94]
- fix null dereferencing in nav.c:nav_find().
- fix definition of my_sinc() in extern.h.
- minor adjustment to msdos\stick.c.

[16 January 94]
- remove parameters from show.c:show_line().
- allow timer driver options as 'dt...'
- add 'rate' option to msdos\timer.c to control hardware timer period. This is
  needed when profiling.

[15 January 94]
- my_sina() added to assembly.
- use NEAR for static functions.
- miscellaneous optimizations.

[14 January 94]
- play with the source profiler.
- add cos/sin of Euler to object structure.
- reduce CCshow()/DDshow() overhead.
- allow '0' for Poll() function of drivers, when not needed.

[10 January 94]
- change field.c: field_read() to use field length for ints.
- show bomb tti.
- unix now works too (was missing timer->Interval...)

[ 9 January 94]
- joystick options: hat, throttle, counter, ndb, four, base*, read, delay.
- mouse options: speedx, speedy.
- pointer only has 4 options now e.g.: "dpMouse:+x+y"
- add buttons menu. Button names are 0-9, a-z. This way we have 36 virtual
  buttons. The joystick uses 0-3 for the main ones, 4-7 for the hat and 8
  for the hat-center position. The mouse uses 0-1.
- add button release feature.

[ 8 January 94]
- define all analog functions as pointer input.
- use max file for buttons function definition.
- some related mods to /utils.

[ 7 January 94]
- allow setting r, b, g separately for colors menu.

[ 2 January 94]
- further refine the fcs driver.

[ 1 January 94]
- add target pointer option to HUD.

[30 December 93]
- add interval measurment facility to the timer driver.
- performance stats now has resolution of 1/10th millisec.
- re-assign the debug switches:
  W account for pitch derivatives
  X show the graph
  Y use yplane instead of fplane
  Z fplane: use the fundamental method

[28 December 93]
- new 'd' command to declutter the HUD.
- new target designator for pan/target HDDs.
- print program name to log.
- new option for orthogonal compass ticks.

[27 December 93]
- fix bug in handling bad plane name.
- don't show the 'W' if the '+' is shown.

[26 December 93]
- put atmospheric calcs into airdata.c while improving it.
- new option to display calibrated airspeed.

[25 December 93]
- upgrade F16 HUD format.

[23 December 93]
- add bullet history trail.

[21 December 93]
- add support for thrustmaster FCS.

[19 December 93]
- use WIN_ and VIS_ manifests instead of numbers.
- fixed gr.lib to not loose the write mode...
- add hdd menu to top level and move some options into it.
- cosmetic adjustments to cockpit.c.

[18 December 93]
- new target speed/acceleration acquisition logic.
- rename the HDD stuff.
- pan/target HDD now shows absolute Heading/Pitch.

[16 December 93]
- ether HUD heading is real world scale.
- ether radar data can use the full screen.
- add piper Vc to ether HUD.
- show xbreak only on hud.

[15 December 93]
- add 'ether' screen layout.
- add 'ether' HUD style.

[12 December 93]
- always call show_pitch().
- properly handle the display of the flight director.

[ 9 December 93]
- add leading edge flaps.

[ 8 December 93]
- play with ILS controlled autopilot.

[ 4 December 93]
- F15 HUD adjustments.
- add aural attention to messages.
- reduce refuel rate to 100lb/sec (still very fast).
- add a parameter to sound driver Poll().
- add frac_size().

[29 November 93]
- update models oclassic, obasic and oxplane.
- centralize input file reading (file.c).
- reorganize include files.
- read landscape from file (fly.lnd).

[28 November 93]
- move drawing of basic HUD symbols to symbols.c
- fix long/lat logic.
- read nav data from a file (fly.nav).

[27 November 93]
- use wing cord for pitch derivatives instead of wing span.

[26 November 93]
- rename derivatives to aerodynamics jargon.

[23 November 93]
- default set to 'allow stall'.
- delfault shows panel.
- debug data font forced to 0.

[17 November 93]
- new F16 hud format.
- show waypoint diamond (at ILS origin).
- split into 'panel.c' the control panel data display.
- start using the HUD struct.

[14 November 93]
- changing target-acquisition mode releases the current target.

[10 November 93]
- work around the msc7.00 bug in init.c and vmodes.c where
	a[strlen(a)-1] = '\0';
  fails and corrupts memory!

[ 6 November 93]
- do a better job of tail stuff.
- add 'no stall'

[ 5 November 93]
- add trim (on Ctl-Arrows).

[ 3 November 93]
- hud/type now is option 't' instead of 'y'.

[ 2 November 93]
- get_num() and SetOption() are generic menu utilities.
- hud on/off added to main menu (instead of toggle).

[31 October 93]
- organize autopilot actions: AUTOFLAP, AUTOELEVATOR, AUTORUDDER.
- sky show OK in rotated views now.
- identify the M61 as GUN on the HUD.

[30 October 93]
- improve load-limiting procedure.
- add automatic flaps assistance on high alpha.

[29 October 93]
- new option: screen/stereo/hudpos: show HUD at infinity or on screen.
- new option: ladder/negtip.
- create views.c:get_area().

[26 October 93]
- Some more work on clip_to_screen.

[24 October 93]
- turning off fast write on the StelthPro stops the frequent lockups.
- fix clip_to_screen() to be relative to boresight center rather than
  HUD center.

[18 October 93]
- add 'action' to flight models for private init/term management.

[16 October 93]
- debug gear.c
- add VxMmul() to handle the many Mxpose() pairs.
- keep more data in object and e_plane.
- use '()' to control wheel brakes and '<>' for speed brakes.

[10 October 93]
- fdiv() added in assembly. SOme cosmetic changes to debug messages.
- remove references to obsolete Mangles1().

[09 October 93]
- gear.c landing gear interaction. needs much more work.
- new Euler() routine to track orientation.

[08 October 93]
- sixdof.c implements the proper kinematics equations.

[02 October 93]
- add MINLIFT to plane parameters.
- add Xbreak HUD option.
- start oyplane.c with proper units and corrected calcs.
- allow wheels to slide sideways.

[01 October 93]
- Better G load limiting.
- change FA18 to linear controls.

[28 September 93]
- hud cursor now relative to HUD center.
- msdos\stick.c: set a 25% dull edge.

[26 September 93]
- serious playing with aero model and auopilot.


[25 September 93]
- some steamlining in stroke.c
- added type cast to some trig functions.
- version.c now has the welcome() message. Remote.c has ComVersion. version.c
  always recompiled on build.

[22 September 93]
- HUD_CORNER not anymore the default.
- add PATHSEP to config.h

[21 September 93]
- make ALL ladder options modifiable. Plan to extend this to full HUD
  options with a config file.
- remove wing_stall.

[19 September 93]
- now have EX->power. Display as P on misc, thrust displayed as TST over the
  airbrake.
- some headers cleanup.
- remove st.indicators (finally).
- start work on oxplane.c again.

[18 September 93]
- added engine.c: F16 engine model from AC&S.

[17 September 93]
- flush log regularly.
- show no tips on +-90 degrees ladder steps.
- pendulum (ground pointer) now available in all HUD types.
- rewrite pitch.c

[16 September 93]
- new HUD options:
	ladder pinned (rotates arounf HUD center)
	ladder color cued
	ladder numbers only on the right
	ladder numbers roll with the steps
	ladder is funnel shaped
	ladder steps are slanted
	ladder zenith/nadir shown as markers

[15 September 93]
- since fixeng the S3 bank switching code I had no more machine lockups.
  This may have been related - but keep testing.
- fix bug in reading fly.max.
- more fiddling with the autopilot.

[12 September 93]
- remove t4k.c from the graphics library.
- ensure I alway show as 'friend' (light blue).
- fix bug in svgakt32 sv_banks.asm S3_bank handling of large memory.
- play a bit more with the autopilot code.

[11 September 93]
- remove EX->misc[17], and use st.hudshift.
- allow whitespace before '#' in ini file.
- fix bug in 'debug' display.
- fix color input to actually accept rrggbb (used to be bbggrr). this changes
  fly.ini.
- fix map to show friends is lblue rather than blue.
- make 'simple' easier to fly. Also make the autopilot parameter a bit better.

[10 September 93]
- fix bug where selecting pointer dynamically was always failing.
- allow defining all colors through parameters: 'cxrrggbb' where 'x' is
  the color (see colors menu) and rrggbb are hex values for primaries.
- remove st.hud_color.
- clean hud info screen.
- reduce default font size.

[ 9 September 93]
- allow setting of all colors

[ 6 September 93]
- grab sv_page.asm and sv_banks.asm from svgakt32.zip. Add some more
  parameters to settype() in grfast.c.

[ 5 September 93]
- got the page/bank code from svgakt32.zip and put into grfast. It should
  now support many more cards. The VESA support is not done yet.
- msdos\timer.c now supports timer modes 2 and 3 (the most common modes) so
  it should run OK in a mswin dos window.

[ 4 September 93]
- make engine noise follow the thrust rather than the speed. (Should really
  follow the RPM if we had it).

[ 3 September 93]
- remove debug from grfast.c. It still locks up.

[ 1 September 93]
- add some debug to grfats.c. Why is the S3 locking sometimes (but will
run for 10-15 hours at times with no problems)?

[31 August 93]
- add timeout check to grfast.c sync wait.

[29 August 93]
- some cleanup in pcserial.c
- create notimer.c and nosystem.c for safer aborts.

[22 August 93]
- find .vmd, .mac and .max in the files directory.
- do not specify .vmd etc. extension in parameters. FLY.INI CHANGES.
- add max.c. We now read text macros if we find them, then binary macros.
  We still write BINARY, so that we do not overwrite our text comments.
- fix bug when early abort would hang (due to Sys driver not yet active).
- fixed bug in BuildFileName() when there is no extension.
- add xstrdup() to memory.c to protect the malloc system.

[21 August 93]
- add ellipse drawing to djgpp VGA driver.
- standardize device drivers options format. ADDED A NEW PARAMETER TO SOME
  DRIVERS INIT CALLS!!
- change drivers name options. FLY.INI CHANGES.

[17 August 93]
- add need.c for common missing functions. Write my own s/rand().

[16 August 93]
- change msdos to use simple timer probing for timekeeping.
- add color to intel info.
- added strings to max2mac.
- then to close the day, the game dies whenever a key is touched...

[15 August 93]
- finish the djgpp port. Noted that page crossing has a high cost.

[11 August 93]
- add add_line() declaration to extern.h.
- change Enable/Disable to use Ulong flags.
- remove 'extern' from driver definitions.

[10 August 93]
- got a working djgpp port. The graphics can use some speedup.

[ 8 August 93]
- make all object names unique, even statics.
- undefine all #defines in each module.
- do some other cleanup.
- redo the comms. Now when choosing a player (at any prompt) you can
  select '+' for all team members (can still use '*' for ALL players).
  You select a player by giving the start of the name (or the team or both):
  the match is tested only for the length of the reply. Only the first match
  is selected.
- change the interface to remote.c: remove 'mode' and use special 'player'
  records to denote special destinations.

[ 7 August 93]
- new option -Snnn to supply sound device. moved nosound.c to main directory
  (no need to include it in drivers.c).
- move stfonts out of drivers.c into stroke.c
- remove 'misc' from makefiles (no such file).
- fixed the bad foreign object position extrapolation. It is now as smooth as
  it was meant to be.
- removed the 'assignment in condition' warnings by using the T() and F()
  macros to denote these situations.
- fiddle a bit with the 'shoot' cue accuracy. Still not as good as it should
  be.

[ 6 August 93]
- add font_set() to stroke.c. Add st.StFontPtr
- use NEAR and FAR to designate the drivers and associated arrays.
- modify makefiles to more cleanly do 'ifuncsm'.

[ 5 August 93]
- renamed macro progs to 'mac2txt' and 'txt2mac'. Fixed them too.

[ 4 August 93]
- add ALT-A...ALT-Z to the msdos keyboard driver.
- now ALTa-z and CTRLa-z are hot keys.
- change format of listmac in preparation for the complementary program.
- wrote buildmac.c.

[ 1 August 93]
- get stable makefiles for c8 and qc. Also done to Linux.
- fix bug in loop.c not going into fast refresh when it should.
- add team name (-Naaa -Tbbb shows as aaa:bbb). show team members in blue.
  Radar does not lock on team members.
- replace color 'st.lblue' with 'st.skyblue' and add new color 'st.lblue'. All
  graphics drivers now need update (done to msdos, mswin and unix).
- remove 'stealth' from 'blanker' mode.
- add 'classic' and 'basic' planes.

[31 July 93]
- add 'config' and clean support for the msdos compilers.
- fix pcdos.c and find.* for the different offsets.
- set net to auto-accept as default.
- go through the net menu even if the net is down.
- fix recently introduced bug in log handling.

[30 July 93]
- add -L. option to turn on log file flushing.
- try c8. nothing works!


[26 July 93]
- clean some warnings: menu.c, ifuncs.c, oplane.c.
- use -fomit-frame-pointer with gcc. Any good? code is slightly larger.
- noted that the dos '!' looses the keyboard on return.

[25 July 93]
- add manifest HAVE_JOYSTICK to unix
- modify unix makefile.top

[23 July 93]
- use Sys->BuildFileName() to generate full path names.
- config.h: Remove DIRSEP. add PRM_EXT and SHP_EXT.

[20 July 93]
- fix 1: command.c to set wepon WE_M61 for killers.
- fix 2: oplane.c, beep on target lock only for main player.


Fly8 1.00[beta] released mid May but took a while to get there. I returned
home by the end of June and did some more uploading.
