-
-
Notifications
You must be signed in to change notification settings - Fork 15
Home
Ronny Chan edited this page Jul 14, 2016
·
13 revisions
Build Status
Latest Version
C# API Features
- Implement Dapper in database access
- Reflection-based Emulator Configuration API
- Plugin-based Controller Enumeration
- Implement PluginConfiguration with a SimpleKeyValueStore
- Smarter AJAX/IPC framework?
- Add-in plugins as submodules
- Remove MediaStore
Every single one of these to-do-items except for adding in submodules will probably break existing API. Once they have been completed, the API will be promoted to 1.0.0-alpha and locked in for good.
Backend and Emulator Features
- Squirrel updating for core assemblies and emulators
- Implement more emulators (API v1.0.0)
- Improved MAME and DOSBOX support
- OpenVGDB scrapers
- LaunchBox Metadata.xml support (do we want to read this into an awagame-like database)
- awagame database support (build a new one with game-only TOSECs, Redump, and No-Intro dats)
- ZIP file support when launching and running games
Frontend Features
- Rewrite JSON API to use ES7 async/await with Babel instead of CoffeeScript.
- Expose package manager to JavaScript.
- Design a framework-less bootstrap that can be used to handle package management and theme bootstrapping from electron (Needs to inject base snowflake JavaScript)
- Rewrite the frontend to use Polymer 1.0, [@PolymerElements/iron-list#168](https://github.com/PolymerElements/iron-list/pull/168 seems promising.) (Should improve performance a lot!)
- Redesign the frontend to be more user-friendly.
After Squirrel updating has been implemented and the HTML frontend is usable, we will be able to approach Alpha.
Documentation and Testing
- Redesign logo and typemark to be cleaner
- Write tests and attempt to get coverage back to 60-70% covered
- Write comprehensive documents on how to get started writing themes for Snowflake
- Write comprehensive API documentation on how Snowflake's internals function
Future Plans
- Cloud saves backup.
- Screenshots sharing and social features.
- Cross-frontend cloud features
- Linux support (Currently builds on Mono, but System.Data.Sqlite is not being co-operative when testing)
- CoreCLR support (May require rewrite fork with integrated plugins, depends if MEF gets ported to .NET CORE)
- C++/CLR access to libRetro (Might be worth rewriting, too large of a job here, see @team-phoenix/Phoenix