Skip to content

Commit

Permalink
chore(docs): update README
Browse files Browse the repository at this point in the history
  • Loading branch information
silbinarywolf committed Sep 27, 2019
1 parent 3023c9d commit 5e8f18e
Showing 1 changed file with 6 additions and 6 deletions.
12 changes: 6 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,15 @@
[![Documentation](https://godoc.org/github.com/silbinarywolf/steamworks?status.svg)](https://godoc.org/github.com/silbinarywolf/steamworks)
[![Report Card](https://goreportcard.com/badge/github.com/silbinarywolf/steamworks)](https://goreportcard.com/report/github.com/silbinarywolf/steamworks)

This is a Go implementation of the Steamworks API that aims to load the dynamic Steam API libraries without the use of CGo.
Go implementation of the Steamworks API that aims to load the Steam API dynamic-link libraries without the use of CGo.

This library was built so that I could utilize the synchronous functions such as `SetAchievement`, `ClearAchievement` and `GetAchievement`. You will will not be able to utilize methods that rely on callbacks as Go functions cannot be called from C-code without CGo.
This package was built so that I could utilize the synchronous functions such as `SetAchievement`, `ClearAchievement` and `GetAchievement`. You will will not be able to utilize methods that rely on callbacks as Go functions cannot be called from C-code without CGo.

If you're looking for a library with more API calls supported, consider looking at [BenLubar's Steamworks implementation](https://github.com/BenLubar/steamworks).
If you're looking for a package with more API calls supported such as callbacks, consider looking at [BenLubar's Steamworks implementation](https://github.com/BenLubar/steamworks).

## Install

1) Install the library
1) Install the package
```
go get github.com/silbinarywolf/steamworks
```
Expand Down Expand Up @@ -46,8 +46,8 @@ go build -o "D:\SteamLibrary\steamapps\common\\{YOUR_GAME}\game.exe" && /D/Steam
## Potential Problems

* Achievements only appear or trigger once the user quits the game. Not sure if this is normal behaviour or a quirk of initializing the Steam API without CGo.
* Clearing achievements will take effect immediately and not requiring quitting the game. If view your game on your Steam page, the achievement will become locked again immediately after you call `ClearAchievement`.
* `RestartAppIfNecessary` will return `1163264` in error cases rather than 0 or 1. Currently I'm unsure if this means I'm doing something wrong or if this value is expected.
* Clearing achievements will take effect immediately and not require quitting the game, ie. if you view your game on your Steam page, the achievement will become locked again immediately after you call `ClearAchievement`.
* `RestartAppIfNecessary` will call the DLL function `SteamAPI_RestartAppIfNecessary`, which will return `1163264` in error cases rather than 0 or 1. Currently I'm unsure if this means I'm doing something wrong or if this value is expected. In anycase, this logic might need to be changed or adjusted in the future so that we only return true if `ret == 1`.
* Currently tests are failing on Travis due to a "Class not registered" error that I cannot reproduce on my local machine. My research seems to suggest that it means a DLL it expects isn't [registered](https://web.archive.org/save/https://errorcodespro.com/heres-how-to-fix-the-class-not-registered-error/#What_Is_The_Meaning_Of_The_Class_Not_Registered_Error) however this specific DLL is not *meant* to be registered, so my hunch is that this error might be a symptom of Steam not being installed.


Expand Down

0 comments on commit 5e8f18e

Please sign in to comment.