Skip to content

Commit

Permalink
Add README
Browse files Browse the repository at this point in the history
  • Loading branch information
RubberDuckShobe committed Feb 27, 2024
1 parent 3251814 commit 1ef54e7
Show file tree
Hide file tree
Showing 2 changed files with 31 additions and 0 deletions.
27 changes: 27 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
> [!IMPORTANT]
> If you are an end-user, please use [the installer](https://wavebreaker.arcadian.garden/installguide) to set this up, unless you have a good reason not to.
# Wavebreaker Client
This enables Audiosurf to connect to [the public testing instance of Wavebreaker](https://wavebreaker.arcadian.garden/).
It *should* be able to connect to the official server as well, but that is *not* its primary intended use and keeping compatibility with the original server is not explicitly a goal of this project.

## Features
- Forces HTTPS for every request.
- If present, the [MusicBrainz ID](https://musicbrainz.org/doc/MusicBrainz_Identifier) of the [recording](https://musicbrainz.org/doc/Recording) is sent to the server, if it's present in a song file's metadata.
- Can optionally force HTTP (without the S) to aid in custom server development.

## Manual install
Copy the client's DLL file to the game's ``channels`` folder, which is inside the ``engine`` folder.
Then, create your own ``Wavebreaker.toml`` file inside the ``engine`` folder itself (see below).

## Config file
The config file is named ``Wavebreaker.toml`` and can be found in the ``engine`` folder of the game's files.

### Example
This is an example config that contains the recommended values.

```toml
[main]
server = "wavebreaker.arcadian.garden" # Server to connect to
force_insecure = false # Forces HTTP when set to true. DON'T DO THIS! (Unless you need it for server development)
```
4 changes: 4 additions & 0 deletions src/hooking.rs
Original file line number Diff line number Diff line change
Expand Up @@ -200,6 +200,10 @@ unsafe fn openrequest_hook(
}
debug!("new OpenRequest flags: {:?}", flags);

// reset current_mbid when a new song is loaded
// a bit hacky, but we have to do this so we don't submit an old ID when someone starts playing a Radio song
// Radio mode songs are loaded via memory so trying to see what file it loads the song from won't work
// We could just look at the song it loaded into memory, but the MBID doesn't matter for Radio songs anyway
if object_name.to_string().unwrap() == "/as_steamlogin/game_fetchsongid_unicode.php" {
let mut global_data = state::GLOBAL_DATA.lock().unwrap();
global_data.current_mbid = None;
Expand Down

0 comments on commit 1ef54e7

Please sign in to comment.