-
In GoRogue 3, the following code can lead to rooms where there are openings that are not recorded in doors:
```CSharp
// Generate a map
var generator = new Generator(100, 100);
generator
.A…
-
What I did:
* Create a new Rectangle(1,1,40,40), and then called `BisectRecursive`.
What I expected to happen:
* I receive an IEnumerable which fits perfectly within the 39x39 rectangle I instant…
-
Per initial PR review of the #1 :
# Component System
When I look at the code, a few things stand out to me as undesirable in the current "universal component" system and the corresponding forwarde…
-
# Background
Currently, the map rendering code marks all surfaces that are rendering it as dirty each time a terrain cell has its appearance changed. This is functional, but inefficient; it's only n…
-
Currently, we have several different conventions being used for how to handle mutable objects and equality operators.
Some objects, like `Region`, have been set up to have the fields used in compar…
-
Currently, adding multiple routines to the GoRogue debugger breaks as it calls `Sort` on the list of `IRoutine` objects in `GetRoutines`. However, `IRoutine` does not implement comparisons, so this b…
-
Region contains a private function `RotatePoint` which is a prime candidate to move to `Point` in the primitives library. This may also have implications for how `Region.Rotate` works; some performan…
-
Currently, the functions calculate delta-x/delta-y for `_position` themselves and have a _invertY flag. However, this is replicating functionality that already exists in direction: for example, we co…
-
@fcheadle has mentioned he has some additions to `MathHelpers` that would be useful.
In tandem with this, there is a `MathHelpers` library in GoRogue, as well as one in the primitives library; some…
-
If the map being displayed for a routine is smaller than the console being used to display it, part of the old map is displayed on screen at the same time as the new map, causing the appearance that i…