Skip to content

Commit a2b47dc

Browse files
author
Tr1NgleDev
committed
fix for different aspect ratios thingy. uhh fixed positions for stuff in menus
1 parent 97ed3aa commit a2b47dc

6 files changed

Lines changed: 53 additions & 40 deletions

File tree

Classes/AppDelegate.cpp

Lines changed: 38 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -78,9 +78,25 @@ void AppDelegate::onGLFWwindowSizeCallback(GLFWwindow*, int w, int h)
7878
auto glView = director->getOpenGLView();
7979

8080
glView->setFrameSize(w, h);
81+
8182

82-
glView->setDesignResolutionSize(569, 320,
83-
ResolutionPolicy::NO_BORDER);
83+
// uhh stuff to make different aspect ratios work ig?
84+
if (w > 1280)
85+
glView->setDesignResolutionSize(569 + (w - 1280), 320,
86+
ResolutionPolicy::FIXED_HEIGHT);
87+
else
88+
glView->setDesignResolutionSize(569, 320 - (w - 1280),
89+
ResolutionPolicy::FIXED_WIDTH);
90+
91+
if (h > 720)
92+
glView->setDesignResolutionSize(569, 320 + (h - 720),
93+
ResolutionPolicy::FIXED_WIDTH);
94+
else
95+
glView->setDesignResolutionSize(569 - (h - 720), 320,
96+
ResolutionPolicy::FIXED_HEIGHT);
97+
98+
//glView->setDesignResolutionSize(569, 320,
99+
// ResolutionPolicy::SHOW_ALL);
84100

85101
director->getEventDispatcher()->dispatchCustomEvent(GLViewImpl::EVENT_WINDOW_RESIZED, nullptr);
86102
}
@@ -97,8 +113,9 @@ bool AppDelegate::applicationDidFinishLaunching()
97113
glView = GLViewImpl::createWithRect(
98114
"OpenGD", ax::Rect(0, 0, 1280, 720), 1.f, true);
99115
#else
100-
glView = GLViewImpl::create("OpenGD");
116+
glView = GLViewImpl::create("OpenGD", true);
101117
#endif
118+
102119
/*
103120
auto full = dynamic_cast<GLViewImpl *>(glView);
104121
full->setFullscreen();
@@ -114,41 +131,35 @@ bool AppDelegate::applicationDidFinishLaunching()
114131

115132
// Set the design resolution
116133
glView->setDesignResolutionSize(569, 320,
117-
ResolutionPolicy::FIXED_WIDTH);
134+
ResolutionPolicy::SHOW_ALL);
135+
136+
// uhh stuff to make different aspect ratios work ig?
137+
if (glView->getFrameSize().width > 1280)
138+
glView->setDesignResolutionSize(569 + (glView->getFrameSize().width - 1280), 320,
139+
ResolutionPolicy::FIXED_HEIGHT);
140+
else
141+
glView->setDesignResolutionSize(569, 320 - (glView->getFrameSize().width - 1280),
142+
ResolutionPolicy::FIXED_WIDTH);
143+
144+
if (glView->getFrameSize().height > 720)
145+
glView->setDesignResolutionSize(569, 320 + (glView->getFrameSize().height - 720),
146+
ResolutionPolicy::FIXED_WIDTH);
147+
else
148+
glView->setDesignResolutionSize(569 - (glView->getFrameSize().height - 720), 320,
149+
ResolutionPolicy::FIXED_HEIGHT);
150+
118151

119152
#if (AX_TARGET_PLATFORM == AX_PLATFORM_WIN32) || (AX_TARGET_PLATFORM == AX_PLATFORM_MAC) || \
120153
(AX_TARGET_PLATFORM == AX_PLATFORM_LINUX)
121154

122-
glfwSetWindowAspectRatio(static_cast<GLViewImpl*>(glView)->getWindow(), 16, 9);
155+
//glfwSetWindowAspectRatio(static_cast<GLViewImpl*>(glView)->getWindow(), 16, 9);
123156

124157
glfwSetWindowSizeCallback(static_cast<GLViewImpl*>(glView)->getWindow(), AppDelegate::onGLFWwindowSizeCallback);
125158

126159
#endif
127160

128-
//glView->setFrameSize(1280, 720);
129-
130161
director->setContentScaleFactor(2.0f);
131162

132-
/*
133-
// if the frame's height is larger than the height of medium size.
134-
if (frameSize.height > mediumResolutionSize.height)
135-
{
136-
director->setContentScaleFactor(MIN(largeResolutionSize.height / designResolutionSize.height,
137-
largeResolutionSize.width / designResolutionSize.width));
138-
}
139-
// if the frame's height is larger than the height of small size.
140-
else if (frameSize.height > smallResolutionSize.height)
141-
{
142-
director->setContentScaleFactor(MIN(mediumResolutionSize.height / designResolutionSize.height,
143-
mediumResolutionSize.width / designResolutionSize.width));
144-
}
145-
// if the frame's height is smaller than the height of medium size.
146-
else
147-
{
148-
director->setContentScaleFactor(MIN(smallResolutionSize.height / designResolutionSize.height,
149-
smallResolutionSize.width / designResolutionSize.width));
150-
}
151-
*/
152163
register_all_packages();
153164

