Cronus PRO v1.20 BETA 6

We’re now releasing this new version of Cronus PRO as a public beta due to the HUGE changes done under the hood, to prevent everyone from having issues and needing a fix like yesterday, we’ve started making larger changes in Beta builds rather than pushing them out as updates for everyone, this allows us to have a smaller group of people affected by bugs so that we can fix them rather than having to deal with a large number of complaints about these issues.

Some of you have likely experienced some random issues and/or completely different behavior from what you’re expecting from your script(s) etc. This should be fixed with this beta as we’ve completely re-written the compiler and the interpreter in a different language. We’ve also decided to swap out the HID library (used to communicate with the CronusMAX PLUS itself).

With all of this re-writing of the major under-the-hood libraries, we’re also able to get rid of the C++ 2010/2015 dependency (we no longer need C++) which, as a result should lead to less issues for people running Cronus PRO on a new PC (some of you may have had issues starting Cronus PRO without manually installing the C++ 2015 Redistributable x86 package). This is no longer going to be an issue.

While we re-wrote the compiler we also added several new features to it, mainly to make it easier for those familiar with programming in other languages such as C, C++, C# etc. to have things they’re used to having such as “variable++” which is the equivalent of doing “variable = variable + 1”. We find ourselves wanting this all the time, so we’ve implemented it 🙂

This Beta has been available to a select few members of our community for a couple of weeks now and we feel we nailed a number of the major bugs, so we’ve now decided to release it for everyone to enjoy. However as always with a beta, you should expect bugs to be present, so we will be relying on you to report any issues to us in this dedicated forum.

  • HID Library completely re-written in C#
  • GPC Interpreter Library completely re-written in C# including the new opcodes – they’re there but not fully functional (Needs A LOT of testing) some changes/fixes made:
    • get_ptime now function correctly and gives you the press or release time of the button
    • get_ptime is no longer limited to 4000 milliseconds, it’s now limited to 32767
    • get_pvar and set_pvar are now functioning properly, they’re however not kept between runs in X-Aim (yet)
  • GPC Compiler Library completely re-written in C# with some additional functions, and lot’s of bugfixes:
    • Added support for ++ and — for variables (variable++ and variable–, not ++variable/–variable)
    • Added support for +=, -=, *=, /= and %= for variable assignments (basically the same as doing: variable = variable <+,-,*,/ or %> <expression>)
    • Added support for 16-bit values in the data section (NOTE: This will issue a warning that any index coming after this will be +1 from it’s original state, that’s because it’s divided into 2 8-bit values before being added to the bytecode)
    • Added support for doing arithmetic operations for constants, you can now do something like:

define value = 1; define value2 = value + 2;

  • Added support for pre-computing constant arithmetics, saving space in the final output (as constant math will be computed at compile time rather then at runtime)
  • Fixed issues with user function returns
  • Fixed issues with empty user functions
  • Removed support for doing “- 1” for example when wanting it to be a negative value (this is considered a syntax error, there should be no space between the minus and the number!), you can still do things like “- CONSTANT” and “-CONSTANT” etc. (and the same for variables, for variables it’s translated to the same as if you did inv(<variable_expression>);
  • Fixed multiple issues with compiled binary data (they would sometimes cause the Virtual Machine running the GPC code to crash – unloading the script)
  • Fixed a issue where doing something like:

function func(idx) {
if (TRUE)
return;
idx = idx*4;
}

  • would result in a syntax error (the idx would become part of the return despite not belonging together)
  • Fixed a issue with how things like var[var] = !var[var]; was compiled which would result in incorrect opcode order
  • Added a check for never ending while loops (constant trigger only) which are now treated as an error (you really shouldn’t do this as it’ll mess up the VM, it’ll get stuck in this and won’t output anything… example:

main {
while (TRUE) { // This will always run, regardless, and due to no break, it'll never leave this
set_val(0, 100);
}
}

  • Added a error line highlight to the code editor (it will now highlight the line that caused an error from the compiler) the default color is red but can be customized in the config (it supports some common names such as “red”, “blue”, “green” etc. and also ARGB annotations: #AARRGGBB (hex, similar to HTML except with the alpha aswell which is the opacity (FF for full color, 80 for semi-transparent)
  • Added support for jumping to the error when trying to compile a script that has an error in it
  • Fixed a issue with Online Library causing titles to not be wrapped correctly
  • Fixed a issue with the search function in Online Library – It will now search specifically for what you type in by default (unless using the new setting below):
  • Added “Advanced Search” to Online Library which lets you override the above fix (restore previous behavior where it does a broad search)
  • Added a “go to” command (Ctrl + G) which lets you jump to line x and column y (or just the line)
  • Fixed a issue where high contrast themes would make it very difficult (even impossible in most cases) to read what is/was displayed in Cronus PRO – it now looks the same regardless of your color settings, the window changes but nothing within Cronus PRO should now change
  • Added a message whenever an unexpected fatal error occurs in Cronus PRO (the error will be saved in %appdata%\Cronus\Error.log, send this to me if you stumble upon a error so i can fix the bug)
  • Added some sanity checks before flashing a firmware/gamepack/GPC script to avoid further firmware corruption issues
  • Added a option to enable/disable Accel/Gyro highlighting in the Device Monitor
  • Fixed a issue where a corrupt x-aim.cfg could potentially crash Cronus PRO (it is now logged and ignored – loading defaults instead)
  • Added a separate compiler instance for x-aim and CM+ use (as they don’t support the same things, the CM+ has additional opcodes/functions not supported by x-aim)
  • Added a visual indicator as to how many {, [ and ( you have compared to }, ] and ) (currently it’s just “OK” or “Bad” with details when you hover over it)
  • Fixed a issue where disconnecting the monitor then clicking a mouse button would make X-Aim exit capture mode NOTE: This fix MAY cause additional false positives in various antivirus software out there…
  • Added support for selecting to download the latest or previous firmware version
  • Fixed a issue where the PS4 Acc/Gyro and Touch wasn’t available while using X-Aim
  • Fixed a issue where Xbox 360 remap profiles wouldn’t generate GPC properly in MAX Mapper

Please post any bugs your encounter in this support topic so we can fix them…

This beta can only be used for 30 days after it has been released, meaning it’ll stop working after December 7

You can download it here: https://cronusmax.com/?ddownload=36461

Previous

Next

Pin It on Pinterest

Share This