Comments (11)
Thats just how overwatch designed their colors.
I suppose the leds on the razer devices are a little brighter with the specific colors they picked.
from retc.
I have recompiled it with a gamma correction function just to light it up a little more. I will tweak it as I go along but if you want to make it brighter solely in overwatch change convertLedColor in CorsairSDK.cpp to
#define gamma (1.0/1.7)
int addGamma(int color) {
return (int) (pow(color / 255.0, gamma) * 255.0);
}
CorsairLedColor CorsairSDK::convertLedColor(const COLORREF& color) {
CorsairLedColor ledColor;
ledColor.r = addGamma(GetRValue(color));
ledColor.g = addGamma(GetGValue(color));
ledColor.b = addGamma(GetBValue(color));
ledColor.ledId = CLI_Invalid;
return ledColor;
}
Build it in visual studio and put the new exe in the main folder and it should run fine. I need to tweak the gamma functions value but it generally looks nicer for the standard colors and stuff like Lucio and Mercy.
I don't believe this is a feature that warrants being added to the actual version though it could be nice to have a config file for gamma correction.
Also I literally only just started C++ the other day for coding some chips xD Don't judge too harsh but if I'm doing anything wrong with general coding standards feedback would be appreciated.
@TobyMoose if you dont know how to rebuild it you can use this but I personally would suggest editing it yourself and compiling it just so you know what is in it.
Also @MartB the colors seem closer to what are displayed on my deathadder so possibly a gamma function would actually line it up with razer hardware better. Though that could just be this device i have (See photo and video in this link https://photos.app.goo.gl/7HEFz6GhjdydcCjU7)
The main difference you can see is with Moira (In the video the one just before the last which is red)
The changes can be found here https://github.com/sekwah41/RETC/blob/master/server-exe/CorsairSDK.cpp#L384
from retc.
@sekwah41 sounds like a plan!
It really seems to look better.
I will implement something like your gamma correction soon. (adjustable through the config)
Edit:
Code wise it looks fine to me, you could only do some minor optimizations that i personally love doing but they wont matter much haha.
from retc.
What sort of optimizations would you personally do? I'm curious :)
Edit: for starters i would convert the divide to a multiply, or does it compile into that anyway? I know java that has a performance difference (well slight but its there)
from retc.
Probably the following:
- make addGamma static
- rewrite it so it takes colorref and extracts the color itself giving back r,g,b as reference params.
(sth like void TRANSFORM_COLORS(const COLORREF& color, int &r, int &g, int &b) where r,g,b is the transformed output) - pass the arguments by const reference
- use c++ style casts instead of (int)
from retc.
@sekwah41 you can build the latest master and try out what i implemented.
Check https://github.com/MartB/RETC/wiki/Config-options for the required config keys.
from retc.
Heh typo madness sorry for the notification spam!
from retc.
Its alright, thanks for the info btw :)
from retc.
Oh good idea with the lookup table, completely passed my mind to do that :)
Hopefully I get to make some fun projects in C++ too, im going to use what youve done to learn some stuff. Anywhere you would suggest has good examples of C++ or any resources to learn a bit faster? I wanna learn some of the standards because pointers and such rather than randomly messing to get stuff working as i dont feel itll have the same effect as trying to learn in java xD
from retc.
Shouldn't this be closed if it has been implemented?
from retc.
@sekwah41 you are right, but i wanted to get the original author of the issue to check.
Closing this as this will probably not happen anymore.
Regarding your question about good materials/resources i think learning by doing suits programming/coding best. For the use of (old-school) pointers it should be sufficient to read this page: http://www.cplusplus.com/doc/tutorial/pointers/
If you want a document detailing best practices check out.
http://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines
(keep in mind that its not a definitive guide to good code)
You can also go ahead and dive into the more theoretical aspects of computer science.
(https://introtcs.org/public/index.html) seems to be a good wip book only gave it a quick glance though.
from retc.
Related Issues (20)
- Corsair Effects Engine take the top over RETC HOT 3
- No signal from FL Studio Razer Chroma plugin HOT 4
- 'retc-rpc-server-64.exe' no where to be found.
- [Draft]Multi SDK Support for each devicetype with parallel execution. HOT 2
- Malware Issue HOT 7
- WIP: get rid of NSSM and use custom c++ service implementation to get rid of false positives HOT 4
- Works for Diablo III but doesn't work with Overwatch? HOT 8
- Tried this with Fortnite and is got blocked by Battleeye HOT 2
- Command Prompt Window Opens and Instantly closes? HOT 2
- Quake Champions HOT 5
- DOOM (2016) HOT 4
- Corsair Headset Stand Won't work HOT 3
- Corsair Glaive Support HOT 2
- Corsair Dark Core RGB Support HOT 4
- Persistent effects are not played HOT 6
- Overwatch Anniversary Update HOT 15
- Razer Synapse Update HOT 1
- Corsair Fan Intergration HOT 1
- Does RETC work with mice?
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from retc.