Skip to content

Commit

Permalink
Merge branch 'develop'
Browse files Browse the repository at this point in the history
  • Loading branch information
Martenfur committed Aug 26, 2020
2 parents 01203bb + 5faeeab commit 9dd679c
Show file tree
Hide file tree
Showing 285 changed files with 5,742 additions and 9,114 deletions.
3 changes: 0 additions & 3 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -1,3 +0,0 @@
[submodule "NoPipeline"]
path = NoPipeline
url = https://github.com/gnFur/NoPipeline.git
187 changes: 130 additions & 57 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,93 +1,164 @@
# v 2.0.0.0-dev:
# [Changelog](http://keepachangelog.com/en/1.0.0/):

## [Unreleased]

## [v2.0.0] - *27.08.2020*

### Added:

- Added `Rotate` method for `Vector2`.
- 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` and `CurrentGraphicsBackend` to `GameMgr`.

### 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 with `AutoAlarm` and `Timer`.
- Changed `IDrawable` interface to `Drawable` class.
- `Entity.AddComponent` now returns the component class which was passed into it.
- **BREAKING CHANGE:** `AssetInfo` has been renamed to `ResourceInfo`
- **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` and `Timer` classes.
- **BREAKING CHANGE:** Removed `MousePosition` from `Input` 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] - *07.02.2020*

## Fixed:

- Fixed `VertexBatch.Effect` being reset every frame.
- Fixed crashing when adding/removing components during component event.
- Fixed `Text.Color` not being used.

### IN THIS BUILD:
<hr/>

## [v2.0.0.0-dev+006] - *07.01.2020*

## Added:

- Added `ZNearPlane` and `ZFarPlane` to the `Camera`.
- Added projection matrix to the camera.
- Added an option to set custom projection matrix to the Surface.

### Changed:

- Made `Camera` abstract class and added `Camera2D` class.
- `Camera`'s `Position` and `Origin` are `Vector3` instead of `Vector2` now.
- `Primitive2D` now uses array of vertices instead of a list.

## Fixed:

- Fixed circles not being drawn in some cases.
- Fixed project templates.

<hr/>

## [v2.0.0.0-dev+005] - 12.12.2019

## Added:

- Added `VertexBatch` class.
- Added per-vertex z depth for sprites, surfaces and frames.

## Changed:
- Replaced `GraphicsMgr`'s internal `SpriteBatch` with `VertexBatch`
- Moved graphics states from `GraphicsMgr` to `VertexBatch`.
- Moved matrix stack from `GraphicsMgr` to `VertexBatch`.

## Fixed:
- Fixed `Origin` property not being used in `Surface`.

<hr/>

## [v2.0.0.0-dev+004] - *01.12.2019*

### FEATURES:
## Added:

- Documentation!
- Added `ResourceHub` and `ResourceBox` 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.
- Added `ZNearPlane` and `ZFarPlane` to the camera.
- Added projection matrix to the camera.
- Added an option to set custom projection matrix to the `Surface`.

### CHANGES:

- Camera implements `IDisposable` interface now.
- `Alarm`, `AutoAlarm` and `Animation` use `EventHandler` instead of `Action` now.
- Spritegroup cstemplates doesn't require quotes for variable values now.
- Changed Draw methods in `Frame`, `Sprite` and `Surface` to use their properties by default instead of default struct values.
- Moved `animation` argument in `Sprite.Draw` method after `position`.
- Specifying origin in `Sprite.Draw()` isn't mandatory anymore.
- `Frame`, `Sprite` and `Surface`'s `Rotation` field is `Angle` instead of `float` now.
- `GameMath` doesn't contain angle-related methods anymore. They are moved to `Angle` 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 static `Global` 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.

## Changed:
- Components now have their own events.
- Calling `base.%EventName%()` is now required in entities for EC to work.
- Replaced GraphicsMgr's internal `SpriteBatch` with `VertexBatch`
- Moved graphics states from `GraphicsMgr` to `VertexBatch`.
- Moved matrix stack from `GraphicsMgr` to `VertexBatch`.
- Made `Camera` abstract class and added `Camera2D` class.
- `Camera`'s `Posision` and `Origin` are `Vector3` instead of `Vector2` now.
- `Primitive2D` now uses array of vertices instead of a list.

### FIXES:
## Removed:

