2012-09-15 08:29:38 +08:00
[cocos2d-x]
# the prefix to be added to the generated functions. You might or might not use this in your own
# templates
prefix = cocos2dx
# create a target namespace (in javascript, this would create some code like the equiv. to `ns = ns || {}`)
# all classes will be embedded in that namespace
target_namespace = cc
2013-06-21 21:27:45 +08:00
android_headers = -I%(androidndkdir)s/platforms/android-14/arch-arm/usr/include -I%(androidndkdir)s/sources/cxx-stl/gnu-libstdc++/4.7/libs/armeabi-v7a/include -I%(androidndkdir)s/sources/cxx-stl/gnu-libstdc++/4.7/include
2012-09-15 08:29:38 +08:00
android_flags = -D_SIZE_T_DEFINED_
2013-06-21 21:27:45 +08:00
clang_headers = -I%(clangllvmdir)s/lib/clang/3.3/include
2013-06-04 04:09:49 +08:00
clang_flags = -nostdinc -x c++ -std=c++11
2012-09-15 08:29:38 +08:00
2013-10-16 15:43:59 +08:00
cocos_headers = -I%(cocosdir)s/cocos/2d -I%(cocosdir)s/cocos/base -I%(cocosdir)s/cocos/physics -I%(cocosdir)s/cocos/2d/platform -I%(cocosdir)s/cocos/2d/platform/android -I%(cocosdir)s/cocos/math/kazmath/include
2012-09-15 08:29:38 +08:00
cocos_flags = -DANDROID -DCOCOS2D_JAVASCRIPT
2013-10-16 15:43:59 +08:00
cxxgenerator_headers =
2012-09-15 08:29:38 +08:00
# extra arguments for clang
2013-03-17 14:11:15 +08:00
extra_arguments = %(android_headers)s %(clang_headers)s %(cxxgenerator_headers)s %(cocos_headers)s %(android_flags)s %(clang_flags)s %(cocos_flags)s %(extra_flags)s
2012-09-15 08:29:38 +08:00
# what headers to parse
2013-10-16 15:43:59 +08:00
headers = %(cocosdir)s/cocos/2d/cocos2d.h %(cocosdir)s/cocos/audio/include/SimpleAudioEngine.h
2012-09-15 08:29:38 +08:00
# what classes to produce code for. You can use regular expressions here. When testing the regular
2013-06-20 14:24:36 +08:00
# expression, it will be enclosed in "^$", like this: "^Menu*$".
2013-12-19 17:05:59 +08:00
classes = New.* Sprite.* Scene Node.* Director Layer.* Menu.* Touch .*Action.* Move.* Rotate.* Blink.* Tint.* Sequence Repeat.* Fade.* Ease.* Scale.* Transition.* Spawn Animat.* Flip.* Delay.* Skew.* Jump.* Place.* Show.* Progress.* PointArray ToggleVisibility.* RemoveSelf Hide Particle.* Label.* Atlas.* TextureCache.* Texture2D Cardinal.* CatmullRom.* ParallaxNode TileMap.* TMX.* CallFunc RenderTexture GridAction Grid3DAction GridBase$ .+Grid Shaky3D Waves3D FlipX3D FlipY3D Speed ActionManager Set Data SimpleAudioEngine Scheduler Timer Orbit.* Follow.* Bezier.* CardinalSpline.* Camera.* DrawNode .*3D$ Liquid$ Waves$ ShuffleTiles$ TurnOffTiles$ Split.* Twirl$ FileUtils$ GLProgram ShaderCache Application ClippingNode MotionStreak TextFieldTTF EGLViewProtocol EGLView Component __NodeRGBA __LayerRGBA
2012-09-15 08:29:38 +08:00
2013-11-26 15:43:39 +08:00
classes_need_extend = Node Layer.* Sprite MenuItemFont Scene DrawNode
2012-09-15 08:29:38 +08:00
# what should we skip? in the format ClassName::[function function]
# ClassName is a regular expression, but will be used like this: "^ClassName$" functions are also
# regular expressions, they will not be surrounded by "^$". If you want to skip a whole class, just
# add a single "*" as functions. See bellow for several examples. A special class name is "*", which
# will apply to all class names. This is a convenience wildcard to be able to skip similar named
# functions from all classes.
2012-10-12 09:43:40 +08:00
2013-12-23 20:25:11 +08:00
skip = Node::[^setPosition$ setGrid setGLServerState description getUserObject .*UserData getGLServerState .*schedule setContentSize],
2013-08-28 18:17:52 +08:00
Sprite::[getQuad getBlendFunc ^setPosition$ setBlendFunc],
2013-09-17 17:03:45 +08:00
SpriteBatchNode::[getBlendFunc setBlendFunc getDescendants],
2013-07-02 17:48:06 +08:00
MotionStreak::[getBlendFunc setBlendFunc draw update],
2013-06-20 14:24:36 +08:00
AtlasNode::[getBlendFunc setBlendFunc],
ParticleBatchNode::[getBlendFunc setBlendFunc],
LayerColor::[getBlendFunc setBlendFunc],
ParticleSystem::[getBlendFunc setBlendFunc],
2013-07-17 14:36:10 +08:00
DrawNode::[getBlendFunc setBlendFunc drawPolygon listenBackToForeground],
2013-12-18 10:15:42 +08:00
Director::[getAccelerometer (g|s)et.*Dispatcher getOpenGLView getProjection getFrustum getRenderer],
2013-07-16 16:45:57 +08:00
Layer.*::[didAccelerate (g|s)etBlendFunc keyPressed keyReleased],
2013-06-20 14:24:36 +08:00
Menu.*::[.*Target getSubItems create initWithItems alignItemsInRows alignItemsInColumns],
2013-07-16 16:45:57 +08:00
MenuItem.*::[create setCallback initWithCallback],
2013-06-20 14:24:36 +08:00
Copying::[*],
2013-10-08 15:57:34 +08:00
LabelProtocol::[*],
LabelTextFormatProtocol::[*],
2013-11-01 15:33:57 +08:00
Label::[getLettersInfo],
2013-06-20 14:24:36 +08:00
.*Delegate::[*],
PoolManager::[*],
2013-12-16 12:03:29 +08:00
Texture2D::[initWithPVRTCData addPVRTCImage releaseData setTexParameters initWithData keepData getPixelFormatInfoMap],
2013-06-20 14:24:36 +08:00
Set::[begin end acceptVisitor],
IMEDispatcher::[*],
SAXParser::[*],
Thread::[*],
Profiler::[*],
ProfilingTimer::[*],
CallFunc::[create initWithFunction],
SAXDelegator::[*],
Color3bObject::[*],
TouchDispatcher::[*],
2013-03-01 10:45:07 +08:00
EGLTouchDelegate::[*],
2013-06-20 14:24:36 +08:00
ScriptEngineManager::[*],
KeypadHandler::[*],
Invocation::[*],
2013-10-08 15:57:34 +08:00
EGLView::[end swapBuffers],
EGLViewProtocol::[(?!setDesignResolutionSize|getVisibleSize|getVisibleOrigin)],
2013-06-20 14:24:36 +08:00
SchedulerScriptHandlerEntry::[*],
Size::[*],
Point::[*],
PointArray::[*],
Rect::[*],
String::[*],
Data::[*],
Dictionary::[*],
Array::[*],
Range::[*],
NotificationObserver::[*],
Image::[initWithString initWithImageData],
Sequence::[create],
Spawn::[create],
Animation::[create],
GLProgram::[getProgram setUniformLocationWith2f.* setUniformLocationWith1f.* setUniformLocationWith3f.* setUniformLocationWith4f.*],
2013-07-08 15:19:46 +08:00
Grid3DAction::[create actionWith.* vertex originalVertex (g|s)etVertex getOriginalVertex],
Grid3D::[vertex originalVertex (g|s)etVertex getOriginalVertex],
TiledGrid3DAction::[create actionWith.* tile originalTile getOriginalTile (g|s)etTile],
TiledGrid3D::[tile originalTile getOriginalTile (g|s)etTile],
2013-06-20 14:24:36 +08:00
TMXLayer::[getTiles],
TMXMapInfo::[startElement endElement textHandler],
ParticleSystemQuad::[postStep setBatchNode draw setTexture$ setTotalParticles updateQuadWithParticle setupIndices listenBackToForeground initWithTotalParticles particleWithFile node],
LayerMultiplex::[create layerWith.* initWithLayers],
CatmullRom.*::[create actionWithDuration],
Bezier.*::[create actionWithDuration],
CardinalSpline.*::[create actionWithDuration setPoints],
Scheduler::[pause resume unschedule schedule update isTargetPaused],
2013-07-16 10:03:25 +08:00
TextureCache::[addPVRTCImage],
2013-07-19 11:08:47 +08:00
Timer::[getSelector createWithScriptHandler],
2013-09-12 15:34:14 +08:00
*::[copyWith.* onEnter.* onExit.* ^description$ getObjectType onTouch.* onAcc.* onKey.* onRegisterTouchListener],
2013-12-16 14:14:12 +08:00
FileUtils::[(g|s)etSearchResolutionsOrder$ (g|s)etSearchPaths$ getFileData],
2013-06-20 14:24:36 +08:00
Application::[^application.* ^run$],
Camera::[getEyeXYZ getCenterXYZ getUpXYZ],
2013-12-17 15:41:26 +08:00
ccFontDefinition::[*],
NewTextureAtlas::[*]
2013-05-08 08:22:25 +08:00
2013-09-13 11:41:20 +08:00
rename_functions = SpriteFrameCache::[addSpriteFramesWithFile=addSpriteFrames getSpriteFrameByName=getSpriteFrame],
2013-07-19 11:08:47 +08:00
MenuItemFont::[setFontNameObj = setFontName setFontSizeObj=setFontSize getFontSizeObj=getFontSize getFontNameObj=getFontName],
2013-06-20 14:24:36 +08:00
ProgressTimer::[setReverseProgress = setReverseDirection],
2013-09-13 11:41:20 +08:00
AnimationCache::[addAnimationsWithFile = addAnimations],
2013-06-20 14:24:36 +08:00
LayerGradient::[initWithColor = init],
LayerColor::[initWithColor = init],
2013-09-13 11:41:20 +08:00
GLProgram::[initWithVertexShaderByteArray = initWithString initWithVertexShaderFilename=init programLog=getProgramLog setUniformLocationWith1i=setUniformLocationI32],
2013-07-17 17:38:03 +08:00
Node::[removeFromParentAndCleanup = removeFromParent removeAllChildrenWithCleanup=removeAllChildren],
2013-06-20 14:24:36 +08:00
LabelAtlas::[create = _create],
2013-09-13 11:41:20 +08:00
Sprite::[initWithFile = init],
2013-10-08 15:57:34 +08:00
SpriteBatchNode::[initWithFile = init removeAllChildrenWithCleanup=removeAllChildren],
2013-06-20 14:24:36 +08:00
Touch::[getID = getId],
2013-09-13 11:41:20 +08:00
SimpleAudioEngine::[preloadBackgroundMusic = preloadMusic setBackgroundMusicVolume=setMusicVolume getBackgroundMusicVolume=getMusicVolume playBackgroundMusic=playMusic stopBackgroundMusic=stopMusic pauseBackgroundMusic=pauseMusic resumeBackgroundMusic=resumeMusic rewindBackgroundMusic=rewindMusic isBackgroundMusicPlaying=isMusicPlaying willPlayBackgroundMusic=willPlayMusic],
2013-07-15 16:24:42 +08:00
FileUtils::[loadFilenameLookupDictionaryFromFile = loadFilenameLookup]
2013-06-20 14:24:36 +08:00
rename_classes = ParticleSystemQuad::ParticleSystem,
2013-12-13 10:10:49 +08:00
SimpleAudioEngine::AudioEngine,
__NodeRGBA::NodeRGBA,
__LayerRGBA::LayerRGBA
2012-09-21 05:49:14 +08:00
2012-09-15 08:29:38 +08:00
# for all class names, should we remove something when registering in the target VM?
2013-06-20 14:24:36 +08:00
remove_prefix =
2012-09-15 08:29:38 +08:00
2013-03-10 13:55:29 +08:00
# classes for which there will be no "parent" lookup
2013-10-08 15:57:34 +08:00
classes_have_no_parents = Node Director SimpleAudioEngine FileUtils TMXMapInfo Application EGLViewProtocol
2013-03-10 13:55:29 +08:00
# base classes which will be skipped when their sub-classes found them.
2013-06-20 14:58:01 +08:00
base_classes_to_skip = Object Clonable
2012-09-15 08:29:38 +08:00
# classes that create no constructor
2013-06-20 14:24:36 +08:00
# Set is special and we will use a hand-written constructor
2013-11-18 18:00:42 +08:00
abstract_classes = Action FiniteTimeAction ActionInterval ActionEase EaseRateAction EaseElastic EaseBounce ActionInstant GridAction Grid3DAction TiledGrid3DAction Director SpriteFrameCache TransitionEaseScene Set SimpleAudioEngine FileUtils Application ClippingNode Label EGLViewProtocol EGLView Component
2013-03-10 14:00:30 +08:00
# Determining whether to use script object(js object) to control the lifecycle of native(cpp) object or the other way around. Supported values are 'yes' or 'no'.
script_control_cpp = no