Cerberus X Documentation

App config settings

App config settings are settings that affect how a project is built.

These are used for features that are highly target specific, or that somehow affect the build process in some way and can't be implemented using plain Cerberus X code.

There are 3 ways to specify app config settings:

The following app config settings are currently supported:

'Data file filters, examples shown, actual allowable values depend on target
'
#TEXT_FILES="*.txt|*.xml|*.json"
#IMAGE_FILES="*.png|*.jpg"
#SOUND_FILES="*.wav|*.ogg"
#MUSIC_FILES="*.wav|*.ogg"
#BINARY_FILES="*.bin|*.dat"
#FAST_SYNC_PROJECT_DATA=True 'Set to True to enable 'fast syncing' of project data when building - warning: has problems with xcode, False by default.

'Mojo settings, defaults shown
'
#MOJO_AUTO_SUSPEND_ENABLED=True 'Set to True to cause app to suspend when desktop window loses focus.
#MOJO_HICOLOR_TEXTURES=True
#MOJO_IMAGE_FILTERING_ENABLED=True

'Html5 settings, defaults shown
'
#HTML5_APP_FILENAME="CerberusGame.html" 'Set the default name for the html outfile.
#HTML5_APP_ICON="" 'set the name of a ico/png file which will be used as a favicon. If not provided, Trans will use the standard favicon.
'PNG files will be converted to ICO files. Without a filepath, Trans will look in the folder where your .cxs source file is located at.
#HTML5_APP_TITLE="CerberusGame" 'Set the title inside the browser tab.
#HTML5_CANVAS_WIDTH=640 'Set the width of the canvas.
#HTML5_CANVAS_HEIGHT=480 'Set the height of the canvas.
#HTML5_CANVAS_RESIZE_MODE=1 '0=locked, 1=stretch, 2=resize
#HTML5_CANVAS_ALPHA=False 'Set to true to enable the canvas' background alpha channel, a prerequisite for transparent canvasses.
#HTML5_CANVAS_ANTIALIAS=True 'Set to True to enable canvas antialiasing.
#HTML5_CONSOLE_SHOW=True 'Set it to False to hide the splitter and console DIV in your file.
#HTML5_WEBAUDIO_ENABLED=True 'Set to false to disable webaudio support for mojo audio, and to use older multimedia audio system instead.

'GLFW settings, defaults shown
'
#GLFW_USE_MINGW=True 'Set to false on Windows to use MSVC instead of MinGW to build glfw apps. Needs at least VS 2015 installed.
#GLFW_GCC_MSIZE_WINNT="64" 'When building glfw apps with mingw/gcc, controls whether 32 or 64 bit apps are generated.
'Set to "64" to force 64 bit builds on Windows (needs mingw64), or "" to use compiler default.
'Currently that also works for MSVC!!!
#GLFW_GCC_MSIZE_LINUX="" 'Ditto for Linux.
#GLFW_GCC_CC_OPTS="" 'Pass compiler options to GCC type compilers
#GLFW_GCC_LD_OPTS="" 'Pass linker options to GCC type compilers
#GLFW_GCC_LIB_OPTS="" 'Pass additional libraries to link against for GCC type compilers.
#GLFW_GCC_SRC_OPTS="" 'Pass additional source files to be build.
#GLFW_GCC_VPATH_OPTS="" 'Pass additional virtual paths to look into when building.
#GLFW_COPY_LIBS="" 'Copy 64bit external libraries to build directory. Windows GCC only for now!
#GLFW_COPY_LIBS_32="" 'Copy 32bit external libraries to build directory. Windows GCC only for now!

#GLFW_WINDOW_TITLE="Cerberus X Game"
#GLFW_WINDOW_WIDTH=640
#GLFW_WINDOW_HEIGHT=480
#GLFW_WINDOW_RESIZABLE=False
#GLFW_WINDOW_FULLSCREEN=False
#GLFW_WINDOW_SAMPLES=0 'Set to number of samples for multisampling (glfw3 only).
#GLFW_WINDOW_DECORATED=True 'Set to false to create a broderless window (glfw3 only).

#GLFW_MACOS_RETINA_ENABLED=False 'Set to True to make use of the whole resolution of the Retina display. Only recommended if content is scaled accordingly and no absolute pixel coordinates are used.

#GLFW_APP_ICON="" 'Set the name of a ico/png file which will be used as th apps icon. If not provided, Trans will use the standard icon file.
'PNG files will be converted to ICO files. Without a filepath, Trans will look in the folder where your .cxs source file is located at.

