Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jakubtomsu/odin-steamworks
Odin bindings Steamworks API. Steamworks is a free suite of tools available to any developer to use in their game or software on Steam.
https://github.com/jakubtomsu/odin-steamworks
game-development gamedev odin-lang odin-lib steam steam-api
Last synced: 18 days ago
JSON representation
Odin bindings Steamworks API. Steamworks is a free suite of tools available to any developer to use in their game or software on Steam.
- Host: GitHub
- URL: https://github.com/jakubtomsu/odin-steamworks
- Owner: jakubtomsu
- License: mit
- Created: 2022-10-12T17:09:29.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-10-24T07:30:56.000Z (about 2 months ago)
- Last Synced: 2024-10-25T03:31:40.824Z (about 2 months ago)
- Topics: game-development, gamedev, odin-lang, odin-lib, steam, steam-api
- Language: Odin
- Homepage:
- Size: 2.03 MB
- Stars: 61
- Watchers: 5
- Forks: 6
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-odin - Steamworks - steamworks/blob/main/LICENSE) | Gamedev (Bindings / Vendor)
- awesome-odin - Steamworks - steamworks/blob/main/LICENSE) | Gamedev (Bindings / Vendor)
README
# Odin Steamworks
Odin bindings for Valve's [Steamworks API](https://partner.steamgames.com/doc/sdk). Includes a binding generator.> The Steamworks API allows your game to take full advantage of Steam by accessing all of the underlying systems provided through the API. This includes things such as pausing your game when the user opens the Steam Overlay, inviting friends to play, allowing players to unlock Steam Achievements, letting players compete on the Steam Leaderboards and much more.
the Steamworks API also includes the [Steam GameNetworkingSockets](https://github.com/ValveSoftware/GameNetworkingSockets)
Current Steamworks SDK version: `1.60`
Latest tested Odin version: `dev-2024-09:c6b551d2c`
## How to Use
1. Copy the [steamworks](steamworks/) folder into your project
2. Put `steam_api64.dll` next to your exe
3. Create a `steam_appid.txt` with your steam app ID. Use `480` for testing purposesTake a look at the [example](example/example.odin) to see the API usage.
## Example
- put `steam_api64.dll` to the example folder (Windows)
- `cd example`
- `odin run .`## About the generator
The generator was used initially to make the bindings, and those are manually updated based on the changelog. So the generator is no longer needed, but it's here just for reference.It uses the `steamworks_api.json` to generate a single source file. Build the generator with `odin build` commands.
Note: The naming is slightly different than in the C/C++ API. For instance, things aren't prefixed with `Steam`, `m_`, `k_`, etc. Also `_t` suffixes for structs aren't used.
## Contributing
Contributions are welcome! Preferrably submit a pull request here on Github.