Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New logo, buttons and Readme #45

Merged
merged 16 commits into from
Feb 19, 2024
Binary file added .github/btn-dl.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .github/btn-ds.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .github/btn-pp.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified .github/logo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
148 changes: 81 additions & 67 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,113 +1,127 @@
<h1 align="center">Welcome to tosu 👋</h1>
<img src=".github/logo.png" />
<p>
<img alt="Version" src="https://img.shields.io/badge/version-1.0.0-blue.svg?cacheSeconds=2592000" />
<img src="https://img.shields.io/badge/node-%3E%3D18.14.2-blue.svg" />
<p align="center">
<img alt="Version" src="https://img.shields.io/github/release/KotRikD/tosu.svg?style=for-the-badge" />
<img src="https://img.shields.io/badge/node-%3E%3D18.14.2-blue.svg?style=for-the-badge&logo=node.js&logoColor=white" />
<a href="https://github.com/KotRikD/tosu#readme" target="_blank">
<img alt="Documentation" src="https://img.shields.io/badge/documentation-yes-brightgreen.svg" />
<img alt="Documentation" src="https://img.shields.io/badge/documentation-yes-brightgreen.svg?style=for-the-badge" />
</a>
<a href="https://github.com/KotRikD/tosu/graphs/commit-activity" target="_blank">
<img alt="Maintenance" src="https://img.shields.io/badge/Maintained%3F-yes-green.svg" />
<img alt="Maintenance" src="https://img.shields.io/badge/Maintained%3F-yes-green.svg?style=for-the-badge" />
</a>
<a href="https://github.com/KotRikD/tosu/blob/master/LICENSE" target="_blank">
<img alt="License: GPL--3.0" src="https://img.shields.io/github/license/KotRikD/tosu" />
<img alt="License: GPL--3.0" src="https://img.shields.io/github/license/KotRikD/tosu?style=for-the-badge" />
</a>
<a href="https://twitter.com/kotrik0" target="_blank">
<img alt="Twitter: kotrik0" src="https://img.shields.io/twitter/follow/kotrik0.svg?style=social" />
<img alt="Twitter: kotrik0" src="https://img.shields.io/badge/kotrik0-1DA1F2?style=for-the-badge&logo=twitter&logoColor=white" />
</a>
</p>

> Eponymous software for reading osu! memory, accounting for most of gosumemory's issues

