File Release Notes and Changelog
Notes:
// bunnz@users.sourceforge.net
//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with this library; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
//*****************************************************************************
Purple# v0.5
------------------
Requirements:
* Graphics hardware support for vertex and pixel shader (Geforce3, Radeon 8500 or better but no Geforce4 MX).
* Installed DirectX 9.0 SDK Summer Update (+ Managed Stuff)
* VS.NET 2003 and .NET 1.1 framework
* Working directories in Project Settings have to be changed to the project roots (relative paths
can't be stored due VS.NET 2003 bug); e.g.: D:\Dev\Purple03\QuakeLevel
Changes:
Purple# change list (since v0.3 alpha)
======================================
Purple# v0.4:
===================
* Moved AABB.cs to Purple.Math
* Added setter for IQuad.Size and fixed size bug in Quad.Update
* Implemented GuiText and added Purple.Graphics.Gui.IGuiText
* Added Purple.Graphics.Gui.IButton, Purple.Graphics.Gui.Button
* Changes to IMouse and IKeyboard => event based and simplified interfaces
* Added Purple.Graphics.Gui.IGuiGauge, Purple.Graphics.Gui.GuiGauge
* Changed OnRender to OnRender(float deltaTime), introduced RenderEventHandler and added IRenderHandler.
* Added IMouseHandler and IRenderHandler to IGuiElement and removed IDrawable
* Add Initialized to InputEngine and IInputEngine
* Introduces Purple.Collections.CollectionBase
* Initial implementation of AI.FSM namespace...
* Use own mouse cursor within PurpleControl...
* Changed to FMOD 3.71 - ISoundObject implements IDisposable now
* SoundInit.Close disposes all soundObjects..
* Implementation of some classes in Purple.Actions namespace
* Added GuiElement.Visible property
* Added Purple.Graphics.DisplayModes collection and a Find method.
* Added 2d.fx and mouse cursor to Purple.Resources
* Added standard EffectLoader
* IQuadFactory and IQuad implement the IMultiApply interface instead of the method ApplyState
* Changed directory system of the Purple# projects (hopefully the last major change)
* Added an autoResize flag to ITextureLoader.Load(Stream) for controlling if the image is resized
to a power of two dimension of hardware that doesn't support other texture dimensions.
* Added some tutorials.
* Some minor changes in TextureManager.
* CGFX 1.2, DirectXFX effects work now - but there are still many missing features
Purple# v0.5:
===================
* Add IFileSystem, disc file system, zip file system (using SharpZipLib), RefFileSystem ...
- Mesh- and AnimationImporters use fs now...
- EffectCompiler uses IFileSystem instead of Path
- TextureManager converted
- Quake3Loader uses fs now...
- ShaderCompiler, HLSLShaderCompiler uses fs
- MD3Loader
- Purple.PlugIn.Factory
- Added Tutorial
- Added Purple.IO.Path that provides some filePath helper stuff
- Added ResourceFileSystem
* Added Purple.Engine handling all the core stuff
* Added PlugIn unloading
* Moved Skeleton and Bindings from IMeshImporter to ISkeletonImporter
* Moved the Quake3LevelLoader to the importers and made it an IMeshImporter
* IAction
- Added method Finish() to IAction
- Added event Started to IAction
- Changed ActionFinishedHandler to ActionHandler (also used for Started event)
- Removed Start(), Stop(), Apply()
- Added ActionScheduler
* Purple.Math
- Made Matrix3, Matrix4 serializable...
- Many updates to the Quaternion class
- Many updates to the Math.Basic class
* Added SortedMultiList
* Some minor bugfixes of the tutorials
* Fixed many MayaExporter Bugs and upgraded to Maya 5.0
* Added Purple.Graphics.Particles namespace with some particle system related classes
* Added Purple.AI.Gestures namespace that can be used for mouse gesture recognition
* Purple.Input
- Purple.Input.Mouse returns positions relative to the window size [0,1]
- Added standard mouse cursor resource
- Added cursor handling to Mouse
* Calculation of frameRate interpolates over 16 frames now
* Fixed a bug in SubTexture
* Added IRender interface that contains the OnRender(deltaTime) method
* Added Gui HowTo
Todo:
-----
* Add DEUS Engine ask for MD2, QuakeLevelLoader code credits
* Include Textures in mesh file
* Adapt MD3Loader, MD5Loader
* Incorporate CG
* Change "Managed" resources to "Default" (implement update for textures)
* Add IModel, ISkeletonModel, IKeyFrameModel, ...
* RegisterForRendering also for mesh, models, ...
* MayaCameraController, QuakeCameraController care for initial view matrix
* Box, Sphere, Line, Plane, Ray
* HowTos
* Exporter for 3dsMax 6.0
* Add matrix stack
* Dynamic streams
* Networking Code
* ModelViewer, SpriteViewer
* Support non-float shader constants
* Purple.Physics (ODE Wrapper)
* Many bugs and missing features in DirectXFx effects, CGFX, ...
* Tutorial -> Landscape
* Tutorial -> Shader
* Rework namespace hierarchy
* PlatformManager -> Timer
* Tutorial NormalMapper
* Engine -> Profiler, Logging, ...
* FileSystem -> ConsoleForm.cs(416), Scanner.cs(323), Serializer.cs
* #region around header
* Video Playback