Otter Updates
Okay apparently it's been like three months since I've posted about Otter updates, and there's been a lot since then. I guess since my life was in chaos for the past few months I slipped up. Oh well! Here's a quick breakdown on changes and fixes to my C# game making framework thing.
* Fixed a bug with rendering a BoxCollider with a width or height of 1 or 0.
* Fixed a rendering bug caused by changing the font size of a RichText object at runtime.
* Added flags for Sound and Music to check if they're currently playing audio. Sound.IsPlaying and Music.IsPlaying will be true if they're playing back audio.
* Added Color.Shade(float) which will return a color from black to white with the specified float. For example Color.Shade(0.5f) will return a gray color where 0.5f is set for red green and blue.
* Fixed a bug in Input.CharToKey() (a key was missing...)
* Fixed a bug in CollideEntities where an Entity could collide with itself.
* Added Collider.Overlap(x, y, px, py) which will do an Overlap test with a specified point (px, py) Very useful for doing UI stuff and checking for a point overlapping a collider.
* Fixed a bug with LastPressed and LastReleased timers on Button.
* Added Util.ListCombine<T>() to take a bunch of lists and combine them into one list. I don't know if this is already a C# thing so whatever.
* Added Color.FromBytes()
* Added Axis.Reset() to totally clear an Axis's input state.
* Added Button.Reset() to totally clear a Button's input state.
* Fixed a bug where Gradient wasn't blending with its Color.
* Added DataSaver.FileExists().
* Added Particle.ActiveCount but I'm not totally sure if this works as intended.
* Fixed a bug where creating a Text object would not accept an SFML.Graphics.Font.
* Added MouseDeltaX and MouseDeltaY to get the mouse movement since the last update. Mostly used for locking the mouse inside the game window.
* Util.GetFieldValue works for static fields now.
* Added Scene.CameraFocus which if set to an Entity the Scene will then follow that Entity.
* Added Rand.IntXY which returns a vector2 of ints.
* Reworked EventQueue component into EventStack and EventQueue.
* Added GraphicList which is a Graphic type that is a list of graphics.
* Added Anim.OnNewFrame() which is invoked whenever the current frame of an Anim changes. Useful for tying code to specific frames of an animation.
* Huge debugger api changes which uses attributes now instead of RegisterCommand with CommandTypes. Check out the example here to see the new style.
* Added a bunch of stuff to the Debugger like tab auto complete and parameter help when typing in a command.
* Entity.UpdatedOnce is now public (private set.)
* Scene.RemoveNextFrame(Entity) will remove an entity with a one frame delay.
Wow that's a lot of stuff! I'm really happy with the new debugger API that uses all kinds of crazy reflection stuff now instead of a bunch of RegisterCommand method calls.
If you've been using Otter then you should drop by the official slack sometime and hang out with your fellow otter lovers!
* Fixed a bug with rendering a BoxCollider with a width or height of 1 or 0.
* Fixed a rendering bug caused by changing the font size of a RichText object at runtime.
* Added flags for Sound and Music to check if they're currently playing audio. Sound.IsPlaying and Music.IsPlaying will be true if they're playing back audio.
* Added Color.Shade(float) which will return a color from black to white with the specified float. For example Color.Shade(0.5f) will return a gray color where 0.5f is set for red green and blue.
* Fixed a bug in Input.CharToKey() (a key was missing...)
* Fixed a bug in CollideEntities where an Entity could collide with itself.
* Added Collider.Overlap(x, y, px, py) which will do an Overlap test with a specified point (px, py) Very useful for doing UI stuff and checking for a point overlapping a collider.
* Fixed a bug with LastPressed and LastReleased timers on Button.
* Added Util.ListCombine<T>() to take a bunch of lists and combine them into one list. I don't know if this is already a C# thing so whatever.
* Added Color.FromBytes()
* Added Axis.Reset() to totally clear an Axis's input state.
* Added Button.Reset() to totally clear a Button's input state.
* Fixed a bug where Gradient wasn't blending with its Color.
* Added DataSaver.FileExists().
* Added Particle.ActiveCount but I'm not totally sure if this works as intended.
* Fixed a bug where creating a Text object would not accept an SFML.Graphics.Font.
* Added MouseDeltaX and MouseDeltaY to get the mouse movement since the last update. Mostly used for locking the mouse inside the game window.
* Util.GetFieldValue works for static fields now.
* Added Scene.CameraFocus which if set to an Entity the Scene will then follow that Entity.
* Added Rand.IntXY which returns a vector2 of ints.
* Reworked EventQueue component into EventStack and EventQueue.
* Added GraphicList which is a Graphic type that is a list of graphics.
* Added Anim.OnNewFrame() which is invoked whenever the current frame of an Anim changes. Useful for tying code to specific frames of an animation.
* Huge debugger api changes which uses attributes now instead of RegisterCommand with CommandTypes. Check out the example here to see the new style.
* Added a bunch of stuff to the Debugger like tab auto complete and parameter help when typing in a command.
* Entity.UpdatedOnce is now public (private set.)
* Scene.RemoveNextFrame(Entity) will remove an entity with a one frame delay.
Wow that's a lot of stuff! I'm really happy with the new debugger API that uses all kinds of crazy reflection stuff now instead of a bunch of RegisterCommand method calls.
If you've been using Otter then you should drop by the official slack sometime and hang out with your fellow otter lovers!
Post your comment!