syntax-tm / SteamAchievementManager

Steam Achievement Manager
zlib License
140 stars 4 forks source link
achievements dotnet dotnet-core games gaming mvvm stats steam steam-api steamworks wpf wpf-ui

GitHub Repo stars Build Badge GitHub issues GitHub release GitHub pre-release

SAM Logo

Overview

The Steam Achievement Manager lets you manage achievements, stats, and more for any currently supported Steam app.

SAM Screenshot

This project is an actively updated fork of the Steam Achievement Manager.

Project Structure

SAM is comprised of five projects.

SAM and SAM.Console (WIP) are the two application projects that create an executable. SAM is the executable that will display your Steam library and let you select an app (game) to manage. When managing a game, the app ID is passed as an argument to SAM.exe and it initializes the Steam API client with that AppID the same way that normal games would. Steam will show you as in-game, record your play time, and you can earn trading cards (assuming of course you have drops left).

Both SAM.API and SAM.Core are libraries (*.dll). As its name suggests, SAM.API contains the native Steam API wrappers. SAM.Core is referenced by both executable projects (more on these later) and allows them to both use the same types, resources, etc. without having to duplicate code.

```mermaid %%{init: {"flowchart": {"htmlLabels": false, "width": "100%"}} }%% flowchart TB subgraph Applicaitons S["SAM"]:::app SM["SAM.Console"]:::app end subgraph Unit Tests SU["SAM.UnitTests"]:::unitTests end SC{{"SAM.Core"}}:::library SA{{"SAM.API"}}:::library S --> SC SM --> SC SC --> SA SU --> SC SU --> SA classDef app fill:#247FD4,stroke:#bbb,stroke-width:1px,color:#fff classDef library fill:#D63E48,stroke:#bbb,stroke-width:1px,color:#fff classDef unitTests fill:#9478F0,stroke:#bbb,stroke-width:1px,color:#fff ```
Legacy Project New Project Description
SAM.Picker SAM The main executable used to select a game (or app) from your library
- SAM.Console Command line interface for SAM for use with console, automation, etc. This is still in development and will be released in a future version.
SAM.Game SAM Allows for viewing and editing an app's achievements and stats
SAM.API SAM.API Managed Steam API wrappers
- SAM.Core Common resources used by both SAM and SAM.Console.

Sponsors

JetBrains

A special thank you to JetBrains for their continued Support of Open-Source Projects like SAM.

[!NOTE] Active SAM contributors are eligible to receieve complimentary licenses [^1] for all JetBrains products. For questions regarding eligability please refer to the Open Source FAQ.

Acknowledgements

DevExpressSteamCountriesWPF UI


[^1]: For non-commercial development