Skip to content

Commit 8ec36a6

Browse files
committed
Merge branch 'minggo/metal-support' into feature/updateBindGroup
* minggo/metal-support: set partcile blend function in more elegant way remove CC_USE_WIC remove winrt macro remove deprecated codes remove unneeded codes use audio engine to implement simple audio engine remove ccthread remove CCThread.h/.cpp CMake support for mac & ios (cocos2d#169) # Conflicts: # build/cocos2d_libs.xcodeproj/project.pbxproj # cocos/2d/CCParticleBatchNode.cpp
2 parents ff87c11 + c05dbd6 commit 8ec36a6

File tree

198 files changed

+247
-24077
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

198 files changed

+247
-24077
lines changed

.appveyor.yml

+1
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ branches:
3737
- v3-doc
3838
- v3.11_backup
3939
- v35-for-tizen
40+
- metal-support
4041

4142
clone_depth: 1
4243

build/cocos2d_libs.xcodeproj/project.pbxproj

+6-180
Large diffs are not rendered by default.

build/cocos2d_tests.xcodeproj/project.pbxproj

+20-20
Original file line numberDiff line numberDiff line change
@@ -3014,32 +3014,33 @@
30143014
1AC3592418CECF0A00F37B72 /* Classes */ = {
30153015
isa = PBXGroup;
30163016
children = (
3017-
461FE09B21CB2E2D00E5378F /* DrawPrimitivesTest */,
3018-
EDC788C521CA154800E1863C /* UITest */,
3019-
53367D531DC22891005862DE /* WindowTest */,
3020-
50921EAC1B746D5F00C085CC /* DownloaderTest */,
3021-
6886696E1AE8E8A000C2CFD9 /* SpritePolygonTest */,
3022-
3E2BDACD19BEA3410055CDCD /* NewAudioEngineTest */,
3017+
1AC3593418CECF0A00F37B72 /* AppDelegate.cpp */,
3018+
1AC3593618CECF0A00F37B72 /* BaseTest.cpp */,
3019+
1AC359A018CECF0B00F37B72 /* controller.cpp */,
3020+
1AC35B1A18CECF0C00F37B72 /* VisibleRect.cpp */,
3021+
1AC3593518CECF0A00F37B72 /* AppDelegate.h */,
3022+
1AC3593718CECF0A00F37B72 /* BaseTest.h */,
3023+
1AC359A118CECF0B00F37B72 /* controller.h */,
3024+
1AC35AF818CECF0C00F37B72 /* testBasic.h */,
3025+
1AC35AF918CECF0C00F37B72 /* testResource.h */,
3026+
1AC35AFA18CECF0C00F37B72 /* tests.h */,
3027+
1AC35B1B18CECF0C00F37B72 /* VisibleRect.h */,
30233028
1AC3592818CECF0A00F37B72 /* ActionManagerTest */,
30243029
1AC3592B18CECF0A00F37B72 /* ActionsEaseTest */,
30253030
1AC3592E18CECF0A00F37B72 /* ActionsProgressTest */,
30263031
1AC3593118CECF0A00F37B72 /* ActionsTest */,
3027-
1AC3593418CECF0A00F37B72 /* AppDelegate.cpp */,
3028-
1AC3593518CECF0A00F37B72 /* AppDelegate.h */,
3029-
1AC3593618CECF0A00F37B72 /* BaseTest.cpp */,
3030-
1AC3593718CECF0A00F37B72 /* BaseTest.h */,
30313032
1AC3593818CECF0A00F37B72 /* Box2DTest */,
30323033
1AC3593B18CECF0A00F37B72 /* Box2DTestBed */,
30333034
1AC3597618CECF0B00F37B72 /* BugsTest */,
30343035
1AC3599118CECF0B00F37B72 /* ClickAndMoveTest */,
30353036
1AC3599418CECF0B00F37B72 /* ClippingNodeTest */,
30363037
1AC3599A18CECF0B00F37B72 /* ConfigurationTest */,
30373038
1AC3599D18CECF0B00F37B72 /* ConsoleTest */,
3038-
1AC359A018CECF0B00F37B72 /* controller.cpp */,
3039-
1AC359A118CECF0B00F37B72 /* controller.h */,
30403039
1AC359A218CECF0B00F37B72 /* CurlTest */,
30413040
1AC359A518CECF0B00F37B72 /* CurrentLanguageTest */,
30423041
1AC359A818CECF0B00F37B72 /* DataVisitorTest */,
3042+
50921EAC1B746D5F00C085CC /* DownloaderTest */,
3043+
461FE09B21CB2E2D00E5378F /* DrawPrimitivesTest */,
30433044
1AC359AE18CECF0B00F37B72 /* EffectsAdvancedTest */,
30443045
1AC359B118CECF0B00F37B72 /* EffectsTest */,
30453046
1AC35A8F18CECF0B00F37B72 /* FileUtilsTest */,
@@ -3050,35 +3051,34 @@
30503051
1AC35AA918CECF0C00F37B72 /* MenuTest */,
30513052
1AC35AAC18CECF0C00F37B72 /* MotionStreakTest */,
30523053
1AC35AAF18CECF0C00F37B72 /* MultiTouchTest */,
3054+
3E2BDACD19BEA3410055CDCD /* NewAudioEngineTest */,
30533055
1AC35AB218CECF0C00F37B72 /* NewEventDispatcherTest */,
30543056
1AC35AB518CECF0C00F37B72 /* NewRendererTest */,
30553057
1AC35AB818CECF0C00F37B72 /* NodeTest */,
3058+
A5030C3219D059AB000E78E7 /* OpenURLTest */,
30563059
1AC35ABB18CECF0C00F37B72 /* ParallaxTest */,
30573060
1AC35ABE18CECF0C00F37B72 /* ParticleTest */,
30583061
1AC35ADA18CECF0C00F37B72 /* PhysicsTest */,
30593062
1AC35ADD18CECF0C00F37B72 /* ReleasePoolTest */,
30603063
1AC35AE018CECF0C00F37B72 /* RenderTextureTest */,
30613064
1AC35AE318CECF0C00F37B72 /* RotateWorldTest */,
30623065
1AC35AE618CECF0C00F37B72 /* SceneTest */,
3066+
27C5CDFE1C6E043D000CA4B3 /* SpriteFrameCacheTest */,
3067+
6886696E1AE8E8A000C2CFD9 /* SpritePolygonTest */,
30633068
1AC35AF418CECF0C00F37B72 /* SpriteTest */,
3064-
1AC35AF818CECF0C00F37B72 /* testBasic.h */,
3065-
1AC35AF918CECF0C00F37B72 /* testResource.h */,
3066-
1AC35AFA18CECF0C00F37B72 /* tests.h */,
30673069
1AC35AFB18CECF0C00F37B72 /* TextInputTest */,
30683070
1AC35AFE18CECF0C00F37B72 /* Texture2dTest */,
30693071
1AC35B0118CECF0C00F37B72 /* TextureCacheTest */,
30703072
1AC35B0418CECF0C00F37B72 /* TexturePackerEncryptionTest */,
30713073
1AC35B0718CECF0C00F37B72 /* TileMapTest */,
30723074
1AC35B0A18CECF0C00F37B72 /* TouchesTest */,
30733075
1AC35B1118CECF0C00F37B72 /* TransitionsTest */,
3076+
EDC788C521CA154800E1863C /* UITest */,
30743077
1AC35B1418CECF0C00F37B72 /* UnitTest */,
30753078
1AC35B1718CECF0C00F37B72 /* UserDefaultTest */,
3076-
1AC35B1A18CECF0C00F37B72 /* VisibleRect.cpp */,
3077-
1AC35B1B18CECF0C00F37B72 /* VisibleRect.h */,
3078-
A5030C3219D059AB000E78E7 /* OpenURLTest */,
3079-
1AC35B1C18CECF0C00F37B72 /* ZwoptexTest */,
30803079
1AC35C6F18CECF0C00F37B72 /* VibrateTest */,
3081-
27C5CDFE1C6E043D000CA4B3 /* SpriteFrameCacheTest */,
3080+
53367D531DC22891005862DE /* WindowTest */,
3081+
1AC35B1C18CECF0C00F37B72 /* ZwoptexTest */,
30823082
);
30833083
name = Classes;
30843084
path = "../tests/cpp-tests/Classes";

cmake/Modules/CocosConfigDepend.cmake

+2
Original file line numberDiff line numberDiff line change
@@ -30,13 +30,15 @@ macro(cocos2dx_depend)
3030
find_library(OPENAL_LIBRARY OpenAL)
3131
find_library(QUARTZCORE_LIBRARY QuartzCore)
3232
find_library(GAMECONTROLLER_LIBRARY GameController)
33+
find_library(METAL_LIBRARY Metal)
3334
set(COCOS_APPLE_LIBS
3435
${OPENAL_LIBRARY}
3536
${AUDIOTOOLBOX_LIBRARY}
3637
${QUARTZCORE_LIBRARY}
3738
${FOUNDATION_LIBRARY}
3839
${ICONV_LIBRARY}
3940
${GAMECONTROLLER_LIBRARY}
41+
${METAL_LIBRARY}
4042
)
4143

4244
if(BUILD_JS_LIBS)

cocos/2d/CCActionInterval.cpp

-28
Original file line numberDiff line numberDiff line change
@@ -177,19 +177,6 @@ Sequence* Sequence::createWithTwoActions(FiniteTimeAction *actionOne, FiniteTime
177177
return nullptr;
178178
}
179179

180-
#if (CC_TARGET_PLATFORM == CC_PLATFORM_WINRT)
181-
Sequence* Sequence::variadicCreate(FiniteTimeAction *action1, ...)
182-
{
183-
va_list params;
184-
va_start(params, action1);
185-
186-
Sequence *ret = Sequence::createWithVariableList(action1, params);
187-
188-
va_end(params);
189-
190-
return ret;
191-
}
192-
#else
193180
Sequence* Sequence::create(FiniteTimeAction *action1, ...)
194181
{
195182
va_list params;
@@ -201,7 +188,6 @@ Sequence* Sequence::create(FiniteTimeAction *action1, ...)
201188

202189
return ret;
203190
}
204-
#endif
205191

206192
Sequence* Sequence::createWithVariableList(FiniteTimeAction *action1, va_list args)
207193
{
@@ -631,19 +617,6 @@ RepeatForever *RepeatForever::reverse() const
631617
// Spawn
632618
//
633619

634-
#if (CC_TARGET_PLATFORM == CC_PLATFORM_WINRT)
635-
Spawn* Spawn::variadicCreate(FiniteTimeAction *action1, ...)
636-
{
637-
va_list params;
638-
va_start(params, action1);
639-
640-
Spawn *ret = Spawn::createWithVariableList(action1, params);
641-
642-
va_end(params);
643-
644-
return ret;
645-
}
646-
#else
647620
Spawn* Spawn::create(FiniteTimeAction *action1, ...)
648621
{
649622
va_list params;
@@ -655,7 +628,6 @@ Spawn* Spawn::create(FiniteTimeAction *action1, ...)
655628

656629
return ret;
657630
}
658-
#endif
659631

660632
Spawn* Spawn::createWithVariableList(FiniteTimeAction *action1, va_list args)
661633
{

cocos/2d/CCActionInterval.h

-36
Original file line numberDiff line numberDiff line change
@@ -132,25 +132,7 @@ class CC_DLL Sequence : public ActionInterval
132132
*
133133
* @return An autoreleased Sequence object.
134134
*/
135-
#if (CC_TARGET_PLATFORM == CC_PLATFORM_WINRT)
136-
// VS2013 does not support nullptr in variable args lists and variadic templates are also not supported
137-
typedef FiniteTimeAction* M;
138-
static Sequence* create(M m1, std::nullptr_t listEnd) { return variadicCreate(m1, NULL); }
139-
static Sequence* create(M m1, M m2, std::nullptr_t listEnd) { return variadicCreate(m1, m2, NULL); }
140-
static Sequence* create(M m1, M m2, M m3, std::nullptr_t listEnd) { return variadicCreate(m1, m2, m3, NULL); }
141-
static Sequence* create(M m1, M m2, M m3, M m4, std::nullptr_t listEnd) { return variadicCreate(m1, m2, m3, m4, NULL); }
142-
static Sequence* create(M m1, M m2, M m3, M m4, M m5, std::nullptr_t listEnd) { return variadicCreate(m1, m2, m3, m4, m5, NULL); }
143-
static Sequence* create(M m1, M m2, M m3, M m4, M m5, M m6, std::nullptr_t listEnd) { return variadicCreate(m1, m2, m3, m4, m5, m6, NULL); }
144-
static Sequence* create(M m1, M m2, M m3, M m4, M m5, M m6, M m7, std::nullptr_t listEnd) { return variadicCreate(m1, m2, m3, m4, m5, m6, m7, NULL); }
145-
static Sequence* create(M m1, M m2, M m3, M m4, M m5, M m6, M m7, M m8, std::nullptr_t listEnd) { return variadicCreate(m1, m2, m3, m4, m5, m6, m7, m8, NULL); }
146-
static Sequence* create(M m1, M m2, M m3, M m4, M m5, M m6, M m7, M m8, M m9, std::nullptr_t listEnd) { return variadicCreate(m1, m2, m3, m4, m5, m6, m7, m8, m9, NULL); }
147-
static Sequence* create(M m1, M m2, M m3, M m4, M m5, M m6, M m7, M m8, M m9, M m10, std::nullptr_t listEnd) { return variadicCreate(m1, m2, m3, m4, m5, m6, m7, m8, m9, m10, NULL); }
148-
149-
// On WP8 for variable argument lists longer than 10 items, use the other create functions or variadicCreate with NULL as the last argument
150-
static Sequence* variadicCreate(FiniteTimeAction* item, ...);
151-
#else
152135
static Sequence* create(FiniteTimeAction *action1, ...) CC_REQUIRES_NULL_TERMINATION;
153-
#endif
154136

155137
/** Helper constructor to create an array of sequenceable actions given an array.
156138
* @code
@@ -361,25 +343,7 @@ class CC_DLL Spawn : public ActionInterval
361343
*
362344
* @return An autoreleased Spawn object.
363345
*/
364-
#if (CC_TARGET_PLATFORM == CC_PLATFORM_WINRT)
365-
// VS2013 does not support nullptr in variable args lists and variadic templates are also not supported.
366-
typedef FiniteTimeAction* M;
367-
static Spawn* create(M m1, std::nullptr_t listEnd) { return variadicCreate(m1, NULL); }
368-
static Spawn* create(M m1, M m2, std::nullptr_t listEnd) { return variadicCreate(m1, m2, NULL); }
369-
static Spawn* create(M m1, M m2, M m3, std::nullptr_t listEnd) { return variadicCreate(m1, m2, m3, NULL); }
370-
static Spawn* create(M m1, M m2, M m3, M m4, std::nullptr_t listEnd) { return variadicCreate(m1, m2, m3, m4, NULL); }
371-
static Spawn* create(M m1, M m2, M m3, M m4, M m5, std::nullptr_t listEnd) { return variadicCreate(m1, m2, m3, m4, m5, NULL); }
372-
static Spawn* create(M m1, M m2, M m3, M m4, M m5, M m6, std::nullptr_t listEnd) { return variadicCreate(m1, m2, m3, m4, m5, m6, NULL); }
373-
static Spawn* create(M m1, M m2, M m3, M m4, M m5, M m6, M m7, std::nullptr_t listEnd) { return variadicCreate(m1, m2, m3, m4, m5, m6, m7, NULL); }
374-
static Spawn* create(M m1, M m2, M m3, M m4, M m5, M m6, M m7, M m8, std::nullptr_t listEnd) { return variadicCreate(m1, m2, m3, m4, m5, m6, m7, m8, NULL); }
375-
static Spawn* create(M m1, M m2, M m3, M m4, M m5, M m6, M m7, M m8, M m9, std::nullptr_t listEnd) { return variadicCreate(m1, m2, m3, m4, m5, m6, m7, m8, m9, NULL); }
376-
static Spawn* create(M m1, M m2, M m3, M m4, M m5, M m6, M m7, M m8, M m9, M m10, std::nullptr_t listEnd) { return variadicCreate(m1, m2, m3, m4, m5, m6, m7, m8, m9, m10, NULL); }
377-
378-
// On WP8 for variable argument lists longer than 10 items, use the other create functions or createSpawn with NULL as the last argument.
379-
static Spawn* variadicCreate(FiniteTimeAction* item, ...);
380-
#else
381346
static Spawn* create(FiniteTimeAction *action1, ...) CC_REQUIRES_NULL_TERMINATION;
382-
#endif
383347

384348
/** Helper constructor to create an array of spawned actions.
385349
*

cocos/2d/CCFontAtlas.cpp

+3-3
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
****************************************************************************/
2626

2727
#include "2d/CCFontAtlas.h"
28-
#if CC_TARGET_PLATFORM != CC_PLATFORM_WIN32 && CC_TARGET_PLATFORM != CC_PLATFORM_WINRT && CC_TARGET_PLATFORM != CC_PLATFORM_ANDROID
28+
#if CC_TARGET_PLATFORM != CC_PLATFORM_WIN32 && CC_TARGET_PLATFORM != CC_PLATFORM_ANDROID
2929
#include <iconv.h>
3030
#elif CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID
3131
#include "platform/android/jni/Java_org_cocos2dx_lib_Cocos2dxHelper.h"
@@ -144,7 +144,7 @@ FontAtlas::~FontAtlas()
144144

145145
delete []_currentPageData;
146146

147-
#if CC_TARGET_PLATFORM != CC_PLATFORM_WIN32 && CC_TARGET_PLATFORM != CC_PLATFORM_WINRT && CC_TARGET_PLATFORM != CC_PLATFORM_ANDROID
147+
#if CC_TARGET_PLATFORM != CC_PLATFORM_WIN32 && CC_TARGET_PLATFORM != CC_PLATFORM_ANDROID
148148
if (_iconv)
149149
{
150150
iconv_close(_iconv);
@@ -234,7 +234,7 @@ void FontAtlas::conversionU32TOGB2312(const std::u32string& u32Text, std::unorde
234234
{
235235
case FT_ENCODING_GB2312:
236236
{
237-
#if CC_TARGET_PLATFORM == CC_PLATFORM_WIN32 || CC_TARGET_PLATFORM == CC_PLATFORM_WINRT
237+
#if CC_TARGET_PLATFORM == CC_PLATFORM_WIN32
238238
std::u16string u16Text;
239239
cocos2d::StringUtils::UTF32ToUTF16(u32Text, u16Text);
240240
WideCharToMultiByte(936, NULL, (LPCWCH)u16Text.c_str(), strLen, (LPSTR)gb2312Text, gb2312StrSize, NULL, NULL);

cocos/2d/CCFontFreeType.h

-10
Original file line numberDiff line numberDiff line change
@@ -34,19 +34,9 @@
3434
#include <string>
3535
#include <ft2build.h>
3636

37-
#if (CC_TARGET_PLATFORM == CC_PLATFORM_WINRT)
38-
#define generic GenericFromFreeTypeLibrary
39-
#define internal InternalFromFreeTypeLibrary
40-
#endif
41-
4237
#include FT_FREETYPE_H
4338
#include FT_STROKER_H
4439

45-
#if (CC_TARGET_PLATFORM == CC_PLATFORM_WINRT)
46-
#undef generic
47-
#undef internal
48-
#endif
49-
5040
NS_CC_BEGIN
5141

5242
class CC_DLL FontFreeType : public Font

cocos/2d/CCLayer.cpp

-30
Original file line numberDiff line numberDiff line change
@@ -282,17 +282,6 @@ std::string Layer::getDescription() const
282282
return StringUtils::format("<Layer | Tag = %d>", _tag);
283283
}
284284

285-
__LayerRGBA::__LayerRGBA()
286-
{
287-
CCLOG("LayerRGBA deprecated.");
288-
}
289-
290-
291-
#if defined(__GNUC__) && ((__GNUC__ >= 4) || ((__GNUC__ == 3) && (__GNUC_MINOR__ >= 1)))
292-
#pragma GCC diagnostic warning "-Wdeprecated-declarations"
293-
#elif _MSC_VER >= 1400 //vs 2005 or higher
294-
#pragma warning (pop)
295-
#endif
296285
/// LayerColor
297286

298287
LayerColor::LayerColor()
@@ -919,24 +908,6 @@ LayerMultiplex::~LayerMultiplex()
919908
}
920909
}
921910

922-
#if (CC_TARGET_PLATFORM == CC_PLATFORM_WINRT)
923-
LayerMultiplex * LayerMultiplex::createVariadic(Layer * layer, ...)
924-
{
925-
va_list args;
926-
va_start(args,layer);
927-
928-
LayerMultiplex * multiplexLayer = new (std::nothrow) LayerMultiplex();
929-
if(multiplexLayer && multiplexLayer->initWithLayers(layer, args))
930-
{
931-
multiplexLayer->autorelease();
932-
va_end(args);
933-
return multiplexLayer;
934-
}
935-
va_end(args);
936-
CC_SAFE_DELETE(multiplexLayer);
937-
return nullptr;
938-
}
939-
#else
940911
LayerMultiplex * LayerMultiplex::create(Layer * layer, ...)
941912
{
942913
va_list args;
@@ -953,7 +924,6 @@ LayerMultiplex * LayerMultiplex::create(Layer * layer, ...)
953924
CC_SAFE_DELETE(multiplexLayer);
954925
return nullptr;
955926
}
956-
#endif
957927

958928
LayerMultiplex * LayerMultiplex::createWithLayer(Layer* layer)
959929
{

cocos/2d/CCLayer.h

-62
Original file line numberDiff line numberDiff line change
@@ -186,50 +186,6 @@ class CC_DLL Layer : public Node
186186

187187
};
188188

189-
190-
/** @class __LayerRGBA
191-
* @brief LayerRGBA is a subclass of Layer that implements the RGBAProtocol protocol using a solid color as the background.
192-
193-
All features from Layer are valid, plus the following new features that propagate into children that conform to the RGBAProtocol:
194-
- opacity
195-
- RGB colors
196-
@since 2.1
197-
@js NA
198-
*/
199-
class CC_DLL __LayerRGBA : public Layer, public __RGBAProtocol
200-
{
201-
public:
202-
CREATE_FUNC(__LayerRGBA);
203-
204-
205-
//
206-
// Overrides
207-
//
208-
virtual uint8_t getOpacity() const override { return Layer::getOpacity(); }
209-
virtual uint8_t getDisplayedOpacity() const override { return Layer::getDisplayedOpacity(); }
210-
virtual void setOpacity(uint8_t opacity) override { Layer::setOpacity(opacity); }
211-
virtual void updateDisplayedOpacity(uint8_t parentOpacity) override { Layer::updateDisplayedOpacity(parentOpacity); }
212-
virtual bool isCascadeOpacityEnabled() const override { return Layer::isCascadeOpacityEnabled(); }
213-
virtual void setCascadeOpacityEnabled(bool cascadeOpacityEnabled) override { Layer::setCascadeOpacityEnabled(cascadeOpacityEnabled); }
214-
215-
virtual const Color3B& getColor() const override { return Layer::getColor(); }
216-
virtual const Color3B& getDisplayedColor() const override { return Layer::getDisplayedColor(); }
217-
virtual void setColor(const Color3B& color) override { Layer::setColor(color); }
218-
virtual void updateDisplayedColor(const Color3B& parentColor) override { Layer::updateDisplayedColor(parentColor); }
219-
virtual bool isCascadeColorEnabled() const override { return Layer::isCascadeOpacityEnabled(); }
220-
virtual void setCascadeColorEnabled(bool cascadeColorEnabled) override { Layer::setCascadeColorEnabled(cascadeColorEnabled); }
221-
222-
virtual void setOpacityModifyRGB(bool bValue) override { Layer::setOpacityModifyRGB(bValue); }
223-
virtual bool isOpacityModifyRGB() const override { return Layer::isOpacityModifyRGB(); }
224-
225-
CC_CONSTRUCTOR_ACCESS:
226-
__LayerRGBA();
227-
virtual ~__LayerRGBA() {}
228-
229-
private:
230-
CC_DISALLOW_COPY_AND_ASSIGN(__LayerRGBA);
231-
};
232-
233189
//
234190
// LayerColor
235191
//
@@ -593,25 +549,7 @@ class CC_DLL LayerMultiplex : public Layer
593549
* In lua:local create(...)
594550
* @endcode
595551
*/
596-
#if (CC_TARGET_PLATFORM == CC_PLATFORM_WINRT)
597-
// VS2013 does not support nullptr in variable args lists and variadic templates are also not supported
598-
typedef Layer* M;
599-
static LayerMultiplex* create(M m1, std::nullptr_t listEnd) { return createVariadic(m1, NULL); }
600-
static LayerMultiplex* create(M m1, M m2, std::nullptr_t listEnd) { return createVariadic(m1, m2, NULL); }
601-
static LayerMultiplex* create(M m1, M m2, M m3, std::nullptr_t listEnd) { return createVariadic(m1, m2, m3, NULL); }
602-
static LayerMultiplex* create(M m1, M m2, M m3, M m4, std::nullptr_t listEnd) { return createVariadic(m1, m2, m3, m4, NULL); }
603-
static LayerMultiplex* create(M m1, M m2, M m3, M m4, M m5, std::nullptr_t listEnd) { return createVariadic(m1, m2, m3, m4, m5, NULL); }
604-
static LayerMultiplex* create(M m1, M m2, M m3, M m4, M m5, M m6, std::nullptr_t listEnd) { return createVariadic(m1, m2, m3, m4, m5, m6, NULL); }
605-
static LayerMultiplex* create(M m1, M m2, M m3, M m4, M m5, M m6, M m7, std::nullptr_t listEnd) { return createVariadic(m1, m2, m3, m4, m5, m6, m7, NULL); }
606-
static LayerMultiplex* create(M m1, M m2, M m3, M m4, M m5, M m6, M m7, M m8, std::nullptr_t listEnd) { return createVariadic(m1, m2, m3, m4, m5, m6, m7, m8, NULL); }
607-
static LayerMultiplex* create(M m1, M m2, M m3, M m4, M m5, M m6, M m7, M m8, M m9, std::nullptr_t listEnd) { return createVariadic(m1, m2, m3, m4, m5, m6, m7, m8, m9, NULL); }
608-
static LayerMultiplex* create(M m1, M m2, M m3, M m4, M m5, M m6, M m7, M m8, M m9, M m10, std::nullptr_t listEnd) { return createVariadic(m1, m2, m3, m4, m5, m6, m7, m8, m9, m10, NULL); }
609-
610-
// On WP8 for variable argument lists longer than 10 items, use createWithArray or createVariadic with NULL as the last argument
611-
static LayerMultiplex* createVariadic(Layer* item, ...) CC_REQUIRES_NULL_TERMINATION;
612-
#else
613552
static LayerMultiplex * create(Layer* layer, ... );
614-
#endif
615553

616554
/** Creates a LayerMultiplex with one layer.
617555
* Lua script can not init with undetermined number of variables

0 commit comments

Comments
 (0)