diff options
author | Starla Insigna <starla4444@gmail.com> | 2011-08-22 19:52:08 -0400 |
---|---|---|
committer | Starla Insigna <starla4444@gmail.com> | 2011-08-22 19:52:08 -0400 |
commit | 2ac50443ddbf69b7594808ba4e6de49eecbc0b84 (patch) | |
tree | 5cdd3a92e9534dd7a2d8b5b52ca9b039587210ea | |
parent | 7e84858da5ecb1a445982860ce177c3c91318135 (diff) | |
download | cartcollect-2ac50443ddbf69b7594808ba4e6de49eecbc0b84.tar.gz cartcollect-2ac50443ddbf69b7594808ba4e6de49eecbc0b84.tar.bz2 cartcollect-2ac50443ddbf69b7594808ba4e6de49eecbc0b84.zip |
Added borders to level selection images
The image for each level selection now has a tutorial bubble-esque border around it, which was achieved using image masking. The border is included in the graying-out effect when the image is being tapped, and it is also included in the grayscaling when the level is not yet unlocked. Also rewrote most of the selection drawing code. The titles are now drawn above the image, with Quartz instead of Cocos2D. The highscore label is also drawn with Quartz, though it is still below the image. The unlock condition label no longer appears, and instead, locked levels are now tappable and tapping them shows an alert view containing the unlock condition. Will probably be changed to be more elegant later. Really, the biggest thing left before the selection screen is done is the ability to scroll through levels. The background also needs changing, but that will come later once I recruit a graphics designer. :P Refs #207
-rwxr-xr-x | Cartographic.xcodeproj/project.pbxproj | 22 | ||||
-rw-r--r-- | Classes/GameModeSelection.h | 8 | ||||
-rw-r--r-- | Classes/GameModeSelection.m | 195 | ||||
-rw-r--r-- | Classes/GameModeSelectionLayer.m | 15 | ||||
-rw-r--r-- | Classes/UIImage+ColorMasking.h | 15 | ||||
-rw-r--r-- | Classes/UIImage+ColorMasking.m | 77 | ||||
-rw-r--r-- | Resources/leveldescriptions.fnt | 99 | ||||
-rw-r--r-- | Resources/leveldescriptions.png | bin | 7780 -> 0 bytes | |||
-rw-r--r-- | Resources/levelnames.fnt | 99 | ||||
-rw-r--r-- | Resources/levelnames.png | bin | 8652 -> 0 bytes |
10 files changed, 253 insertions, 277 deletions
diff --git a/Cartographic.xcodeproj/project.pbxproj b/Cartographic.xcodeproj/project.pbxproj index 6676ba3..cda609e 100755 --- a/Cartographic.xcodeproj/project.pbxproj +++ b/Cartographic.xcodeproj/project.pbxproj | |||
@@ -101,6 +101,7 @@ | |||
101 | 6C0C140E13F1C3EC003A31B2 /* ValuableObject.m in Sources */ = {isa = PBXBuildFile; fileRef = 6C0C140D13F1C3EC003A31B2 /* ValuableObject.m */; }; | 101 | 6C0C140E13F1C3EC003A31B2 /* ValuableObject.m in Sources */ = {isa = PBXBuildFile; fileRef = 6C0C140D13F1C3EC003A31B2 /* ValuableObject.m */; }; |
102 | 6C0C141113F2099B003A31B2 /* Cart.m in Sources */ = {isa = PBXBuildFile; fileRef = 6C0C141013F2099B003A31B2 /* Cart.m */; }; | 102 | 6C0C141113F2099B003A31B2 /* Cart.m in Sources */ = {isa = PBXBuildFile; fileRef = 6C0C141013F2099B003A31B2 /* Cart.m */; }; |
103 | 6C0C141413F20E98003A31B2 /* GameMode.m in Sources */ = {isa = PBXBuildFile; fileRef = 6C0C141313F20E98003A31B2 /* GameMode.m */; }; | 103 | 6C0C141413F20E98003A31B2 /* GameMode.m in Sources */ = {isa = PBXBuildFile; fileRef = 6C0C141313F20E98003A31B2 /* GameMode.m */; }; |
104 | 6C18C3CA1402AD9C0005AA4C /* UIImage+ColorMasking.m in Sources */ = {isa = PBXBuildFile; fileRef = 6C18C3C91402AD9C0005AA4C /* UIImage+ColorMasking.m */; }; | ||
104 | 6C29041013EAEB590032DA0F /* TutorialBubble.m in Sources */ = {isa = PBXBuildFile; fileRef = 6C29040F13EAEB590032DA0F /* TutorialBubble.m */; }; | 105 | 6C29041013EAEB590032DA0F /* TutorialBubble.m in Sources */ = {isa = PBXBuildFile; fileRef = 6C29040F13EAEB590032DA0F /* TutorialBubble.m */; }; |
105 | 6C29041213EAEC8A0032DA0F /* framestuff.png in Resources */ = {isa = PBXBuildFile; fileRef = 6C29041113EAEC8A0032DA0F /* framestuff.png */; }; | 106 | 6C29041213EAEC8A0032DA0F /* framestuff.png in Resources */ = {isa = PBXBuildFile; fileRef = 6C29041113EAEC8A0032DA0F /* framestuff.png */; }; |
106 | 6C39CFE013FC2708002B21AF /* tutorial.png in Resources */ = {isa = PBXBuildFile; fileRef = 6C39CFDF13FC2708002B21AF /* tutorial.png */; }; | 107 | 6C39CFE013FC2708002B21AF /* tutorial.png in Resources */ = {isa = PBXBuildFile; fileRef = 6C39CFDF13FC2708002B21AF /* tutorial.png */; }; |
@@ -108,11 +109,7 @@ | |||
108 | 6C39CFF313FD4F8B002B21AF /* GameModeSelection.m in Sources */ = {isa = PBXBuildFile; fileRef = 6C39CFF213FD4F89002B21AF /* GameModeSelection.m */; }; | 109 | 6C39CFF313FD4F8B002B21AF /* GameModeSelection.m in Sources */ = {isa = PBXBuildFile; fileRef = 6C39CFF213FD4F89002B21AF /* GameModeSelection.m */; }; |
109 | 6C39CFF513FD5526002B21AF /* paintdaubs.png in Resources */ = {isa = PBXBuildFile; fileRef = 6C39CFF413FD5526002B21AF /* paintdaubs.png */; }; | 110 | 6C39CFF513FD5526002B21AF /* paintdaubs.png in Resources */ = {isa = PBXBuildFile; fileRef = 6C39CFF413FD5526002B21AF /* paintdaubs.png */; }; |
110 | 6C39CFF813FD7638002B21AF /* GameModeSelectionLayer.m in Sources */ = {isa = PBXBuildFile; fileRef = 6C39CFF713FD7637002B21AF /* GameModeSelectionLayer.m */; }; | 111 | 6C39CFF813FD7638002B21AF /* GameModeSelectionLayer.m in Sources */ = {isa = PBXBuildFile; fileRef = 6C39CFF713FD7637002B21AF /* GameModeSelectionLayer.m */; }; |
111 | 6C39CFFB13FD7DDE002B21AF /* levelnames.fnt in Resources */ = {isa = PBXBuildFile; fileRef = 6C39CFF913FD7DDE002B21AF /* levelnames.fnt */; }; | ||
112 | 6C39CFFC13FD7DDE002B21AF /* levelnames.png in Resources */ = {isa = PBXBuildFile; fileRef = 6C39CFFA13FD7DDE002B21AF /* levelnames.png */; }; | ||
113 | 6C39D00813FD9037002B21AF /* florence.png in Resources */ = {isa = PBXBuildFile; fileRef = 6C39D00713FD9037002B21AF /* florence.png */; }; | 112 | 6C39D00813FD9037002B21AF /* florence.png in Resources */ = {isa = PBXBuildFile; fileRef = 6C39D00713FD9037002B21AF /* florence.png */; }; |
114 | 6C39D00B13FD933D002B21AF /* leveldescriptions.fnt in Resources */ = {isa = PBXBuildFile; fileRef = 6C39D00913FD933D002B21AF /* leveldescriptions.fnt */; }; | ||
115 | 6C39D00C13FD933D002B21AF /* leveldescriptions.png in Resources */ = {isa = PBXBuildFile; fileRef = 6C39D00A13FD933D002B21AF /* leveldescriptions.png */; }; | ||
116 | 6C39D01213FD9945002B21AF /* paris.png in Resources */ = {isa = PBXBuildFile; fileRef = 6C39D01113FD9945002B21AF /* paris.png */; }; | 113 | 6C39D01213FD9945002B21AF /* paris.png in Resources */ = {isa = PBXBuildFile; fileRef = 6C39D01113FD9945002B21AF /* paris.png */; }; |
117 | 6C5179C613DF3839006F1F38 /* Morning1.png in Resources */ = {isa = PBXBuildFile; fileRef = 6C5179C513DF3839006F1F38 /* Morning1.png */; }; | 114 | 6C5179C613DF3839006F1F38 /* Morning1.png in Resources */ = {isa = PBXBuildFile; fileRef = 6C5179C513DF3839006F1F38 /* Morning1.png */; }; |
118 | 6CC89DD913F2F4E6003704F7 /* Entitlements.plist in Resources */ = {isa = PBXBuildFile; fileRef = 6CC89DD813F2F4E6003704F7 /* Entitlements.plist */; }; | 115 | 6CC89DD913F2F4E6003704F7 /* Entitlements.plist in Resources */ = {isa = PBXBuildFile; fileRef = 6CC89DD813F2F4E6003704F7 /* Entitlements.plist */; }; |
@@ -415,6 +412,8 @@ | |||
415 | 6C0C141013F2099B003A31B2 /* Cart.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Cart.m; sourceTree = "<group>"; }; | 412 | 6C0C141013F2099B003A31B2 /* Cart.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Cart.m; sourceTree = "<group>"; }; |
416 | 6C0C141213F20E98003A31B2 /* GameMode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GameMode.h; sourceTree = "<group>"; }; | 413 | 6C0C141213F20E98003A31B2 /* GameMode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GameMode.h; sourceTree = "<group>"; }; |
417 | 6C0C141313F20E98003A31B2 /* GameMode.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GameMode.m; sourceTree = "<group>"; }; | 414 | 6C0C141313F20E98003A31B2 /* GameMode.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GameMode.m; sourceTree = "<group>"; }; |
415 | 6C18C3C81402AD9C0005AA4C /* UIImage+ColorMasking.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIImage+ColorMasking.h"; sourceTree = "<group>"; }; | ||
416 | 6C18C3C91402AD9C0005AA4C /* UIImage+ColorMasking.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIImage+ColorMasking.m"; sourceTree = "<group>"; }; | ||
418 | 6C29040E13EAEB590032DA0F /* TutorialBubble.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TutorialBubble.h; sourceTree = "<group>"; }; | 417 | 6C29040E13EAEB590032DA0F /* TutorialBubble.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TutorialBubble.h; sourceTree = "<group>"; }; |
419 | 6C29040F13EAEB590032DA0F /* TutorialBubble.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TutorialBubble.m; sourceTree = "<group>"; }; | 418 | 6C29040F13EAEB590032DA0F /* TutorialBubble.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TutorialBubble.m; sourceTree = "<group>"; }; |
420 | 6C29041113EAEC8A0032DA0F /* framestuff.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = framestuff.png; sourceTree = "<group>"; }; | 419 | 6C29041113EAEC8A0032DA0F /* framestuff.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = framestuff.png; sourceTree = "<group>"; }; |
@@ -425,11 +424,7 @@ | |||
425 | 6C39CFF413FD5526002B21AF /* paintdaubs.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = paintdaubs.png; sourceTree = "<group>"; }; | 424 | 6C39CFF413FD5526002B21AF /* paintdaubs.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = paintdaubs.png; sourceTree = "<group>"; }; |
426 | 6C39CFF613FD7636002B21AF /* GameModeSelectionLayer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GameModeSelectionLayer.h; sourceTree = "<group>"; }; | 425 | 6C39CFF613FD7636002B21AF /* GameModeSelectionLayer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GameModeSelectionLayer.h; sourceTree = "<group>"; }; |
427 | 6C39CFF713FD7637002B21AF /* GameModeSelectionLayer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GameModeSelectionLayer.m; sourceTree = "<group>"; }; | 426 | 6C39CFF713FD7637002B21AF /* GameModeSelectionLayer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GameModeSelectionLayer.m; sourceTree = "<group>"; }; |
428 | 6C39CFF913FD7DDE002B21AF /* levelnames.fnt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = levelnames.fnt; sourceTree = "<group>"; }; | ||
429 | 6C39CFFA13FD7DDE002B21AF /* levelnames.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = levelnames.png; sourceTree = "<group>"; }; | ||
430 | 6C39D00713FD9037002B21AF /* florence.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = florence.png; sourceTree = "<group>"; }; | 427 | 6C39D00713FD9037002B21AF /* florence.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = florence.png; sourceTree = "<group>"; }; |
431 | 6C39D00913FD933D002B21AF /* leveldescriptions.fnt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = leveldescriptions.fnt; sourceTree = "<group>"; }; | ||
432 | 6C39D00A13FD933D002B21AF /* leveldescriptions.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = leveldescriptions.png; sourceTree = "<group>"; }; | ||
433 | 6C39D01113FD9945002B21AF /* paris.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = paris.png; sourceTree = "<group>"; }; | 428 | 6C39D01113FD9945002B21AF /* paris.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = paris.png; sourceTree = "<group>"; }; |
434 | 6C5179C513DF3839006F1F38 /* Morning1.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = Morning1.png; sourceTree = "<group>"; }; | 429 | 6C5179C513DF3839006F1F38 /* Morning1.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = Morning1.png; sourceTree = "<group>"; }; |
435 | 6CC89DD813F2F4E6003704F7 /* Entitlements.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Entitlements.plist; sourceTree = "<group>"; }; | 430 | 6CC89DD813F2F4E6003704F7 /* Entitlements.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Entitlements.plist; sourceTree = "<group>"; }; |
@@ -736,6 +731,8 @@ | |||
736 | 6C39CFF213FD4F89002B21AF /* GameModeSelection.m */, | 731 | 6C39CFF213FD4F89002B21AF /* GameModeSelection.m */, |
737 | 6C39CFF613FD7636002B21AF /* GameModeSelectionLayer.h */, | 732 | 6C39CFF613FD7636002B21AF /* GameModeSelectionLayer.h */, |
738 | 6C39CFF713FD7637002B21AF /* GameModeSelectionLayer.m */, | 733 | 6C39CFF713FD7637002B21AF /* GameModeSelectionLayer.m */, |
734 | 6C18C3C81402AD9C0005AA4C /* UIImage+ColorMasking.h */, | ||
735 | 6C18C3C91402AD9C0005AA4C /* UIImage+ColorMasking.m */, | ||
739 | ); | 736 | ); |
740 | path = Classes; | 737 | path = Classes; |
741 | sourceTree = "<group>"; | 738 | sourceTree = "<group>"; |
@@ -777,10 +774,6 @@ | |||
777 | 3F6C7F5D13D648D300C038FE /* Fonts */ = { | 774 | 3F6C7F5D13D648D300C038FE /* Fonts */ = { |
778 | isa = PBXGroup; | 775 | isa = PBXGroup; |
779 | children = ( | 776 | children = ( |
780 | 6C39D00913FD933D002B21AF /* leveldescriptions.fnt */, | ||
781 | 6C39D00A13FD933D002B21AF /* leveldescriptions.png */, | ||
782 | 6C39CFF913FD7DDE002B21AF /* levelnames.fnt */, | ||
783 | 6C39CFFA13FD7DDE002B21AF /* levelnames.png */, | ||
784 | 3F7D0F3D13D8F0C800B6CE14 /* getoffthatboatrightnowyounglady.fnt */, | 777 | 3F7D0F3D13D8F0C800B6CE14 /* getoffthatboatrightnowyounglady.fnt */, |
785 | 3F7D0F3E13D8F0C800B6CE14 /* getoffthatboatrightnowyounglady.png */, | 778 | 3F7D0F3E13D8F0C800B6CE14 /* getoffthatboatrightnowyounglady.png */, |
786 | 3F6C7F5913D648CE00C038FE /* helvetica2.fnt */, | 779 | 3F6C7F5913D648CE00C038FE /* helvetica2.fnt */, |
@@ -1403,11 +1396,7 @@ | |||
1403 | 6C39CFE013FC2708002B21AF /* tutorial.png in Resources */, | 1396 | 6C39CFE013FC2708002B21AF /* tutorial.png in Resources */, |
1404 | 6C39CFE213FC2713002B21AF /* tutorial2.png in Resources */, | 1397 | 6C39CFE213FC2713002B21AF /* tutorial2.png in Resources */, |
1405 | 6C39CFF513FD5526002B21AF /* paintdaubs.png in Resources */, | 1398 | 6C39CFF513FD5526002B21AF /* paintdaubs.png in Resources */, |
1406 | 6C39CFFB13FD7DDE002B21AF /* levelnames.fnt in Resources */, | ||
1407 | 6C39CFFC13FD7DDE002B21AF /* levelnames.png in Resources */, | ||
1408 | 6C39D00813FD9037002B21AF /* florence.png in Resources */, | 1399 | 6C39D00813FD9037002B21AF /* florence.png in Resources */, |
1409 | 6C39D00B13FD933D002B21AF /* leveldescriptions.fnt in Resources */, | ||
1410 | 6C39D00C13FD933D002B21AF /* leveldescriptions.png in Resources */, | ||
1411 | 6C39D01213FD9945002B21AF /* paris.png in Resources */, | 1400 | 6C39D01213FD9945002B21AF /* paris.png in Resources */, |
1412 | ); | 1401 | ); |
1413 | runOnlyForDeploymentPostprocessing = 0; | 1402 | runOnlyForDeploymentPostprocessing = 0; |
@@ -1455,6 +1444,7 @@ | |||
1455 | 6CC89DDF13F31413003704F7 /* TutorialMode.m in Sources */, | 1444 | 6CC89DDF13F31413003704F7 /* TutorialMode.m in Sources */, |
1456 | 6C39CFF313FD4F8B002B21AF /* GameModeSelection.m in Sources */, | 1445 | 6C39CFF313FD4F8B002B21AF /* GameModeSelection.m in Sources */, |
1457 | 6C39CFF813FD7638002B21AF /* GameModeSelectionLayer.m in Sources */, | 1446 | 6C39CFF813FD7638002B21AF /* GameModeSelectionLayer.m in Sources */, |
1447 | 6C18C3CA1402AD9C0005AA4C /* UIImage+ColorMasking.m in Sources */, | ||
1458 | ); | 1448 | ); |
1459 | runOnlyForDeploymentPostprocessing = 0; | 1449 | runOnlyForDeploymentPostprocessing = 0; |
1460 | }; | 1450 | }; |
diff --git a/Classes/GameModeSelection.h b/Classes/GameModeSelection.h index 66d0a5a..f6aaeff 100644 --- a/Classes/GameModeSelection.h +++ b/Classes/GameModeSelection.h | |||
@@ -12,19 +12,15 @@ | |||
12 | NSString* name; | 12 | NSString* name; |
13 | NSString* location; | 13 | NSString* location; |
14 | BOOL unlocked; | 14 | BOOL unlocked; |
15 | int highscore; | ||
16 | NSString* unlockCondition; | 15 | NSString* unlockCondition; |
17 | |||
18 | CCLabelBMFont* nameLabel; | ||
19 | CCLabelBMFont* otherLabel; | ||
20 | } | 16 | } |
21 | 17 | ||
22 | @property (readonly) NSString* name; | 18 | @property (readonly) NSString* name; |
23 | @property (readonly) NSString* location; | 19 | @property (readonly) NSString* location; |
24 | @property (readonly) BOOL unlocked; | 20 | @property (readonly) BOOL unlocked; |
25 | @property (nonatomic,assign) int highscore; | ||
26 | @property (nonatomic,retain) NSString* unlockCondition; | ||
27 | - (id)initWithName:(NSString*)name location:(NSString*)location filename:(NSString*)filename unlocked:(BOOL)unlocked; | 21 | - (id)initWithName:(NSString*)name location:(NSString*)location filename:(NSString*)filename unlocked:(BOOL)unlocked; |
22 | - (id)initWithName:(NSString *)name location:(NSString *)location filename:(NSString *)filename highscore:(int)highscore; | ||
23 | - (id)initWithName:(NSString *)name location:(NSString *)location filename:(NSString *)filename unlockCondition:(NSString*)unlockCondition; | ||
28 | - (void)buttonTapped; | 24 | - (void)buttonTapped; |
29 | 25 | ||
30 | @end | 26 | @end |
diff --git a/Classes/GameModeSelection.m b/Classes/GameModeSelection.m index 0816828..fc6797a 100644 --- a/Classes/GameModeSelection.m +++ b/Classes/GameModeSelection.m | |||
@@ -9,10 +9,11 @@ | |||
9 | #import "GameModeSelection.h" | 9 | #import "GameModeSelection.h" |
10 | #import "TutorialMode.h" | 10 | #import "TutorialMode.h" |
11 | #import "ClassicGameMode.h" | 11 | #import "ClassicGameMode.h" |
12 | #import "UIImage+ColorMasking.h" | ||
12 | 13 | ||
13 | @implementation GameModeSelection | 14 | @implementation GameModeSelection |
14 | 15 | ||
15 | @synthesize name, location, unlocked, highscore, unlockCondition; | 16 | @synthesize name, location, unlocked; |
16 | 17 | ||
17 | - (id)initWithName:(NSString*)m_name location:(NSString*)m_location filename:(NSString*)filename unlocked:(BOOL)m_unlocked; | 18 | - (id)initWithName:(NSString*)m_name location:(NSString*)m_location filename:(NSString*)filename unlocked:(BOOL)m_unlocked; |
18 | { | 19 | { |
@@ -26,92 +27,186 @@ | |||
26 | location = m_location; | 27 | location = m_location; |
27 | unlocked = m_unlocked; | 28 | unlocked = m_unlocked; |
28 | 29 | ||
29 | if (!unlocked) | 30 | NSString* filenameMod; |
31 | |||
32 | if (unlocked) | ||
30 | { | 33 | { |
34 | filenameMod = [NSString stringWithFormat:@"%@-unlocked", filename]; | ||
35 | } else { | ||
36 | filenameMod = [NSString stringWithFormat:@"%@-locked", filename]; | ||
31 | name = [@"" stringByPaddingToLength:name.length withString:@"?" startingAtIndex:0]; | 37 | name = [@"" stringByPaddingToLength:name.length withString:@"?" startingAtIndex:0]; |
32 | location = [@"" stringByPaddingToLength:location.length withString:@"?" startingAtIndex:0]; | 38 | location = [@"" stringByPaddingToLength:location.length withString:@"?" startingAtIndex:0]; |
33 | } | 39 | } |
34 | 40 | ||
35 | nameLabel = [CCLabelBMFont labelWithString:[NSString stringWithFormat:@"%@ (%@)", location, name] fntFile:@"levelnames.fnt"]; | 41 | // First, create the frame that we will put the level picture inside |
42 | CGImageRef framestuff = [[UIImage imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"framestuff" ofType:@"png"]] CGImage]; | ||
43 | CGImageRef topLeftRef = CGImageCreateWithImageInRect(framestuff, CGRectMake(0, 0, 8, 8)); | ||
44 | CGImageRef topRightRef = CGImageCreateWithImageInRect(framestuff, CGRectMake(8, 0, 8, 8)); | ||
45 | CGImageRef bottomLeftRef = CGImageCreateWithImageInRect(framestuff, CGRectMake(0, 8, 8, 8)); | ||
46 | CGImageRef bottomRightRef = CGImageCreateWithImageInRect(framestuff, CGRectMake(8, 8, 8, 8)); | ||
47 | CGImageRef topBorderRef = CGImageCreateWithImageInRect(framestuff, CGRectMake(0, 16, 8, 8)); | ||
48 | CGImageRef leftBorderRef = CGImageCreateWithImageInRect(framestuff, CGRectMake(8, 16, 8, 8)); | ||
49 | CGImageRef rightBorderRef = CGImageCreateWithImageInRect(framestuff, CGRectMake(0, 24, 8, 8)); | ||
50 | CGImageRef bottomBorderRef = CGImageCreateWithImageInRect(framestuff, CGRectMake(8, 24, 8, 8)); | ||
51 | UIImage* topLeft = [UIImage imageWithCGImage:topLeftRef]; | ||
52 | UIImage* topRight = [UIImage imageWithCGImage:topRightRef]; | ||
53 | UIImage* bottomLeft = [UIImage imageWithCGImage:bottomLeftRef]; | ||
54 | UIImage* bottomRight = [UIImage imageWithCGImage:bottomRightRef]; | ||
55 | UIImage* topBorder = [UIImage imageWithCGImage:topBorderRef]; | ||
56 | UIImage* leftBorder = [UIImage imageWithCGImage:leftBorderRef]; | ||
57 | UIImage* rightBorder = [UIImage imageWithCGImage:rightBorderRef]; | ||
58 | UIImage* bottomBorder = [UIImage imageWithCGImage:bottomBorderRef]; | ||
59 | CGImageRelease(topLeftRef); | ||
60 | CGImageRelease(topRightRef); | ||
61 | CGImageRelease(bottomLeftRef); | ||
62 | CGImageRelease(bottomRightRef); | ||
63 | CGImageRelease(topBorderRef); | ||
64 | CGImageRelease(leftBorderRef); | ||
65 | CGImageRelease(rightBorderRef); | ||
66 | CGImageRelease(bottomBorderRef); | ||
36 | 67 | ||
37 | [self addChild:nameLabel]; | 68 | CGSize boxSize = CGSizeMake(128+12, 128+12); |
38 | nameLabel.position = ccp(0, -32-nameLabel.contentSize.height); | 69 | UIGraphicsBeginImageContext(boxSize); |
70 | CGContextRef context = UIGraphicsGetCurrentContext(); | ||
71 | [topLeft drawInRect:CGRectMake(0, 0, 8, 8)]; | ||
72 | [topBorder drawInRect:CGRectMake(8, 0, boxSize.width-16, 8)]; | ||
73 | [topRight drawInRect:CGRectMake(8+boxSize.width-16, 0, 8, 8)]; | ||
74 | [rightBorder drawInRect:CGRectMake(8+boxSize.width-16, 8, 8, boxSize.height-16)]; | ||
75 | [bottomRight drawInRect:CGRectMake(8+boxSize.width-16, 8+boxSize.height-16, 8, 8)]; | ||
76 | [bottomBorder drawInRect:CGRectMake(8, 8+boxSize.height-16, boxSize.width-16, 8)]; | ||
77 | [bottomLeft drawInRect:CGRectMake(0, 8+boxSize.height-16, 8, 8)]; | ||
78 | [leftBorder drawInRect:CGRectMake(0, 8, 8, boxSize.height-16)]; | ||
79 | CGContextSetFillColorWithColor(context, [[UIColor whiteColor] CGColor]); | ||
80 | CGContextFillRect(context, CGRectMake(8, 8, boxSize.width-16, boxSize.height-16)); | ||
81 | UIImage* selectionBackground = UIGraphicsGetImageFromCurrentImageContext(); | ||
39 | 82 | ||
83 | // Now we want to put the level image inside the frame without messing up the frame itself | ||
40 | UIImage* innerPicture = [UIImage imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:filename ofType:@"png"]]; | 84 | UIImage* innerPicture = [UIImage imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:filename ofType:@"png"]]; |
41 | UIGraphicsBeginImageContext(CGSizeMake(128, 128)); | 85 | CGContextClipToMask(context, CGRectMake(0, 0, boxSize.width, boxSize.height), [[selectionBackground opaqueMaskFromWhiteImage] CGImage]); |
42 | CGContextRef context = UIGraphicsGetCurrentContext(); | 86 | [innerPicture drawInRect:CGRectMake(6, 6, 128, 128)]; |
43 | UIGraphicsPushContext(context); | 87 | selectionBackground = UIGraphicsGetImageFromCurrentImageContext(); |
88 | UIGraphicsEndImageContext(); | ||
89 | |||
90 | // The frame needs a shadow, so let's redraw it in a new context | ||
91 | UIGraphicsBeginImageContext(CGSizeMake(boxSize.width+10, boxSize.height+10)); | ||
92 | context = UIGraphicsGetCurrentContext(); | ||
93 | CGContextSaveGState(context); | ||
44 | 94 | ||
45 | if (unlocked) | 95 | if (unlocked) |
46 | { | 96 | { |
47 | [innerPicture drawInRect:CGRectMake(0, 0, 128, 128)]; | 97 | CGContextSetShadow(context, CGSizeMake(-6, 6), 4.0f); |
98 | [selectionBackground drawInRect:CGRectMake(10, 0, boxSize.width, boxSize.height)]; | ||
48 | } else { | 99 | } else { |
100 | // Draw the picture in grayscale if the level has not yet been unlocked | ||
101 | CGContextClipToMask(context, CGRectMake(10, 0, boxSize.width, boxSize.height), [selectionBackground CGImage]); | ||
49 | CGContextSetFillColorWithColor(context, [[UIColor whiteColor] CGColor]); | 102 | CGContextSetFillColorWithColor(context, [[UIColor whiteColor] CGColor]); |
50 | CGContextFillRect(context, CGRectMake(0, 0, 128, 128)); | 103 | CGContextFillRect(context, CGRectMake(10, 0, boxSize.width, boxSize.height)); |
51 | [innerPicture drawInRect:CGRectMake(0, 0, 128, 128) blendMode:kCGBlendModeLuminosity alpha:1.0]; | 104 | CGContextRestoreGState(context); |
105 | |||
106 | CGContextSaveGState(context); | ||
107 | CGContextSetShadow(context, CGSizeMake(-6, 6), 4.0f); | ||
108 | [selectionBackground drawInRect:CGRectMake(10, 0, boxSize.width, boxSize.height) blendMode:kCGBlendModeLuminosity alpha:1.0]; | ||
52 | } | 109 | } |
53 | 110 | ||
54 | UIGraphicsPopContext(); | 111 | CGContextRestoreGState(context); |
55 | CGImageRef innerPictureRef = [UIGraphicsGetImageFromCurrentImageContext() CGImage]; | 112 | CGImageRef pictureRef = [UIGraphicsGetImageFromCurrentImageContext() CGImage]; |
56 | 113 | ||
57 | if (unlocked) | 114 | CCSprite* picture = [CCSprite spriteWithCGImage:pictureRef key:[NSString stringWithFormat:@"gms-%@", filenameMod]]; |
58 | { | ||
59 | CCSprite* picture = [CCSprite spriteWithCGImage:innerPictureRef key:[NSString stringWithFormat:@"gms-%@", filename]]; | ||
60 | UIGraphicsPushContext(context); | ||
61 | CGContextSetFillColorWithColor(context, [[UIColor colorWithRed:0 green:0 blue:0 alpha:0.5] CGColor]); | ||
62 | CGContextFillRect(context, CGRectMake(0, 0, 128, 128)); | ||
63 | UIGraphicsPopContext(); | ||
64 | CGImageRef selectedButtonRef = [UIGraphicsGetImageFromCurrentImageContext() CGImage]; | ||
65 | CCSprite* selectedButton = [CCSprite spriteWithCGImage:selectedButtonRef key:[NSString stringWithFormat:@"gms-%@-selected", filename]]; | ||
66 | |||
67 | CCMenuItemSprite* pictureMenuItem = [CCMenuItemSprite itemFromNormalSprite:picture selectedSprite:selectedButton target:self selector:@selector(buttonTapped)]; | ||
68 | CCMenu* theMenu = [CCMenu menuWithItems:pictureMenuItem, nil]; | ||
69 | theMenu.position = ccp(0, 32); | ||
70 | [self addChild:theMenu]; | ||
71 | } else { | ||
72 | CCSprite* picture = [CCSprite spriteWithCGImage:innerPictureRef key:[NSString stringWithFormat:@"gms-%@-locked", filename]]; | ||
73 | picture.position = ccp(0, 32); | ||
74 | [self addChild:picture]; | ||
75 | } | ||
76 | 115 | ||
116 | // We're also going to need a "selected" image state for the button | ||
117 | CGContextSaveGState(context); | ||
118 | CGContextClipToMask(context, CGRectMake(10, 0, boxSize.width, boxSize.height), [selectionBackground CGImage]); | ||
119 | CGContextSetFillColorWithColor(context, [[UIColor colorWithRed:0 green:0 blue:0 alpha:0.5] CGColor]); | ||
120 | CGContextFillRect(context, CGRectMake(10, 0, boxSize.width, boxSize.height)); | ||
121 | CGContextRestoreGState(context); | ||
122 | CGImageRef selectedButtonRef = [UIGraphicsGetImageFromCurrentImageContext() CGImage]; | ||
77 | UIGraphicsEndImageContext(); | 123 | UIGraphicsEndImageContext(); |
124 | CCSprite* selectedButton = [CCSprite spriteWithCGImage:selectedButtonRef key:[NSString stringWithFormat:@"gms-%@-selected", filenameMod]]; | ||
125 | |||
126 | CCMenuItemSprite* pictureMenuItem = [CCMenuItemSprite itemFromNormalSprite:picture selectedSprite:selectedButton target:self selector:@selector(buttonTapped)]; | ||
127 | CCMenu* theMenu = [CCMenu menuWithItems:pictureMenuItem, nil]; | ||
128 | theMenu.position = ccp(-5, 0); | ||
129 | [self addChild:theMenu]; | ||
130 | |||
131 | // Render the titles | ||
132 | UIFont* titleFont = [UIFont fontWithName:@"AmericanTypewriter-Bold" size:18.0f]; | ||
133 | CGSize titleSize = [location sizeWithFont:titleFont constrainedToSize:CGSizeMake(128, 0)]; | ||
134 | UIFont* subtitleFont = [UIFont fontWithName:@"AmericanTypewriter" size:18.0f]; | ||
135 | CGSize subtitleSize = [name sizeWithFont:subtitleFont constrainedToSize:CGSizeMake(128, 0)]; | ||
136 | CGSize combinedTitleSize = CGSizeMake(128, titleSize.height + 10 + subtitleSize.height + 10); | ||
137 | |||
138 | UIGraphicsBeginImageContext(combinedTitleSize); | ||
139 | context = UIGraphicsGetCurrentContext(); | ||
140 | CGContextSetShadow(context, CGSizeMake(-6, 6), 4.0f); | ||
141 | [location drawInRect:CGRectMake(10, 0, 128, titleSize.height) withFont:titleFont lineBreakMode:UILineBreakModeWordWrap alignment:UITextAlignmentCenter]; | ||
142 | [name drawInRect:CGRectMake(10, titleSize.height, 128, subtitleSize.height) withFont:subtitleFont lineBreakMode:UILineBreakModeWordWrap alignment:UITextAlignmentCenter]; | ||
143 | |||
144 | CGImageRef titleImage = [UIGraphicsGetImageFromCurrentImageContext() CGImage]; | ||
145 | UIGraphicsEndImageContext(); | ||
146 | CCSprite* titleSprite = [CCSprite spriteWithCGImage:titleImage key:[NSString stringWithFormat:@"gms-%@-title", filenameMod]]; | ||
147 | titleSprite.position = ccp(-10, (boxSize.height)/2+(combinedTitleSize.height)/2); | ||
148 | [self addChild:titleSprite]; | ||
78 | } | 149 | } |
79 | 150 | ||
80 | return self; | 151 | return self; |
81 | } | 152 | } |
82 | 153 | ||
83 | - (void)setHighscore:(int)m_highscore | 154 | - (id)initWithName:(NSString *)m_name location:(NSString *)m_location filename:(NSString *)m_filename highscore:(int)m_highscore |
84 | { | 155 | { |
85 | if (unlocked) | 156 | self = [self initWithName:m_name location:m_location filename:m_filename unlocked:YES]; |
157 | |||
158 | if (nil != self) | ||
86 | { | 159 | { |
87 | highscore = m_highscore; | 160 | if (m_highscore != 0) |
88 | 161 | { | |
89 | otherLabel = [CCLabelBMFont labelWithString:[NSString stringWithFormat:@"Highscore: %d", highscore] fntFile:@"leveldescriptions.fnt"]; | 162 | // Render the highscore label |
90 | otherLabel.position = ccp(0, -32-nameLabel.contentSize.height-otherLabel.contentSize.height); | 163 | NSString* highscoreString = [NSString stringWithFormat:@"Highscore: %d", m_highscore]; |
91 | [self addChild:otherLabel]; | 164 | UIFont* highscoreFont = [UIFont fontWithName:@"AmericanTypewriter" size:16.0f]; |
165 | CGSize highscoreSize = [highscoreString sizeWithFont:highscoreFont]; | ||
166 | |||
167 | UIGraphicsBeginImageContext(CGSizeMake(highscoreSize.width+10, highscoreSize.height+10)); | ||
168 | CGContextRef context = UIGraphicsGetCurrentContext(); | ||
169 | CGContextSetShadow(context, CGSizeMake(-6, 6), 4.0f); | ||
170 | [highscoreString drawInRect:CGRectMake(10, 0, highscoreSize.width, highscoreSize.height) withFont:highscoreFont]; | ||
171 | |||
172 | CGImageRef highscoreImage = [UIGraphicsGetImageFromCurrentImageContext() CGImage]; | ||
173 | UIGraphicsEndImageContext(); | ||
174 | CCSprite* highscoreSprite = [CCSprite spriteWithCGImage:highscoreImage key:[NSString stringWithFormat:@"gms-%@-highscore", m_filename]]; | ||
175 | highscoreSprite.position = ccp((128-highscoreSize.width)/2, 0-64-(highscoreSize.height)/2-10); | ||
176 | [self addChild:highscoreSprite]; | ||
177 | } | ||
92 | } | 178 | } |
179 | |||
180 | return self; | ||
93 | } | 181 | } |
94 | 182 | ||
95 | - (void)setUnlockCondition:(NSString *)m_unlockCondition | 183 | - (id)initWithName:(NSString *)m_name location:(NSString *)m_location filename:(NSString *)m_filename unlockCondition:(NSString*)m_unlockCondition |
96 | { | 184 | { |
97 | if (!unlocked) | 185 | self = [self initWithName:m_name location:m_location filename:m_filename unlocked:NO]; |
186 | |||
187 | if (nil != self) | ||
98 | { | 188 | { |
99 | unlockCondition = m_unlockCondition; | 189 | unlockCondition = m_unlockCondition; |
100 | |||
101 | otherLabel = [CCLabelBMFont labelWithString:unlockCondition fntFile:@"leveldescriptions.fnt"]; | ||
102 | otherLabel.position = ccp(0, -32-nameLabel.contentSize.height-otherLabel.contentSize.height); | ||
103 | [self addChild:otherLabel]; | ||
104 | } | 190 | } |
191 | |||
192 | return self; | ||
105 | } | 193 | } |
106 | 194 | ||
107 | - (void)buttonTapped | 195 | - (void)buttonTapped |
108 | { | 196 | { |
109 | if ([name isEqual:@"Tutorial"]) | 197 | if (unlocked) |
110 | { | ||
111 | [[CCDirector sharedDirector] replaceScene:[TutorialMode scene]]; | ||
112 | } else if ([name isEqual:@"Collect"]) | ||
113 | { | 198 | { |
114 | [[CCDirector sharedDirector] replaceScene:[ClassicGameMode scene]]; | 199 | if ([name isEqual:@"Tutorial"]) |
200 | { | ||
201 | [[CCDirector sharedDirector] replaceScene:[TutorialMode scene]]; | ||
202 | } else if ([name isEqual:@"Collect"]) | ||
203 | { | ||
204 | [[CCDirector sharedDirector] replaceScene:[ClassicGameMode scene]]; | ||
205 | } | ||
206 | } else { | ||
207 | UIAlertView* alertView = [[UIAlertView alloc] initWithTitle:@"To unlock this game mode:" message:unlockCondition delegate:nil cancelButtonTitle:@"Cancel" otherButtonTitles:nil]; | ||
208 | [alertView show]; | ||
209 | [alertView release]; | ||
115 | } | 210 | } |
116 | } | 211 | } |
117 | 212 | ||
diff --git a/Classes/GameModeSelectionLayer.m b/Classes/GameModeSelectionLayer.m index 3e1995e..a90606e 100644 --- a/Classes/GameModeSelectionLayer.m +++ b/Classes/GameModeSelectionLayer.m | |||
@@ -42,27 +42,28 @@ | |||
42 | [self addChild:tutorialSelection]; | 42 | [self addChild:tutorialSelection]; |
43 | 43 | ||
44 | NSUserDefaults* defaults = [NSUserDefaults standardUserDefaults]; | 44 | NSUserDefaults* defaults = [NSUserDefaults standardUserDefaults]; |
45 | GameModeSelection* collectSelection = [[[GameModeSelection alloc] initWithName:@"Collect" location:@"Paris" filename:@"paris" unlocked:[defaults boolForKey:@"hasDoneTutorial"]] autorelease]; | 45 | GameModeSelection* collectSelection; |
46 | collectSelection.position = ccp(400-32, 160); | ||
47 | 46 | ||
48 | if (collectSelection.unlocked) | 47 | if ([defaults boolForKey:@"hasDoneTutorial"]) |
49 | { | 48 | { |
50 | const char* sqlQuery = "SELECT * FROM highscores ORDER BY score DESC LIMIT 1"; | 49 | const char* sqlQuery = "SELECT * FROM highscores ORDER BY score DESC LIMIT 1"; |
51 | sqlite3_stmt* compiled_statement; | 50 | sqlite3_stmt* compiled_statement; |
51 | int score = 0; | ||
52 | 52 | ||
53 | if (sqlite3_prepare_v2([Cart_CollectAppDelegate database], sqlQuery, -1, &compiled_statement, NULL) == SQLITE_OK) | 53 | if (sqlite3_prepare_v2([Cart_CollectAppDelegate database], sqlQuery, -1, &compiled_statement, NULL) == SQLITE_OK) |
54 | { | 54 | { |
55 | if (sqlite3_step(compiled_statement) == SQLITE_ROW) | 55 | if (sqlite3_step(compiled_statement) == SQLITE_ROW) |
56 | { | 56 | { |
57 | int score = sqlite3_column_int(compiled_statement, 2); | 57 | score = sqlite3_column_int(compiled_statement, 2); |
58 | |||
59 | [collectSelection setHighscore:score]; | ||
60 | } | 58 | } |
61 | } | 59 | } |
60 | |||
61 | collectSelection = [[[GameModeSelection alloc] initWithName:@"Collect" location:@"Paris" filename:@"paris" highscore:score] autorelease]; | ||
62 | } else { | 62 | } else { |
63 | [collectSelection setUnlockCondition:@"Beat the tutorial!"]; | 63 | collectSelection = [[[GameModeSelection alloc] initWithName:@"Collect" location:@"Paris" filename:@"paris" unlockCondition:@"Beat the tutorial!"] autorelease]; |
64 | } | 64 | } |
65 | 65 | ||
66 | collectSelection.position = ccp(320+32,160); | ||
66 | [self addChild:collectSelection]; | 67 | [self addChild:collectSelection]; |
67 | 68 | ||
68 | CCMenuItemImage* newgameMenuItem = [CCMenuItemImage itemFromNormalImage:@"back.png" selectedImage:@"back2.png" target:self selector:@selector(mainmenu)]; | 69 | CCMenuItemImage* newgameMenuItem = [CCMenuItemImage itemFromNormalImage:@"back.png" selectedImage:@"back2.png" target:self selector:@selector(mainmenu)]; |
diff --git a/Classes/UIImage+ColorMasking.h b/Classes/UIImage+ColorMasking.h new file mode 100644 index 0000000..d25fafb --- /dev/null +++ b/Classes/UIImage+ColorMasking.h | |||
@@ -0,0 +1,15 @@ | |||
1 | // | ||
2 | // UIImage+ColorMasking.h | ||
3 | // Cartographic | ||
4 | // | ||
5 | // Created by Starla Insigna on 8/22/11. | ||
6 | // Copyright 2011 Four Island. All rights reserved. | ||
7 | // | ||
8 | |||
9 | #import <UIKit/UIKit.h> | ||
10 | |||
11 | @interface UIImage (ColorMasking) | ||
12 | |||
13 | - (UIImage *)opaqueMaskFromWhiteImage; | ||
14 | |||
15 | @end | ||
diff --git a/Classes/UIImage+ColorMasking.m b/Classes/UIImage+ColorMasking.m new file mode 100644 index 0000000..e4da8c8 --- /dev/null +++ b/Classes/UIImage+ColorMasking.m | |||
@@ -0,0 +1,77 @@ | |||
1 | // | ||
2 | // UIImage+ColorMasking.m | ||
3 | // Cartographic | ||
4 | // | ||
5 | // Created by Starla Insigna on 8/22/11. | ||
6 | // Copyright 2011 Four Island. All rights reserved. | ||
7 | // | ||
8 | |||
9 | #import "UIImage+ColorMasking.h" | ||
10 | |||
11 | @implementation UIImage (ColorMasking) | ||
12 | |||
13 | typedef enum { | ||
14 | ALPHA = 0, | ||
15 | BLUE = 1, | ||
16 | GREEN = 2, | ||
17 | RED = 3 | ||
18 | } PIXELS; | ||
19 | |||
20 | - (UIImage *)opaqueMaskFromWhiteImage | ||
21 | { | ||
22 | CGSize size = [self size]; | ||
23 | int width = size.width; | ||
24 | int height = size.height; | ||
25 | |||
26 | // the pixels will be painted to this array | ||
27 | uint32_t *pixels = (uint32_t *) malloc(width * height * sizeof(uint32_t)); | ||
28 | |||
29 | // clear the pixels so any transparency is preserved | ||
30 | memset(pixels, 0, width * height * sizeof(uint32_t)); | ||
31 | |||
32 | CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB(); | ||
33 | |||
34 | // create a context with RGBA pixels | ||
35 | CGContextRef context = CGBitmapContextCreate(pixels, width, height, 8, width * sizeof(uint32_t), colorSpace, | ||
36 | kCGBitmapByteOrder32Little | kCGImageAlphaPremultipliedLast); | ||
37 | |||
38 | // paint the bitmap to our context which will fill in the pixels array | ||
39 | CGContextDrawImage(context, CGRectMake(0, 0, width, height), [self CGImage]); | ||
40 | |||
41 | for(int y = 0; y < height; y++) { | ||
42 | for(int x = 0; x < width; x++) { | ||
43 | uint8_t *rgbaPixel = (uint8_t *) &pixels[y * width + x]; | ||
44 | |||
45 | if ((rgbaPixel[RED] == 255) && (rgbaPixel[GREEN] == 255) && (rgbaPixel[BLUE] == 255) && (rgbaPixel[ALPHA] == 255)) | ||
46 | { | ||
47 | rgbaPixel[RED] = 255; | ||
48 | rgbaPixel[GREEN] = 255; | ||
49 | rgbaPixel[BLUE] = 255; | ||
50 | rgbaPixel[ALPHA] = 255; | ||
51 | } else { | ||
52 | rgbaPixel[RED] = 0; | ||
53 | rgbaPixel[GREEN] = 0; | ||
54 | rgbaPixel[BLUE] = 0; | ||
55 | rgbaPixel[ALPHA] = 0; | ||
56 | } | ||
57 | } | ||
58 | } | ||
59 | |||
60 | // create a new CGImageRef from our context with the modified pixels | ||
61 | CGImageRef image = CGBitmapContextCreateImage(context); | ||
62 | |||
63 | // we're done with the context, color space, and pixels | ||
64 | CGContextRelease(context); | ||
65 | CGColorSpaceRelease(colorSpace); | ||
66 | free(pixels); | ||
67 | |||
68 | // make a new UIImage to return | ||
69 | UIImage *resultUIImage = [UIImage imageWithCGImage:image]; | ||
70 | |||
71 | // we're done with image now too | ||
72 | CGImageRelease(image); | ||
73 | |||
74 | return resultUIImage; | ||
75 | } | ||
76 | |||
77 | @end | ||
diff --git a/Resources/leveldescriptions.fnt b/Resources/leveldescriptions.fnt deleted file mode 100644 index 2cf1ce6..0000000 --- a/Resources/leveldescriptions.fnt +++ /dev/null | |||
@@ -1,99 +0,0 @@ | |||
1 | info face="BitstreamVeraSansMono-Roman" size=16 bold=0 italic=0 charset="" unicode=0 stretchH=100 smooth=1 aa=1 padding=0,0,0,0 spacing=1,1 | ||
2 | common lineHeight=19 base=15 scaleW=512 scaleH=512 pages=1 packed=0 | ||
3 | page id=0 file="leveldescriptions.png" | ||
4 | chars count=94 | ||
5 | char id=32 x=0 y=0 width=0 height=0 xoffset=0 yoffset=15 xadvance=10 page=0 chnl=0 | ||
6 | char id=124 x=0 y=0 width=3 height=18 xoffset=4 yoffset=2 xadvance=10 page=0 chnl=0 | ||
7 | char id=106 x=3 y=0 width=7 height=18 xoffset=1 yoffset=2 xadvance=10 page=0 chnl=0 | ||
8 | char id=36 x=10 y=0 width=9 height=17 xoffset=1 yoffset=2 xadvance=10 page=0 chnl=0 | ||
9 | char id=125 x=19 y=0 width=8 height=17 xoffset=2 yoffset=2 xadvance=10 page=0 chnl=0 | ||
10 | char id=123 x=27 y=0 width=8 height=17 xoffset=2 yoffset=2 xadvance=10 page=0 chnl=0 | ||
11 | char id=93 x=35 y=0 width=6 height=17 xoffset=3 yoffset=2 xadvance=10 page=0 chnl=0 | ||
12 | char id=91 x=41 y=0 width=5 height=17 xoffset=4 yoffset=2 xadvance=10 page=0 chnl=0 | ||
13 | char id=41 x=46 y=0 width=6 height=17 xoffset=3 yoffset=2 xadvance=10 page=0 chnl=0 | ||
14 | char id=40 x=52 y=0 width=5 height=17 xoffset=3 yoffset=2 xadvance=10 page=0 chnl=0 | ||
15 | char id=81 x=57 y=0 width=10 height=16 xoffset=1 yoffset=3 xadvance=10 page=0 chnl=0 | ||
16 | char id=92 x=67 y=0 width=10 height=15 xoffset=1 yoffset=3 xadvance=10 page=0 chnl=0 | ||
17 | char id=64 x=77 y=0 width=11 height=15 xoffset=0 yoffset=4 xadvance=10 page=0 chnl=0 | ||
18 | char id=47 x=88 y=0 width=10 height=15 xoffset=1 yoffset=3 xadvance=10 page=0 chnl=0 | ||
19 | char id=100 x=98 y=0 width=10 height=15 xoffset=1 yoffset=2 xadvance=10 page=0 chnl=0 | ||
20 | char id=98 x=108 y=0 width=9 height=15 xoffset=2 yoffset=2 xadvance=10 page=0 chnl=0 | ||
21 | char id=38 x=117 y=0 width=11 height=14 xoffset=0 yoffset=3 xadvance=10 page=0 chnl=0 | ||
22 | char id=48 x=128 y=0 width=9 height=14 xoffset=1 yoffset=3 xadvance=10 page=0 chnl=0 | ||
23 | char id=57 x=137 y=0 width=10 height=14 xoffset=1 yoffset=3 xadvance=10 page=0 chnl=0 | ||
24 | char id=56 x=147 y=0 width=9 height=14 xoffset=1 yoffset=3 xadvance=10 page=0 chnl=0 | ||
25 | char id=54 x=156 y=0 width=9 height=14 xoffset=1 yoffset=3 xadvance=10 page=0 chnl=0 | ||
26 | char id=53 x=165 y=0 width=9 height=14 xoffset=1 yoffset=3 xadvance=10 page=0 chnl=0 | ||
27 | char id=51 x=174 y=0 width=9 height=14 xoffset=1 yoffset=3 xadvance=10 page=0 chnl=0 | ||
28 | char id=121 x=183 y=0 width=11 height=14 xoffset=1 yoffset=6 xadvance=10 page=0 chnl=0 | ||
29 | char id=113 x=194 y=0 width=9 height=14 xoffset=1 yoffset=6 xadvance=10 page=0 chnl=0 | ||
30 | char id=112 x=203 y=0 width=9 height=14 xoffset=1 yoffset=6 xadvance=10 page=0 chnl=0 | ||
31 | char id=108 x=212 y=0 width=9 height=14 xoffset=1 yoffset=2 xadvance=10 page=0 chnl=0 | ||
32 | char id=107 x=221 y=0 width=10 height=14 xoffset=2 yoffset=2 xadvance=10 page=0 chnl=0 | ||
33 | char id=105 x=231 y=0 width=9 height=14 xoffset=1 yoffset=2 xadvance=10 page=0 chnl=0 | ||
34 | char id=104 x=240 y=0 width=9 height=14 xoffset=2 yoffset=2 xadvance=10 page=0 chnl=0 | ||
35 | char id=103 x=249 y=0 width=10 height=14 xoffset=1 yoffset=6 xadvance=10 page=0 chnl=0 | ||
36 | char id=102 x=259 y=0 width=9 height=14 xoffset=2 yoffset=2 xadvance=10 page=0 chnl=0 | ||
37 | char id=85 x=268 y=0 width=9 height=14 xoffset=1 yoffset=3 xadvance=10 page=0 chnl=0 | ||
38 | char id=83 x=277 y=0 width=9 height=14 xoffset=1 yoffset=3 xadvance=10 page=0 chnl=0 | ||
39 | char id=79 x=286 y=0 width=10 height=14 xoffset=1 yoffset=3 xadvance=10 page=0 chnl=0 | ||
40 | char id=74 x=296 y=0 width=9 height=14 xoffset=1 yoffset=3 xadvance=10 page=0 chnl=0 | ||
41 | char id=71 x=305 y=0 width=10 height=14 xoffset=1 yoffset=3 xadvance=10 page=0 chnl=0 | ||
42 | char id=67 x=315 y=0 width=9 height=14 xoffset=1 yoffset=3 xadvance=10 page=0 chnl=0 | ||
43 | char id=35 x=324 y=0 width=11 height=13 xoffset=0 yoffset=3 xadvance=10 page=0 chnl=0 | ||
44 | char id=37 x=335 y=0 width=11 height=13 xoffset=0 yoffset=3 xadvance=10 page=0 chnl=0 | ||
45 | char id=59 x=346 y=0 width=4 height=13 xoffset=3 yoffset=6 xadvance=10 page=0 chnl=0 | ||
46 | char id=63 x=350 y=0 width=9 height=13 xoffset=2 yoffset=3 xadvance=10 page=0 chnl=0 | ||
47 | char id=33 x=359 y=0 width=3 height=13 xoffset=4 yoffset=3 xadvance=10 page=0 chnl=0 | ||
48 | char id=55 x=362 y=0 width=9 height=13 xoffset=1 yoffset=3 xadvance=10 page=0 chnl=0 | ||
49 | char id=52 x=371 y=0 width=10 height=13 xoffset=1 yoffset=3 xadvance=10 page=0 chnl=0 | ||
50 | char id=50 x=381 y=0 width=9 height=13 xoffset=1 yoffset=3 xadvance=10 page=0 chnl=0 | ||
51 | char id=49 x=390 y=0 width=9 height=13 xoffset=2 yoffset=3 xadvance=10 page=0 chnl=0 | ||
52 | char id=116 x=399 y=0 width=9 height=13 xoffset=1 yoffset=3 xadvance=10 page=0 chnl=0 | ||
53 | char id=90 x=408 y=0 width=10 height=13 xoffset=1 yoffset=3 xadvance=10 page=0 chnl=0 | ||
54 | char id=89 x=418 y=0 width=11 height=13 xoffset=0 yoffset=3 xadvance=10 page=0 chnl=0 | ||
55 | char id=88 x=429 y=0 width=11 height=13 xoffset=0 yoffset=3 xadvance=10 page=0 chnl=0 | ||
56 | char id=87 x=440 y=0 width=11 height=13 xoffset=0 yoffset=3 xadvance=10 page=0 chnl=0 | ||
57 | char id=86 x=451 y=0 width=11 height=13 xoffset=0 yoffset=3 xadvance=10 page=0 chnl=0 | ||
58 | char id=84 x=462 y=0 width=11 height=13 xoffset=0 yoffset=3 xadvance=10 page=0 chnl=0 | ||
59 | char id=82 x=473 y=0 width=10 height=13 xoffset=1 yoffset=3 xadvance=10 page=0 chnl=0 | ||
60 | char id=80 x=483 y=0 width=9 height=13 xoffset=2 yoffset=3 xadvance=10 page=0 chnl=0 | ||
61 | char id=78 x=492 y=0 width=9 height=13 xoffset=1 yoffset=3 xadvance=10 page=0 chnl=0 | ||
62 | char id=77 x=501 y=0 width=10 height=13 xoffset=1 yoffset=3 xadvance=10 page=0 chnl=0 | ||
63 | char id=76 x=0 y=18 width=9 height=13 xoffset=2 yoffset=3 xadvance=10 page=0 chnl=0 | ||
64 | char id=75 x=9 y=18 width=10 height=13 xoffset=1 yoffset=3 xadvance=10 page=0 chnl=0 | ||
65 | char id=73 x=19 y=18 width=9 height=13 xoffset=2 yoffset=3 xadvance=10 page=0 chnl=0 | ||
66 | char id=72 x=28 y=18 width=9 height=13 xoffset=1 yoffset=3 xadvance=10 page=0 chnl=0 | ||
67 | char id=70 x=37 y=18 width=9 height=13 xoffset=2 yoffset=3 xadvance=10 page=0 chnl=0 | ||
68 | char id=69 x=46 y=18 width=9 height=13 xoffset=2 yoffset=3 xadvance=10 page=0 chnl=0 | ||
69 | char id=68 x=55 y=18 width=9 height=13 xoffset=1 yoffset=3 xadvance=10 page=0 chnl=0 | ||
70 | char id=66 x=64 y=18 width=9 height=13 xoffset=1 yoffset=3 xadvance=10 page=0 chnl=0 | ||
71 | char id=65 x=73 y=18 width=11 height=13 xoffset=0 yoffset=3 xadvance=10 page=0 chnl=0 | ||
72 | char id=43 x=84 y=18 width=10 height=11 xoffset=1 yoffset=5 xadvance=10 page=0 chnl=0 | ||
73 | char id=117 x=94 y=18 width=9 height=11 xoffset=2 yoffset=6 xadvance=10 page=0 chnl=0 | ||
74 | char id=115 x=103 y=18 width=9 height=11 xoffset=2 yoffset=6 xadvance=10 page=0 chnl=0 | ||
75 | char id=111 x=112 y=18 width=9 height=11 xoffset=1 yoffset=6 xadvance=10 page=0 chnl=0 | ||
76 | char id=101 x=121 y=18 width=10 height=11 xoffset=1 yoffset=6 xadvance=10 page=0 chnl=0 | ||
77 | char id=99 x=131 y=18 width=9 height=11 xoffset=2 yoffset=6 xadvance=10 page=0 chnl=0 | ||
78 | char id=97 x=140 y=18 width=9 height=11 xoffset=1 yoffset=6 xadvance=10 page=0 chnl=0 | ||
79 | char id=58 x=149 y=18 width=4 height=10 xoffset=4 yoffset=6 xadvance=10 page=0 chnl=0 | ||
80 | char id=122 x=153 y=18 width=9 height=10 xoffset=2 yoffset=6 xadvance=10 page=0 chnl=0 | ||
81 | char id=120 x=162 y=18 width=11 height=10 xoffset=1 yoffset=6 xadvance=10 page=0 chnl=0 | ||
82 | char id=119 x=173 y=18 width=11 height=10 xoffset=0 yoffset=6 xadvance=10 page=0 chnl=0 | ||
83 | char id=118 x=184 y=18 width=10 height=10 xoffset=1 yoffset=6 xadvance=10 page=0 chnl=0 | ||
84 | char id=114 x=194 y=18 width=9 height=10 xoffset=3 yoffset=6 xadvance=10 page=0 chnl=0 | ||
85 | char id=110 x=203 y=18 width=9 height=10 xoffset=2 yoffset=6 xadvance=10 page=0 chnl=0 | ||
86 | char id=109 x=212 y=18 width=10 height=10 xoffset=1 yoffset=6 xadvance=10 page=0 chnl=0 | ||
87 | char id=42 x=222 y=18 width=9 height=9 xoffset=1 yoffset=3 xadvance=10 page=0 chnl=0 | ||
88 | char id=62 x=231 y=18 width=10 height=9 xoffset=1 yoffset=6 xadvance=10 page=0 chnl=0 | ||
89 | char id=60 x=241 y=18 width=10 height=9 xoffset=1 yoffset=6 xadvance=10 page=0 chnl=0 | ||
90 | char id=61 x=251 y=18 width=10 height=7 xoffset=1 yoffset=7 xadvance=10 page=0 chnl=0 | ||
91 | char id=44 x=261 y=18 width=4 height=7 xoffset=3 yoffset=12 xadvance=10 page=0 chnl=0 | ||
92 | char id=94 x=265 y=18 width=11 height=6 xoffset=1 yoffset=3 xadvance=10 page=0 chnl=0 | ||
93 | char id=39 x=276 y=18 width=3 height=6 xoffset=4 yoffset=3 xadvance=10 page=0 chnl=0 | ||
94 | char id=34 x=279 y=18 width=6 height=6 xoffset=3 yoffset=3 xadvance=10 page=0 chnl=0 | ||
95 | char id=126 x=285 y=18 width=10 height=5 xoffset=1 yoffset=8 xadvance=10 page=0 chnl=0 | ||
96 | char id=96 x=295 y=18 width=5 height=5 xoffset=2 yoffset=2 xadvance=10 page=0 chnl=0 | ||
97 | char id=45 x=300 y=18 width=6 height=4 xoffset=3 yoffset=9 xadvance=10 page=0 chnl=0 | ||
98 | char id=46 x=306 y=18 width=4 height=4 xoffset=4 yoffset=12 xadvance=10 page=0 chnl=0 | ||
99 | char id=95 x=310 y=18 width=9 height=2 xoffset=0 yoffset=18 xadvance=10 page=0 chnl=0 | ||
diff --git a/Resources/leveldescriptions.png b/Resources/leveldescriptions.png deleted file mode 100644 index c4ca55b..0000000 --- a/Resources/leveldescriptions.png +++ /dev/null | |||
Binary files differ | |||
diff --git a/Resources/levelnames.fnt b/Resources/levelnames.fnt deleted file mode 100644 index 026b009..0000000 --- a/Resources/levelnames.fnt +++ /dev/null | |||
@@ -1,99 +0,0 @@ | |||
1 | info face="BitstreamVeraSansMono-BoldOb" size=18 bold=1 italic=0 charset="" unicode=0 stretchH=100 smooth=1 aa=1 padding=0,0,0,0 spacing=1,1 | ||
2 | common lineHeight=22 base=17 scaleW=512 scaleH=512 pages=1 packed=0 | ||
3 | page id=0 file="levelnames.png" | ||
4 | chars count=94 | ||
5 | char id=32 x=0 y=0 width=0 height=0 xoffset=0 yoffset=17 xadvance=11 page=0 chnl=0 | ||
6 | char id=124 x=0 y=0 width=4 height=20 xoffset=4 yoffset=3 xadvance=11 page=0 chnl=0 | ||
7 | char id=106 x=4 y=0 width=8 height=20 xoffset=1 yoffset=2 xadvance=11 page=0 chnl=0 | ||
8 | char id=36 x=12 y=0 width=10 height=18 xoffset=1 yoffset=3 xadvance=11 page=0 chnl=0 | ||
9 | char id=125 x=22 y=0 width=10 height=18 xoffset=2 yoffset=3 xadvance=11 page=0 chnl=0 | ||
10 | char id=123 x=32 y=0 width=10 height=18 xoffset=2 yoffset=3 xadvance=11 page=0 chnl=0 | ||
11 | char id=93 x=42 y=0 width=7 height=18 xoffset=3 yoffset=3 xadvance=11 page=0 chnl=0 | ||
12 | char id=91 x=49 y=0 width=7 height=18 xoffset=4 yoffset=3 xadvance=11 page=0 chnl=0 | ||
13 | char id=41 x=56 y=0 width=7 height=18 xoffset=3 yoffset=3 xadvance=11 page=0 chnl=0 | ||
14 | char id=40 x=63 y=0 width=7 height=18 xoffset=3 yoffset=3 xadvance=11 page=0 chnl=0 | ||
15 | char id=81 x=70 y=0 width=12 height=18 xoffset=1 yoffset=3 xadvance=11 page=0 chnl=0 | ||
16 | char id=92 x=82 y=0 width=11 height=17 xoffset=1 yoffset=3 xadvance=11 page=0 chnl=0 | ||
17 | char id=64 x=93 y=0 width=12 height=17 xoffset=0 yoffset=4 xadvance=11 page=0 chnl=0 | ||
18 | char id=47 x=105 y=0 width=11 height=17 xoffset=1 yoffset=3 xadvance=11 page=0 chnl=0 | ||
19 | char id=38 x=116 y=0 width=12 height=16 xoffset=0 yoffset=3 xadvance=11 page=0 chnl=0 | ||
20 | char id=48 x=128 y=0 width=10 height=16 xoffset=1 yoffset=3 xadvance=11 page=0 chnl=0 | ||
21 | char id=57 x=138 y=0 width=11 height=16 xoffset=1 yoffset=3 xadvance=11 page=0 chnl=0 | ||
22 | char id=56 x=149 y=0 width=10 height=16 xoffset=1 yoffset=3 xadvance=11 page=0 chnl=0 | ||
23 | char id=54 x=159 y=0 width=10 height=16 xoffset=1 yoffset=3 xadvance=11 page=0 chnl=0 | ||
24 | char id=53 x=169 y=0 width=10 height=16 xoffset=1 yoffset=3 xadvance=11 page=0 chnl=0 | ||
25 | char id=51 x=179 y=0 width=10 height=16 xoffset=1 yoffset=3 xadvance=11 page=0 chnl=0 | ||
26 | char id=113 x=189 y=0 width=11 height=16 xoffset=1 yoffset=6 xadvance=11 page=0 chnl=0 | ||
27 | char id=112 x=200 y=0 width=11 height=16 xoffset=1 yoffset=6 xadvance=11 page=0 chnl=0 | ||
28 | char id=105 x=211 y=0 width=11 height=16 xoffset=1 yoffset=2 xadvance=11 page=0 chnl=0 | ||
29 | char id=103 x=222 y=0 width=11 height=16 xoffset=1 yoffset=6 xadvance=11 page=0 chnl=0 | ||
30 | char id=100 x=233 y=0 width=11 height=16 xoffset=1 yoffset=3 xadvance=11 page=0 chnl=0 | ||
31 | char id=98 x=244 y=0 width=11 height=16 xoffset=1 yoffset=3 xadvance=11 page=0 chnl=0 | ||
32 | char id=85 x=255 y=0 width=11 height=16 xoffset=1 yoffset=3 xadvance=11 page=0 chnl=0 | ||
33 | char id=83 x=266 y=0 width=10 height=16 xoffset=1 yoffset=3 xadvance=11 page=0 chnl=0 | ||
34 | char id=79 x=276 y=0 width=12 height=16 xoffset=1 yoffset=3 xadvance=11 page=0 chnl=0 | ||
35 | char id=74 x=288 y=0 width=10 height=16 xoffset=1 yoffset=3 xadvance=11 page=0 chnl=0 | ||
36 | char id=71 x=298 y=0 width=10 height=16 xoffset=1 yoffset=3 xadvance=11 page=0 chnl=0 | ||
37 | char id=67 x=308 y=0 width=10 height=16 xoffset=1 yoffset=3 xadvance=11 page=0 chnl=0 | ||
38 | char id=63 x=318 y=0 width=9 height=15 xoffset=2 yoffset=3 xadvance=11 page=0 chnl=0 | ||
39 | char id=33 x=327 y=0 width=4 height=15 xoffset=4 yoffset=3 xadvance=11 page=0 chnl=0 | ||
40 | char id=55 x=331 y=0 width=10 height=15 xoffset=1 yoffset=3 xadvance=11 page=0 chnl=0 | ||
41 | char id=52 x=341 y=0 width=12 height=15 xoffset=1 yoffset=3 xadvance=11 page=0 chnl=0 | ||
42 | char id=50 x=353 y=0 width=10 height=15 xoffset=1 yoffset=3 xadvance=11 page=0 chnl=0 | ||
43 | char id=49 x=363 y=0 width=10 height=15 xoffset=2 yoffset=3 xadvance=11 page=0 chnl=0 | ||
44 | char id=121 x=373 y=0 width=12 height=15 xoffset=1 yoffset=7 xadvance=11 page=0 chnl=0 | ||
45 | char id=108 x=385 y=0 width=11 height=15 xoffset=1 yoffset=3 xadvance=11 page=0 chnl=0 | ||
46 | char id=107 x=396 y=0 width=11 height=15 xoffset=2 yoffset=3 xadvance=11 page=0 chnl=0 | ||
47 | char id=104 x=407 y=0 width=10 height=15 xoffset=2 yoffset=3 xadvance=11 page=0 chnl=0 | ||
48 | char id=102 x=417 y=0 width=10 height=15 xoffset=2 yoffset=3 xadvance=11 page=0 chnl=0 | ||
49 | char id=90 x=427 y=0 width=11 height=15 xoffset=1 yoffset=3 xadvance=11 page=0 chnl=0 | ||
50 | char id=89 x=438 y=0 width=12 height=15 xoffset=0 yoffset=3 xadvance=11 page=0 chnl=0 | ||
51 | char id=88 x=450 y=0 width=12 height=15 xoffset=0 yoffset=3 xadvance=11 page=0 chnl=0 | ||
52 | char id=87 x=462 y=0 width=12 height=15 xoffset=0 yoffset=3 xadvance=11 page=0 chnl=0 | ||
53 | char id=86 x=474 y=0 width=12 height=15 xoffset=1 yoffset=3 xadvance=11 page=0 chnl=0 | ||
54 | char id=84 x=486 y=0 width=12 height=15 xoffset=1 yoffset=3 xadvance=11 page=0 chnl=0 | ||
55 | char id=82 x=498 y=0 width=11 height=15 xoffset=1 yoffset=3 xadvance=11 page=0 chnl=0 | ||
56 | char id=80 x=0 y=20 width=11 height=15 xoffset=1 yoffset=3 xadvance=11 page=0 chnl=0 | ||
57 | char id=78 x=11 y=20 width=10 height=15 xoffset=1 yoffset=3 xadvance=11 page=0 chnl=0 | ||
58 | char id=77 x=21 y=20 width=12 height=15 xoffset=1 yoffset=3 xadvance=11 page=0 chnl=0 | ||
59 | char id=76 x=33 y=20 width=11 height=15 xoffset=2 yoffset=3 xadvance=11 page=0 chnl=0 | ||
60 | char id=75 x=44 y=20 width=11 height=15 xoffset=1 yoffset=3 xadvance=11 page=0 chnl=0 | ||
61 | char id=73 x=55 y=20 width=10 height=15 xoffset=2 yoffset=3 xadvance=11 page=0 chnl=0 | ||
62 | char id=72 x=65 y=20 width=10 height=15 xoffset=1 yoffset=3 xadvance=11 page=0 chnl=0 | ||
63 | char id=70 x=75 y=20 width=10 height=15 xoffset=2 yoffset=3 xadvance=11 page=0 chnl=0 | ||
64 | char id=69 x=85 y=20 width=10 height=15 xoffset=1 yoffset=3 xadvance=11 page=0 chnl=0 | ||
65 | char id=68 x=95 y=20 width=11 height=15 xoffset=1 yoffset=3 xadvance=11 page=0 chnl=0 | ||
66 | char id=66 x=106 y=20 width=11 height=15 xoffset=1 yoffset=3 xadvance=11 page=0 chnl=0 | ||
67 | char id=65 x=117 y=20 width=12 height=15 xoffset=0 yoffset=3 xadvance=11 page=0 chnl=0 | ||
68 | char id=35 x=129 y=20 width=12 height=14 xoffset=0 yoffset=4 xadvance=11 page=0 chnl=0 | ||
69 | char id=37 x=141 y=20 width=12 height=14 xoffset=0 yoffset=4 xadvance=11 page=0 chnl=0 | ||
70 | char id=59 x=153 y=20 width=5 height=14 xoffset=3 yoffset=7 xadvance=11 page=0 chnl=0 | ||
71 | char id=116 x=158 y=20 width=11 height=14 xoffset=1 yoffset=4 xadvance=11 page=0 chnl=0 | ||
72 | char id=115 x=169 y=20 width=10 height=13 xoffset=2 yoffset=6 xadvance=11 page=0 chnl=0 | ||
73 | char id=111 x=179 y=20 width=11 height=13 xoffset=1 yoffset=6 xadvance=11 page=0 chnl=0 | ||
74 | char id=101 x=190 y=20 width=12 height=13 xoffset=1 yoffset=6 xadvance=11 page=0 chnl=0 | ||
75 | char id=99 x=202 y=20 width=10 height=13 xoffset=1 yoffset=6 xadvance=11 page=0 chnl=0 | ||
76 | char id=97 x=212 y=20 width=11 height=13 xoffset=1 yoffset=6 xadvance=11 page=0 chnl=0 | ||
77 | char id=43 x=223 y=20 width=12 height=12 xoffset=1 yoffset=6 xadvance=11 page=0 chnl=0 | ||
78 | char id=62 x=235 y=20 width=12 height=12 xoffset=1 yoffset=6 xadvance=11 page=0 chnl=0 | ||
79 | char id=60 x=247 y=20 width=12 height=12 xoffset=1 yoffset=6 xadvance=11 page=0 chnl=0 | ||
80 | char id=117 x=259 y=20 width=10 height=12 xoffset=1 yoffset=7 xadvance=11 page=0 chnl=0 | ||
81 | char id=114 x=269 y=20 width=10 height=12 xoffset=3 yoffset=6 xadvance=11 page=0 chnl=0 | ||
82 | char id=110 x=279 y=20 width=10 height=12 xoffset=2 yoffset=6 xadvance=11 page=0 chnl=0 | ||
83 | char id=109 x=289 y=20 width=12 height=12 xoffset=1 yoffset=6 xadvance=11 page=0 chnl=0 | ||
84 | char id=58 x=301 y=20 width=5 height=11 xoffset=4 yoffset=7 xadvance=11 page=0 chnl=0 | ||
85 | char id=122 x=306 y=20 width=10 height=11 xoffset=1 yoffset=7 xadvance=11 page=0 chnl=0 | ||
86 | char id=120 x=316 y=20 width=12 height=11 xoffset=0 yoffset=7 xadvance=11 page=0 chnl=0 | ||
87 | char id=119 x=328 y=20 width=12 height=11 xoffset=0 yoffset=7 xadvance=11 page=0 chnl=0 | ||
88 | char id=118 x=340 y=20 width=12 height=11 xoffset=1 yoffset=7 xadvance=11 page=0 chnl=0 | ||
89 | char id=42 x=352 y=20 width=10 height=10 xoffset=1 yoffset=3 xadvance=11 page=0 chnl=0 | ||
90 | char id=61 x=362 y=20 width=12 height=8 xoffset=1 yoffset=8 xadvance=11 page=0 chnl=0 | ||
91 | char id=44 x=374 y=20 width=5 height=8 xoffset=3 yoffset=13 xadvance=11 page=0 chnl=0 | ||
92 | char id=94 x=379 y=20 width=12 height=7 xoffset=1 yoffset=3 xadvance=11 page=0 chnl=0 | ||
93 | char id=39 x=391 y=20 width=4 height=7 xoffset=4 yoffset=3 xadvance=11 page=0 chnl=0 | ||
94 | char id=34 x=395 y=20 width=8 height=7 xoffset=2 yoffset=3 xadvance=11 page=0 chnl=0 | ||
95 | char id=126 x=403 y=20 width=12 height=5 xoffset=1 yoffset=9 xadvance=11 page=0 chnl=0 | ||
96 | char id=45 x=415 y=20 width=8 height=5 xoffset=3 yoffset=10 xadvance=11 page=0 chnl=0 | ||
97 | char id=46 x=423 y=20 width=5 height=5 xoffset=4 yoffset=13 xadvance=11 page=0 chnl=0 | ||
98 | char id=96 x=428 y=20 width=7 height=5 xoffset=2 yoffset=2 xadvance=11 page=0 chnl=0 | ||
99 | char id=95 x=435 y=20 width=12 height=4 xoffset=0 yoffset=19 xadvance=11 page=0 chnl=0 | ||
diff --git a/Resources/levelnames.png b/Resources/levelnames.png deleted file mode 100644 index 1b3d082..0000000 --- a/Resources/levelnames.png +++ /dev/null | |||
Binary files differ | |||