• Stars
    star
    244
  • Rank 165,130 (Top 4 %)
  • Language
    C#
  • License
    Mozilla Public Li...
  • Created about 10 years ago
  • Updated almost 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

❄️ 🎮 Emulator Frontend and SDK

Snowflake

Build Status

Windows Linux codecov codefactor lgtm license
Windows Build status Linux Codecov CodeFactor Total alerts License

Latest Version

MyGetFeed NuGet version

Snowflake is a framework for building flexible and beautiful emulator frontends. With features such as advanced configuration generation and an intelligent scraping system, Snowflake provides a powerful set of tools to manage, play, and organize your games when designing your dream frontend using the language of your choice.

Features

Snowflake features innovative solutions to many problems with current emulator frontends.

  • Full cross-patform support through .NET Core.
  • Dynamic and flexible tree-based game scraping.
  • Programmatic per-game emulator configuration generation and input management.
  • Multi-disc and multi-file capable relational games database.

At its core, Snowflake is designed to be moddable and easy to develop for, with a comprehensive C# API for extensibility and GraphQL interface for frontend UIs.

  • Language-agnostic GraphQL interface for communicating with the Snowflake framework.
  • Plugin API to extend the framework with C# plugins.
  • Module-based runtime extensibility.
  • Stone platform, controller, and canonical ROM file mimetype compliant.
  • Dedicated CLI to help you get started quickly and easily.

Star this repository and bookmark our website at http://snowflakepowe.red to keep up with Snowflake's development. We'll have something new in store for you soon!

Getting Started

Snowflake does not currently have a well defined install process for end-users, but it is easy to set up a development environment. You will need the .NET 6 SDK to get started.

$ git clone --recursive https://github.com/SnowflakePowered/snowflake/
$ cd snowflake
$ dotnet run --project build -- Bootstrap
$ cd out
$ dotnet snowflake install-all

This command will build and install all support modules required for Snowflake to be functional to your application data directory (%appdata%\snowflake\modules or ~/.snowflake/snowflake/modules on Linux). Note that you may have to delete the installed module assembly.Snowflake.Framework.Test.InvalidComposable, which is designed deliberately to error on load, however this is not necessary.

As well, input management APIs are currently only available on Windows. Attempting to use these APIs on Linux will fail to enumerate any device.

Legal

Snowflake is licensed under the Mozilla Public License 2.0 (MPL2). Since May 1, 2016, this license is retroactively applied to all prior copies of Snowflake's source code which may have been licensed under different terms.

Snowflake does not in any way facilitate the download of illegal ROM images or warez of any kind.

More Repositories

1

librashader

RetroArch Shaders for All
Rust
77
star
2

opengood

Freely available DATs of known ROMs in the GoodTools suite.
Rust
37
star
3

chd-rs

Pure Rust implementation of the Compressed Hunks of Data format, drop-in for libchdr.
Rust
35
star
4

vcdiff

Heavily optimized .NET Core vcdiff library
C#
29
star
5

winfsp-rs

Rust bindings to WinFSP
Rust
27
star
6

sabinokaku

Minimal .NET Runtime Injection Framework in Rust
Rust
9
star
7

stone

Standardized references to gaming platforms and controllers
JavaScript
7
star
8

shiragame

A Stone-backed comprehensive games database
HTML
6
star
9

shiratsu

Second generation aggregator for shiragame
Rust
5
star
10

snowflake-ingame

Snowflake In-Game API Runtime
Rust
4
star
11

ImGuiBackends

Fast ports of ImGui standard backends using ImGui.NET and Silk.NET with docking support.
C#
3
star
12

emulator-DolphinBridge

❄️🐬 Dolphin 5.0 RC Snowflake Bridge
C#
3
star
13

glslang-rs

Rust bindings to glslang
Rust
3
star
14

theme-paper-snowflake

Snowflake's Material Design theme
HTML
2
star
15

Scraper-TheGamesDB

A Snowflake API Scraper that sources from TheGamesDB.net
C#
2
star
16

michi

A simple framework for implementing transport-agnostic IPC.
C#
2
star
17

tsuku

Cross-platform extended attribute library
C#
2
star
18

zengyaku

GoodTools Reverse Engineering Tools
Rust
2
star
19

fure-kun

Snowflake's IRC Hubot.
CoffeeScript
1
star
20

snowflakepowered.github.io

snowflakepowe.red
CSS
1
star
21

snowflake-doc

HTML
1
star
22

awagame

合わゲーム — Merge together a bunch of Logiqx XML Rom Management Datafile into a single SQLite database or huge JSON file.
C#
1
star
23

snowflake.js

Snowflake StandardAjax Javascript bindings for Javascript
CoffeeScript
1
star
24

antikythera

Rust
1
star
25

snowflake-py

deprecated
Python
1
star
26

open-clover

An Open Source Port of the SNES Classic Edition Front End Written With LÖVE
Lua
1
star
27

snowflake-js-electron

Electron specific bindings for Snowflake.StandardAjax. shell-win32-electron-debug is not up yet.
CoffeeScript
1
star
28

Identifier-awagame

Identifies games using a compiled awagame database
C#
1
star
29

Identifier-CMPDats

Identifies ROMs using ClrMamePro .dat files from No-Intro and TOSEC
C#
1
star
30

snowflake-electron-dist-win64

Electron Distrubution for Snowflake
HTML
1
star
31

spirv-to-dxil-rs

Rust bindings for spirv-to-dxil
Rust
1
star
32

bunkai

Parser for No-Intro, TOSEC, and GoodTools
C#
1
star