Please e-mail for this version if you want it
Bugs fixed in this release
==========================
Sprite003: friction is now working
Engine007: GetFirstSpriteOfThisType() now works
Engine008: RemoveFirstSpriteOfThisType() now works
Engine009: KillFirstSpriteOfThisType() now works
Some proper testing would help !
EventManager003: non auto reset timers are now elapsed correctly, this was fixed with changes mentioned below to timer logic
EventManager004: events are properly reset when added to the EventManager after previously being added and removed.
Changes in this release
=======================
SpriteDebug
-----------
added - storedInt, this will display the contents of the StorageInt property of the sprite
Event
-----
added - AutoReset, this property is true by default and forces the event manager to reset a timer if it was checked using Elapsed and has elapsed. If you set it to false the timer will remain elapsed until you manually reset it.
EventManager
------------
added - TimerStringLinesReturn, this returns all active timer names on a separate line
removed - AutoReset, this didn't make sense as a global setting so has now been refactored individually for each event
EngineManager
-------------
added - SpriteDebug.storeInt support to sprite debugging
FontBank
--------
added - new font vector, which contains a vector style font as used in games such as asteroids, starwars etc... You will need to use the new FontSheet.png file in order to take advantage of this font. (Remember its white text on a transparent tile so when you download it it will look invisible in the browser, so right click and save as a PNG)
Limit
-----
added - Activate(), forces the limit box to be active, this should only be needed in exceptional circumstances.
Sprite
------
added - StorageInt, to allow the storage of an integer value
fixed - After all the major changes I hadn't realised that certain updates of the sprite were happening even when it shouldn't
fixed & adjusted - Friction is now a scalar quantity (a single value rather than a Vector3), 0 means no friction.
removed - ApproximateSpeed, use SpriteHelper.ApproximateSpeed() instead as this actually works!
Tuesday, 29 December 2009
Sunday, 20 December 2009
Engine3.13 released
I am unable to upload the dll file to googledocs (I don't think it likes accepting executable code), I am looking for a free hosting service that will accept the dll's, but for the time being if you want the files please e-mail ebarwell@palmers.ac.uk and I'll e-mail it to you directly.
There is still a problem with rendering errors if losing graphics device state I have put some code in to fix things but I can still get errors when forcing the graphics card to Change between one and two monitors (this should not be a problem). Can you test 3.13 going into full screen mode and post a comment on this post, so that I can be sure at least that works. If it doesn't I'll have to re-think the renderer.
Bugs fixed in this release
==========================
Sprite002: fixed viewport limit problems. It was caused by the code that checks to see if a viewport is active, it was assuming all sprites were in world coordinate mode rather stupidly.
AnimatedTexture001: fixed animation not changing, it only affected doing a FrameRate after OnDistance. You should now be able to switch a sprite between diferent animation methods no problems.
EventManager002: fixed dozy mistake preventing the returning of event names, the code was set to return the string version of the object type - can't even understand why I wrote it that way - must have been testing something else and forgot to change it back!
EngineManager006: fixed problems when using RemoveAllLayers(), and then adding more layers.
Just leaves the rather very very complicated TileSheet001 :(
Changes in this release
=======================
EngineManager
-------------
added - GetFirstSpriteOfThisType(), this returns a single sprite of the type given, this is useful if you know you have one particular sprite of a type that you need to manipulate.
added - RemoveFirstSpriteOfThisType(), this will remove the first occurence of a sprite with the given type.
added - KillFirstSpriteOfThisType(), this will kill (and hence launch any funeral handler) the first occurence of a sprite with the given type.
LayerManager
------------
added - RemoveLayer(), this allows you to remove an individual layer from the layermanager. It may be preferable to just hide an existing layer tho'
There is still a problem with rendering errors if losing graphics device state I have put some code in to fix things but I can still get errors when forcing the graphics card to Change between one and two monitors (this should not be a problem). Can you test 3.13 going into full screen mode and post a comment on this post, so that I can be sure at least that works. If it doesn't I'll have to re-think the renderer.
Bugs fixed in this release
==========================
Sprite002: fixed viewport limit problems. It was caused by the code that checks to see if a viewport is active, it was assuming all sprites were in world coordinate mode rather stupidly.
AnimatedTexture001: fixed animation not changing, it only affected doing a FrameRate after OnDistance. You should now be able to switch a sprite between diferent animation methods no problems.
EventManager002: fixed dozy mistake preventing the returning of event names, the code was set to return the string version of the object type - can't even understand why I wrote it that way - must have been testing something else and forgot to change it back!
EngineManager006: fixed problems when using RemoveAllLayers(), and then adding more layers.
Just leaves the rather very very complicated TileSheet001 :(
Changes in this release
=======================
EngineManager
-------------
added - GetFirstSpriteOfThisType(), this returns a single sprite of the type given, this is useful if you know you have one particular sprite of a type that you need to manipulate.
added - RemoveFirstSpriteOfThisType(), this will remove the first occurence of a sprite with the given type.
added - KillFirstSpriteOfThisType(), this will kill (and hence launch any funeral handler) the first occurence of a sprite with the given type.
LayerManager
------------
added - RemoveLayer(), this allows you to remove an individual layer from the layermanager. It may be preferable to just hide an existing layer tho'
Monday, 14 December 2009
Engine3.12 released
Expect more changes to come quickly to start with as bugs are found.
This version will be live by 12:15 PM 14th December 2009
Template will be updated accordingly and so will the dll and xml files on the student shared game programming resources folder
Bugs fixed in this release
==========================
Menu001: fixed tag track problem
Changes in this release
=======================
EngineManager
-------------
removed - RebuildLayerBatches(), you don't need this in your code anymore, the LayerManager now sorts this out for you. When you get build errors deleting this line in your code. Template updated accordingly.
TrackHelper
-----------
removed - Draw(), use EngineManager method TrackDisplayOn() instead [e.g. engineM.TrackDisplayOn(track, num points);]
added - SpeedForTime(), calculates the speed required to traverse the given track in the time quoted.
This version will be live by 12:15 PM 14th December 2009
Template will be updated accordingly and so will the dll and xml files on the student shared game programming resources folder
Bugs fixed in this release
==========================
Menu001: fixed tag track problem
Changes in this release
=======================
EngineManager
-------------
removed - RebuildLayerBatches(), you don't need this in your code anymore, the LayerManager now sorts this out for you. When you get build errors deleting this line in your code. Template updated accordingly.
TrackHelper
-----------
removed - Draw(), use EngineManager method TrackDisplayOn() instead [e.g. engineM.TrackDisplayOn(track, num points);]
added - SpeedForTime(), calculates the speed required to traverse the given track in the time quoted.
Thursday, 10 December 2009
Engine3.11 released
Expect more changes to come quickly to start with as bugs are found.
Major update affecting Layers (still need to sort out TileSheet001 - fix coming soon) + need to add layer alignment to help take advantage of new cool stuff and also the rotation origin needs some work as when scaling it has potentially undesirable effects. (As I'm typing an idea that might work came into my head - it'll might make it into the next release).
This version will be live by 9 AM 11th December 2009
Template will be updated accordingly and so will the dll and xml files on the student shared game programming resources folder
Bugs fixed in this release
==========================
Sprite001: relaxed HistorySampleRate it can be much higher now, see below:
EngineManager005: sorted out Engine Debug output so it only shows items requested (not bin and collision stuff always)
Changes in this release
=======================
EngineManager
-------------
added - scale, rotation and rotation centre information to layer debug output
removed - RebuildLayerBatches(), re-worked the LayerManager to automatically run this for you
adjusted - SpriteDebug.Track now displays track index as well as track name
TileSheet
------------
added - CreateMatrix, if set to true the TileSheet will create a rotation and scaling matrix for you based on RotationOrigin, ScaleFactor and RotationAngle
added - RotationAngle, lets you set the rotation angle of the Tilesheet
added - ScaleFactor, allows you to specify the scaling of the Tilesheet (extra tiles are dropped or drawn accordingly)
added - RotationOrigin, this will work in conjuction with the above
added - DisplayMatrix, this allows you to manually specify a matrix for scaling and rotation of the layer
Sprite
---------
adjusted - HistorySampleRate, was clamped at 0.02 (50 times a second) reduced the clamp to 0.0005 (2000 times a second) can't reach this as game won't run that first.
TrackManager
------------
added - TrackCurrent, allows you to get or set the current track being travelled, use with extreme caution. You should let the TrackManager deal with the tracks, but this may be useful for advanced track work beyond the engines ability.
VideoManager
------------
added - VideoManager(), creates a video manager with the video content specified
added - PlayVideoOnce(), plays a video previously associated with the videomanager once only
added - PlayVideoLoop(), plays a video previously associated with the videomanager forever
Major update affecting Layers (still need to sort out TileSheet001 - fix coming soon) + need to add layer alignment to help take advantage of new cool stuff and also the rotation origin needs some work as when scaling it has potentially undesirable effects. (As I'm typing an idea that might work came into my head - it'll might make it into the next release).
This version will be live by 9 AM 11th December 2009
Template will be updated accordingly and so will the dll and xml files on the student shared game programming resources folder
Bugs fixed in this release
==========================
Sprite001: relaxed HistorySampleRate it can be much higher now, see below:
EngineManager005: sorted out Engine Debug output so it only shows items requested (not bin and collision stuff always)
Changes in this release
=======================
EngineManager
-------------
added - scale, rotation and rotation centre information to layer debug output
removed - RebuildLayerBatches(), re-worked the LayerManager to automatically run this for you
adjusted - SpriteDebug.Track now displays track index as well as track name
TileSheet
------------
added - CreateMatrix, if set to true the TileSheet will create a rotation and scaling matrix for you based on RotationOrigin, ScaleFactor and RotationAngle
added - RotationAngle, lets you set the rotation angle of the Tilesheet
added - ScaleFactor, allows you to specify the scaling of the Tilesheet (extra tiles are dropped or drawn accordingly)
added - RotationOrigin, this will work in conjuction with the above
added - DisplayMatrix, this allows you to manually specify a matrix for scaling and rotation of the layer
Sprite
---------
adjusted - HistorySampleRate, was clamped at 0.02 (50 times a second) reduced the clamp to 0.0005 (2000 times a second) can't reach this as game won't run that first.
TrackManager
------------
added - TrackCurrent, allows you to get or set the current track being travelled, use with extreme caution. You should let the TrackManager deal with the tracks, but this may be useful for advanced track work beyond the engines ability.
VideoManager
------------
added - VideoManager(), creates a video manager with the video content specified
added - PlayVideoOnce(), plays a video previously associated with the videomanager once only
added - PlayVideoLoop(), plays a video previously associated with the videomanager forever
Stupid world size error in template (and hence your code)!
There is a calamitous error in the setup code (only just been spotted). This won't effect you until you try to use the collision system.
The lines to adjust are found in the Statup() subroutine found in GeneralLogic.cs
Just make sure the WorldHeight is set to the Y res and the WorldWidth is set to the X res.
Sorry about this and thanks to:
Dan Cotton
Richard Brinkley
for originally spotting this problem.
The lines to adjust are found in the Statup() subroutine found in GeneralLogic.cs
private void Startup()
{
//make sure tracks are defined before using them
CreateTracks();
//engine settings (can be changed)
engineM.ScreenColour = Color.Black;
engineM.WorldHeight = resolutionX;//<- should be resolutionY
engineM.WorldWidth = resolutionY; //<- should be resolutionX
{
//make sure tracks are defined before using them
CreateTracks();
//engine settings (can be changed)
engineM.ScreenColour = Color.Black;
engineM.WorldHeight = resolutionX;//<- should be resolutionY
engineM.WorldWidth = resolutionY; //<- should be resolutionX
Just make sure the WorldHeight is set to the Y res and the WorldWidth is set to the X res.
Sorry about this and thanks to:
Dan Cotton
Richard Brinkley
for originally spotting this problem.
Tuesday, 8 December 2009
Engine3.10 released
Expect more changes to come quickly to start with as bugs are found.
This version will be live by 1PM 08th December 2009
Template will be updated accordingly and so will the dll and xml files on the student shared game programming resources folder
Bugs fixed in this release
==========================
EngineManager004: re-worked sprite layer rendering code in Engine.
Changes in this release
=======================
Animation
---------
adjusted - OnAnimate(), now called before animation changes, this enables you to check what the last frame was before it is about to change
EngineManager
-------------
renamed - GetThisTypeAs() becomes GetThisType() as the name was stupid
TileSheet
---------
renamed - Displacement becomes DisplaceCurrentPosition as this better describes its function as it alters the scroll position of the layer
- Don't get confused with DrawOffset as this alters the draw position of the layer.
This version will be live by 1PM 08th December 2009
Template will be updated accordingly and so will the dll and xml files on the student shared game programming resources folder
Bugs fixed in this release
==========================
EngineManager004: re-worked sprite layer rendering code in Engine.
Changes in this release
=======================
Animation
---------
adjusted - OnAnimate(), now called before animation changes, this enables you to check what the last frame was before it is about to change
EngineManager
-------------
renamed - GetThisTypeAs() becomes GetThisType() as the name was stupid
TileSheet
---------
renamed - Displacement becomes DisplaceCurrentPosition as this better describes its function as it alters the scroll position of the layer
- Don't get confused with DrawOffset as this alters the draw position of the layer.
Monday, 7 December 2009
Engine3.09 released
Expect more changes to come quickly to start with as bugs are found.
This version will be live by 9AM 07th December 2009
Template will be updated accordingly and so will the dll and xml files on the student shared game programming resources folder
Changes in this release
=======================
Animation
---------
added - QuickDistance(), this allows you to setoff a single set of animation (based on an action), that will allow animation to carry on as it was before when it has finished.
added - QuickDistanceRestart(), this allows you to setoff a single set of animation (based on an action), that will restart the previous animation when it has finished.
added - LoopCount, keeps track of how many times animation has looped, works well in conjuction with OnAnimate()
added - OnAnimate(), this allows you to call a subroutine which will be called after every animation frame change occurs
some name refactoring to make more sense, if you have errors because of this just rename:
renamed - FrameFirst becomes FirstFrame
renamed - FrameLast becomes LastFrame
renamed - FrameActive becomes ActiveFrame
TextManager
------------
added - DrawAsSprites(), this allows you to specify static text for display. You don't need to keep drawing this from the gameloop (if you do you will generate loads of sprites)
added - SpriteGenerateTextAsFrames(), this create a sprite whose frames are each of the characters of the supplied text, this sprite can then be used for signage effects (especially when used with tracks or AnimateOnDistance) - I'll put an example of the help blog
TextStore
---------
fixed - 002: Sprite attributes are now correctly applied to sprite text or typewriter text.
---------
xml Comments completed for
TextManager
BaseSprite
Box
Bin
AnimatedTexture
Animation
ColourHelper
This version will be live by 9AM 07th December 2009
Template will be updated accordingly and so will the dll and xml files on the student shared game programming resources folder
Changes in this release
=======================
Animation
---------
added - QuickDistance(), this allows you to setoff a single set of animation (based on an action), that will allow animation to carry on as it was before when it has finished.
added - QuickDistanceRestart(), this allows you to setoff a single set of animation (based on an action), that will restart the previous animation when it has finished.
added - LoopCount, keeps track of how many times animation has looped, works well in conjuction with OnAnimate()
added - OnAnimate(), this allows you to call a subroutine which will be called after every animation frame change occurs
some name refactoring to make more sense, if you have errors because of this just rename:
renamed - FrameFirst becomes FirstFrame
renamed - FrameLast becomes LastFrame
renamed - FrameActive becomes ActiveFrame
TextManager
------------
added - DrawAsSprites(), this allows you to specify static text for display. You don't need to keep drawing this from the gameloop (if you do you will generate loads of sprites)
added - SpriteGenerateTextAsFrames(), this create a sprite whose frames are each of the characters of the supplied text, this sprite can then be used for signage effects (especially when used with tracks or AnimateOnDistance) - I'll put an example of the help blog
TextStore
---------
fixed - 002: Sprite attributes are now correctly applied to sprite text or typewriter text.
---------
xml Comments completed for
TextManager
BaseSprite
Box
Bin
AnimatedTexture
Animation
ColourHelper
Friday, 4 December 2009
Engine3.08 released
Minor but important update
This version will be live by 9AM 04th December 2009
Template will be updated accordingly and so will the dll and xml files on the student shared game programming resources folder
Changes in this release
=======================
LayerManager
------------
added - RemoveAllLayers(), this removes all active layers from the manager. This is important so that unwanted layers are removed when switching between different gamestates.
This version will be live by 9AM 04th December 2009
Template will be updated accordingly and so will the dll and xml files on the student shared game programming resources folder
Changes in this release
=======================
LayerManager
------------
added - RemoveAllLayers(), this removes all active layers from the manager. This is important so that unwanted layers are removed when switching between different gamestates.
Wednesday, 2 December 2009
Engine3.07 released
Expect more changes to come quickly to start with as bugs are found.
This version will be live by 9AM 02nd December 2009
Template will be updated accordingly and so will the dll and xml files on the student shared game programming resources folder
Changes in this release
=======================
EngineManager
-------------
fixed 003 - Rectangle debug information now sensible
EventManager
------------
fixed 001 - (hopefully) ReturnValueForFrame, adjusted so this won't ever return a divide by zero problem
fixed 002 - Viewport wrapping, for sprites in ViewPort co-ordinate mode now works!
FontBank
--------
adjustment- altered visibility of some objects so you should only see the fonts and the font texture.
FontSprite
----------
added - FontSprite(charset, height), simplified font definition so that you only specify character set and height of font during initial definition.
TextManager
-----------
fixed 001 - stopped crashing when attempting to draw unsupported characters, will skip illegals.
This version will be live by 9AM 02nd December 2009
Template will be updated accordingly and so will the dll and xml files on the student shared game programming resources folder
Changes in this release
=======================
EngineManager
-------------
fixed 003 - Rectangle debug information now sensible
EventManager
------------
fixed 001 - (hopefully) ReturnValueForFrame, adjusted so this won't ever return a divide by zero problem
fixed 002 - Viewport wrapping, for sprites in ViewPort co-ordinate mode now works!
FontBank
--------
adjustment- altered visibility of some objects so you should only see the fonts and the font texture.
FontSprite
----------
added - FontSprite(charset, height), simplified font definition so that you only specify character set and height of font during initial definition.
TextManager
-----------
fixed 001 - stopped crashing when attempting to draw unsupported characters, will skip illegals.
Subscribe to:
Posts (Atom)