Skip to content

Commit e2dc95e

Browse files
committed
Merge branch 'develop' of https://github.com/cocos2d/cocos2d-iphone into develop
2 parents e3f0cc2 + 2267752 commit e2dc95e

Some content is hidden

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

58 files changed

+1876
-327
lines changed
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
The file MountainPanorama.jpg is a derivative of Helvellyn_Striding_Edge_360_Panorama,_Lake_District_-_June_09.jpg by DAVID ILIFF, used under CC-BY-SA 3.0 (http://creativecommons.org/licenses/by-sa/3.0/deed.en). MountainPanorama.jpg is a crop of the original image.
2+
3+
The original image was downloaded from http://en.wikipedia.org/wiki/File:Helvellyn_Striding_Edge_360_Panorama,_Lake_District_-_June_09.jpg
4+
5+
MountainPanorama.jpg is licensed under CC-BY-SA 3.0.
6+

Resources/Images/MountainPanorama.jpg

195 KB
Loading
-16.9 KB
Loading

Resources/Images/StoneWall.jpg

294 KB
Loading

VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
3.1.1
1+
3.2.0

cocos2d-ios.xcodeproj/project.pbxproj

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -108,12 +108,18 @@
108108
926B97F71938606D00E345FB /* CCAnimationManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 926B97F21938606D00E345FB /* CCAnimationManager.h */; };
109109
9D1C03B81954F636007B6735 /* CCEffectRefraction.h in Headers */ = {isa = PBXBuildFile; fileRef = 9D1C03B61954F636007B6735 /* CCEffectRefraction.h */; };
110110
9D1C03B91954F636007B6735 /* CCEffectRefraction.m in Sources */ = {isa = PBXBuildFile; fileRef = 9D1C03B71954F636007B6735 /* CCEffectRefraction.m */; };
111+
9D473920197841A500314F7D /* CCEffectUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = 9D47391E197841A500314F7D /* CCEffectUtils.h */; };
112+
9D473921197841A500314F7D /* CCEffectUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = 9D47391F197841A500314F7D /* CCEffectUtils.m */; };
113+
9D6BE2FE1975E18B0082A327 /* CCEffectGlass.h in Headers */ = {isa = PBXBuildFile; fileRef = 9D6BE2FC1975E18B0082A327 /* CCEffectGlass.h */; };
114+
9D6BE2FF1975E18B0082A327 /* CCEffectGlass.m in Sources */ = {isa = PBXBuildFile; fileRef = 9D6BE2FD1975E18B0082A327 /* CCEffectGlass.m */; };
111115
9D85671D191B018200573093 /* CCEffectBrightness.h in Headers */ = {isa = PBXBuildFile; fileRef = 9D85671B191B018200573093 /* CCEffectBrightness.h */; };
112116
9D85671E191B018200573093 /* CCEffectBrightness.m in Sources */ = {isa = PBXBuildFile; fileRef = 9D85671C191B018200573093 /* CCEffectBrightness.m */; };
113117
9D856721191B019900573093 /* CCEffectContrast.h in Headers */ = {isa = PBXBuildFile; fileRef = 9D85671F191B019900573093 /* CCEffectContrast.h */; };
114118
9D856722191B019900573093 /* CCEffectContrast.m in Sources */ = {isa = PBXBuildFile; fileRef = 9D856720191B019900573093 /* CCEffectContrast.m */; };
115119
9DB7599A196E09FF00AF3E4A /* CCEffectHue.h in Headers */ = {isa = PBXBuildFile; fileRef = 9DB75998196E09FF00AF3E4A /* CCEffectHue.h */; };
116120
9DB7599B196E09FF00AF3E4A /* CCEffectHue.m in Sources */ = {isa = PBXBuildFile; fileRef = 9DB75999196E09FF00AF3E4A /* CCEffectHue.m */; };
121+
9DE8190D1974733200B1D8C3 /* CCEffectReflection.h in Headers */ = {isa = PBXBuildFile; fileRef = 9DE8190B1974733200B1D8C3 /* CCEffectReflection.h */; };
122+
9DE8190E1974733200B1D8C3 /* CCEffectReflection.m in Sources */ = {isa = PBXBuildFile; fileRef = 9DE8190C1974733200B1D8C3 /* CCEffectReflection.m */; };
117123
9DE90429192D630000AEB37A /* CCEffectRenderer.h in Headers */ = {isa = PBXBuildFile; fileRef = 9DE90427192D630000AEB37A /* CCEffectRenderer.h */; };
118124
9DE9042A192D630000AEB37A /* CCEffectRenderer.m in Sources */ = {isa = PBXBuildFile; fileRef = 9DE90428192D630000AEB37A /* CCEffectRenderer.m */; };
119125
9DF37621191C594A00C6D27A /* CCEffectPixellate.h in Headers */ = {isa = PBXBuildFile; fileRef = 9DF3761F191C594A00C6D27A /* CCEffectPixellate.h */; };
@@ -434,6 +440,10 @@
434440
92FF6C7318F33A2A005B7139 /* CCActionManager_Private.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CCActionManager_Private.h; sourceTree = "<group>"; };
435441
9D1C03B61954F636007B6735 /* CCEffectRefraction.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CCEffectRefraction.h; sourceTree = "<group>"; };
436442
9D1C03B71954F636007B6735 /* CCEffectRefraction.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CCEffectRefraction.m; sourceTree = "<group>"; };
443+
9D47391E197841A500314F7D /* CCEffectUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CCEffectUtils.h; sourceTree = "<group>"; };
444+
9D47391F197841A500314F7D /* CCEffectUtils.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CCEffectUtils.m; sourceTree = "<group>"; };
445+
9D6BE2FC1975E18B0082A327 /* CCEffectGlass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CCEffectGlass.h; sourceTree = "<group>"; };
446+
9D6BE2FD1975E18B0082A327 /* CCEffectGlass.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CCEffectGlass.m; sourceTree = "<group>"; };
437447
9D85671A191AE2CC00573093 /* CCEffectStack_Private.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CCEffectStack_Private.h; sourceTree = "<group>"; };
438448
9D85671B191B018200573093 /* CCEffectBrightness.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CCEffectBrightness.h; sourceTree = "<group>"; };
439449
9D85671C191B018200573093 /* CCEffectBrightness.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CCEffectBrightness.m; sourceTree = "<group>"; };
@@ -442,6 +452,8 @@
442452
9D85B7DC195396E90039A9DB /* CCEffectStackProtocol.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CCEffectStackProtocol.h; sourceTree = "<group>"; };
443453
9DB75998196E09FF00AF3E4A /* CCEffectHue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CCEffectHue.h; sourceTree = "<group>"; };
444454
9DB75999196E09FF00AF3E4A /* CCEffectHue.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CCEffectHue.m; sourceTree = "<group>"; };
455+
9DE8190B1974733200B1D8C3 /* CCEffectReflection.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CCEffectReflection.h; sourceTree = "<group>"; };
456+
9DE8190C1974733200B1D8C3 /* CCEffectReflection.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CCEffectReflection.m; sourceTree = "<group>"; };
445457
9DE90427192D630000AEB37A /* CCEffectRenderer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CCEffectRenderer.h; sourceTree = "<group>"; };
446458
9DE90428192D630000AEB37A /* CCEffectRenderer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CCEffectRenderer.m; sourceTree = "<group>"; };
447459
9DF3761F191C594A00C6D27A /* CCEffectPixellate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CCEffectPixellate.h; sourceTree = "<group>"; };
@@ -1212,6 +1224,8 @@
12121224
D272031718FC89A000B100FF /* CCEffect_Private.h */,
12131225
D272031818FC89A000B100FF /* CCEffect.h */,
12141226
D272031918FC89A000B100FF /* CCEffect.m */,
1227+
9D47391E197841A500314F7D /* CCEffectUtils.h */,
1228+
9D47391F197841A500314F7D /* CCEffectUtils.m */,
12151229
D272032018FC89A000B100FF /* CCEffectStack.h */,
12161230
9D85671A191AE2CC00573093 /* CCEffectStack_Private.h */,
12171231
D272032118FC89A000B100FF /* CCEffectStack.m */,
@@ -1222,6 +1236,8 @@
12221236
9D85671C191B018200573093 /* CCEffectBrightness.m */,
12231237
9D85671F191B019900573093 /* CCEffectContrast.h */,
12241238
9D856720191B019900573093 /* CCEffectContrast.m */,
1239+
9D6BE2FC1975E18B0082A327 /* CCEffectGlass.h */,
1240+
9D6BE2FD1975E18B0082A327 /* CCEffectGlass.m */,
12251241
9DB75998196E09FF00AF3E4A /* CCEffectHue.h */,
12261242
9DB75999196E09FF00AF3E4A /* CCEffectHue.m */,
12271243
9DF3761F191C594A00C6D27A /* CCEffectPixellate.h */,
@@ -1232,6 +1248,8 @@
12321248
9DFB1E4F19241AEF008371EF /* CCEffectSaturation.m */,
12331249
9D1C03B61954F636007B6735 /* CCEffectRefraction.h */,
12341250
9D1C03B71954F636007B6735 /* CCEffectRefraction.m */,
1251+
9DE8190B1974733200B1D8C3 /* CCEffectReflection.h */,
1252+
9DE8190C1974733200B1D8C3 /* CCEffectReflection.m */,
12351253
9DE90427192D630000AEB37A /* CCEffectRenderer.h */,
12361254
9DE90428192D630000AEB37A /* CCEffectRenderer.m */,
12371255
);
@@ -1317,6 +1335,7 @@
13171335
5018F2730DFDEAFF00C013A5 /* CCLabelTTF.h in Headers */,
13181336
5018F2750DFDEAFF00C013A5 /* CCNodeColor.h in Headers */,
13191337
5018F2770DFDEAFF00C013A5 /* CCScene.h in Headers */,
1338+
9D473920197841A500314F7D /* CCEffectUtils.h in Headers */,
13201339
5018F27D0DFDEAFF00C013A5 /* CCTextureCache.h in Headers */,
13211340
B77060051831A07B0043CC67 /* OALNotifications.h in Headers */,
13221341
D380581A1889AD6000822437 /* CCRenderer.h in Headers */,
@@ -1446,11 +1465,13 @@
14461465
A0DA0BC315BCDCA200E80A92 /* CCDrawNode.h in Headers */,
14471466
2B192835163361B10049A044 /* CCClippingNode.h in Headers */,
14481467
B7EE6A1E181AE34600B983FE /* CCSlider.h in Headers */,
1468+
9DE8190D1974733200B1D8C3 /* CCEffectReflection.h in Headers */,
14491469
A003AC8C1657071100C7B792 /* ccFPSImages.h in Headers */,
14501470
B74C2B9B17BDA63A00A829C0 /* CCSprite9Slice.h in Headers */,
14511471
B77060CF18341AD50043CC67 /* CCBReader_Private.h in Headers */,
14521472
B75C2E7C17C5908B002B0E0D /* NSAttributedString+CCAdditions.h in Headers */,
14531473
A6A0734517C788EB004343C8 /* CCResponderManager.h in Headers */,
1474+
9D6BE2FE1975E18B0082A327 /* CCEffectGlass.h in Headers */,
14541475
A6A0734A17C78EF3004343C8 /* CCResponder.h in Headers */,
14551476
B78AE46217E7AF1C0028BE0B /* CCButton.h in Headers */,
14561477
9DE90429192D630000AEB37A /* CCEffectRenderer.h in Headers */,
@@ -1654,11 +1675,13 @@
16541675
B7705FDB1831A07B0043CC67 /* OALAudioTracks.m in Sources */,
16551676
B7705FEE1831A07B0043CC67 /* ALSoundSourcePool.m in Sources */,
16561677
B7EE69E11819E75700B983FE /* CCLayout.m in Sources */,
1678+
9DE8190E1974733200B1D8C3 /* CCEffectReflection.m in Sources */,
16571679
B7705FD51831A07B0043CC67 /* OALUtilityActions.m in Sources */,
16581680
2B192836163361B10049A044 /* CCClippingNode.m in Sources */,
16591681
A003AC8F16572D6000C7B792 /* ccFPSImages.m in Sources */,
16601682
B79F905B17FE2A2E00908504 /* CCTableView.m in Sources */,
16611683
B74C2B9C17BDA63A00A829C0 /* CCSprite9Slice.m in Sources */,
1684+
9D473921197841A500314F7D /* CCEffectUtils.m in Sources */,
16621685
B75C2E7D17C5908B002B0E0D /* NSAttributedString+CCAdditions.m in Sources */,
16631686
B7EE69E31819E75700B983FE /* CCLayoutBox.m in Sources */,
16641687
B7705FF71831A07B0043CC67 /* OALAudioSession.m in Sources */,
@@ -1669,6 +1692,7 @@
16691692
A6A0734617C788EB004343C8 /* CCResponderManager.m in Sources */,
16701693
A6A0734B17C78EF3004343C8 /* CCResponder.m in Sources */,
16711694
B78AE46317E7AF1C0028BE0B /* CCButton.m in Sources */,
1695+
9D6BE2FF1975E18B0082A327 /* CCEffectGlass.m in Sources */,
16721696
B78AE46517E7AF1C0028BE0B /* CCControl.m in Sources */,
16731697
B78AE46717E7AF1C0028BE0B /* CCControlTextureFactory.m in Sources */,
16741698
D38058211889CE7700822437 /* CCCache.m in Sources */,

