[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 android_headers = -I%(androidndkdir)s/platforms/android-14/arch-arm/usr/include -I%(androidndkdir)s/sources/cxx-stl/gnu-libstdc++/4.6/libs/armeabi-v7a/include -I%(androidndkdir)s/sources/cxx-stl/gnu-libstdc++/4.6/include android_flags = -D_SIZE_T_DEFINED_ clang_headers = -I%(clangllvmdir)s/lib/clang/3.1/include clang_flags = -nostdinc -x c++ cocos_headers = -I%(cocosdir)s/cocos2dx/include -I%(cocosdir)s/cocos2dx/platform -I%(cocosdir)s/cocos2dx/platform/android -I%(cocosdir)s/cocos2dx -I%(cocosdir)s/cocos2dx/kazmath/include cocos_flags = -DANDROID -DCOCOS2D_JAVASCRIPT cxxgenerator_headers = -I%(cxxgeneratordir)s/targets/spidermonkey/common # extra arguments for clang extra_arguments = %(android_headers)s %(clang_headers)s %(cxxgenerator_headers)s %(cocos_headers)s %(android_flags)s %(clang_flags)s %(cocos_flags)s # what headers to parse headers = %(cocosdir)s/cocos2dx/include/cocos2d.h %(cocosdir)s/CocosDenshion/include/SimpleAudioEngine.h # what classes to produce code for. You can use regular expressions here. When testing the regular # expression, it will be enclosed in "^$", like this: "^CCMenu*$". classes = CCSprite.* CCScene CCNode.* CCDirector CCLayer.* CCMenu.* CCTouch CC.*Action.* CCMove.* CCRotate.* CCBlink.* CCTint.* CCSequence CCRepeat.* CCFade.* CCEase.* CCScale.* CCTransition.* CCSpawn CCAnimat.* CCFlip.* CCDelay.* CCSkew.* CCJump.* CCPlace.* CCShow.* CCProgress.* CCPointArray CCToggleVisibility.* CCHide CCParticle.* CCLabel.* CCAtlas.* CCTextureCache.* CCTexture2D CCCardinal.* CCCatmullRom.* CCParallaxNode CCTileMap.* CCTMX.* CCCallFunc CCRenderTexture CCGridAction CCGrid3DAction CCGridBase$ CCShaky3D CCWaves3D CCFlipX3D CCFlipY3D CCSpeed CCActionManager CCSet SimpleAudioEngine CCScheduler CCTimer CCOrbit.* CCFollow.* CCBezier.* CCCardinalSpline.* CCCamera.* CCDrawNode CC.*3D$ CCLiquid$ CCWaves$ CCShuffleTiles$ CCTurnOffTiles$ CCSplit.* CCTwirl$ CCFileUtils$ # 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. skip = CCNode::[.*Transform convertToWindowSpace ^setPosition$ getGrid setGLServerState description getShaderProgram getUserObject .*UserData getGLServerState unscheduleAllSelectors], CCSprite::[getQuad displayFrame getBlendFunc ^setPosition$ setBlendFunc setSpriteBatchNode getSpriteBatchNode], CCSpriteBatchNode::[getBlendFunc setBlendFunc], CCMotionStreak::[getBlendFunc setBlendFunc], CCAtlasNode::[getBlendFunc setBlendFunc], CCParticleBatchNode::[getBlendFunc setBlendFunc], CCLayerColor::[getBlendFunc setBlendFunc], CCParticleSystem::[getBlendFunc setBlendFunc], CCDrawNode::[getBlendFunc setBlendFunc drawPolygon], CCDirector::[getAccelerometer getKeypadDispatcher getTouchDispatcher setWatcherCallbackFun getOpenGLView getProjection getClassTypeInfo], CCLayer.*::[didAccelerate (g|s)etBlendFunc], CCMenu.*::[.*Target getSubItems create initWithItems alignItemsInRows alignItemsInColumns], CCMenuItem.*::[create], CCRGBAProtocol::[*], CCCopying::[*], CC.*Protocol::[*], CC.*Delegate::[*], CCPoolManager::[*], CCTexture2D::[initWithPVRTCData addPVRTCImage releaseData setTexParameters initWithData keepData], CCSet::[begin end], CCIMEDispatcher::[*], CCSAXParser::[*], CCThread::[*], CCProfiler::[*], CCProfilingTimer::[*], CCCallFunc::[create], CCSAXDelegator::[*], CCColor3bObject::[*], CCTouchDispatcher::[*], EGLTouchDelegate::[*], CCScriptEngineManager::[*], CCKeypadHandler::[*], CCInvocation::[*], CCEGLView::[*], CCSchedulerScriptHandlerEntry::[*], CCSize::[*], CCPoint::[*], CCPointArray::[*], CCRect::[*], CCString::[*], CCDictionary::[*], CCArray::[*], CCRange::[*], CCNotificationObserver::[*], CCImage::[initWithString initWithImageData], CCSequence::[create], CCSpawn::[create], CCAnimation::[create], CCGrid3DAction::[create actionWith.*], CCTiledGrid3DAction::[create actionWith.*], CCTMXMapInfo::[startElement endElement textHandler], CCParticleSystemQuad::[postStep setBatchNode draw setTexture$ setTotalParticles updateQuadWithParticle setupIndices listenBackToForeground initWithTotalParticles particleWithFile node], CCLayerMultiplex::[create layerWith.* initWithLayers], CCCatmullRom.*::[create actionWithDuration], CCBezier.*::[create actionWithDuration], CCCardinalSpline.*::[create actionWithDuration setPoints], CCScheduler::[pause resume unscheduleAllSelectorsForTarget], CCTextureCache::[addPVRTCImage], CCTimer::[getSelector], *::[copyWith.* onEnter.* onExit.* description getObjectType .*RGB.* .*HSV.*], CCFileUtils::[(g|s)etSearchResolutionsOrder$ (g|s)etSearchPaths$ getClassTypeInfo], SimpleAudioEngine::[getClassTypeInfo] rename_functions = CCDirector::[sharedDirector=getInstance], CCSpriteFrameCache::[sharedSpriteFrameCache=getInstance addSpriteFramesWithFile=addSpriteFrames spriteFrameByName=getSpriteFrame isFlipX=isFlippedX isFlipY=isFlippedY], CCMenuItemFont::[setFontNameObj=setFontName setFontSizeObj=setFontSize fontSizeObj=fontSize fontNameObj=fontName], CCProgressTimer::[setReverseProgress=setReverseDirection], CCTextureCache::[sharedTextureCache=getInstance], CCAnimation::[addSpriteFrameWithFileName=addSpriteFrameWithFile], CCAnimationCache::[sharedAnimationCache=getInstance addAnimationsWithFile=addAnimations animationByName=getAnimation removeAnimationByName=removeAnimation], CCLayerGradient::[initWithColor=init], CCLayerColor::[initWithColor=init], CCNode::[boundingBox=getBoundingBox removeFromParentAndCleanup=removeFromParent removeAllChildrenWithCleanup=removeAllChildren], CCLabelAtlas::[create=_create], CCTMXLayer::[tileAt=getTileAt tileGIDAt=getTileGIDAt propertyNamed=getProperty], CCTileMapAtlas::[tileAt=getTileAt], CCSprite::[isFlipX=isFlippedX isFlipY=isFlippedY], CCTouch::[getID=getId], CCScheduler::[unscheduleAllSelectorsForTarget=unscheduleAllCallbacksForTarget unscheduleAll=unscheduleAllCallbacks], SimpleAudioEngine::[sharedEngine=getInstance preloadBackgroundMusic=preloadMusic setBackgroundMusicVolume=setMusicVolume getBackgroundMusicVolume=getMusicVolume playBackgroundMusic=playMusic stopBackgroundMusic=stopMusic pauseBackgroundMusic=pauseMusic resumeBackgroundMusic=resumeMusic rewindBackgroundMusic=rewindMusic isBackgroundMusicPlaying=isMusicPlaying willPlayBackgroundMusic=willPlayMusic], CCCamera.*::[setUpXYZ=setUp getUpXYZ=getUp setEyeXYZ=setEye getEyeXYZ=getEye setCenterXYZ=setCenter getCenterXYZ=getCenter], CCTMXTiledMap::[layerNamed=getLayer objectGroupNamed=getObjectGroup propertyNamed=getProperty], CCTexture2D::[defaultAlphaPixelFormat=getDefaultAlphaPixelFormat], CCFileUtils::[sharedFileUtils=getInstance loadFilenameLookupDictionaryFromFile=loadFilenameLookup] rename_classes = CCParticleSystemQuad::CCParticleSystem, SimpleAudioEngine::AudioEngine # for all class names, should we remove something when registering in the target VM? remove_prefix = CC # classes for which there will be no "parent" lookup classes_have_no_parents = CCNode CCDirector SimpleAudioEngine CCFileUtils CCTMXMapInfo # base classes which will be skipped when their sub-classes found them. base_classes_to_skip = CCObject # classes that create no constructor # CCSet is special and we will use a hand-written constructor abstract_classes = CCDirector CCSpriteFrameCache CCTransitionEaseScene CCSet SimpleAudioEngine CCFileUtils CCScheduler # 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