cocos2d-iphone  2.1
Improved Cocos2D API Reference (iOS version) for www.kobold2d.com developers
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Properties Defines
ccConfig.h File Reference
+ This graph shows which files directly or indirectly include this file:

Defines

#define CC_ENABLE_CHIPMUNK_INTEGRATION   0
#define CC_ENABLE_BOX2D_INTEGRATION   0
#define CC_ENABLE_GL_STATE_CACHE   1
#define CC_ENABLE_DEPRECATED   1
#define CC_FIX_ARTIFACTS_BY_STRECHING_TEXEL   0
#define CC_DIRECTOR_STATS_INTERVAL   (0.1f)
#define CC_DIRECTOR_STATS_POSITION   ccp(0,0)
#define CC_DIRECTOR_IOS_USE_BACKGROUND_THREAD   0
#define CC_MAC_USE_DISPLAY_LINK_THREAD   0
#define CC_MAC_USE_OWN_THREAD   1
#define CC_MAC_USE_MAIN_THREAD   2
#define CC_DIRECTOR_MAC_THREAD   CC_MAC_USE_DISPLAY_LINK_THREAD
#define CC_NODE_RENDER_SUBPIXEL   1
#define CC_SPRITEBATCHNODE_RENDER_SUBPIXEL   1
#define CC_TEXTURE_ATLAS_USE_TRIANGLE_STRIP   0
#define CC_TEXTURE_ATLAS_USE_VAO   1
#define CC_USE_LA88_LABELS   1
#define CC_SPRITE_DEBUG_DRAW   0
#define CC_LABELBMFONT_DEBUG_DRAW   0
#define CC_LABELATLAS_DEBUG_DRAW   0
#define CC_ENABLE_PROFILERS   0

Detailed Description

cocos2d (cc) configuration file


Define Documentation

If enabled, cocos2d-ios will run on a background thread. If disabled cocos2d-ios will run the main thread.

To enable set it to a 1, to disable it set to 0. Disabled by default.

Only valid for cocos2d-ios. Not supported on cocos2d-mac.

This is an EXPERIMENTAL feature. Do not use it unless you are a developer.

#define CC_DIRECTOR_MAC_THREAD   CC_MAC_USE_DISPLAY_LINK_THREAD

cocos2d-mac can run on its own thread, on the Display Link thread, or in the main thread. If you are developing a game, the Display Link or Own thread are the best alternatives. If you are developing an editor that uses AppKit, you might need to use the Main Thread (only if you are lazy and don't want to create a sync queue).

Options: CC_MAC_USE_DISPLAY_LINK_THREAD (default) CC_MAC_USE_OWN_THREAD CC_MAC_USE_MAIN_THREAD

Only valid for cocos2d-mac. Not supported on cocos2d-ios.

#define CC_DIRECTOR_STATS_INTERVAL   (0.1f)

Seconds between stats updates. 0.5 seconds, means that the stats will be updated every 0.5 seconds. Having a bigger number means more stable stats

Default value: 0.1f

#define CC_DIRECTOR_STATS_POSITION   ccp(0,0)

Position of the FPS

Default: 0,0 (bottom-left corner)

If enabled, it will include CCPhysicsScript with Box2D Physics support. If you enable it, make sure that Box2D is in the search path.

Disabled by default

Since:
v2.1

If enabled, it will include CCPhysicsScript and CCPhysicsDebugNode with Chipmunk Physics support. If you enable it, make sure that Chipmunk is in the search path. Disabled by default

Since:
v2.1
#define CC_ENABLE_DEPRECATED   1

If enabled, cocos2d will compile all deprecated methods, classes and free functions. Also, renamed constants will be active as well. Enable it only when migrating a v1.0 or earlier v2.0 versions to the most recent cocos2d version.

Default value: Enabled by default

Since:
v2.0.0
#define CC_ENABLE_GL_STATE_CACHE   1

If enabled, cocos2d will maintain an OpenGL state cache internally to avoid unnecessary switches. In order to use them, you have to use the following functions, instead of the the GL ones:

If this functionality is disabled, then ccGLUseProgram(), ccGLDeleteProgram(), ccGLBlendFunc() will call the GL ones, without using the cache.

It is recommended to enable it whenever possible to improve speed. If you are migrating your code from GL ES 1.1, then keep it disabled. Once all your code works as expected, turn it on.

Default value: Enabled by default

Since:
v2.0.0
#define CC_ENABLE_PROFILERS   0

If enabled, it will activate various profilers within cocos2d. This statistical data will be saved in the CCProfiler singleton. In order to display saved data, you have to call the CC_PROFILER_DISPLAY_TIMERS() macro. Useful for profiling purposes only. If unsure, leave it disabled.

To enable set it to a value different than 0. Disabled by default.

If enabled, the texture coordinates will be calculated by using this formula:

  • texCoord.left = (rect.origin.x*2+1) / (texture.wide*2);
  • texCoord.right = texCoord.left + (rect.size.width*2-2)/(texture.wide*2);

The same for bottom and top.

This formula prevents artifacts by using 99% of the texture. The "correct" way to prevent artifacts is by using the spritesheet-artifact-fixer.py or a similar tool.

Affected nodes:

To enabled set it to 1. Disabled by default.

Since:
v0.99.5
#define CC_LABELATLAS_DEBUG_DRAW   0

If enabled, all subclasses of CCLabeltAtlas will draw a bounding box Useful for debugging purposes only. It is recommended to leave it disabled.

To enable set it to a value different than 0. Disabled by default.

#define CC_LABELBMFONT_DEBUG_DRAW   0

If enabled, all subclasses of CCLabelBMFont will draw a bounding box Useful for debugging purposes only. It is recommended to leave it disabled.

To enable set it to a value different than 0. Disabled by default.

#define CC_NODE_RENDER_SUBPIXEL   1

If enabled, the CCNode objects (CCSprite, CCLabel,etc) will be able to render in subpixels. If disabled, integer pixels will be used.

To enable set it to 1. Enabled by default.

#define CC_SPRITE_DEBUG_DRAW   0

If enabled, all subclasses of CCSprite will draw a bounding box. Useful for debugging purposes only. It is recommended to leave it disabled.

If the CCSprite is being drawn by a CCSpriteBatchNode, the bounding box might be a bit different. To enable set it to a value different than 0. Disabled by default: 0 -- disabled 1 -- draw bounding box 2 -- draw texture box

If enabled, the CCSprite objects rendered with CCSpriteBatchNode will be able to render in subpixels. If disabled, integer pixels will be used.

To enable set it to 1. Enabled by default.

Use GL_TRIANGLE_STRIP instead of GL_TRIANGLES when rendering the texture atlas. It seems it is the recommend way, but it is much slower, so, enable it at your own risk

To enable set it to a value different than 0. Disabled by default.

#define CC_TEXTURE_ATLAS_USE_VAO   1

By default, CCTextureAtlas (used by many cocos2d classes) will use VAO (Vertex Array Objects). Apple recommends its usage but they might consume a lot of memory, specially if you use many of them. So for certain cases, where you might need hundreds of VAO objects, it might be a good idea to disable it.

To disable it set it to 0. Enabled by default.

#define CC_USE_LA88_LABELS   1

If enabled, it will use LA88 (Luminance Alpha 16-bit textures) for CCLabelTTF objects. If it is disabled, it will use A8 (Alpha 8-bit textures). LA88 textures are 6% faster than A8 textures, but they will consume 2x memory.

This feature is enabled by default.

Since:
v0.99.5