2019-11-23 20:27:39 +08:00
|
|
|
/****************************************************************************
|
|
|
|
Copyright (c) 2008-2010 Ricardo Quesada
|
|
|
|
Copyright (c) 2010-2012 cocos2d-x.org
|
|
|
|
Copyright (c) 2011 Zynga Inc.
|
|
|
|
Copyright (c) 2013-2016 Chukong Technologies Inc.
|
|
|
|
Copyright (c) 2017-2018 Xiamen Yaji Software Co., Ltd.
|
|
|
|
|
2022-10-18 19:17:36 +08:00
|
|
|
https://axmolengine.github.io/axmol
|
2019-11-23 20:27:39 +08:00
|
|
|
|
|
|
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
|
|
of this software and associated documentation files (the "Software"), to deal
|
|
|
|
in the Software without restriction, including without limitation the rights
|
|
|
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
|
|
copies of the Software, and to permit persons to whom the Software is
|
|
|
|
furnished to do so, subject to the following conditions:
|
|
|
|
|
|
|
|
The above copyright notice and this permission notice shall be included in
|
|
|
|
all copies or substantial portions of the Software.
|
|
|
|
|
|
|
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
|
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
|
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
|
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
|
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
|
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
|
|
THE SOFTWARE.
|
|
|
|
****************************************************************************/
|
|
|
|
#pragma once
|
|
|
|
|
2023-06-11 13:08:08 +08:00
|
|
|
#include "platform/PlatformConfig.h"
|
2019-11-23 20:27:39 +08:00
|
|
|
|
|
|
|
/**
|
|
|
|
* @file
|
|
|
|
* cocos2d (cc) configuration file.
|
|
|
|
*/
|
|
|
|
|
2022-07-16 10:43:05 +08:00
|
|
|
/** @def AX_ENABLE_STACKABLE_ACTIONS
|
2019-11-23 20:27:39 +08:00
|
|
|
* If enabled, actions that alter the position property (eg: MoveBy, JumpBy, BezierBy, etc..) will be stacked.
|
2021-12-25 10:04:45 +08:00
|
|
|
* If you run 2 or more 'position' actions at the same time on a node, then end position will be the sum of all the
|
|
|
|
* positions. If disabled, only the last run action will take effect. Enabled by default. Disable to be compatible with
|
|
|
|
* v2.0 and older versions.
|
2019-11-23 20:27:39 +08:00
|
|
|
* @since v2.1
|
|
|
|
*/
|
2022-07-16 10:43:05 +08:00
|
|
|
#ifndef AX_ENABLE_STACKABLE_ACTIONS
|
|
|
|
# define AX_ENABLE_STACKABLE_ACTIONS 1
|
2019-11-23 20:27:39 +08:00
|
|
|
#endif
|
|
|
|
|
2022-07-16 10:43:05 +08:00
|
|
|
/** @def AX_ENABLE_GL_STATE_CACHE
|
2019-11-23 20:27:39 +08:00
|
|
|
* 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 GL ones:
|
|
|
|
* - ccGLUseProgram() instead of glUseProgram().
|
|
|
|
* - GL::deleteProgram() instead of glDeleteProgram().
|
|
|
|
* - GL::blendFunc() instead of glBlendFunc().
|
|
|
|
|
2021-12-25 10:04:45 +08:00
|
|
|
* If this functionality is disabled, then ccGLUseProgram(), GL::deleteProgram(), GL::blendFunc() will call the GL ones,
|
|
|
|
without using the cache.
|
2019-11-23 20:27:39 +08:00
|
|
|
|
|
|
|
* It is recommended to enable whenever possible to improve speed.
|
2021-12-25 10:04:45 +08:00
|
|
|
* 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.
|
2019-11-23 20:27:39 +08:00
|
|
|
|
|
|
|
* Enabled by default.
|
|
|
|
|
|
|
|
* @since v2.0.0
|
|
|
|
*/
|
2022-07-16 10:43:05 +08:00
|
|
|
#ifndef AX_ENABLE_GL_STATE_CACHE
|
|
|
|
# define AX_ENABLE_GL_STATE_CACHE 1
|
2019-11-23 20:27:39 +08:00
|
|
|
#endif
|
|
|
|
|
2022-07-16 10:43:05 +08:00
|
|
|
/** @def AX_FIX_ARTIFACTS_BY_STRECHING_TEXEL
|
2019-11-23 20:27:39 +08:00
|
|
|
* 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:
|
|
|
|
* - Sprite / SpriteBatchNode and subclasses: LabelBMFont, TMXTiledMap.
|
|
|
|
* - LabelAtlas.
|
|
|
|
* - QuadParticleSystem.
|
|
|
|
* - TileMap.
|
|
|
|
|
|
|
|
* To enabled set it to 1. Disabled by default.
|
|
|
|
|
|
|
|
* @since v0.99.5
|
|
|
|
*/
|
2022-07-16 10:43:05 +08:00
|
|
|
#ifndef AX_FIX_ARTIFACTS_BY_STRECHING_TEXEL
|
|
|
|
# define AX_FIX_ARTIFACTS_BY_STRECHING_TEXEL 0
|
2019-11-23 20:27:39 +08:00
|
|
|
#endif
|
|
|
|
|
2022-07-16 10:43:05 +08:00
|
|
|
/** @def AX_DIRECTOR_STATS_INTERVAL
|
2019-11-23 20:27:39 +08:00
|
|
|
* Seconds between FPS updates.
|
|
|
|
* 0.5 seconds, means that the FPS number will be updated every 0.5 seconds.
|
|
|
|
* Having a bigger number means a more reliable FPS.
|
|
|
|
|
|
|
|
* Default value: 0.5f
|
|
|
|
*/
|
2022-07-16 10:43:05 +08:00
|
|
|
#ifndef AX_DIRECTOR_STATS_INTERVAL
|
|
|
|
# define AX_DIRECTOR_STATS_INTERVAL (0.5f)
|
2019-11-23 20:27:39 +08:00
|
|
|
#endif
|
|
|
|
|
2022-07-16 10:43:05 +08:00
|
|
|
/** @def AX_DIRECTOR_FPS_POSITION
|
2019-11-23 20:27:39 +08:00
|
|
|
* Position of the FPS.
|
|
|
|
|
|
|
|
* Default: 0,0 (bottom-left corner).
|
|
|
|
*/
|
2022-07-16 10:43:05 +08:00
|
|
|
#ifndef AX_DIRECTOR_FPS_POSITION
|
|
|
|
# define AX_DIRECTOR_FPS_POSITION Vec2(0, 0)
|
2019-11-23 20:27:39 +08:00
|
|
|
#endif
|
|
|
|
|
2022-07-16 10:43:05 +08:00
|
|
|
/** @def AX_DIRECTOR_DISPATCH_FAST_EVENTS
|
2019-11-23 20:27:39 +08:00
|
|
|
* If enabled, and only when it is used with FastDirector, the main loop will wait 0.04 seconds to
|
|
|
|
* dispatch all the events, even if there are not events to dispatch.
|
|
|
|
* If your game uses lot's of events (eg: touches) it might be a good idea to enable this feature.
|
|
|
|
* Otherwise, it is safe to leave it disabled.
|
|
|
|
|
|
|
|
* To enable set it to 1. Disabled by default.
|
|
|
|
|
|
|
|
* @warning This feature is experimental.
|
|
|
|
*/
|
2022-07-16 10:43:05 +08:00
|
|
|
#ifndef AX_DIRECTOR_DISPATCH_FAST_EVENTS
|
|
|
|
# define AX_DIRECTOR_DISPATCH_FAST_EVENTS 0
|
2019-11-23 20:27:39 +08:00
|
|
|
#endif
|
|
|
|
|
2022-07-16 10:43:05 +08:00
|
|
|
/** @def AX_DIRECTOR_MAC_USE_DISPLAY_LINK_THREAD
|
2019-11-23 20:27:39 +08:00
|
|
|
* If enabled, cocos2d-mac will run on the Display Link thread. If disabled cocos2d-mac will run in its own thread.
|
|
|
|
* If enabled, the images will be drawn at the "correct" time, but the events might not be very responsive.
|
|
|
|
* If disabled, some frames might be skipped, but the events will be dispatched as they arrived.
|
|
|
|
* To enable set it to a 1, to disable it set to 0. Enabled by default.
|
|
|
|
* Only valid for cocos2d-mac. Not supported on cocos2d-ios.
|
|
|
|
*/
|
2022-07-16 10:43:05 +08:00
|
|
|
#ifndef AX_DIRECTOR_MAC_USE_DISPLAY_LINK_THREAD
|
|
|
|
# define AX_DIRECTOR_MAC_USE_DISPLAY_LINK_THREAD 1
|
2019-11-23 20:27:39 +08:00
|
|
|
#endif
|
|
|
|
|
2022-07-16 10:43:05 +08:00
|
|
|
/** @def AX_NODE_RENDER_SUBPIXEL
|
2019-11-23 20:27:39 +08:00
|
|
|
* If enabled, the Node objects (Sprite, Label,etc) will be able to render in subpixels.
|
|
|
|
* If disabled, integer pixels will be used.
|
|
|
|
* To enable set it to 1. Enabled by default.
|
|
|
|
*/
|
2022-07-16 10:43:05 +08:00
|
|
|
#ifndef AX_NODE_RENDER_SUBPIXEL
|
|
|
|
# define AX_NODE_RENDER_SUBPIXEL 1
|
2019-11-23 20:27:39 +08:00
|
|
|
#endif
|
|
|
|
|
2022-07-16 10:43:05 +08:00
|
|
|
/** @def AX_SPRITEBATCHNODE_RENDER_SUBPIXEL
|
2019-11-23 20:27:39 +08:00
|
|
|
* If enabled, the Sprite objects rendered with SpriteBatchNode will be able to render in subpixels.
|
|
|
|
* If disabled, integer pixels will be used.
|
|
|
|
* To enable set it to 1. Enabled by default.
|
|
|
|
*/
|
2022-07-16 10:43:05 +08:00
|
|
|
#ifndef AX_SPRITEBATCHNODE_RENDER_SUBPIXEL
|
|
|
|
# define AX_SPRITEBATCHNODE_RENDER_SUBPIXEL 1
|
2019-11-23 20:27:39 +08:00
|
|
|
#endif
|
|
|
|
|
2022-07-16 10:43:05 +08:00
|
|
|
/** @def AX_TEXTURE_ATLAS_USE_VAO
|
2019-11-23 20:27:39 +08:00
|
|
|
* By default, TextureAtlas (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.
|
|
|
|
* If a device doesn't support VAO though it claims to support should add exceptions list here.
|
|
|
|
*/
|
2022-07-16 10:43:05 +08:00
|
|
|
#ifndef AX_TEXTURE_ATLAS_USE_VAO
|
|
|
|
# define AX_TEXTURE_ATLAS_USE_VAO 1
|
2019-11-23 20:27:39 +08:00
|
|
|
#endif
|
|
|
|
|
2022-07-16 10:43:05 +08:00
|
|
|
/** @def AX_USE_LA88_LABELS
|
2019-11-23 20:27:39 +08:00
|
|
|
* If enabled, it will use LA88 (Luminance Alpha 16-bit textures) for LabelTTF 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
|
|
|
|
*/
|
2022-07-16 10:43:05 +08:00
|
|
|
#ifndef AX_USE_LA88_LABELS
|
|
|
|
# define AX_USE_LA88_LABELS 1
|
2019-11-23 20:27:39 +08:00
|
|
|
#endif
|
|
|
|
|
2022-07-16 10:43:05 +08:00
|
|
|
/** @def AX_SPRITE_DEBUG_DRAW
|
2019-11-23 20:27:39 +08:00
|
|
|
* If enabled, all subclasses of Sprite 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:
|
|
|
|
* 0 -- disabled
|
|
|
|
* 1 -- draw bounding box
|
|
|
|
* 2 -- draw texture box
|
|
|
|
*/
|
2022-07-16 10:43:05 +08:00
|
|
|
#ifndef AX_SPRITE_DEBUG_DRAW
|
|
|
|
# define AX_SPRITE_DEBUG_DRAW 0
|
2019-11-23 20:27:39 +08:00
|
|
|
#endif
|
|
|
|
|
2022-07-16 10:43:05 +08:00
|
|
|
/** @def AX_LABEL_DEBUG_DRAW
|
2019-11-23 20:27:39 +08:00
|
|
|
* If enabled, all subclasses of Label 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:
|
|
|
|
* 0 -- disabled
|
|
|
|
* 1 -- draw bounding box
|
|
|
|
*/
|
2022-07-16 10:43:05 +08:00
|
|
|
#ifndef AX_LABEL_DEBUG_DRAW
|
|
|
|
# define AX_LABEL_DEBUG_DRAW 0
|
2019-11-23 20:27:39 +08:00
|
|
|
#endif
|
|
|
|
|
2022-07-16 10:43:05 +08:00
|
|
|
/** @def AX_SPRITEBATCHNODE_DEBUG_DRAW
|
2019-11-23 20:27:39 +08:00
|
|
|
* If enabled, all subclasses of Sprite that are rendered using an SpriteBatchNode 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.
|
|
|
|
*/
|
2022-07-16 10:43:05 +08:00
|
|
|
#ifndef AX_SPRITEBATCHNODE_DEBUG_DRAW
|
|
|
|
# define AX_SPRITEBATCHNODE_DEBUG_DRAW 0
|
2019-11-23 20:27:39 +08:00
|
|
|
#endif
|
|
|
|
|
2022-07-16 10:43:05 +08:00
|
|
|
/** @def AX_LABELBMFONT_DEBUG_DRAW
|
2019-11-23 20:27:39 +08:00
|
|
|
* If enabled, all subclasses of LabelBMFont 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.
|
|
|
|
*/
|
2022-07-16 10:43:05 +08:00
|
|
|
#ifndef AX_LABELBMFONT_DEBUG_DRAW
|
|
|
|
# define AX_LABELBMFONT_DEBUG_DRAW 0
|
2019-11-23 20:27:39 +08:00
|
|
|
#endif
|
|
|
|
|
2022-07-16 10:43:05 +08:00
|
|
|
/** @def AX_LABELATLAS_DEBUG_DRAW
|
2019-11-23 20:27:39 +08:00
|
|
|
* If enabled, all subclasses of LabeltAtlas 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.
|
|
|
|
*/
|
2022-07-16 10:43:05 +08:00
|
|
|
#ifndef AX_LABELATLAS_DEBUG_DRAW
|
|
|
|
# define AX_LABELATLAS_DEBUG_DRAW 0
|
2019-11-23 20:27:39 +08:00
|
|
|
#endif
|
|
|
|
|
2022-07-16 10:43:05 +08:00
|
|
|
/** @def AX_NODE_DEBUG_VERIFY_EVENT_LISTENERS
|
2021-12-25 10:04:45 +08:00
|
|
|
* If enabled (in conjunction with assertion macros) will verify on Node destruction that the node being destroyed has
|
|
|
|
* no event listeners still associated with it in the event dispatcher. This can be used to track down problems where
|
|
|
|
* the event dispatch system has dangling pointers to destroyed nodes. Note: event listener verification will always be
|
|
|
|
* disabled in builds where assertions are disabled regardless of this setting.
|
2019-11-23 20:27:39 +08:00
|
|
|
*/
|
2022-07-16 10:43:05 +08:00
|
|
|
#ifndef AX_NODE_DEBUG_VERIFY_EVENT_LISTENERS
|
|
|
|
# define AX_NODE_DEBUG_VERIFY_EVENT_LISTENERS 0
|
2019-11-23 20:27:39 +08:00
|
|
|
#endif
|
|
|
|
|
2022-07-16 10:43:05 +08:00
|
|
|
/** @def AX_ENABLE_PROFILERS
|
2019-11-23 20:27:39 +08:00
|
|
|
* If enabled, will activate various profilers within cocos2d. This statistical data will be output to the console
|
|
|
|
* once per second showing average time (in milliseconds) required to execute the specific routine(s).
|
|
|
|
* 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.
|
|
|
|
*/
|
2022-07-16 10:43:05 +08:00
|
|
|
#ifndef AX_ENABLE_PROFILERS
|
|
|
|
# define AX_ENABLE_PROFILERS 0
|
2019-11-23 20:27:39 +08:00
|
|
|
#endif
|
|
|
|
|
|
|
|
/** Enable Lua engine debug log. */
|
2022-07-16 10:43:05 +08:00
|
|
|
#ifndef AX_LUA_ENGINE_DEBUG
|
|
|
|
# define AX_LUA_ENGINE_DEBUG 0
|
2019-11-23 20:27:39 +08:00
|
|
|
#endif
|
|
|
|
|
|
|
|
/** Use physics integration API. */
|
2021-04-22 22:01:47 +08:00
|
|
|
// It works with:
|
|
|
|
// Chipmunk2D or Box2D
|
2022-07-16 10:43:05 +08:00
|
|
|
#ifndef AX_USE_PHYSICS
|
|
|
|
# define AX_USE_PHYSICS 1
|
2019-11-23 20:27:39 +08:00
|
|
|
#endif
|
2022-07-16 10:43:05 +08:00
|
|
|
#if (AX_USE_PHYSICS)
|
2021-04-22 22:01:47 +08:00
|
|
|
/** Use Chipmunk2D physics 2d engine on physics integration API. */
|
2022-07-16 10:43:05 +08:00
|
|
|
# ifndef AX_ENABLE_CHIPMUNK_INTEGRATION
|
|
|
|
# define AX_ENABLE_CHIPMUNK_INTEGRATION 0
|
2021-12-25 10:04:45 +08:00
|
|
|
# endif
|
2021-04-22 22:01:47 +08:00
|
|
|
/** or use Box2D physics 2d engine on physics integration API. */
|
2022-07-16 10:43:05 +08:00
|
|
|
# ifndef AX_ENABLE_BOX2D_INTEGRATION
|
|
|
|
# define AX_ENABLE_BOX2D_INTEGRATION 1
|
2021-12-25 10:04:45 +08:00
|
|
|
# endif
|
2022-07-16 10:43:05 +08:00
|
|
|
#endif // AX_USE_PHYSICS
|
2019-11-23 20:27:39 +08:00
|
|
|
|
|
|
|
/** Use 3d physics integration API. */
|
2022-07-16 10:43:05 +08:00
|
|
|
#ifndef AX_USE_3D_PHYSICS
|
2023-03-11 22:10:18 +08:00
|
|
|
# if (AX_TARGET_PLATFORM == AX_PLATFORM_IOS || AX_TARGET_PLATFORM == AX_PLATFORM_MAC || \
|
|
|
|
AX_TARGET_PLATFORM == AX_PLATFORM_WIN32 || AX_TARGET_PLATFORM == AX_PLATFORM_WINRT || \
|
2023-09-01 16:31:14 +08:00
|
|
|
AX_TARGET_PLATFORM == AX_PLATFORM_ANDROID || AX_TARGET_PLATFORM == AX_PLATFORM_LINUX || AX_TARGET_PLATFORM == AX_PLATFORM_EMSCRIPTEN)
|
2022-07-16 10:43:05 +08:00
|
|
|
# define AX_USE_3D_PHYSICS 1
|
2021-12-25 10:04:45 +08:00
|
|
|
# endif
|
2019-11-23 20:27:39 +08:00
|
|
|
#endif
|
|
|
|
|
2022-07-16 10:43:05 +08:00
|
|
|
#if (AX_USE_3D_PHYSICS)
|
2019-11-23 20:27:39 +08:00
|
|
|
/** Use bullet physics engine. */
|
2022-07-16 10:43:05 +08:00
|
|
|
# ifndef AX_ENABLE_BULLET_INTEGRATION
|
|
|
|
# define AX_ENABLE_BULLET_INTEGRATION 1
|
2021-12-25 10:04:45 +08:00
|
|
|
# endif
|
2019-11-23 20:27:39 +08:00
|
|
|
#endif
|
|
|
|
|
|
|
|
/** Use 3D navigation API */
|
2022-07-16 10:43:05 +08:00
|
|
|
#ifndef AX_USE_NAVMESH
|
|
|
|
# define AX_USE_NAVMESH 1
|
2019-11-23 20:27:39 +08:00
|
|
|
#endif
|
|
|
|
|
|
|
|
/** Use culling or not. */
|
2022-07-16 10:43:05 +08:00
|
|
|
#ifndef AX_USE_CULLING
|
|
|
|
# define AX_USE_CULLING 1
|
2019-11-23 20:27:39 +08:00
|
|
|
#endif
|
|
|
|
|
2021-12-25 10:04:45 +08:00
|
|
|
/** Support PNG or not. If your application don't use png format picture, you can undefine this macro to save package
|
|
|
|
* size.
|
2019-11-23 20:27:39 +08:00
|
|
|
*/
|
2022-07-16 10:43:05 +08:00
|
|
|
#ifndef AX_USE_PNG
|
|
|
|
# define AX_USE_PNG 1
|
|
|
|
#endif // AX_USE_PNG
|
2019-11-23 20:27:39 +08:00
|
|
|
|
2021-12-25 10:04:45 +08:00
|
|
|
/** Support JPEG or not. If your application don't use jpeg format picture, you can undefine this macro to save package
|
|
|
|
* size.
|
2019-11-23 20:27:39 +08:00
|
|
|
*/
|
2022-07-16 10:43:05 +08:00
|
|
|
#ifndef AX_USE_JPEG
|
|
|
|
# define AX_USE_JPEG 1
|
|
|
|
#endif // AX_USE_JPEG
|
2019-11-23 20:27:39 +08:00
|
|
|
|
2021-12-25 10:04:45 +08:00
|
|
|
/** Support webp or not. If your application don't use webp format picture, you can undefine this macro to save package
|
|
|
|
* size.
|
2019-11-23 20:27:39 +08:00
|
|
|
*/
|
2023-09-01 16:31:14 +08:00
|
|
|
#if AX_TARGET_PLATFORM != AX_PLATFORM_EMSCRIPTEN
|
|
|
|
#ifndef AX_USE_WEBP
|
|
|
|
#define AX_USE_WEBP 1
|
|
|
|
#endif // AX_USE_WEBP
|
|
|
|
#endif
|
2019-11-23 20:27:39 +08:00
|
|
|
|
2020-08-04 22:38:57 +08:00
|
|
|
/** Enable Lua Script binding */
|
2022-07-16 10:43:05 +08:00
|
|
|
#ifndef AX_ENABLE_SCRIPT_BINDING
|
|
|
|
# define AX_ENABLE_SCRIPT_BINDING 1
|
2019-11-23 20:27:39 +08:00
|
|
|
#endif
|
|
|
|
|
2022-07-16 10:43:05 +08:00
|
|
|
/** When AX_ENABLE_SCRIPT_BINDING and AX_ENABLE_GC_FOR_NATIVE_OBJECTS are both 1
|
2019-11-23 20:27:39 +08:00
|
|
|
* then the Garbage collector will release the native objects, only when the JS/Lua objects
|
|
|
|
* are collected.
|
|
|
|
* The benefit is that users don't need to retain/release the JS/Lua objects manually.
|
|
|
|
* Disabled by default.
|
|
|
|
*/
|
2022-07-16 10:43:05 +08:00
|
|
|
#ifdef AX_ENABLE_SCRIPT_BINDING
|
|
|
|
# ifndef AX_ENABLE_GC_FOR_NATIVE_OBJECTS
|
|
|
|
# define AX_ENABLE_GC_FOR_NATIVE_OBJECTS 0
|
2021-12-25 10:04:45 +08:00
|
|
|
# endif
|
2019-11-23 20:27:39 +08:00
|
|
|
#endif
|
|
|
|
|
2022-07-16 10:43:05 +08:00
|
|
|
#ifndef AX_FILEUTILS_APPLE_ENABLE_OBJC
|
|
|
|
# define AX_FILEUTILS_APPLE_ENABLE_OBJC 1
|
2019-11-23 20:27:39 +08:00
|
|
|
#endif
|
|
|
|
|
2022-07-16 10:43:05 +08:00
|
|
|
/** @def AX_ENABLE_PREMULTIPLIED_ALPHA
|
2019-11-23 20:27:39 +08:00
|
|
|
* If enabled, all textures will be preprocessed to multiply its rgb components
|
|
|
|
* by its alpha component.
|
|
|
|
*/
|
2022-07-16 10:43:05 +08:00
|
|
|
#ifndef AX_ENABLE_PREMULTIPLIED_ALPHA
|
|
|
|
# define AX_ENABLE_PREMULTIPLIED_ALPHA 1
|
2019-11-23 20:27:39 +08:00
|
|
|
#endif
|
|
|
|
|
2022-07-16 10:43:05 +08:00
|
|
|
/** @def AX_STRIP_FPS
|
2019-11-23 20:27:39 +08:00
|
|
|
* Whether to strip FPS related data and functions, such as cc_fps_images_png
|
|
|
|
*/
|
2022-07-16 10:43:05 +08:00
|
|
|
#ifndef AX_STRIP_FPS
|
|
|
|
# define AX_STRIP_FPS 0
|
2019-11-23 20:27:39 +08:00
|
|
|
#endif
|
|
|
|
|
2022-07-16 10:43:05 +08:00
|
|
|
#ifndef AX_REDUCE_PAUSED_CPU_USAGE
|
|
|
|
# define AX_REDUCE_PAUSED_CPU_USAGE 0
|
2020-09-05 17:12:30 +08:00
|
|
|
#endif
|
|
|
|
|
2022-07-16 10:43:05 +08:00
|
|
|
#ifndef AX_META_TEXTURES
|
|
|
|
# define AX_META_TEXTURES 2
|
2019-11-23 20:27:39 +08:00
|
|
|
#endif
|
2022-08-29 20:51:22 +08:00
|
|
|
|
|
|
|
/// @name namespace ax
|
|
|
|
/// @{
|
|
|
|
#ifdef __cplusplus
|
|
|
|
# define NS_AX_BEGIN \
|
|
|
|
namespace ax \
|
|
|
|
{
|
|
|
|
# define NS_AX_END }
|
|
|
|
# define USING_NS_AX using namespace ax
|
|
|
|
# define NS_AX ::ax
|
|
|
|
#else
|
|
|
|
# define NS_AX_BEGIN
|
|
|
|
# define NS_AX_END
|
|
|
|
# define USING_NS_AX
|
|
|
|
# define NS_AX
|
|
|
|
#endif
|
|
|
|
|
|
|
|
namespace ax {}
|
2022-10-18 19:17:36 +08:00
|
|
|
namespace axmol = ax;
|
2022-08-29 20:51:22 +08:00
|
|
|
// end of namespace group
|
|
|
|
/// @}
|