Home

Awesome

Texim awesomeness

<!-- markdownlint-disable MD033 --> <p align="center"> <a href="https://github.com/SceneGate/Texim/workflows/Build and release"> <img alt="Build and release" src="https://github.com/SceneGate/Texim/workflows/Build and release/badge.svg?branch=main" /> </a> &nbsp; <a href="https://choosealicense.com/licenses/mit/"> <img alt="MIT License" src="https://img.shields.io/badge/license-MIT-blue.svg?style=flat" /> </a> &nbsp; </p>

Extensible API for image-related formats. It aims to provide an API to easily implement different image, palette, sprites and animation formats. Including typical image processing algorithms for importers or hardware swizzlers of different platforms.

[!NOTE]
This is a proof-of-concept project for fast prototyping. In the future it will be Yarhl.Media.Images. There aren't stable releases, only preview. The API may suffer major refactors between minor versions.

Features

Documentation

Feel free to ask any question in the project Discussion site!

Check our on-line documentation.

Usage

The project has the following .NET libraries (NuGet packages via nuget.org). The libraries only support .NET LTS versions: .NET 6.0 and .NET 8.0.

The libraries are available from the Azure DevOps public feeds. To use them create a file nuget.config in the same directory of your solution file (.sln) with the following content:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <packageSources>
    <clear/>
    <add key="nuget.org" value="https://api.nuget.org/v3/index.json" />
    <add key="SceneGate-Preview" value="https://pkgs.dev.azure.com/SceneGate/SceneGate/_packaging/SceneGate-Preview/nuget/v3/index.json" />
  </packageSources>
  <packageSourceMapping>
    <packageSource key="nuget.org">
      <package pattern="*" />
    </packageSource>
    <packageSource key="SceneGate-Preview">
      <package pattern="Texim*" />
    </packageSource>
  </packageSourceMapping>
</configuration>

Then restore / install as usual via Visual Studio, Rider or command-line. You may need to restart Visual Studio for the changes to apply.

Contributing

The repository requires to build .NET 8.0 SDK.

To build, test and generate artifacts run:

# Build and run tests
dotnet run --project build/orchestrator

# (Optional) Create bundles (nuget, zips, docs)
dotnet run --project build/orchestrator -- --target=Bundle

Additionally you can use Visual Studio or JetBrains Rider as any other .NET project.

To contribute follow the contributing guidelines.

How to release

Create a new GitHub release with a tag name v{Version} (e.g. v2.4) and that's it! This triggers a pipeline that builds and deploy the project.

License

The software is licensed under the terms of the MIT license.