154165
// create a scene. it's an autorelease object

Classes/LevelPage.cpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -99,15 +99,16 @@ bool LevelPage::init(GJGameLevel* level)
9999
if (!LevelPage::replacingScene)
100100
{
101101
ax::AudioEngine::stopAll();
102-
ax::AudioEngine::play2d("playSound_01.ogg", false, 0.5f);
102+
ax::AudioEngine::play2d("playSound_01.ogg", false, 0.2f);
103103
ax::Director::getInstance()->replaceScene(ax::TransitionFade::create(0.5f, PlayLayer::scene(level)));
104104
LevelPage::replacingScene = true;
105+
MenuLayer::music = false;
105106
}
106107
});
107108
mainBtn->setScaleMultiplier(1.1f);
108109
auto levelMenu = ax::Menu::create();
109110
levelMenu->addChild(mainBtn);
110-
levelMenu->setPosition({283.5, 220});
111+
levelMenu->setPosition({ winSize.width / 2.f, 220 });
111112
addChild(levelMenu);
112113

113114
return true;

Classes/LevelSelectLayer.cpp

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ bool LevelSelectLayer::init()
4848
_background->setPosition({-5.0f, -5.0f});
4949
_background->setColor({0x28, 0x7D, 0xFF});
5050

51-
// // why does game manager store the ground id? who knows!
51+
// why does game manager store the ground id? who knows!
5252
_ground = GroundLayer::create(1);
5353
_ground->setPositionY(-25.f);
5454
addChild(_ground, -1);
@@ -75,6 +75,7 @@ bool LevelSelectLayer::init()
7575