cocos2d-tests-ios.xcodeproj/project.pbxproj

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
objects = {
88

99
/* Begin PBXBuildFile section */
10+
0E28FE1A197FCE4500F78989 /* CCCacheTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 0E28FE19197FCE4500F78989 /* CCCacheTest.m */; };
1011
75556A04185636F100ED1B0F /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 75556A03185636F100ED1B0F /* XCTest.framework */; };
1112
75556A05185636F100ED1B0F /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B7E2605717E7D278007067F0 /* Foundation.framework */; };
1213
75556A06185636F100ED1B0F /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B7E2605517E7D278007067F0 /* UIKit.framework */; };
@@ -107,6 +108,7 @@
107108
/* End PBXContainerItemProxy section */
108109

109110
/* Begin PBXFileReference section */
111+
0E28FE19197FCE4500F78989 /* CCCacheTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = CCCacheTest.m; path = "cocos2d-ui-tests/tests/CCCacheTest.m"; sourceTree = SOURCE_ROOT; };
110112
755569E31856361100ED1B0F /* CCFileUtilTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CCFileUtilTests.m; sourceTree = "<group>"; };
111113
755569E41856361100ED1B0F /* CCNodeTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CCNodeTests.m; sourceTree = "<group>"; };
112114
755569E51856361100ED1B0F /* CCPhysicsTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CCPhysicsTests.m; sourceTree = "<group>"; };
@@ -354,6 +356,7 @@
354356
B71B087F17EA5B500082EBC0 /* Tests */ = {
355357
isa = PBXGroup;
356358
children = (
359+
0E28FE19197FCE4500F78989 /* CCCacheTest.m */,
357360
D2B4894B1917EE6700C3443A /* CCEffectsTest.m */,
358361
D3D6CF5E18BD5F0500A51531 /* CCRendererTest.m */,
359362
D3870C5F18B440150033D885 /* SpritePerformanceTest.m */,
@@ -656,6 +659,7 @@
656659
B7EE697918186D5200B983FE /* CCTextFieldTest.m in Sources */,
657660
D29698121926DF7500BBB097 /* CCEffectPongTest.m in Sources */,
658661
B7E2620017E7D321007067F0 /* AppDelegate.m in Sources */,
662+
0E28FE1A197FCE4500F78989 /* CCCacheTest.m in Sources */,
659663
B77060AB1832E3310043CC67 /* CCTextureCacheTest.m in Sources */,
660664
A664A4EF18A3D9B8006184B8 /* PositioningTest.m in Sources */,
661665
B7E2621C17E7D370007067F0 /* main.m in Sources */,

cocos2d-ui-tests/tests/CCCacheTest.m

Lines changed: 143 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,143 @@
1+
#import "TestBase.h"
2+
#import "CCCache.h"
3+
4+
// -----------------------------------------------------------------
5+
// Simple demo cache, holding an allocated array
6+
// -----------------------------------------------------------------
7+
8+
@interface DemoCache : CCCache @end
9+
10+
@implementation DemoCache
11+
12+
- (id)createSharedDataForKey:(id<NSCopying>)key
13+
{
14+
unsigned char* rawData = malloc(255);
15+
CCLOG(@"Data created for key: %@", key);
16+
return([NSValue valueWithPointer:rawData]);
17+
}
18+
19+
- (id)createPublicObjectForSharedData:(id)data
20+
{
21+
return([NSValue valueWithNonretainedObject:data]);
22+
}
23+
24+
- (void)disposeOfSharedData:(id)data
25+
{
26+
free([((NSValue *)data) pointerValue]);
27+
}
28+
29+
- (void)logCache
30+
{
31+
for (unsigned char letter = 'A'; letter < 'X'; letter ++)
32+
{
33+
NSString *key = [NSString stringWithFormat:@"object%c", letter];
34+
if ([self keyExists:key])
35+
{
36+
NSValue *value = [self rawObjectForKey:key];
37+
if (value) CCLOG(@"%@", key); else CCLOG(@"%@ (unused)", key);
38+
}
39+
}
40+
}
41+
42+
@end
43+
44+
// -----------------------------------------------------------------
45+
// Cache test
46+
// -----------------------------------------------------------------
47+
48+
@interface CCCacheTest : TestBase @end
49+
50+
// -----------------------------------------------------------------
51+
52+
@implementation CCCacheTest
53+
{
54+
DemoCache *_cache;
55+
int _testStep;
56+
NSValue *_valueA;
57+
NSValue *_valueB;
58+
}
59+
60+
- (NSArray*) testConstructors
61+
{
62+
return [NSArray arrayWithObjects:
63+
@"cacheTest",
64+
nil];
65+
}
66+
67+
- (void)cacheTest
68+
{
69+
self.subTitle = @"Cache Test";
70+
71+
CCButton *button = [CCButton buttonWithTitle:@"[ Step test]" fontName:@"Arial" fontSize:18];
72+
button.positionType = CCPositionTypeNormalized;
73+
button.position = ccp(0.5, 0.5);
74+
[button setTarget:self selector:@selector(stepClicked:)];
75+
[self.contentNode addChild:button];
76+
77+
_testStep = 0;
78+
79+
_cache = [DemoCache cache];
80+
81+
[_cache preload:@"objectA"];
82+
[_cache preload:@"objectA"]; // same object as above
83+
[_cache preload:@"objectB"];
84+
[_cache preload:@"objectC"];
85+
}
86+
87+
- (void)stepClicked:(id)sender
88+
{
89+
CCLOG(@"---------------------------------------------------");
90+
switch (_testStep) {
91+
case 0:
92+
CCLOG(@"-- All cached objects should be unused");
93+
break;
94+
95+
case 1:
96+
CCLOG(@"-- objectA in use");
97+
_valueA = [_cache objectForKey:@"objectA"];
98+
break;
99+
100+
case 2:
101+
CCLOG(@"-- objectB in use");
102+
_valueB = [_cache objectForKey:@"objectB"];
103+
break;
104+
105+
case 3:
106+
CCLOG(@"-- Flush, and thus remove objectC");
107+
[_cache flush];
108+
break;
109+
110+
case 4:
111+
CCLOG(@"-- objectA not in use anymore");
112+
_valueA = nil;
113+
break;
114+
115+
case 5:
116+
CCLOG(@"-- Flush, and thus only leaving objectB");
117+
[_cache flush];
118+
break;
119+
120+
case 6:
121+
CCLOG(@"-- New objectA should be created");
122+
_valueA = [_cache objectForKey:@"objectA"];
123+
break;
124+
125+
case 7:
126+
CCLOG(@"-- No new objectB should be created");
127+
[_cache flush];
128+
_valueB = [_cache objectForKey:@"objectB"];
129+
break;
130+
131+
default:
132+
CCLOG(@"End of test!");
133+
_testStep = -1;
134+
break;
135+
}
136+
[_cache logCache];
137+
_testStep ++;
138+
}
139+
140+
141+
// -----------------------------------------------------------------
142+
143+
@end

cocos2d-ui-tests/tests/CCEffectPongTest.m

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@
1212
#import "CCEffectNode.h"
1313
#import "CCEffectGaussianBlur.h"
1414

15-
#if CC_ENABLE_EXPERIMENTAL_EFFECTS
1615

1716
#define PADDLE_SCALE 0.5f
1817
#define PADDLE_X_OFFSET 10.0f
@@ -377,7 +376,3 @@ - (void)decreasePixellate:(CCTime)interval
377376

378377
@end
379378

380-
#endif
381-
382-
383-

0 commit comments

Comments
 (0)