Donate Share

PurpleSharp

File Release Notes and Changelog

Release Name: PurpleSharp v0.5

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