7676
auto bsl = BoomScrollLayer::create(layers, 0);
7777
addChild(bsl);
78+
7879
/* std::vector<GJGameLevel> mainLevels;
7980
cocos2d::CCArray* levelPages = cocos2d::CCArray::create();
8081
for (size_t i = 0; i < 22; i++)
@@ -147,7 +148,7 @@ bool LevelSelectLayer::init()
147148
btnMenu->addChild(rightBtn);
148149

149150
//right->setScale(2.0f);
150-
rightBtn->setPosition(btnMenu->convertToNodeSpace({569 - 25.0f, winSize.height / 2}));
151+
rightBtn->setPosition(btnMenu->convertToNodeSpace({ winSize.width - 25.0f, winSize.height / 2 }));
151152

152153
auto back = Sprite::createWithSpriteFrameName("GJ_arrow_01_001.png");
153154
MenuItemSpriteExtra* backBtn = MenuItemSpriteExtra::create(back, [&](Node* btn) {
@@ -174,7 +175,7 @@ bool LevelSelectLayer::init()
174175
});
175176
infoMenu->addChild(infoBtn, 1);
176177

177-
infoMenu->setPosition({569.f - 20.0f, 320 - 20.0f});
178+
infoMenu->setPosition({ winSize.width - 20.0f, winSize.height - 20.0f });
178179

179180
//if (controller) GameToolbox::addBackButton(this, backBtn);
180181
return true;

Classes/MenuLayer.cpp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323

2424
USING_NS_AX;
2525

26-
bool music = true;
26+
bool MenuLayer::music = true;
2727

2828
Scene* MenuLayer::scene()
2929
{
@@ -49,7 +49,7 @@ bool MenuLayer::init()
4949
auto log_oSpr = Sprite::createWithSpriteFrameName("GJ_logo_001.png");
5050
log_oSpr->setStretchEnabled(false);
5151
//log_oSpr->setPosition({ winSize.width / 2, winSize.height - 100 });
52-
log_oSpr->setPosition({284.5, 270});
52+
log_oSpr->setPosition({ winSize.width / 2.f, winSize.height - 50 });
5353
this->addChild(log_oSpr);
5454
auto playBtn = MenuItemSpriteExtra::create("GJ_playBtn_001.png", [&](Node* btn) {
5555
/* AudioEngine::stopAll();
@@ -60,7 +60,7 @@ bool MenuLayer::init()
6060
Director::getInstance()->pushScene(TransitionFade::create(0.5f, scene));
6161
});
6262
playBtn->getChildren().at(0)->setAnchorPoint({0.5, 0.5});
63-
playBtn->setPosition({0, 0});
63+
playBtn->setPosition({ 0, 0 });
6464
//static_cast<ax::Sprite*>(playBtn->getSprite())->setStretchEnabled(false);
6565

6666
auto garageBtn = MenuItemSpriteExtra::create("GJ_garageBtn_001.png", [&](Node* btn) {
@@ -81,7 +81,7 @@ bool MenuLayer::init()
8181

8282
auto mainButtonMenu = Menu::create(garageBtn, playBtn, creatorBtn, nullptr);
8383

84-
mainButtonMenu->setPosition({282.5f, 170});
84+
mainButtonMenu->setPosition({ winSize.width / 2.f , winSize.height / 2.f + 10 });
8585
addChild(mainButtonMenu);
8686

8787
auto robBtn = MenuItemSpriteExtra::create(
@@ -123,7 +123,7 @@ bool MenuLayer::init()
123123

124124
auto bottomMenu = Menu::create(achievementsBtn, optionsBtn, statsBtn, nullptr);
125125

126-
bottomMenu->setPosition({284.5, 45});
126+
bottomMenu->setPosition({ winSize.width / 2.f, 45 });
127127
//bottomMenu->setPositionY(100);
128128
bottomMenu->alignItemsHorizontallyWithPadding(5);
129129

@@ -137,7 +137,7 @@ bool MenuLayer::init()
137137
});
138138

139139
auto moreMenu = Menu::create();
140-
moreMenu->setPosition({524, 45});
140+
moreMenu->setPosition({ winSize.width - 45, 45 });
141141
moreMenu->addChild(moreGamesBtn);
142142
addChild(moreMenu);
143143

Classes/MenuLayer.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ extern bool music;
77
class MenuLayer : public ax::Layer
88
{
99
public:
10+
static bool music;
1011
static ax::Scene* scene();
1112
bool init();
1213
CREATE_FUNC(MenuLayer);

Classes/PlayLayer.cpp

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -974,11 +974,9 @@ void PlayLayer::onExit()
974974
ImGuiPresenter::getInstance()->removeRenderLoop("#playlayer");
975975
#endif
976976
LevelPage::replacingScene = false;
977-
music = true;
978977
Instance = nullptr;
979978
Layer::onExit();
980979
}
981-
982980
void PlayLayer::exit()
983981
{
984982
m_pPlayer->deactivateStreak();
@@ -1005,6 +1003,7 @@ void PlayLayer::exit()
10051003
AudioEngine::stopAll();
10061004
AudioEngine::play2d("quitSound_01.ogg", false, 0.1f);
10071005
AudioEngine::play2d("menuLoop.mp3", true, 0.2f);
1006+
MenuLayer::music = false;
10081007
Director::getInstance()->replaceScene(TransitionFade::create(0.5f, LevelSelectLayer::scene()));
10091008

10101009
}

0 commit comments

Comments
 (0)