Changelog
From SDL.NET
Release Summary
SDL.NET is a set of object-oriented CLS-compliant .NET 2.0 bindings for the SDL multimedia library. It provides high-level access to audio, keyboard, mouse, joystick, TrueType fonts, various image formats, sound mixing, MPEG-1 movies, 2D video framebuffer and 3D hardware via OpenGL.
This release uses the latest SDL library release (1.2.13). SdlDotNet.Particles and SdlDotNet.OpenGL have been consolidated into the main SdlDotNet assembly. Using Tao.Sdl and SdlDotNet at the same time is now much easier. All examples that used Tao.FreeGlut, Tao.Windows.Platform, SdlDotNet.Gtk have been removed. This makes packaging, support and cross-platform functionality much simpler.
Documentation and downloads are available at http://cs-sdl.sourceforge.net.
A full changelog can be found at http://cs-sdl.sourceforge.net/index.php/Changelog
SDL.NET is licensed under the LGPL.
6.1.0
David Hudson 02 May 2008
- Update to SDL 1.2.13 and the TaoFramework 2.1 releases.
- Consolidated SdlDotNet.Particles and SdlDotNet.OpenGL into the main SdlDotNet assembly.
- Exposed some internal handles in the Surface and Event classes to make it easier to use Tao.Sdl and SdlDotNet at the same time.
- Removed a lot of dependencies in the examples. All examples that used Tao.FreeGlut, Tao.Windows.Platform, SdlDotNet.Gtk have been removed. This makes packaging, support and cross-platform functionality much simpler.
- Fixed a bug where the MouseMotion Event for the SurfaceControl would only fire if a Mouse Button was pressed. (Thanks Zerkel)
- Fixed a regression bug in SurfaceControl so MouseWheel events fire properly. (Thanks YAYitsAndrew)
- Fixed Unicode bug in the Keyboard and KeyboardEventArgs. (Thanks Silicon)
- Fixed bug where the maximum FPS possible was very low.
- Bioslayer added options and overloads to SurfaceGl.
- Cached Pixel information in the Surface class for better performance.
- Fixed uninstall problems in the NSIS installer.
- Many FXCop fixes
6.0.0
David Hudson 05 May 2007
- All examples use a Main() method instead of a Run() method for startup. This eases the re-use of the examples, especially the SimpleExample and Template.
- Updated to use Tao 2.0.0 final release.
6.0.0beta3
David Hudson 27 Apr 2007
- Bioslayer has joined the project.
- Dropped the Winforms-based Example browser. It caused too many problems with Mono (mouse event handling on Mono/Linux and Mono/Windows, compilation and event problems on Mono/OSX).
- Added a SDL.NET-based GUI Example browser. It is clunky, but it works on all platforms.
- At long last, an OSX version. The CDPlayer does not work, but the Examples Browser and SharpNes work. They build full OSX bundles so you can double-click on the apps to start them.
- Released .dmg file for OSX version.
- SdlDotNet.OpenGl was re-implemented thanks to Bioslayer.
- Many bugs fixes by Bioslayer.
- All tutorials on the wiki updated to 6.0 code
- Changed SpriteDictionary to SpriteCollection. Sorting on the Z axis now works.
- Added a small demo to show sorting order for sprites.
- Added a simple template file demo (Template.cs) to help developers start a project.
- Fixed Sprite.Kill to remove sprite from all collections.
- Updated Prebuild that fixes VS2005 target.
- Requires Mono 1.2.3.1 or .NET 2.0
6.0.0beta2
David Hudson 27 Mar 2007
- Major API Change: Removed Surface.Resize, Surface.Rotate, Surface.Scale, Surface.RotateZoom, Surface.Stretch, Surface.FlipVertical and Surface.FlipHorizontal. You must now use the respective "Create" methods: Surface.CreateResizedSurface, Surface.CreateScaledSurface, Surface.CreateFlippedVerticalSurface etc. I know this is a disruptive change, but it solves a huge AccessViolation memory bug that has been plaguing SDL.NET for a long time.
- SpriteDictionary is now a SortedDictionary.
- Sprites implement IComparable using the Z-axis of the Vector. This allows sprites to be blit in proper order.
- Fixed a threading problem with SurfaceControl.
- Used partial classes with SurfaceControl and CDPlayer demo so they work better in the VS2005 designer.
- Reworked Examples browser to run on Mono. Mono does not like TreeNodes.
- Added shell scripts for Examples to run on Linux.
- Added a Transparent.png resource so that Surface.CreateResizedSurface() works better (thanks to PaulA for the idea).
- Added a constructor to the Music class to load from a byte array.
- Updated to SDL_gfx 2.0.16.
- Added TexturedPolygon primitive (SDL_gfx 2.0.16 only). This can be seen in the PrimitivesExample. This is skipped in the example if an older version of SDL_gfx is present.
- Added SDL.NET port of the SharpNES Nintendo emulator to the examples. The second controller and the sound does not work, but it can run many games. Thanks to Jonathan Turner for the code.
- Improved event handling in SurfaceGtk courtesy of Thomas Krieger
- Added a Gtk Sprite Example courtesy of Thomas Krieger.
- Added scripts to create a debug build.
- TODO: Mono/Windows does not run some examples properly. The CDPlayer will stop working when resized or moved. The SpriteDemo runs out of memory. The MoviePlayer sometimes hangs when exiting. The GtkWindow runs but throws an error that the "assertion `main_loops != NULL' failed".
- TODO: Mono/Linux does not run some examples properly. Midi does not seem to work for the AudioExample. The StreamingExample has some static. SDL windows do not receive mouse events even though the standalone examples (CDPlayer, SharpNes) do. Some NeHe examples use Windows-specific functionality and do not run in Linux. Some examples exit with double-free errors.
- TODO: SDL.NET does not compile under Mono/OSX. resgen.exe fails when trying to process the .resx files.
6.0.0beta1
David Hudson 26 Jan 2007
- Full usage of .NET 2.0 - all Collections use generics now.
- Full FXCop compliance - this caused a lot of rewriting of constructors to prevent subclassing issues.
- Updated to latest version of Tao (2.0RC1)
- EventHandlers are now generics per FXCop.
- SpriteCollection is now SpriteDictionary. The key is the clipped rectangle of the sprite's surface. This functionality is similar to pygame.
- Primitives were given an interface and moved into their own namespace.
- Surface class had many methods renamed - the numerous Primitives ones were consolidated and now use the IPrimitive interface.
- Surface.DrawPixel is now Surface.Draw to make it consistent with the Surface Primitives methods.
- The many Video.SetVideoMode/SetVideoModeWindow/SetVideoModeGl methods were consolidated into one method name with several overloads. This makes the code much more consistent and clean.
- CDDrive.PlayTracks was renamed CDDrive.Play to make it consistent with other methods.
- Sealed classes are now static classes (except SdlDotNet.Core.Events)
- The static methods in the Music class was split into the MusicPlayer class
- AudioStream class has been integrated into the rest of the audio system.
- Sprites now consist of a Surface and a Vector instead of the Surface and Rectangle. Using a rectangle that was different from the Surface.Rectangle caused a lot of confusion, especially with AnimatedSprites. You can use the Vector to give the sprite a Z-axis. This allows the sprites to be blit in Z-order.
- Removed ChannelCollection. Use a generic instead.
- Removed RectanglesCollection. Using a List<Rectangle> instead.
- Removed DirtyRectangles.
- Added SdlDotNet.GtkSharp library (thanks to Drazen Soronda)
- Video.WindowIcon(assembly, iconName) for more customizability when setting the window icon (thanks to Rob Loach)
- Added more axes to JoystickAxis. (thanks to Rob Loach)
- Reorganized namespaces. Instead of One namespace that contained eveything there are now:
SdlDotNet.Audio SdlDotNet.Core SdlDotNet.Graphics SdlDotNet.Graphics.Sprites SdlDotNet.Graphics.Primitives SdlDotNet.Input SdlDotNet.Windows
- Consolidated all examples (except CDPlayer) into one example browser application.
- Added HeroExample, PongExample, PrimitivesExample, JoystickExample, GtkWindowExample, FontExample.
- Added a window and TextSprite to the StreamAudio example to make it easier to use.
- Removed GuiExample and stripped out the GuiExample components from the SpriteDemo. This had fallen into disrepair in the 4.x era.
- Removed Sprite.Render methods. The different overloads did completely different things. Use Surface.Blit(Sprite) instead.
- Removed Surface.Flip(). use Surface.Update() instead. It actually calls Sdl.SDL_Flip() anyway, but I wanted to consolidate the terminology.
- Many of the string literals now use Resources so they are semi-localized. Note that Monodevelop has a Resource handling bug, so SdlDotNet may not build properly in the IDE. NAnt on Linux works fine however.
- Updated the Mono.Xna project (http://www.taoframework.com/Mono.Xna) to this version.
- Updated the CeGui# project SDL.NET renderer (http://ceguisharp.sourceforge.net) to this version
4.0.5 / 5.0.0
David Hudson 17 Oct 2006
- Fixed massive memory leak in the SdlDotNet.OpenGl library. The OpenGlFont example works better now.
- Fixed several bugs in SurfaceControl and Events that caused crashes in the SurfaceControl. (Thanks to YayItsAndrew for the test case and bug reports)
- Fixed bugs in CDPlayer. Added some scrollbars to the CDPlayer (5.0.0) to show how the SurfaceControl can work with a Panel.
- Font class speed improvements (thanks SealedSun).
- Moved to NAnt 0.85
4.0.5 beta 1 / 5.0.0 beta 1
David Hudson 06 Oct 2006
- v.4.0.5 is the .NET 1.1 build.
- v.5.0.0 is the .NET 2.0 build. 2.0 versions of Tao libraries are now included.
- Future versions of SDL.NET will focus on .NET 2.0. While maintenance releases of 4.0.x will occur, new development will take place on the 5.0.x code stream.
- Add build files and conditional compilation flags to support both .NET 1.1 and 2.0.
- Updated to SDL 1.2.11
- Updated SDL_mixer library so Ogg files now work.
- Updated to the Tao 1.3.0 release for .NET 1.1 build
- Updated .NET 2.0 build to latest Tao SVN code.
- The Font and TextSprite class now can display multiline text courtesy of Paul Aspinall.
- The AnimationSprite Rectangle Size now defaults to the size of the first animation.
- The TransparentColor API has changed but several bugs have been fixed.
- Added bool Surface.Transparent property to solve some issues. This has to be called after setting the Surface.TransparentColor.
- Bugs in the Surface.AlphaBlending have been fixed.
- Sprites and SpriteCollections are now Sortable.
- The NAnt build now uses the Prebuild utility.
- Increased default FPS to 60
- Added dll.config files for Debian
- Added Autotools build using the Prebuild utility
- Added Isotope isometric engine demo by Simon Gillespie
- Added Isotope tutorial by Simon Gillespie to Wiki
- Added StreamingAudio example and functionality by Stuart Carnie. (v5.0.0 only)
- The CDPlayer, NeHe and Redbook run on both .NET 1.1 and .NET 2.0.
4.0.4
David Hudson 24 May 2006
- Updated to SDL 1.2.10, SDL_image 1.2.5, SDL_mixer 1.2.7, SDL_ttf 2.0.8, smpeg 0.4.5.
- Updated to latest version of Tao.Sdl.
- Fixed problem with Font.Bold, Font.Italic and Font.Underline properties not being correctly set. (Thanks PaulA)
- Added a new library: SdlDotNet.OpenGl for drawing 2D surfaces to and OpenGl screen.
- Added the OpenGlFont example which shows text being drawn over a spinning cube.
- Updated to latest versions of prebuild, NSIS, NUnit.
- Added new Video.SetVideoMode overloads that default to current desktop resolution.
- Added ability to retrieve the Unicode character pressed on the keyboard.
- Added Get to KeyRepeat property.
- Added Surface.Resize.
- Video.GrabInput is now a property.
- Fixed bug with Video.Icon that was causing the NeHe and Redbook examples to fail.
- VideoInfo now holds the current resolution's height and width.
- SDK installer now includes the runtimes as well.
- Fixed bug Video.ListModes (thanks dogwatch)
- Added some more Nunit tests
4.0.3
David Hudson 3 Mar 2006
- Surface.ReplaceColor replaces all pixels of one color on a surface.
- Surface.DrawPixel(int,int,int) to draw pixels by color value (faster).
- Fixed dirty rectangle clipping bug that crashed the BounceSprite demo on Linux.
- Greatly improved the Linux nant build.
- SurfaceControl no longer offsets the bitmap.
- SurfaceControl is now editable in Design Mode.
- Updated Prebuild (aka dnpb) to latest version. Can now create Monodevelop project files.
- Font constructor to open a font from a byte array (PaulA).
- Fixed a segfault when an examples exited under Mono.
- PhysFs example now works on Linux.
- Fixed Sound constuctors.
- Disposing Music doesn't destroy the Music queue.
- CreateHardwareSurface() creates a hardware surface based off of an existing surface.
- Created separate Runtime and SDK installers for Windows.
4.0.2
David Hudson 14 Jan 2006
- Surface.CreateRotatedSurface was not copying AlphaBlending to the new Surface.
- Rotating the Surface no longer uses anti-aliasing by default.
- Fixed huge memory leak in Surface Rotating methods.
- Surface.GetPixel() and Surface.DrawPixel() are now implemented for 24-bit surfaces.
- Added a OnResize() to SurfaceControl.
- CDPlayer demo can now be resized and the bouncing ball will respond to the new size of the SurfaceControl.
- Optimized Surface.Bitmap.
- MusicCollection added to encapsulate a playlist of music.
- CloseHandle() catches and NullReferenceException if the handle of the class does not exist.
- Fixed performance problem introduced in 4.0.1.
- Minor bug fixes in ChannelCollection.
- Static factory Vector.FromDirection for fast Vector creation (PaulA and dave).
- SurfaceControl is much more stable and now part of SdlDotNet.dll instead of a separate dll.
- Included a new example that uses Tao.PhysFs to read an image from a zip file.
4.0.1
David Hudson 16 Dec 2005
Many thanks to dogwatch for submitting numerous bug reports.
- Fixed Surface.TransparentColor not being retained after rotating Surface.
- Fixed Alpha not being retained after rotating Surface.
- Fixed problem with GetPixel getting wrong pixel.
- Removed Surface() default constructor. It required that Video.SetVideoMode be called first which led to confusion since the other constructors do not require the call.
- Added a User Event mask to EventMask enum.
- Added PumpEvents() before PeepEvents() in the Events.Remove() method.
- Added a Events.Retrieve() set of methods.
- Events Ticker is no longer multithreaded. This fixed a problem where OpenGL contexts would not work with the Event ticker.
- Tick Event handlers are now removed when the Events.QuitApplication() method is called. This help the NeHe demos close a lesson's SDL window then start a new one.
- Video.SetVideoMode can use the Resizable parameter much more easily.
- All OpenGL demos (NeHe and Gears) now use the Events ticker. The NeHe lesson dialog can close and start lessons more cleanly.
- UserEvents work. Users can now define new UserEvents and put them into the Event queue.
- Sound.Fadeout works.
- Font check for empty string has been fixed.
- Rectangles and Gears demos are now resizable.
- Cleaned up Gears code.
- All of the EventArgs classes have been revised. No API changes but the code is much cleaner.
- All OpenGL attributes can now be accessed using properties.
- Removed IsInitialized() from subsystems due to problem with the method.
- Removed Dispose() from Video, Timer, CDRom, Mixer and Joysticks since they do not actually implement IDisposable and are singletons. Also, the methods did not work correctly. The Close() method for each singleton class will shut down the SDL subsystems.
- Very minor AnimatedSprite fix.
- Added OpenGL Programming Guide Red Book to the Wiki.
- All OpenGL Redbook examples have been added.
- TransparentColor and Alpha properties now exist in Sprite and SurfaceCollection to make life easier.
- Added some overloads for Video.SetVideoModeOpenGL and Video.SetVideoModeWindowOpenGL.
- Calling Events.QuitApplication twice will no longer throw an exception.
4.0.0
New features in SDL.NET 4.0 include many improvements to the sprite system, particularly for animation. The sound and music systems have been revamped and are more intuitive. Two supplemental libraries provide Winforms capabilities and a particle engine. Many examples and tutorials have been added, including many of the NeHe OpenGL lessons ported to SDL.NET. David Hudson 22 Nov 2005
Many thanks go out to Rob Loach who worked on many of the new features present in this release.
- Minor SdlDotNet.Particles additions and fixes.
- NeHe Examples.
- Video disposes correctly.
- MouseMotionEventArgs.ButtonPressed bug fix (thanks dogwatch).
- TextSprite Blit bug fix (thanks dogwatch).
- Sprites now have Left, Top, Right and Bottom properties. Width and Height are now virtual.
- Sprite IntersectsWith now has tolerance values for more flexible collision detection.
- Sprite(string filename) constructor for fast creation of sprites.
- Added many tutorials to the website.
- AnimationCollection renamed to Animation.
- Animation now extends from SurfaceCollection.
- Cleaned up some very old SurfaceCollection documentation.
- Fixed a positioning bug in the Surface.CreateCompatibleSurfaceFromClipRectangle. (thanks dogwatch)
- Video.WindowIcon does not freeze on OS X anymore.
4.0.0beta1
David Hudson 27 Oct 2005
- Fixed GAC installation and uninstall issues.
- Fixed Surface.Blit(Sprite). It now blits the sprite to the right location. Thanks to Ekim_Gram for the bug report.
- SDL.NET now builds on Linux and OSX using NAnt. The build generates Web docs, but not chm help files.
- Updated the Mono Config file. An Ubuntu 5.10 config file was added as well.
- Added MacOS X config file.
- Merged TiledSurfaceCollection into SurfaceCollection. Added a new constructor to SurfaceCollection that loads one row of a graphic. (Rob Loach)
- Added SoundDictionary class.
- Simplified and removed some of the examples.
- Fixed several bugs in TextSprite
- Added Audio Example. (Rob Loach)
- Added MusicDictionary class.
- Improved Sprite collision detection. (Rob Loach and Jendave)
- Re-worked the Event class. It now provides a processing loop.
- Added KeyboardState Class. (Rob Loach)
- Fixed several bugs in the TextSprite class
- Updated Mouse class to use more properties. Made Mouse class a singleton.
- Updated ColorKey and Alpha in Surface class to use properties.
- Audio system was re-worked by Rob Loach to make the API more intuitive.
- New website using MediaWiki.
- Upgraded website to use MySql 4.1
- Removed SpriteSingleCollection class.
- Re-worked AnimationSprite and added Animation and AnimationCollection classes.
- New SdlDotNet.Particles assembly contains the SdlDotNet Particle system.
- Added ParticleExample
- New SdlDotNet.Windows assembly contains a SurfaceControl class that displays a Surface on a Winform.
- CDPlayer includes and SurfaceControl example.
- Fixed bug with MouseMotion events when the button is pressed.
- Surface can now be converted to a Bitmap.
- New Logo (Rob Loach)
- Examples now use the new logo.
- Ran all assemblies and examples through FXCop
- Fixed missing button property with MouseMotionEventArgs.
- All primitives implement IPrimtives interface and include a Center property.
- Dispose has works better for many classes.
- Removed FontSystem. The Font class now initializes the SDL_ttf subsystem properly.
- Many improvements to the NAnt build process
Known Issues in 4.0.0
- CDPlayer and NeHe examples do not run properly on Linux and OS X due to Winforms issues.
- The BounceSprite demo causes Mono (Linux and OS X) to crash if you drag a ball outside the screen.
3.1.2
David Hudson 18 July 2005
- Added a more sophisticated SpriteCollection.Draw() method. It now mirrors the RenderUpdate() method in PyGame. You can clear and update just the rects that changed.
- Fixed major bug with the SpriteCollection/Sprite Add() and Remove() methods. They were causing Dispose() problems.
- Fixed problems with LostSprites in SpriteCollections. This allows the old Rects to be cleared properly.
- Removed WeaponFire and Bounce examples. WeaponFire has been integrated into BombRun (press the space bar to fire).
- The BounceSprites example will remove a ball if you right click on it. This uses the Sprite.Kill()/Remove() methods.
- Updated to Sdl_mixer 1.2.6
- Created Windows installer.
3.1.1
David Hudson 21 June 2005
- Added Surface.Stretch. This allows surfaces to be stretched to fit a given rectangle. This much requested feature was very helpful for the CEGUI renderer.
- Added new Scale, Rotation, Zoom methods that return a new Surface instead of modifying current Surface. This issue was brought up by an example from Cibressus.
- Updated Tao.Sdl and Tao.OpenGl
3.1.0
David Hudson 18 May 2005
- Surface is now Clonable, both shallow and deep.
- Added Transformation object to help rotate, zoom or scale Surfaces.
- Added BounceSprite demo and tutorial
3.1.0beta1
David Hudson 13 May 2005
- Fixed several memory leaks.
- Added two tutorials. SimpleExample is from Terry Price and ParticleEngine is from Miguel De Sousa.
- Made the VideoModes flags into an enum.
- The Surface.Fill() method now returns the updated rectangles instead of void
- Many more FXCop fixes.
- GUI demo works but is not complete. It still has memory leaks and missing functionality.
- Fixed major color bug in Surface primitives.
- Removed some redundant enums from SdlFlags.
- Fixed problems with Surface constructors.
- Removed ChannelList class.
- TODO: Sprite tutorial.
3.1.0alpha1
David Hudson 27 Apr 2005
- Note that this is definitely an alpha. Feedback will be greatly appreciated. ****
- New sprite engine. Based on pygame and includes some ideas from Moonfire's demo
- Moonfire's GUI system and demo have been reworked to use new sprite engine. This still needs a lot of work.
- VideoInfo is now a proper singleton.
- Added some new overloads and a constructor to Surface.
- All Windows dll dependencies are now included in the zip file under the /lib.win32deps directory. You no longer need to download Tao.Sdl.deps separately.
- Fixed some memory issues pointed out by scottles2. Note that there are still some memory leaks.
- Used FXCop to clean up many issues.
- Removed Bitstream fonts from FontExample. Added FSF GPL fonts.
- Consolidated a few of the examples. Renamed Moonfire's demo.
- Removed some of Moonfire's examples that were not relating to SDL.NET.
3.0.0
David Hudson 23 Feb 2005
- Exceptions will use the SDL_error string by default.
- Primitives are antialiased by default.
- Fixed some documentation.
3.0.0beta2
David Hudson 20 Feb 2005
- Updated some of the documentation.
- Added Triad, a Tetris-like game to the examples directory. It was created by Michael Rosario.
- Added a massive, impressive demo by Moonfire called MfGames.Sdl.Demos. It shows off complex Sprite animation and Gui interaction.
3.0.0beta1
David Hudson 14 Feb 2005
- This is a big update. SDL.NET now has functionality similar to Pygame, the set of Python SDL bindings (http://pygame.org). There are some pieces missing, but SDL.NET finally has a full feature set.
- Almost all classes have changed to some extent. Please read the documentation.
- The Surface.Blit() function has changed. Instead of srcSurface.Blit(toDest, rect). It is now destSurf.Blit(fromSrcSurf, rect). This makes the method a little more intuitive when working with the main video screen. If your app window comes up blank, this change is probably the reason.
- The mixer system has been completely revamped. Each channel is now an object and can be manipulated easily.
- The event system has been revamped. The event queue can be totally controlled. There are methods for adding new events, viewing events, and removing events directly from the queue.
- Image class has been folded into Surface.
- None of singleton classes require Singleton.Instance anymore. They all use static methods so just call the methods directly.
- The CDRom subsystem now allows querying the track information of the cd.
- The joystick system has been revamped so that you can query joystick parameters directly instead of just using events. This system still needs work, it is a little sluggish.
- The video subsystem now returns much better information on the avaiable modes and the features available in the current mode and hardware.
- There are many new methods exposing various SDL functions in manay of the classes. There is too much to state here.
- I've added a major new example called "Simple Game" which shows off more of SDL.NET using a Model-View-Controller deisgn pattern. It is a reimplementation of a Pygame tutorial.
- Fixed all of the Dispose methods in all of the appropriate classes. The garbage collector was prematurely collecting certain classes.
2.2.0
David Hudson 21 Jan 2005
- Integrated smpeg into SdlDotNet
- Smpeg is used for the playing of mp3's and mpeg-1 movie files
- Note that when playing mpeg-1 files, you must close the mixer. Smpeg uses a custom mixer. If you do not turn off the normal Mixer (Mixer.Close()) then the mpeg-1 files will play very slowly (x30 times slower).
- Added new mpeg movie player example
2.1.0
David Hudson 10 Jan 2005
- Minor cleanups to code.
2.1.0beta2
David Hudson 07 Jan 2005
- Overhauled Joystick subsystem
- Fixed JoystickButtonUp
- Separated out Joystick vertical movements from Joystick horizontal movements
- Made translating joystick movements to screen position much easier.
- Added new Joystick example
- Cleaned up a few build targets
- Started using dnpb for generating VS2003 and SharpDevelop project files.
- Fixed bug with closing handle for fonts.
- Removed build events that copy media files so that building is faster and creates fewer redundant files.
- Added Delegate Example back. I forgot to include the code in the last beta. Also reworked it to provide better feedback when the delegates are called.
- Workaround for problem where Music objects are disposed prematurely in Release mode.
2.1.0beta1
David Hudson 31 Dec 2004
- Added Rotation
- Added Zooming
- Added Horizontal Flipping
- Added primitive drawing (circles, ellipses, triangles)
- Fixed ChannelFinished delegate for real this time :-)
- Moved to NAnt 0.85 rc1
- Using latest version of Tao.OpenGl for the Gears example. The new version is much larger than ther previous versions. If people think it is too large to include in the release zip, let me know.
- All examples except for the CDPlayer run on Mono for Windows.
2.0.0
David Hudson 21 Nov 2004
- Final Release.
- Minor changes to docs.
2.0.0b2
David Hudson 16 Nov 2004
- Reworked all of the Dispose() methods to fix memory leak problems (hopefully).
- Fixed MusicFinished and ChannelFinished delegates.
2.0.0b1
David Hudson 5 Nov 2004
- Added Gears example that uses OpenGL.
- Finished adding all functionality that existed in 1.5.x. Including Surface.DrawPixel, Surface.GetPixel and Surface.FlipVertical
- Added Timer.Delay
- Added PixelsExample which uses the Draw/Get pixel methods.
- Modified FontExample to use FlipVertical
2.0.0a2
David Hudson 3 Nov 2004
- Ran FXCop against SDL.NET and fixed a huge amount of issues that make SDL.NET more .NET "compliant".
- Decoupled Tao.Sdl and SDL.NET so that the examples do not need to reference Tao.Sdl directly.
- Made some changes to enums in Tao.Sdl that required changes in SDL.NET.
2.0.0a1
David Hudson 29 Oct 2004
- Finished rewriting SDL.NET.
- Single assembly
- CLS compliant, no more pointers!
- Based on Tao.Sdl native bindings.
- Better integration of SDL_image, Sdl_mixer and SDL_ttf
- CHM docs.
- Code cleanups and reorg
- CdPlayer example works
- Image Example works more reliably.
- A few more features (see README)
0.0.2
Lucas Maloney - Mon 31 Mar 2003 23:48:21 EST
- Changed the namespace from SDL-TTFDotNet to SDLDotNet.TTF
- Modified to use Singleton architecture. This depends on changes to SDLDotNet which should be in version 1.4. For now, you will have to use CVS.
0.0.1
Lucas Maloney - Wed Mar 19 18:51:40 EST 2003
- Initial attempt
Lucas Maloney Sun 23 Mar 2003 21:24:41 EST
- SDLDotNet.TTF is a .NET wrapper for sdl-ttf (See http://www.libsdl.org/projects/SDL_ttf/). This is my initial import of this wrapper. It is lacking a lot in the way of error checking and documentation, but it is fully functional. There is a simple example program in example/. It is based on the showfont example that comes with SDL_ttf.

