Releases: Martenfur/Monofoxe
Releases · Martenfur/Monofoxe
v 3.0.0-dev.1
Added
- Added
RenderMask
as a replacement to camera filters toScene
,Layer
andEntity
. - Added
Clear()
method toResourceBox
. - Added
Offset()
method to linear dampers. - Added
OnFrameStart
,OnFrameFinish
andOnAfterDraw
events toGraphicsMgr
. - Added
Pool
collection. - Added
AccumulationBuffer
collection. - Added
UnorderedList
collection. - Added
GetArea()
,GetSignedArea()
,IsClockwise()
methods toGameMath
. - Added new collision system.
- Added new drawing methods.
Changed
- BREAKING CHANGE:
ResourceInfoMgr
now accepts wildcards instead of directory names. For example,ResourceInfoMgr.GetResourcePaths("Graphics/Trees");
should now be replaced withResourceInfoMgr.GetResourcePaths("Graphics/Trees/*");
- BREAKING CHANGE: Renamed
GetSafeNormalize()
toSafeNormalize()
. - BREAKING CHANGE: Removed instances of
Width
andHeight
inSprite
,Frame
,WindowMgr
,Camera
,Surface
, and replaced them withSize
. - BREAKING CHANGE: Changed boolean
isOutline
toShapeFill
enum for shapes.
Fixed
- Fixed
AddComponent<>()
not taking generic type into account. DirectoryResourceBox
now ignores non-xnb files properly.- Fixed division by zero in dampers.
Removed
- BREAKING CHANGE: Removed camera layer filters.
- BREAKING CHANGE: Removed
Drawable
class and non-static shape fields and methods.
v 2.2.0
Added
- Added
Name
field toSprite
. - Added
Range<>
class. - Added HEX conversion for
Color
. - Added
HsvColor
Lerp and basic operators. - Added simplified
GetResource<>()
methods. - Added
OnResize
event toCamera
. - Added
Global
instance toRandomExt
. - Added unit circle methods to
RandomExt
. - Added dampers based on second order motion.
- Added job system.
- Added
started
argument toAlarm
constructor. - Added
Start(time)
andPause(), Resume()
metods toAlarm
. - Added
Counter
. - Added
GetOrCreateLayer
toScene
. - Added
OnFinish
event to coroutines. - Added
Projection
method toVector2
andVector3
. - Added
PerlinNoise
. - Added
SlowRotator
. - Added simple logger.
Changed
Destroy()
event triggers even if an entity is disabled.- Migrated to NET6.
- Updated MonoGame to
3.8.1
. - Updated Nopipeline to
2.2.0
. - Replaced
Newtonsoft.Json
dependency withSystem.Text.Json
. - Removed VS2019 support.
Fixed
- Fixed
Sprite.Clone()
not copying frames properly.
v 2.1.0
Changed
- Removed VS2017 template support and added VS2022 templates.
- Solution created from template no longer requires to manually build Content project.
- Changed
Component
methods from abstract to virtual. - Templates now support .NET5 instead of netcore 3.
Added
- Added support for the
backgroundcolor
property for Tiled maps. - Added
OnCrash
event toSceneMgr
which allows to catch and recover from the exceptions within a scene. - Added
IsFixedUpdateFrame
toSceneMgr
. - Added coroutines.
Fixed:
- Fixed
Scene
not being able to delete its layers properly. - Made
SafeList
thread safe. - Newly created solutions set their default project to GL instead of library, which cannot be run.
v 2.0.0
Added:
- Added
Rotate
method forVector2
. - Added half-pixel offset support for
VertexBatch
. - Added Pre and Post events to layers, scenes and scene manager.
- Added
ZDepth
to all shape classes. - Added platform-specific projects for WindowsDX and DesktopGL.
- Added
StuffResolver
class. - Added
HsvColor
class. - Added automatic content loaders.
- Added sprite json mathematical expressions.
- Added
CurrentPlatform
andCurrentGraphicsBackend
toGameMgr
.
Changed:
- BREAKING CHANGE: Monogame version has been updated to 3.8.
- Pipefoxe now supports netstandard2.0 and is fully crossplatform.
- Renamed Pipefoxe to Monofoxe.Pipeline.
- BREAKING CHANGE:
Input.ScrollWheelValue
now returns signed scroll speed value instead of only its sign. - BREAKING CHANGE: Reworked
Alarm
class and merged it withAutoAlarm
andTimer
. - Changed
IDrawable
interface toDrawable
class. Entity.AddComponent
now returns the component class which was passed into it.- BREAKING CHANGE:
AssetInfo
has been renamed toResourceInfo
- BREAKING CHANGE:
ResourceInfoImporter
now imports.npl
Content file instead of.mgcb
. - Removed dependency on Windows-only
System.Drawing
for Monofoxe.Pipeline. - Changed the crossplatform project structure.
- BREAKING CHANGE:
AlphaBlend.fx
is now baked into the library and doesn't have to be manually put into the Content directory. - Replaced offset_x/y with originX/Y in sprite jsons.
Component.Destroy()
is now called when the component is removed from the entity.
Removed:
- BREAKING CHANGE: Removed
AutoAlarm
andTimer
classes. - BREAKING CHANGE: Removed
MousePosition
fromInput
class. - BREAKING CHANGE: Removed entity templates.
- Removed all templates except Crossplatform, since there is no need in them anymore.
Fixed:
- Fixed instantiated rectangle shape not being drawn properly.
- Fixed entity methods crashing the game after creating new
Entity
. - Fixed crashes when
Scene
's layer methods were called. - Fixed crashes when
SceneMgr
's scene methods were called. - Fixed
Component.Initialized
never being set. - Fixed gamepad press/release not working correctly.
- Fixed gamepad index not being used in input methods.
- Fixed parsing multiplne text properties from Tiled maps.
v2.0.0.0-dev+007
IN THIS BUILD:
- Fixed VertexBatch.Effect being reset every frame.
- Fixed crashing when adding/removing components during component event.
- Fixed Text.Color not being used.
v 2.0.0.0-dev+006
IN THIS BUILD:
- Made
Camera
abstract class and addedCamera2D
class. - Added
ZNearPlane
andZFarPlane
to the camera. - Added projection matrix to the camera.
Camera
'sPosision
andOrigin
areVector3
instead ofVector2
now.- Added an option to set custom projection matrix to the
Surface
. Primitive2D
now uses array of vertices instead of a list.- Fixed circles not being drawn in some cases.
- Fixed project templates.
v2.0.0.0-dev+005
v 2.0.0.0-dev+005:
IN THIS BUILD:
- Added
VertexBatch
class. - Replaced
GraphicsMgr
's internalSpriteBatch
withVertexBatch
- Moved graphics states from
GraphicsMgr
toVertexBatch
. - Moved matrix stack from
GraphicsMgr
toVertexBatch
. - Added per-vertex z depth for sprites, surfaces and frames.
- Fixed
Origin
property not being used inSurface
.
FEATURES:
- Documentation!
- Added
ResourceHub
andResourceBox
instead of old loading systems. - Added
Angle
class for better angle management. - Added .NET Standard library template.
- Nopipeline's NPL config supports adding references with environment variables.
- Monofoxe is now able to launch on Android.
- Added an ability to change entity update order.
- Added an all-in-one multiplatform project template.
- Added various item templates.
- Added
VertexBatch
class. - Added per-vertex z depth for sprites, surfaces and frames.
CHANGES:
- Camera implements
IDisposable
interface now. Alarm
,AutoAlarm
andAnimation
useEventHandler
instead ofAction
now.- Spritegroup cstemplates doesn't require quotes for variable values now.
- Changed Draw methods in
Frame
,Sprite
andSurface
to use their properties by default instead of default struct values. - Moved
animation
argument inSprite.Draw
method afterposition
. - Specifying origin in
Sprite.Draw()
isn't mandatory anymore. Frame
,Sprite
andSurface
'sRotation
field isAngle
instead offloat
now.GameMath
doesn't contain angle-related methods anymore. They are moved toAngle
instead.- All Monofoxe libraries are .NET Standard now.
- Nopipeline is now embedded into Monofoxe.
- All projects reference Monofoxe libraries from common place instead of raw per-project libraries.
- Replaced static methods in
TimeKeeper
with staticGlobal
instance. - Removed drawing methods which work with raw x;y.
- Project templates for VS2019 now have tags.
- Bumped .NET Framework version to 4.7.2 for templates.
- Entity methods which count components/entities have been removed.
- Systems have been removed entirely.
- Components now have their own events.
- Calling
base.%EventName%()
is now required in entities for EC to work. - Replaced GraphicsMgr's internal
SpriteBatch
withVertexBatch
- Moved graphics states from
GraphicsMgr
toVertexBatch
. - Moved matrix stack from
GraphicsMgr
toVertexBatch
.
FIXES:
- Layer depth sorting now works properly.
CameraMgr.Cameras
is a List instead ofIReadOnlyColection
now.KeepAspestRatio
canvas mode now scales canvas correctly.- Fixed memory leak in
Camera
. - Fixed
BasicTilemapSystem
not drawing the very last row and column of tiles. - Nopipeline now works with paths which contain spaces.
- Angle difference formula now works properly.
- Uninstaller now appears in Add\Remove Programs section.
- Fixed various project warnings.
- Fixed
Origin
property not being used inSurface
.
v 2.0.0.0-dev+004
NOTE: This is an in-dev build. Some stuff may not work, some may be broken.
IN THIS BUILD:
- Monofoxe is now able to launch on Android.
- Added an ability to change entity update order.
- Added an all-in-one multiplatform project template.
- Added various item templates.
- Entity methods which count components/entities have been removed.
- Systems have been removed entirely.
- Components now have their own events.
- Calling
base.%EventName%()
is now required in entities for EC to work.
FEATURES:
- Documentation!
- Added
ResourceHub
andResourceBox
instead of old loading systems. - Added
Angle
class for better angle management. - Added .NET Standard library template.
- Nopipeline's NPL config supports adding references with environment variables.
- Monofoxe is now able to launch on Android.
- Added an ability to change entity update order.
- Added an all-in-one multiplatform project template.
- Added various item templates.
CHANGES:
- Camera implements
IDisposable
interface now. Alarm
,AutoAlarm
andAnimation
useEventHandler
instead ofAction
now.- Spritegroup cstemplates doesn't require quotes for variable values now.
- Changed Draw methods in
Frame
,Sprite
andSurface
to use their properties by default instead of default struct values. - Moved
animation
argument inSprite.Draw
method afterposition
. - Specifying origin in
Sprite.Draw()
isn't mandatory anymore. Frame
,Sprite
andSurface
'sRotation
field isAngle
instead offloat
now.GameMath
doesn't contain angle-related methods anymore. They are moved toAngle
instead.- All Monofoxe libraries are .NET Standard now.
- Nopipeline is now embedded into Monofoxe.
- All projects reference Monofoxe libraries from common place instead of raw per-project libraries.
- Replaced static methods in
TimeKeeper
with staticGlobal
instance. - Removed drawing methods which work with raw x;y.
- Project templates for VS2019 now have tags.
- Bumped .NET Framework version to 4.7.2 for templates.
- Entity methods which count components/entities have been removed.
- Systems have been removed entirely.
- Components now have their own events.
- Calling
base.%EventName%()
is now required in entities for EC to work.
FIXES:
- Layer depth sorting now works properly.
CameraMgr.Cameras
is a List instead ofIReadOnlyColection
now.KeepAspestRatio
canvas mode now scales canvas correctly.- Fixed memory leak in
Camera
. - Fixed
BasicTilemapSystem
not drawing the very last row and column of tiles. - Nopipeline now works with paths which contain spaces.
- Angle difference formula now works properly.
- Uninstaller now appears in Add\Remove Programs section.
- Fixed various project warnings.
v 2.0.0.0-dev+003
NOTE: This is an in-dev build. Some stuff may not work, some may be broken.
IN THIS BUILD:
- Bumped .NET Framework version to 4.7.2 for templates.
- Fixed various project warnings.
FEATURES:
- Documentation!
- Added
ResourceHub
andResourceBox
instead of old loading systems. - Added
Angle
class for better angle management. - Added .NET Standard library template.
- Nopipeline's NPL config supports adding references with environment variables.
CHANGES:
- Camera implements
IDisposable
interface now. Alarm
,AutoAlarm
andAnimation
useEventHandler
instead ofAction
now.- Spritegroup cstemplates doesn't require quotes for variable values now.
- Changed Draw methods in
Frame
,Sprite
andSurface
to use their properties by default instead of default struct values. - Moved
animation
argument inSprite.Draw
method afterposition
. - Specifying origin in
Sprite.Draw()
isn't mandatory anymore. Frame
,Sprite
andSurface
'sRotation
field isAngle
instead offloat
now.GameMath
doesn't contain angle-related methods anymore. They are moved toAngle
instead.- All Monofoxe libraries are .NET Standard now.
- Nopipeline is now embedded into Monofoxe.
- All projects reference Monofoxe libraries from common place instead of raw per-project libraries.
- Replaced static methods in
TimeKeeper
with staticGlobal
instance. - Removed drawing methods which work with raw x;y.
- Project templates for VS2019 now have tags.
- Bumped .NET Framework version to 4.7.2 for templates.
FIXES:
- Layer depth sorting now works properly.
CameraMgr.Cameras
is a List instead ofIReadOnlyColection
now.KeepAspestRatio
canvas mode now scales canvas correctly.- Fixed memory leak in
Camera
. - Fixed
BasicTilemapSystem
not drawing the very last row and column of tiles. - Nopipeline now works with paths which contain spaces.
- Angle difference formula now works properly.
- Uninstaller now appears in Add\Remove Programs section.
- Fixed various project warnings.