📖 Cronus Zen Guide

Usually, the dullest page in a guide next to the legal info, but it's worth keeping an eye on so you can see exactly what's going on during active beta development.

The current beta cycle has ended, and the full non-beta versions of Zen Studio and Zen Firmware are now available.

v1.6.1 Build 1

ALT or CTRL UP/DOWN gesture to move highlighted code blocks.

CTRL-SHIFT-Z as an alternate redo shortcut.

CTRL-/ to (un)comment lines or selections.

CTRL-Q to copy a line or selection.

CTRL-' (quote) for commenting gesture.

Bitwise Assignment Operators.

Combos and Functions navigation in GPC editor.

Mandatory internet connection.

Beta team in About section.

License agreement on setup and Zen Studio startup.

Focus issue in GPC script Find/Replace dialog.

Issue with Device Monitor labels.

Date being cut off in Online Library.

Left/right arrow issue when selecting text.

Block comment `/* */` functionality.

Script hyperlink color in Online Library.

Programming tab hanging after factory erase.

JavaScript error in YouTube videos via setup.

Issue where Zen Studio closed after PC wake from sleep.

B&R closing unexpectedly the first time.

Small bug in Combos navigation.

WebHID issue by resetting the device when exiting due to Marketplace detection.

Issue with DS4 Output protocol

Compiler by removing deprecated 16-bit option.

Code movement to allow moving single lines.

Cursor positioning when using up/down arrow keys on selections.

Scrolling to cursor when using arrow keys on selections.

Foreground color for strings.

Device reset behavior after changing output protocol.

Device handling upon output protocol change (no reset needed).

Sorting of Combos and Functions lists by name.

License information in About section.

v1.2.1 Beta

Support for the continue keyword in loops

Zen server status is now shown on status bar. Clicking the status bar label will perform the check again

Button to copy current device/software details to clipboard (Help > About Zen Studio...)

Scrollable layout for low resolution monitors

Replaced Find Device Icon with a better one

Multiple GUI fixes, enhancements and stability improvements

Various compiler optimizations

Ballistic Curve buttons order

Updated the parser to treat : and ; as separate characters while maintaining the old syntax support for ending with : or ;

Issue when GamePack/Scripts sync occurs

Issue with GamePacks cached list

Cached YouTube links not showing when clicking PRO GamePacks

The compiler will now track possible overflow or underflow errors

Issue with inc/dec issue in if statement.

Issue with binary operators.

SPVARS not loading after GamePack sync occurs (on APPDATA delete or PC change)

GPC editor GOTO logic (finally)

Issue with flashing some GPC scripts

MAX MAPPER not exiting API MODE on close causing no output to be sent

Append InGameSettingsFlyoutText when exporting M&K .bin layout

Switch Case statement - Check GPC sample below

Enum data definition - Check GPC sample below

Bluetooth clear button - Check instructions below

Support for any keyword as an identifier

💾 Switching Case Statements Sample:


// GPC

int var = 1;

define FIVE = 5;

define SIX = FIVE + 1;

main {
	switch(var) {
		case 1 {
			set_val(TRACE_1, 1); // THIS HAS NO BREAK SO IT WILL EVALUATE NEXT CASE!
		}
		case 2 : {
			set_val(TRACE_1, 2);
			set_val(TRACE_2, 2);
			break;
		}
		case 0x3 {
			break;
		}
		case 0x4 : {
			break;
		}
		case FIVE {
			break;
	 	}
	 	case SIX : {
	 	
	 	}
		default {
			set_val(TRACE_3, 1);
		}
	}
	switch(get_rumble(RUMBLE_RT)) {
		case 0x10 {
			break;
		}
		case 40 : {
			break;
		}		
		case 60 {
			break;
		}
		case 80 : {
			break;
		}
	}
}

💾 Enum Data Definition Sample:


enum {
  MYENUM_0 = 50,
  MYENUM_1,
  MYENUM_3,
  MYENUM_4
}

enum {
  MYENUM2_0,
  MYENUM2_1,
  MYENUM2_3,
  MYENUM2_4
}

main {

	set_val(TRACE_1, MYENUM_1); 	// THIS WILL OUTPUT 51 AS OUR ENUM STARTED FROM 50
	set_val(TRACE_1, MYENUM2_1);	// THIS WILL OUTPUT 1 AS DEFAULT ENUM START IS ALWAYS 0

}

Last updated