📄 versions.txt
字号:
static controls.
- Fixed a slight bug which caused a crash when full screen mode was
repeatedly and rapidly activated in Win98.
v0.52 Start Date: 23/01/2000 Finish Date: 31/01/2000
- Added extra functionality to enable the states of the boids to be
saved or loaded to/from a configuration file (.ini). The file is
produced in a human readable form, so that settings can be manually
adjusted.
- Created an icon for the application.
- Set the window's client area background brush to a hollow type.
This helps to prevent overlapping windows erasing the graphics.
- Added a new dialog box to allow some flyer attributes to be adjusted.
v0.51 Start Date: 24/12/1999 Finish Date: 23/01/2000
- Re-designed and re-implemented the simulation's multitasking to become
more responsive and optimized for Windows2000 and NT in general.
This is considered to be the best approach to take, because of the
long term shift towards NT based operating systems from Microsoft.
Doing this helps to ensure the application's longevity.
- Fixed a slight problem with Windows2000, added code to make the
display dialog box always appear as the topmost window.
- Implemented gradual change over of the boids meshes. This prevents
the simulation from locking up when changing to a large mesh.
- Changed from using the MFC timer to using the system clock. This
increases accuracy, especially in Windows2000 which didn't work
properly.
- Added some code to stop the boids wings from flapping when they are
prevented from moving by overloading.
- Added options for the colouring of the solid landscape. Included an
option to set the land to a chequered black and white style.
- Added options for setting the colours of the flyers. This is needed
for contrasting the colours to the chequered landscape colours.
v0.5 Start Date: 02/12/1999 Finish Date: 24/12/1999
- Added a simple pointed brown tower to the landscape, for testing the
boids new collision avoidance AI to be implemented.
- Enhanced the accuracy of the landscape collision detection by using
the correct mathematical 3D plane equations.
- Added some preliminary landscape tower avoidance AI.
- Added a proper rectangular tower to the landscape.
- Tested in Windows 2000 RC2 and found that the thread priorities are
very different. But there is no problem in 98 and NT4, therefore
I have decided to wait for a newer version of Win2000 for testing.
- Fixed a minor bug with adding too many extra boids via the keyboard.
- Added a new constant UPWARD_ANGLE_FROM_COLLISION for last resort
collision avoidance behaviour.
- Added a new constant SIDE_CLEARANCE_ANGLE for giving the boids some
very basic side clearance around the towers.
v0.498 Start Date: 11/11/1999 Finish Date: 02/12/1999
- Added code to prevent the simulation changing the mesh to a type that
is already in use.
- Added code to allow the landscape to have a wireframe overlay.
- Changed the camera menu item from 'From Boid' to 'To Boid'.
- Added a new constant called MAXIMUM_TIMESPAN to prevent the boids from
jumping when then next update is delayed. This improvement also stops
the boids from being interfered with when their meshes are changed.
- Set the optimum priority for the rendering thread in NT4 to be
THREAD_PRIORITY_BELOW_NORMAL, found that one this works the best.
- Changed the select full screen mode dialog to have the default button
as Activate mode. Seems more appropriate and intuitive.
- Added code to prevent the 'To Boid' camera view from going inside
the boid.
v0.497 Start Date: 26/10/1999 Finish Date: 11/11/1999
- Experimented and investigated ways of increasing the responsiveness of
the user interface sliders. Decided to place a limit on the minimum
frame rate to prevent any slow down and crashing. When the limit is
exceeded the number of boids will become restricted.
- Implemented some features to prevent user overloading the simulation.
- Fixed a bug when adding boids to the scene, have to stop the rendering
thread while doing this.
- Added code to destroy the menu when in full screen mode.
- Added code to re-style the window as a POPUP when in full screen mode.
v0.496 Start Date: 23/10/1999 Finish Date: 26/10/1999
- Fixed a bug with the update of the static control showing the number
of flyers active.
- Added a dialog box that allows the user to select and activate
available display modes.
- Tested the display modes in NT4. Found that low resolution modes were
a little unstable concerning the restoration of the windowed mode.
- Tested the display modes dialog in Windows 2000 beta3. Found that
the dialog was not properly presented when first created. It remained
hidden under the main window.
- Added menu options and accelerator keys to set the size of the window.
v0.4952 Start Date: 03/10/1999 Finish Date: 23/10/1999
- Added a Boolean data member to the window class for full screen mode.
- Added a flag to determine whether the simulation starts up in a window
or full screen mode.
- Changed the name of the function OnStop to OnStartStop.
- Added a menu item to start or stop the simulation.
- Tested full screen mode in NT5 beta3 and found that if the mouse is
displayed it interferes with the smoothness of the rendering. NT4 was
fine with the mouse present.
- Added a flag to the main window to state whether to shutdown or not.
- Added menu items to allow the user to change the display mode.
- Added code to return the focus back to the main window when one of the
control panel controls has been used. This allows the user to press
the ESC key, especially when in full screen mode.
- Added code to allow the user to change to full screen mode via the
menu.
- Added code to allow the user to change back to windowed mode from full
screen mode, by pressing the ESC key.
- Added a colour data member to the flyer boid.
- Changed the background colour from light grey to a sky light blue.
- Added a little ambient light to the scene.
- Fixed a bug when starting up in full screen mode and later changing
back to windowed mode via the menu. The restore size of the window
was invalid.
- Added the option of making the control panel hide / show via the
menu bar.
- Also added the option of showing the control panel on startup via the
default constants.
- Improved and experimented with the boid camera views code.
- Added a new size data member to the flyer class.
- Added a new getSize member function to the flyer class and updated
other parts of program code to use it.
- Fixed the bug when the window is maximised and full screen is set, and
then windowed is restored to fill the whole screen.
- Tried to implement ALT + ENTER keyboard command via the GetKeyState
function but it failed to work properly.
- Added Accelerator keys and also replaced the previous keyboard event
handler.
- Added keyboard control for the slider controls.
- Changed the parameter on the add & remove flyers methods to the amount
to add or remove.
- Added code to stop the simulation while changing the boid's meshes.
- Fixed a bug with the camera position slider in the NSEW views (a zero
value).
- Added code to make the camera rotation slider wrap around smoothly.
- Added a menu item and keyboard command to centre the camera rotation.
- Added code to refresh the whole viewport every second, to
clear up junk.
- Added code to repaint all the control panel controls every second, to
clear up junk.
v0.4951 Start Date: 29/09/1999 Finish Date: 03/10/1999
- Changed the mode of operation to a full screen mode application.
- Added keyboard functionality to allow the user to press the escape key
to exit the application.
v0.495 Start Date: 25/09/1999 Finish Date: 29/09/1999
- Added extra boid mesh shape options that can be activated by the menu.
- Added animated flapping wings to a selectable boid mesh.
- Experimented with increasing the precision of the maths to prevent any
juddering when viewed from a boid camera position. But found that the
best improvement was to run the simulation in Windows NT for great
smoothness. Therefore I left the maths precision as it was
previously.
- Changed name from BoidsObj to BoidsFlyer.
- Improved land collision detection, by performing a coordinate check on
the selected patch.
- Improved collision avoidance with the landscape by increasing the rate
of change of velocity of the boids. This allows them to turn faster.
- Added a new constant to the flyer boid for the acceleration rate.
- Added another new constant for the flying boids clearance distance
from the landscape.
v0.4944 Start Date: 14/09/1999 Finish Date: 25/09/1999
- Implemented a second thread for the D3D rendering and GUI update.
This solves the problem of the about box erasing the rendered image,
also the disruption and timing interference when manipulating the
window. This addition works very well in Windows 2000 which is good
for future usage.
- Found that also using the onIdle function to render in addition to the
rendering thread, can increase the frame rates in Windows 98.
No problems encountered with this in all the other versions of
Windows.
- Fixed the problems of using the camera on a boid with zero
boids in use.
- Fixed the problem of using the GUID, by including the proper library.
- Cleaned up and sorted the header files and libraries used.
- Fixed a shutdown bug in Windows 98, concerning waiting for the
rendering thread to finish properly.
- Changed the menu item called Render to Objects.
- Changed the static label from number of objects to number of flyers.
- Added an extra slider that controls the rotation of the camera views.
- Added a button to quickly centre the camera rotation slider.
- Added a stop/restart button.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -