Skip to content

HelloYeew/sakura

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

762 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Icon

Sakura Framework

NuGet

A graphic framework and set of toolkits for making basic UI application and 2D game (right now) target to support as many platforms as possible. Backed by .NET.

Use this framework

Use our template to quickly create a new project

dotnet new install Sakura.Framework.Templates
dotnet new sakura -n MyAwesomeGame

See sample app repository for example.

Documentation

Some incomplete documentation is in wiki, or the API reference you can check the API reference site.

Requirements

Issue of BASS when using Windows ARM64

On Windows ARM64, the BASS audio library (bass.dll) requires the Visual C++ Redistributable for ARM64. Without it you will see:

Unable to load DLL 'bass' or one of its dependencies: The specified module could not be found. (0x8007007E)

So we fix these problem by pack vcruntime140.dll in our native library package. But if the problem still occured please install the VC++ Redistributable for ARM64 https://aka.ms/vs/17/release/vc_redist.arm64.exe

On release, running as x64 (via Windows ARM64's x64 emulation layer) avoids this issue entirely since the x64 bass.dll does not depend on the VC++ Redistributable. Most shipped games/apps targeting Windows ARM64 use this approach.

Quick start

git clone https://github.com/HelloYeew/sakura
cd sakura
dotnet restore

# Run visual test
cd Sakura.Framework.Tests
dotnet run

Building native libraries manually

If you need to rebuild a native library :

FFmpeg:

# macOS
bash Sakura.Framework.NativeLibraries/script/ffmpeg/build-macos.sh

# Android (requires ANDROID_NDK_ROOT set)
bash Sakura.Framework.NativeLibraries/script/ffmpeg/build-android.sh

# iOS (requires gas-preprocessor)
bash Sakura.Framework.NativeLibraries/script/ffmpeg/build-iOS.sh

Contributing

Contributing via pull requests, suggestions, or bug reports via issues is welcome.

Source Generator

Some part of this framework generated by source generator to reduce boilerplate code.

See wiki for more detail.

For reference on the generated code, see the generated source repository.

License

This project is licensed under the MIT license. Please see the license file for more information. tl;dr you can do whatever you want as long as you include the original copyright and license notice in any copy of the software/source.

The fonts used as the default font in this framework are licensed under SIL Open Font License 1.1.

About

A reusable graphic framework and toolkit for making application UI and 2D game

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors