Skip to content

Commit 723beed

Browse files
committed
level list & bug fixes
1 parent dbd0b92 commit 723beed

File tree

5 files changed

+52
-44
lines changed

5 files changed

+52
-44
lines changed

changelog.md

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,11 @@
11
# 1.0.0-beta.5
22

3-
- Added skips level on the map
4-
- Fixed bug causing completed levels to be over 15
3+
- Added skips used on map layer
4+
- Added level list
5+
- Fixed bug allowing multiple completions of a level
6+
- Fixed bug w/ lives not updating to new amounts
7+
- More crash fixes
8+
- New logo (Thanks to Rue <3)
59

610
# 1.0.0-beta.4
711

logo.png

38.9 KB
Loading

resources/levels.png

20.9 KB
Loading

src/ExpertMapLayer.hpp

Lines changed: 37 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ class ExpertMapLayer : public CCLayer, LevelDownloadDelegate {
5656
void addMap();
5757
void ondownloadfinished(std::string const&);
5858
void expertReset();
59-
void showCongrats(CCObject*);
59+
void showCongrats();
6060
void showGameOver();
6161

6262
int dl_count;
@@ -66,6 +66,7 @@ class ExpertMapLayer : public CCLayer, LevelDownloadDelegate {
6666
CCMenu* end_run_btn_menu;
6767
CCMenu* settings_menu;
6868
CCMenu* devs_menu;
69+
CCMenu* showLevelMenu;
6970
CCMenuItemSpriteExtra* startBtn;
7071
CCMenuItemSpriteExtra* devBtn;
7172
LoadingCircle* loading_circle;
@@ -138,18 +139,21 @@ bool ExpertMapLayer::init() { //beware, this code is dog shit holy fuck
138139
dl_txt->setVisible(false);
139140
dl_txt->setScale(0.6);
140141

142+
loading_circle = LoadingCircle::create();
143+
addChild(loading_circle);
144+
loading_circle->setVisible(false);
145+
146+
// menus & assets below
147+
141148
CCMenu* back_btn_menu = CCMenu::create();
142149
CCMenu* start_btn_menu = CCMenu::create();
143150
CCMenu* discord_btn_menu = CCMenu::create();
144151

152+
showLevelMenu = CCMenu::create();
145153
end_run_btn_menu = CCMenu::create();
146154
settings_menu = CCMenu::create();
147155
devs_menu = CCMenu::create();
148156

149-
loading_circle = LoadingCircle::create();
150-
addChild(loading_circle);
151-
loading_circle->setVisible(false);
152-
153157
CCSprite* settingsGear = CCSprite::createWithSpriteFrameName("GJ_optionsBtn_001.png");
154158
settingsGear->setScale(0.5);
155159

@@ -159,19 +163,34 @@ bool ExpertMapLayer::init() { //beware, this code is dog shit holy fuck
159163
CCSprite* devsSprite = CCSprite::create("devs.png"_spr);
160164
devsSprite->setScale(0.6);
161165

166+
CCSprite* showLevels = CCSprite::create("levels.png"_spr);
167+
showLevels->setScale(0.55);
168+
162169
auto backBtn = CCMenuItemSpriteExtra::create(CCSprite::createWithSpriteFrameName("GJ_arrow_03_001.png"), this, menu_selector(ExpertMapLayer::onGoBack));
163170
auto settingsBtn = CCMenuItemSpriteExtra::create(settingsGear, this, menu_selector(ExpertMapLayer::openSettings));
164171
auto discordBtn = CCMenuItemSpriteExtra::create(discordSprite, this, menu_selector(ExpertMapLayer::openDiscord));
172+
auto showLevelBtn = CCMenuItemSpriteExtra::create(showLevels, this, menu_selector(ExpertMapLayer::showAllLevels));
165173
startBtn = CCMenuItemSpriteExtra::create(CCSprite::createWithSpriteFrameName("GJ_longBtn03_001.png"), this, menu_selector(ExpertMapLayer::start_expert_run));
166-
devBtn = CCMenuItemSpriteExtra::create(devsSprite, this, menu_selector(ExpertMapLayer::showCongrats));
174+
devBtn = CCMenuItemSpriteExtra::create(devsSprite, this, menu_selector(ExpertMapLayer::openDevs));
175+
176+
addChild(discord_btn_menu);
177+
discord_btn_menu->addChild(discordBtn);
178+
discord_btn_menu->setPosition({527.5f,245});
179+
180+
addChild(showLevelMenu);
181+
showLevelMenu->addChild(showLevelBtn);
182+
showLevelMenu->setPosition(discord_btn_menu->getPositionX(), discord_btn_menu->getPositionY() - 33);
183+
showLevelMenu->setVisible(false);
167184

168185
addChild(devs_menu);
169186
devs_menu->addChild(devBtn);
170187
devs_menu->setPosition({93, 290});
171188

172-
addChild(discord_btn_menu);
173-
discord_btn_menu->addChild(discordBtn);
174-
discord_btn_menu->setPosition({527.5f,245});
189+
addChild(settings_menu);
190+
settings_menu->addChild(settingsBtn);
191+
settingsBtn->setPosition({243, 117});
192+
193+
// end of menus
175194

176195
auto bottomLeft = CCSprite::createWithSpriteFrameName("GJ_sideArt_001.png");
177196
auto topRight = CCSprite::createWithSpriteFrameName("GJ_sideArt_001.png");
@@ -246,9 +265,6 @@ bool ExpertMapLayer::init() { //beware, this code is dog shit holy fuck
246265
addChild(end_run_btn_menu);
247266
addChild(super_expert_lbl);
248267

249-
addChild(settings_menu);
250-
settings_menu->addChild(settingsBtn);
251-
settingsBtn->setPosition({243, 117});
252268

253269
back_btn_menu->addChild(backBtn);
254270
addChild(dl_txt);
@@ -263,8 +279,8 @@ bool ExpertMapLayer::init() { //beware, this code is dog shit holy fuck
263279
else {
264280
(downloading) ? downloadLevels() : addMap();
265281
if (current_level == 15) {
266-
//auto showCongrats = CCCallFunc::create(this, callfunc_selector(ExpertMapLayer::showCongrats));
267-
//runAction(CCSequence::createWithTwoActions(CCDelayTime::create(0.3f), showCongrats));
282+
auto showCongrats = CCCallFunc::create(this, callfunc_selector(ExpertMapLayer::showCongrats));
283+
runAction(CCSequence::createWithTwoActions(CCDelayTime::create(0.3f), showCongrats));
268284
current_level++;
269285
}
270286
}
@@ -274,35 +290,18 @@ bool ExpertMapLayer::init() { //beware, this code is dog shit holy fuck
274290
return true;
275291
}
276292

277-
void ExpertMapLayer::showCongrats(CCObject*) {
278-
FLAlertLayer* congrats = FLAlertLayer::create("Congratulations", "You have successfully completed\n<cp>Super Expert</c>!", "OK");
279-
congrats->show();
280-
281-
auto main_layer = static_cast<CCNode*>(congrats->getChildren()->objectAtIndex(0)); // thanks for NOTHING getChildbyID! asshole
282-
283-
CCSprite* showLevels = CCSprite::createWithSpriteFrameName("GJ_infoIcon_001.png");
284-
CCMenu* showLevelMenu = CCMenu::create();
285-
CCMenuItemSpriteExtra* showLevelBtn = CCMenuItemSpriteExtra::create(showLevels, this, menu_selector(ExpertMapLayer::showAllLevels));
286-
287-
showLevels->setPosition({155, 75.5});
288-
showLevels->setScale(1.025);
289-
290-
main_layer->addChild(showLevelMenu, 1);
291-
292-
showLevelMenu->setID("levels");
293-
showLevelMenu->addChild(showLevelBtn);
294-
handleTouchPriority(this, true);
293+
void ExpertMapLayer::showCongrats() {
294+
FLAlertLayer::create("Congratulations", "You have successfully completed\n<cp>Super Expert</c>!", "OK")->show();
295+
}
295296

297+
void ExpertMapLayer::showGameOver() {
298+
FLAlertLayer::create("Out of Lives!", "It looks like you've <cr>ran out of lives</c>!", "OK")->show();
296299
}
297300

298301
void ExpertMapLayer::showAllLevels(CCObject*) {
299302
FLAlertLayer::create("Level List", sharelevels, "OK")->show();
300303
}
301304

302-
void ExpertMapLayer::showGameOver() {
303-
FLAlertLayer::create("Out of Lives!", "It looks like you've <cr>ran out of lives</c>!", "OK")->show();
304-
}
305-
306305
void ExpertMapLayer::addMap() {
307306

308307
CCSprite* stage_sprite;
@@ -374,6 +373,7 @@ void ExpertMapLayer::addMap() {
374373

375374
addChild(dotsmenu);
376375
skips_left->setVisible(true);
376+
showLevelMenu->setVisible(true);
377377
}
378378

379379
void ExpertMapLayer::start_expert_run(CCObject*) {
@@ -385,6 +385,7 @@ void ExpertMapLayer::start_expert_run(CCObject*) {
385385
startBtn->setVisible(false);
386386
loading_circle->show();
387387
current_level = 0;
388+
sharelevels.clear();
388389
downloadLevels();
389390
}
390391

src/main.cpp

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -179,6 +179,9 @@ class $modify(ExpertPauseLayer, PauseLayer) {
179179

180180
class $modify(ExpertCallback, CreatorLayer) {
181181

182+
CCSprite* expertBtnSprite;
183+
CCMenuItemSpriteExtra* expertButton;
184+
182185
bool init() {
183186
bool result = CreatorLayer::init();
184187
auto director = CCDirector::sharedDirector();
@@ -190,17 +193,17 @@ class $modify(ExpertCallback, CreatorLayer) {
190193
CCMenuItemSpriteExtra* versusButton = reinterpret_cast<CCMenuItemSpriteExtra*>(creatorButtons->getChildByID("versus-button"));
191194
CCMenuItemSpriteExtra* questButton = reinterpret_cast<CCMenuItemSpriteExtra*>(creatorButtons->getChildByID("quests-button"));
192195

193-
CCSprite* expertBtnSprite = CCSprite::create("super_expert_btn.png"_spr);
194-
expertBtnSprite->setScale(0.805);
196+
m_fields->expertBtnSprite = CCSprite::create("super_expert_btn.png"_spr);
197+
m_fields->expertBtnSprite->setScale(0.805);
195198

196-
CCMenuItemSpriteExtra* expertButton = CCMenuItemSpriteExtra::create(expertBtnSprite, this, menu_selector(ExpertCallback::onExpert));
199+
m_fields->expertButton = CCMenuItemSpriteExtra::create(m_fields->expertBtnSprite, this, menu_selector(ExpertCallback::onExpert));
197200

198201
versusButton->setVisible(false);
199202

200-
expertButton->setPosition({questButton->getPositionX() + 92, questButton->getPositionY() - 2.4f});
201-
expertButton->setID("super-expert-button");
203+
m_fields->expertButton->setPosition({questButton->getPositionX() + 92, questButton->getPositionY() - 2.4f});
204+
m_fields->expertButton->setID("super-expert-button");
202205

203-
creatorButtons->addChild(expertButton);
206+
creatorButtons->addChild(m_fields->expertButton);
204207

205208
return result;
206209
}

0 commit comments

Comments
 (0)