Jump to content

Macca_Cool

Members
  • Posts

    38
  • Joined

  • Days Won

    1

Macca_Cool last won the day on March 3 2019

Macca_Cool had the most liked content!

Reputation

13 Good

Converted

  • Interests
    Games and Software Development

Converted

  • Occupation
    Student
  1. We actually managed to get it working in this thread by reading it from iCUE's memory. Then I updated iCUE and couldn't get a stable address anymore. I might try again on the most recent version, but yeah, a big +1 for Corsair to give us the functionality.
  2. Sorry yeah, that ones on me. I changed my ReadBatteryLevel.ini to output to ./battery_level.txt instead of the default. So to fix either make that change there or alternatively change read_file.lua to use the appropriate output file.
  3. Yeah alright. I didn't download the release (I built from source) so there was no threadstack.exe, hadn't realised that you'd packaged it, by bad.
  4. For anyone coming across this anew looking for threadstack.exe, you can compile it from the Github repo or alternatively there is a direct download link to a build, use by your own discretion.
  5. Yeah man, in the skin folder I have 2 files: VOIDBattery.ini and read_file.lua (see pastebin for both), as well as threadstack.exe and ReadBatteryLevel.exe (with config and output to ./battery_level.txt). You'll want to customise the String meter however you want it. For me I have it on 'stay topmost' and placed over the taskbar, next to the time on my second monitor with 50% transparency.
  6. Hey man, sorry I never got back to you. Been almost a year but I finally tried out your software. Had to do my own pointer scan (I assume iCUE version and different devices effects it), but after like 20 minutes of that, works a charm. You're a legend mate! I'm setting it up to run from Rainmeter now
  7. Yeah man, it's been a while since this post. I ended up creating a HTTP server, sort-of-frontend for the game integration SDK functions, which you'll find in its own thread. My main goal was to avoid having to deal with the C++ stuff that I don't really understand, and to expose the functionality as HTTP GET requests because they're pretty much universally supported, so you can then use the SDK from wherever you like.
  8. Hey ian, glad to see you're interested. So you're asking if I could, or plan to, add functionality from the iCUE SDK and the sensor logging. It's a pretty big scope change, so I don't see that happening very soon, but I'm definitely interested in getting that fan and sensor information as well. In regards to that, I don't believe that the SDK introduces any method to obtain that info, so regex on the logs will be your best bet, which I might look into. As for a REST API, I need to look further into what that actually entails, but AFAIK it already is, just for the game integration functions.
  9. Yeah dude, especially for setup stuff because I haven't really done much for documenting that. The requests are all GET requests, so you should have no troubles getting those to work (they're pretty much universally supported).
  10. If I'm understanding correctly, you want to be able to switch iCUE profiles from some arbitrary script/program. The iCUE SDK unfortunately doesn't have functions for profile switching. This is the problem I had, so I've made software that uses the game integration SDK (a different SDK used for Far Cry 5, etc) that DOES allow for profile switching programmatically via HTTP requests. You can look into it on its forum thread but please be aware that documentation is somewhat lacking for now, and there is quite a bit of setup required. If you would rather try to use the SDK by itself (without my software), there is enough information in my original thread to do so. But be warned that its a lot more work, and you're basically on your own to do so.
  11. Alright, so that's a pretty loaded question. Firstly, the program can definitely help you create game integrated lighting to the same fidelity of the Corsair partnered games (Far Cry 5, Metro Exodus, etc.) for games of your choice, but you need to note that I say create. The program at its core is just giving easier access to the Corsair game integration functionality via HTTP requests as opposed to the C++ API. It is up to the user to create the integration, as such it is a very programming and DIY centric approach, that is at the mercy of the programs you try to integrate. Linking a single profile to an application can be done fairly easily with the software, but that can also be done in iCUE itself, linking programs that dynamically change profiles is the focus of the application, as well as managing when these programs (which I call controllers) need to start/stop to provide seamless lighting between different integrated applications. My point being that if you wanted dynamic lighting for a game like WoW, you would need to find a way to extract information from the game to decide on the current lighting. For the likes of Far Cry 5, with inbuilt support for iCUE game integration, it internally listens for game events such as getting hit or touching fire and triggers a lighting profile to match, likewise it has states such as day and night with accompanying profiles. Sticking with the WoW example, this API might provide the functions you would want for your controller. An example of a well documented and real-time game API is the CSGO one which is accessed via a local HTTP server. Something like this is pretty difficult to come by however, especially in online competitive games like CSGO and Overwatch. The CSGO API I linked provides different information depending on if you are playing or spectating a match, this is to keep the game fair so that users cannot abuse the API to gain an unfair advantage, and this is likely the main reason why these APIs are few-and-far-between. You mention Project-Aurora, which provides game-lighting integration for a number of games and hardware. If you weren't aware, you can dig through how they integrate lighting for individual games here. As a lot of these games don't provide APIs like CSGO, the game states are extracted using a variety of different methods. Integration for the likes of Minecraft and Witcher 3, among others, is provided via game mods that extract information from within the games and hands it to Project-Aurora. This kind of strategy could easily be ported to work with this software. I believe some other games read values directly out of memory (I remember seeing an old Terraria integration that did this, not so sure about Aurora). Games like Overwatch, DOOM and Factorio that have existing support for Razer Chroma are implemented by wrapping the Chroma integration DLL and extracting the lighting settings and applying them to other hardware. In the case of Overwatch, this means they can have lighting effects on each character and on different in-game events with only the lighting settings leaving the application. This means if you wanted Overwatch integration, you would need to do the same as Aurora and map the lighting from the Chroma SDK to the Corsair SDK, making it a lot more difficult than something like CSGO. So in short, the software is built to make integration easy to create. Not to directly provide it. The results you want are achievable in most cases, but there would be an amount of work required to do so. I'm happy to help on this end of things; setting up the server and which settings to use. For most applications though, if there is no public API, and there is no modding support, then DIY dynamic lighting probably isn't going to be possible.
  12. Thanks so much, James! This project means a lot to me, so I really appreciate that. I'm currently working on styling (and adding proper HTML structure to) the documentation and am gonna try to add some example configs and usages, etc. Hopefully that tutorial video for the setup and use-cases comes along too, as it's quite complex to setup and would really help users.
  13. Hey! I finally got my stuff together and released it. I've been somewhat active on the forums in the past, mostly talking about SDKs and the potential for custom game integration with iCUE, much like FarCry5 and Metro Exodus shipped with, and I'm proud to announce that I've finished it (6 months ago) and have finally got to releasing it. I would like to put together a tutorial video to walk through all the aspects of the software, but that's for another time. Today I've released a public download and the source code on Github with some documentation on settings/functions and some usage explaination on the Github README. Please note: this isn't for the feint of heart, I'm providing a platform to build your own game integration from, I have not created profiles and controllers for all your favourite games and neither do I intend to. This means that programming controllers and making profiles is all up to you. That being said, I've provided enough examples and documentation to have you on your way. The software provides access to the game-integration functions provided by Corsair for the aforementioned games via HTTP GET requests, this allows almost any language to utilise its functionality, meaning theoretically any game mods should be compatible. I've provided controller examples in Python and have implemented a number of settings to allow it to fit with many use-cases. So here's the link, have fun, and any questions, ask them here and I'll try to get back to you. Happy integrating! https://github.com/Zac-McDonald/iCUE-Custom-Game-Integration
  14. So with what I did, you DO have to create and export each profile, so no procedural profiles. That said, I can think of 2 ways to have them in a really hacky way. With the program, you can actually have lighting controllers (the programs/scripts) that use the other SDK or otherwise not use CgSDK, so you're stuff should be able to work with it fine as well.
  15. Oh hey! Good to see someone else using my C++ work. Good luck with your project! Keep an eye on the forums over June/July though. I finished my project a few months ago and plan to release it with full documentation over the next month or so. In short, it lets you bind programs/scripts that control iCUE profiles to processes, it's pretty neat and might help with what you're trying to achieve.
×
×
  • Create New...