Main.h file
Common nCine header file, includes Common.h and project metadata.
Defines
- #define NCINE_APP
- Application name.
- #define NCINE_APP_NAME
- Application full name.
- #define NCINE_VERSION
- Application version.
- #define NCINE_PROTOCOL_VERSION
- Application multiplayer protocol version.
- #define NCINE_BUILD_YEAR
- Application build year.
- #define NCINE_LINUX_PACKAGE
- Application package name on Linux.
- #define NCINE_INSTALL_PREFIX
- Install prefix on Unix systems, usually
"/usr/local". - #define NCINE_HAS_GAMEPAD_RUMBLE
- Whether the current platform supports a gamepad rumble, see IInputManager::
joystickRumble(). - #define NCINE_HAS_NATIVE_BACK_BUTTON
- Whether the current platform has a native (hardware) back button.
- #define NCINE_HAS_WINDOWS
- Whether the current platform supports vibrations of the device.
- #define NCINE_HAS_TOUCH_CONTROLS
- Whether the current platform can have a touchscreen.
- #define NCINE_HAS_RGB_LIGHTS
- Whether the current platform can drive the RGB lighting of connected devices.
- #define NCINE_HAS_WRITABLE_CACHE
- Whether the current platform can convert the original game data into a cache of its own.
- #define NCINE_CURRENT_FUNCTION
- Function name.
Define documentation
#define NCINE_PROTOCOL_VERSION
Application multiplayer protocol version.
Decides whether a client and a server can play together, independently of NCINE_
#define NCINE_HAS_WINDOWS
Whether the current platform supports vibrations of the device.
Whether the current platform has non-fullscreen windows
#define NCINE_HAS_TOUCH_CONTROLS
Whether the current platform can have a touchscreen.
Listed rather than excluded, so a platform that has no touchscreen doesn't acquire one by not being mentioned - which is how the consoles ended up offering to configure touch controls.
#define NCINE_HAS_RGB_LIGHTS
Whether the current platform can drive the RGB lighting of connected devices.
Only Windows (through the Razer Chroma™ SDK) and the web build (through a local bridge) actually do so; the other desktop platforms are included because that is where such a device is plugged in, and where RgbLights could gain a backend without the option having to reappear.
#define NCINE_HAS_WRITABLE_CACHE
Whether the current platform can convert the original game data into a cache of its own.
The Dreamcast and PlayStation 2 play from a disc and the GameCube has nowhere to put a cache the size of a converted installation, and the web build is prepared entirely ahead of time - none of the three can write one, so they consume a content tree prebaked with AssetPacker, skip the conversion altogether and never look for the original game files, which are not there in the first place.
Everywhere else the first-run conversion exists, including the PlayStation Portable and the Wii, where the content sits on a writable memory stick or SD card. Those two are usually given a prebaked tree as well, which is recognized at runtime rather than assumed here, see ContentResolver::