Features Done
---
- [X] LOW CPU USAGE (I actually checked, this thing has a much lower memory recoil than the gosu)
- [X] ALL GAMEMODES SUPPORT
- [X] Menu state (map information, star rating, map metadata)
- [X] Gameplay information (300's, 100's, 50's, live pp calculations, other stuff)
- [X] ResultScreen information (result screen information with grades + gameplay data)
- [x] Tournament state
- [x] In-game overlay (based on gosumemory closed overlay injection)

### 🏠 [Homepage](https://github.com/KotRikD/tosu#readme) | 🙌 [Discord](https://discord.gg/WX7BTs8kwh)

### For end-user
We provide a packaged exe with everything you need to run `tosu`, to do so go to [latest release](https://github.com/KotRikD/tosu/releases/latest) and download required archive.\
You need unpack it to folder, and if you need overlays, download the [Blackshark/static](https://github.com/l3lackShark/static) repo and unpack it to `static` folder. After that you should be ready to go!

`tosu` also provides in-game overlay based on gosumemory one. To enable it, you need to edit `tosu.env`, and turn on `ENABLE_GOSU_OVERLA=true` (make it equal `true`)
<h1 align="center">Welcome to tosu 👋</h1>
<div align="center">
<img src="https://raw.githubusercontent.com/KotRikD/tosu/1a04261851da9226b28320fcc9f05ba3ad0df431/.github/logo.png" />
</div>

### Support
If you need help setting up this program or have any suggestions/comissions, feel free to go to the discord channel above in the `🔵 tosu` section
<br>

# Everything below in README is needed for project development
```text
Eponymous software for reading osu! memory, accounting for most of gosumemory's issues
```

## Prerequisites
<br>

- typescript >=5.3.3
- node >=18.14.2
<div align="center">
<a href="https://github.com/KotRikD/tosu/releases/latest"><img src="https://raw.githubusercontent.com/KotRikD/tosu/432da13e14d93a38916d6867749568d101aa3659/.github/btn-dl.jpg" /></a>
<a href="#"><img src="https://raw.githubusercontent.com/KotRikD/tosu/432da13e14d93a38916d6867749568d101aa3659/.github/btn-pp.jpg" /></a>
<a href="https://discord.gg/WX7BTs8kwh"><img src="https://raw.githubusercontent.com/KotRikD/tosu/432da13e14d93a38916d6867749568d101aa3659/.github/btn-ds.jpg" /></a>
</div>

## Install

#### Install `pnpm` (if you don't have it already)
Instruction
---
1. Download [tosu](https://github.com/KotRikD/tosu/releases/latest)
2. Extract tosu.exe to a `Folder`
3. Inside `Folder` create `static` folder (if it's doesn't already)
4. Download the [PP Counters](https://github.com/l3lackShark/static) unpack it to `static` folder. After that you should be ready to go!
5. OR You can place your `pp counter` to `static` folder directory, or create sub folder `/static/{your_counter_name}`
6. Your counter folder should have this path for index.html `/static/{your_counter_name}/index.html` or `/static/index.html` (if you have only one counter, and want to place it in root folder)
7. Run `tosu.exe`, and it will create `tosu.env`, it's a file for tosu settings, you can tweak it how you want
8. Have fun!

```sh
npm install -g pnpm
```
---

#### Install dependecies
```sh
pnpm install
```
<br>

## Build
Features
---
- [x] All _**Gamemodes**_ are supported
- [x] Gosumemory _**compatible**_ api
- [X] Brand _**new api**_ for websocket
- [x] _**In-game**_ overlay (based on gosumemory closed overlay injection)
- [x] _**Available**_ websocket data:
- Settings _**(limited atm)**_
- Gameplay data
- User ingame data
- Beatmap data
- Session _**(Work in progress)**_
- Multiple graphs for different skill sets _**(aim, speed, etc)**_
- Extended starrating stats _**(per mode)**_
- Leaderboards list _**(array)**_
- Folders paths and Files names
- Direct paths to files
- Result screen _**(achieved rank & date are missing)**_
- Tourney data _**(not tested, yet)**_
- [X] LOW CPU USAGE (I actually checked, this thing has a much lower memory recoil than the gosu)
---

#### Install `pnpm` (if you don't have it already)
<br>

```sh
npm install -g pnpm
```
In-game overlay
---
- To enable it, you need to edit `tosu.env`, and turn on `ENABLE_GOSU_OVERLA=true` (make it equal `true`)
---

#### Install dependecies (optional)
<br>

```sh
pnpm install
```
Routes
---
- `/` - List of all counters you have
- `/json - Example of `/ws` response
- `/json/v2` - Example of `/websocket/v2` response
- `/ws` - [response example](https://github.com/KotRikD/tosu/releases/latest)
- `/websocket/v2` - [response example](https://github.com/KotRikD/tosu/releases/latest)
- `/Songs/{path}` - Show content of the file, or show list of files for a folder
- `/files/beatmap/{path}` - same as `/Songs/{path}`
- `/files/skin/{path}` - similar as `/files/beatmap/{path}`, but for a skin
---

#### Compile TS & App

```sh
pnpm run build
```
<br />

## Usage
Support
---
- Give a ⭐️ if this project helped you!
- If you need help setting up this program or have any suggestions/comissions, feel free to go to the [discord](https://discord.gg/WX7BTs8kwh) channel above in the `🔵 tosu` section
---

```sh
pnpm run start
```
<br />

## Author

👤 **Mikhail Babynichev**

* Website: http://kotrik.ru
* Twitter: [@kotrik0](https://twitter.com/kotrik0)
* Github: [@KotRikD](https://github.com/KotRikD)

Special thanks to [@xxCherry](https://github.com/xxCherry), for providing memory reading library

<br />

## 🤝 Contributing

Contributions, issues and feature requests are welcome!<br />Feel free to check [issues page](https://github.com/KotRikD/tosu/issues). You can also take a look at the [contributing guide](https://github.com/KotRikD/tosu/blob/master/CONTRIBUTING.md).

## Show your support

Give a ⭐️ if this project helped you!
<br />

## 📝 License

Copyright © 2023 [Mikhail Babynichev](https://github.com/KotRikD).<br />
This project is [GPL--3.0](https://github.com/KotRikD/tosu/blob/master/LICENSE) licensed.

***
_This README was generated with ❤️ by [readme-md-generator](https://github.com/kefranabg/readme-md-generator)_
44 changes: 44 additions & 0 deletions development.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@


## Requirements

- `Typescript` >=5.3.3
- `Node.js` >=18.14.2
- `Rust` >= idk?
cyperdark marked this conversation as resolved.
Show resolved Hide resolved
- `pnpm` >= any
cyperdark marked this conversation as resolved.
Show resolved Hide resolved

<br />

1. Clone repository

```
git clone https://github.com/KotRikD/tosu.git
```

2. Go to project folder
```
cd tosu
```

3. Install pnpm
```
npm install -g pnpm
```

4. Install dependencies
```
pnpm install
```

5. To run tosu in dev mode
```
pnpm run start
```


6. Compile tosu
```
pnpm install && pnpm build
```

7. Go to `/tosu/packages/tosu/dist`, and there is your's tosu build
Loading