#GLFW_APP_LABEL="My App" 'Human readable label for app.
'Must be set for cerberus://internal to map to 'per user' app data dir.
'If not set (the default), cerberus://internal is shared by all users of app.
'cerberus://external is ALWAYS shared by all users of app.
'Must contain filesystem friendly chars only - generally, [A-Z], [a-z], [0-9],
'<space>, <underscore> <minus>, <dot> should be OK.
#GLFW_APP_PUBLISHER="My Company" 'Optional human readable publisher name for app. Must be filesystem friendly.
'Not defined by default.

'FLASH settings, defaults shown
#FLASH_APP_ICON=""
#FLASH_RENDER_WHILE_SUSPENDED=False

'IOS settings, defaults shown
'
#IOS_RETINA_ENABLED=True
#IOS_ACCELEROMETER_ENABLED=True
#IOS_DISPLAY_LINK_ENABLED=True
#IOS_APP_ICON=""

'Android settings, defaults shown
'
#ANDROID_APP_LABEL="Cerberus X Game"
#ANDROID_APP_PACKAGE="com.Cerberus_X.cxgame"
#ANDROID_APP_ICON=""
#ANDROID_SCREEN_ORIENTATION="user" '"user", "portrait", "landscape"
#ANDROID_GAMEPAD_ENABLED=False
#ANDROID_ACCELEROMETER_ENABLED=True
#ANDROID_MULTISAMPLING_ENABLED=False 'If set to True, Android tries to activate 4x Multisampling first, then 2x.
'If that fails it reverts back to no multisampling. Be aware that Multisampling slows down the rendering performance.

#ANDROID_MIN_SDK_VERSION="16"
#ANDROID_TARGET_SDK_VERSION="28"
#ANDROID_BUILD_TOOLS_VERSION="28.0.3"
#ANDROID_GRADLE_VERSION="3.2.1"
#ANDROID_GRADLE_DISTRIBUTION="gradle-4.6-all.zip"
#ANDROID_REPOSITORIES=""
#ANDROID_JAVA_SOURCE_VERSION="VERSION_1_8"
#ANDROID_JAVA_TARGET_VERSION="VERSION_1_8"
#ANDROID_APPLICATION_EXTRAS=""

#ANDROID_VERSION_CODE="1"
#ANDROID_VERSION_NAME="1.0"
#ANDROID_NATIVE_GL_ENABLED=False 'for use with the opengl modules
#ANDROID_KEY_STORE="../../release-key.keystore"
#ANDROID_KEY_ALIAS="release-key-alias"
#ANDROID_KEY_STORE_PASSWORD="password"
#ANDROID_KEY_ALIAS_PASSWORD="password"
#ANDROID_SIGN_APP=False
#ANDROID_LOGCAT_OPTION="-s [Cerberus]:*" 'Setting this differently allows you to control the output during runtime of a connected device

'OpenGL settings. To override, set these in your code BEFORE importing opengl.gles11 or opengl.gles20
'
#OPENGL_DEPTH_BUFFER_ENABLED=True

'Reflection settings
'
#REFLECTION_FILTER=""

'Admob settings, defaults shown
'
#ADMOB_ANDROID_ADS_APPID="" 'You need to set this for the latest admob sdk
#ADMOB_PUBLISHER_ID="abcdabcdabcdabc" 'from your admob account
#ADMOB_ANDROID_TEST_DEVICE1="TEST_EMULATOR"
#ADMOB_ANDROID_TEST_DEVICE2="ABCDABCDABCDABCDABCDABCDABCDABCD" 'your device's admob ID for test mode
#ADMOB_ANDROID_TEST_DEVICE3=""
#ADMOB_ANDROID_TEST_DEVICE4=""

'C++ settings, defaults shown
'
#CPP_DOUBLE_PRECISION_FLOATS=False 'Set to True to enable 64 bit floats.
#CPP_GC_MODE=1 '0 disable GC, 1=incremental collect after every OnWhatever, 2=Incremental collect every GC allocation
#CPP_GC_TRIGGER=8388608 'Allocated memory (in bytes) before a GC 'sweep' occurs. Defaults to 8 MiB
#CPP_GC_MAX_LOCALS=8192 'This is used with GC_MODE 2 to track local object vars and defaults to 8192

'Misc
'
#CC_OPTS="" 'additional gcc options for stdcpp target, eg: #CC_OPTS+="-DMyDefine"
#CC_LIBS="" 'Pass additional libraries to link against for GCC type compilers.

Not all settings are supported by all targets, and when not supported they will silently fail.