-
Notifications
You must be signed in to change notification settings - Fork 9
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #21 from Arubinu/master
Move to version 4 with support for in-game themes
- Loading branch information
Showing
340 changed files
with
70,110 additions
and
969 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,7 +1,7 @@ | ||
.DS_Store | ||
Thumbs.db | ||
|
||
.vs/ | ||
Release/ | ||
x64/ | ||
RocketStatsNusa/* | ||
!RocketStatsNusa/*.cpp | ||
!RocketStatsNusa/*.h | ||
!RocketStatsNusa/*.hpp | ||
Resource.aps |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,95 +1,48 @@ | ||
# RocketStats | ||
|
||
RocketStats is a Plugin working with bakkesmod, allowing you to display session information (MMR / Win and losses, streak) in game and/or in OBS. | ||
__RocketStats__ is a Plugin working with __BakkesMod__, allowing you to display session information (MMR, win, loss, streak, eg.) __in game__ and/or __in OBS__. | ||
|
||
## Installation | ||
![](screenshot.png) | ||
|
||
### Prerequisites | ||
First, you'll need to install [Bakkesmod](https://www.bakkesmod.com/) | ||
|
||
### Installing | ||
In game, **press F2**, open the **plugins tab**, open the **plugin manager**, fill the box on the right with **30** and press **"Install By Id"** | ||
First, you'll need to install [Bakkesmod](https://www.bakkesmod.com/) and make sure it's running. | ||
|
||
## Overlay | ||
RocketStats is provided with 2 types of overlay, one in-game, and one designed for streamers in OBS. | ||
### Install & Explanations | ||
|
||
### In Game Overlay | ||
Use the Wiki available in the menu at the top of the page. You will have all the information easily accessible to understand the plugin. | ||
|
||
#### Version 1 | ||
Wiki: https://github.com/Arubinu/RocketStats/wiki | ||
|
||
![Version 1](/ReadMe_images/v1.png) | ||
### Additional themes | ||
|
||
#### Version 2 | ||
If you want more themes while waiting for the future website: https://github.com/Arubinu/RocketStats_themes | ||
|
||
![Version 2](/ReadMe_images/v2.png) | ||
|
||
#### Version 3 (based from [Arubinu42 Theme](https://github.com/Arubinu/Overlay4RocketStats/tree/master/themes/Arubinu42)) | ||
|
||
![Version 3](/ReadMe_images/v3.png) | ||
|
||
This is the In-Game overlay, rank image is dynamic, giving Rank, Division, MMR, MMR Changed, Win, Losses, and Current Streak. You can edit the images that are displayed in the in-game Overlay by changing them in **%appdata%\bakkesmod\bakkesmod\RocketStats\RocketStats_images**. | ||
|
||
File used are: | ||
- loose.png (for the red cross) | ||
- win.png (for the trophy) | ||
- crown.png (for the medal, used to be a crown) | ||
- streak.png (for the flame) | ||
- All the rank image, but keep their name as is or it will break the plugin | ||
|
||
### OBS Overlay | ||
![OBS Overlay](https://media.discordapp.net/attachments/593431328209371170/593803857448927232/tweet1.png) | ||
|
||
This is an example of the OBS Overlay, you can display information on your stream and style it your way using custom video and font. | ||
|
||
#### Installation | ||
You can find the example background video by [Rimey](https://twitter.com/Rimey_) here : [Download link](https://drive.google.com/file/d/15ye_Iq-1lK_dkQKQvk_Ia5EwbTNEiViG/view?usp=sharing) | ||
|
||
The font used for this overlay is [Azonix Regular](https://www.dafont.com/azonix.font) | ||
|
||
Make a "media source" check "Local file" and point to where you stored the overlay video. | ||
|
||
Keep in mind that the provided overlay is an example of what you can do, let your imagination create the overlay you love ! ;) | ||
|
||
To display data such as win, loose, streak and MMRChange, make a "Text" source and select "Read from a file". | ||
|
||
All the available data are gathered in text files which are located in the folder **%appdata%\bakkesmod\bakkesmod\RocketStats**. | ||
|
||
![RocketStats_folder](https://cdn.discordapp.com/attachments/681760010392436836/764024258510454794/JIbl4j.png) | ||
|
||
To display the image of your rank you need to make a "Browser" source and configure it like this: | ||
|
||
![Rank](https://cdn.discordapp.com/attachments/681760010392436836/764024258443477002/wzE_RR.png) | ||
|
||
The file is in **bakkesmod\RocketStats\RocketStats_images** and its name is "rank.html" | ||
|
||
You can also animate your stream while boosting ! | ||
|
||
![BoostGif](https://cdn.discordapp.com/attachments/593431328209371170/600786830341832854/M1q6g5.gif) | ||
|
||
Make a Browser source: | ||
|
||
![Boost](https://cdn.discordapp.com/attachments/681760010392436836/764024263471923210/FkrpCU.png) | ||
|
||
The file is in **bakkesmod\RocketStats\RocketStats_images** and its name is "boost.html" | ||
|
||
You can change the logo displayed to put yours, you need two videos in the format ".webm" one named "boost.webm" and the other "noboost.webm". | ||
For more details on how to install these themes, visit the Wiki. | ||
|
||
## Community & Thanks :) | ||
|
||
You can come and ask your questions or discuss with the community in our [discord](https://discord.gg/weBCBE4). | ||
|
||
Thanks to all the people who helped us during the developpement | ||
Thanks to all the people who helped us during the development. | ||
|
||
- [Maylie](https://www.twitch.tv/Maylie_tv) for ideas and support | ||
- [Ekon](https://www.twitch.tv/ekonrl) for tests | ||
- [Fuury](https://www.twitch.tv/FuuRy_Off) for tests | ||
##### Thanks for ideas and support: | ||
- [Maylie](https://www.twitch.tv/Maylie_tv) | ||
|
||
##### Thanks for tests: | ||
- [Daakiii_](https://www.twitch.tv/daakiii_) | ||
- [Ekon](https://www.twitch.tv/ekonrl) | ||
- [Fuury](https://www.twitch.tv/FuuRy_Off) | ||
- [Loppeur](https://www.twitch.tv/loppeur) | ||
- [sw1tch_rl](https://www.twitch.tv/sw1tch_rl) | ||
- [T_o_T_o_N_e](https://www.twitch.tv/t_o_t_o_n_e) | ||
|
||
#### Development Team & Contributors | ||
|
||
### Development Team & Contributors | ||
- [Lyliya](https://twitter.com/Lyliiya) | ||
- [Nusa](https://twitter.com/NuSa_yt) | ||
- [Arubinu42](https://www.twitch.tv/arubinu42) | ||
- Larsluph#7713 | ||
- Th3Ant#9411 | ||
|
||
The plugin is now Open Source, you can find the source code [here](https://github.com/Lyliya/RocketStats) | ||
|
||
This plugin is provided for free, but if you like our work, you can support us at the following address: https://www.paypal.me/rocketstats or by sending BTC (only BTC) at 19qWGhpFTc5E9t9gvBYRyNK5ybdR8BioyK | ||
This plugin is provided for free, but if you like our work, you can support us at the following address: https://www.paypal.me/rocketstats or by sending BTC (only BTC) at _19qWGhpFTc5E9t9gvBYRyNK5ybdR8BioyK_ |
Binary file not shown.
Binary file not shown.
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,110 @@ | ||
#pragma once | ||
|
||
#define LANG_ERROR 0 | ||
#define LANG_ERROR_RELOAD 1 | ||
#define LANG_DONATE 2 | ||
#define LANG_DEVELOPERS 3 | ||
|
||
#define LANG_RESET_TOOLTIP 4 | ||
#define LANG_SCALE_TOOLTIP 5 | ||
#define LANG_ROTATE_TOOLTIP 6 | ||
#define LANG_OPACITY_TOOLTIP 7 | ||
#define LANG_OVERLAY_TOOLTIP 8 | ||
#define LANG_SELECT_ALL_TOOLTIP 9 | ||
|
||
#define LANG_TOGGLE_MENU 10 | ||
#define LANG_TOGGLE_MENU_HELP 11 | ||
#define LANG_TOGGLE_MENU_TOOLTIP 12 | ||
|
||
#define LANG_MODE 13 | ||
#define LANG_MODE_TOOLTIP 14 | ||
#define LANG_MODE_SESSION 15 | ||
#define LANG_MODE_GAMEMODE 16 | ||
#define LANG_MODE_ALWAYS 17 | ||
#define LANG_MODE_ALWAYS_GAMEMODE 18 | ||
#define LANG_THEME 19 | ||
#define LANG_THEME_TOOLTIP 20 | ||
#define LANG_X 21 | ||
#define LANG_X_TOOLTIP 22 | ||
#define LANG_Y 23 | ||
#define LANG_Y_TOOLTIP 24 | ||
#define LANG_SCALE 25 | ||
#define LANG_ROTATE 26 | ||
#define LANG_OPACITY 27 | ||
|
||
#define LANG_OVERLAY 28 | ||
#define LANG_OVERLAY_OBS 29 | ||
#define LANG_OVERLAY_MOVE 30 | ||
|
||
#define LANG_OPEN_FOLDER 31 | ||
#define LANG_OPEN_FOLDER_TOOLTIP 32 | ||
#define LANG_RELOAD_THEME 33 | ||
#define LANG_RELOAD_THEME_TOOLTIP 34 | ||
#define LANG_RELOAD_THEME_A 35 | ||
#define LANG_RELOAD_THEME_A_TOOLTIP 36 | ||
#define LANG_RESET_STATS 37 | ||
#define LANG_RESET_STATS_TOOLTIP 38 | ||
|
||
#define LANG_THEME_BY 39 | ||
|
||
#define LANG_SHOW_IN_MENU 40 | ||
#define LANG_SHOW_IN_GAME 41 | ||
#define LANG_FLOATING_POINT 42 | ||
#define LANG_PREVIEW_RANK 43 | ||
#define LANG_MMR_TO_MMRCHANGE 44 | ||
#define LANG_MMRCHANGE_TO_MMR 45 | ||
|
||
#define LANG_IN_FILE 46 | ||
#define LANG_IN_FILE_TOOLTIP 47 | ||
|
||
#define LANG_GAMEMODE 48 | ||
#define LANG_RANK 49 | ||
#define LANG_DIVISION 50 | ||
#define LANG_MMR 51 | ||
#define LANG_MMRCHANGE 52 | ||
#define LANG_MMRCUMULCHANGE 53 | ||
#define LANG_WINS 54 | ||
#define LANG_LOSSES 55 | ||
#define LANG_STREAKS 56 | ||
#define LANG_DEMOLITIONS 57 | ||
#define LANG_DEMOLITIONSMATCH 58 | ||
#define LANG_DEMOLITIONSCUMUL 59 | ||
#define LANG_DEATH 60 | ||
#define LANG_DEATHMATCH 61 | ||
#define LANG_DEATHCUMUL 62 | ||
#define LANG_BOOST 63 | ||
|
||
#define LANG_FILE_TITLE 64 | ||
#define LANG_FILE_GAMEMODE 65 | ||
#define LANG_FILE_RANK 66 | ||
#define LANG_FILE_DIVISION 67 | ||
#define LANG_FILE_MMR 68 | ||
#define LANG_FILE_MMRCHANGE 69 | ||
#define LANG_FILE_MMRCUMULCHANGE 70 | ||
#define LANG_FILE_WINS 71 | ||
#define LANG_FILE_LOSSES 72 | ||
#define LANG_FILE_STREAKS 73 | ||
#define LANG_FILE_DEMOLITIONS 74 | ||
#define LANG_FILE_DEMOLITIONSMATCH 75 | ||
#define LANG_FILE_DEMOLITIONSCUMUL 76 | ||
#define LANG_FILE_DEATH 77 | ||
#define LANG_FILE_DEATHMATCH 78 | ||
#define LANG_FILE_DEATHCUMUL 79 | ||
#define LANG_FILE_BOOST 80 | ||
|
||
#define LANG_HIDE_TITLE 81 | ||
#define LANG_HIDE_GAMEMODE 82 | ||
#define LANG_HIDE_RANK 83 | ||
#define LANG_HIDE_DIVISION 84 | ||
#define LANG_HIDE_MMR 85 | ||
#define LANG_HIDE_MMRCHANGE 86 | ||
#define LANG_HIDE_MMRCUMULCHANGE 87 | ||
#define LANG_HIDE_WINS 88 | ||
#define LANG_HIDE_LOSSES 89 | ||
#define LANG_HIDE_STREAKS 90 | ||
#define LANG_HIDE_DEMOLITIONS 91 | ||
#define LANG_HIDE_DEMOLITIONSMATCH 92 | ||
#define LANG_HIDE_DEMOLITIONSCUMUL 93 | ||
#define LANG_HIDE_DEATH 94 | ||
#define LANG_HIDE_DEATHMATCH 95 | ||
#define LANG_HIDE_DEATHCUMUL 96 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,71 @@ | ||
#ifndef INCLUDE_FPSTIMER_HPP_ | ||
#define INCLUDE_FPSTIMER_HPP_ | ||
|
||
#include <ctime> | ||
|
||
class FPSTimer | ||
{ | ||
private: | ||
bool _wait; | ||
double _fps; | ||
double _tick; | ||
unsigned int _frames; | ||
timespec _beg, _end; | ||
|
||
public: | ||
FPSTimer(unsigned int fps, bool wait_tick = false) | ||
{ | ||
_fps = fps; | ||
_tick = (1. / fps); | ||
_wait = wait_tick; | ||
_frames = 0; | ||
reset(); | ||
} | ||
|
||
double elapsed() | ||
{ | ||
return (_end.tv_sec - _beg.tv_sec + (_end.tv_nsec - _beg.tv_nsec) / 1000000000.); | ||
} | ||
|
||
unsigned int frames(bool set = false) | ||
{ | ||
if (set) | ||
_frames = int(elapsed() / _tick); | ||
|
||
return _frames; | ||
} | ||
|
||
unsigned int tick() | ||
{ | ||
if (_frames > 0) | ||
_beg = _end; | ||
|
||
#ifdef CLOCK_REALTIME | ||
(void)clock_gettime(CLOCK_REALTIME, &_end); | ||
#else | ||
(void)timespec_get(&_end, TIME_UTC); | ||
#endif | ||
|
||
if (_wait) | ||
{ | ||
_beg = _end; | ||
_wait = false; | ||
} | ||
|
||
return frames(true); | ||
} | ||
|
||
void reset() | ||
{ | ||
#ifdef CLOCK_REALTIME | ||
(void)clock_gettime(CLOCK_REALTIME, &_end); | ||
#else | ||
(void)timespec_get(&_end, TIME_UTC); | ||
#endif | ||
|
||
_beg = _end; | ||
_frames = 0; | ||
} | ||
}; | ||
|
||
#endif |
Oops, something went wrong.