bloodmasters
bloodmasters copied to clipboard
Arcade, oldschool multiplayer and bloodshed.
See this interesting comment in the `Sector` code: https://github.com/ForNeVeR/bloodmasters/blob/9bec8244865c41cd18899fce577f33f4eafbcd6e/Source/Shared/Map/Sector.cs#L216-L225 Let's figure out if this is beneficial and implement if it is. Look for `// TODO[#114]` in the game code.
Currently, we load the music files synchronously, and there's no actual need in this. Let's do it asynchronously, to not stop the main app thread during the loading. Look for...
Currently, Bloodmasters only supports Windows, but we can already enable alternative operating systems to run tests on them. Our server should be cross-platform as well.
Enable NRT and nullability warnings as errors in all the projects. Review the code.
Currently, we have several folders in `Paths` that should be user-writable: - `DownloadedResourceDir` - `ConfigDirPath` - `LogDirPath` - `ScreenshotsDirPath` Let's move them accordingly. - [ ] `DownloadedResourceDir`: to the persistent...
Currently, we allow auto-downloading of certain content to the `Paths.DownloadsDirPath`, but resource lookup only looks in `Paths.BundlerResourceDirPath`. 1. Figure out what content gets downloaded exactly: only maps or anything else?...
We need to figure out how exactly the maps were created. There's a document on mapping [here](https://github.com/ForNeVeR/bloodmasters/blob/main/Resources/Mapping/mapping_notes.txt), but it may be outdated. Also, since #78, the mappers are also required...
Currently, the configuration is stored in `.cfg` file and is managed by a custom `Configuration` class for read/write/save operations. We should consider reworking this to use a modern file format...
In #27, I had to implement some ad-hoc "architecture", if you will. Before that, certain classes were included in several projects and compiled using conditional compilation (`#if CLIENT`, `#if SERVER`,...
We have an `internal` flag `CodeImp.Bloodmasters.Client.General.logtofile` that's only used in the server code, and a corresponding field `CodeImp.Bloodmasters.Client.General.logfilename`. Let's do something appropriate with it, like inject a dependency with the...