- Entity methods which count components/entities.
- Systems have been removed entirely.

<hr/>

## [v2.0.0.0-dev+003] - *25.10.2019*

### Changed:

- Bumped .NET Framework version to 4.7.2 for templates.

### Fixed:

- Layer depth sorting now works properly.
- `CameraMgr.Cameras` is a List instead of `IReadOnlyColection` 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 in `Surface`.
- Fixed Text.Color not being used.

<hr/>
# v 1.0.1.1

### FIXES:
## [v1.0.1.1] - *30.06.2019*

### Fixed:

- Fixed `MapBuilder` crashing when some tilesets are ignored.

<hr/>
# v1.0.1.0

### FEATURES:
## [v1.0.1.0] - *29.06.2019*

### Added:

- Added Animation class.
- Added Easing class.
- Added DirectionToVector2 methods to GameMath.
- Added a set of demos. See Monofoxe.Playground project.
- Added Windows DirectX templates.

### CHANGES:
### Changed:

- Moved Cameras from Monofoxe.Engine.Utils to Monofoxe.Engine namespace.
- Moved NumberExtensions and Vector2Extensions to Monofoxe.Engine namespace.
- Camera.Rotation is now float instead of int.
- Added GraphicsMgr.CurrentWorld.
- Renamed GraphicsMgr.CurrentTransformMatrix to GraphicsMgr.CurrentView.

### FIXES:
### Fixed:

- `AlphaBlend.fx` now works for DirectX.
- Content.mgcb now correctly builds for cross-platform projects.
Expand All @@ -104,7 +175,9 @@
- Fixed `ToggleFullScreen` not working properly with Canvas.

<hr/>
# v1.0.0.0

## [v1.0.0.0] - *26.06.2019*

### Added
- **It's alive!!!**

6 changes: 0 additions & 6 deletions Common/Monofoxe.props

This file was deleted.

4 changes: 4 additions & 0 deletions Directory.Build.props
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
<Project>
<Import Project="Packages.props" />
<Import Project="Nuget.props" />
</Project>
7 changes: 2 additions & 5 deletions Docs/Contents.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,10 @@



- [Introduction](Introduction.md) i
- [Introduction](Introduction.md)

- [Setting things up](SettingThingsUp.md)

- [Creating new project](CreatingNewProject.md)

- [Monofoxe basics](MonofoxeBasics.md)

- [Input](Input.md)
Expand All @@ -22,7 +20,6 @@
- [Entities](Entities/Entities.md)
- [Introduction to EC](Entities/IntroductionToEC.md)
- [Components](Entities/Components.md)
- [Entity templates](Entities/EntityTemplates.md)

- Scene system
- [Layers](SceneSystem/Layers.md)
Expand All @@ -40,7 +37,7 @@
- [Sprite groups](Graphics/SpriteGroups.md) x

- Resources
- [NoPipeline](Resources/NoPipeline.md)
- [Nopipeline](Resources/Nopipeline.md)
- [Adding resources](Resources/AddingResources)
- [Resource Hub](Resources/ResourceHub.md)
- [Resource Box](Resources/ResourceBox.md)
Expand Down
45 changes: 0 additions & 45 deletions Docs/CreatingNewProject.md

This file was deleted.

Binary file removed Docs/CrossplatformProject.png
Binary file not shown.
2 changes: 1 addition & 1 deletion Docs/Entities/Components.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ component.Owner.GetComponent<CTest>();



## [<< Introduction to EC](IntroductionToEC.md) | [Entity templates >>](EntityTemplates.md)
## [<< Introduction to EC](IntroductionToEC.md) | [Layers >>](Layers.md)

[<<< Contents](../Contents.md)

40 changes: 0 additions & 40 deletions Docs/Entities/EntityTemplates.md

This file was deleted.

2 changes: 1 addition & 1 deletion Docs/FMODAudio.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ But I have an alternative - FMOD.

I wrote a C# FMOD wrapper, which works on Windows, Linux and Android - you can check it out here:

## [ChaiFoxes.FMODAudio](https://github.com/gnFur/ChaiFoxes.FMODAudio/)
## [ChaiFoxes.FMODAudio](https://github.com/Martenfur/ChaiFoxes.FMODAudio/)



Expand Down
Loading

0 comments on commit 9dd679c

Please sign in to comment.