Commit abe0cd7e authored by fallenstardust's avatar fallenstardust Committed by GitHub

Merge pull request #64 from mercury233/patch-select-pos

fix wPosSelect, update ChangeToIGUIImageWindow
parents 9747657f 8f12fe7f
......@@ -1111,7 +1111,7 @@ void Game::ShowElement(irr::gui::IGUIElement * win, int autoframe) {
FadingUnit fu;
fu.fadingSize = win->getRelativePosition();
for(auto fit = fadingList.begin(); fit != fadingList.end(); ++fit)
if(win == fit->guiFading && win != wOptions && win != wANNumber) // the size of wOptions is always setted by ClientField::ShowSelectOption before showing it
if(win == fit->guiFading && win != wOptions && win != wANNumber && win != wPosSelect) // the size of those windows are always setted before showing them
fu.fadingSize = fit->fadingSize;
irr::core::position2di center = fu.fadingSize.getCenter();
fu.fadingDiff.X = fu.fadingSize.getWidth() / 10;
......
......@@ -1824,14 +1824,11 @@ int DuelClient::ClientAnalyze(char * msg, unsigned int len) {
SetResponseI(positions);
return true;
}
int count = 0, filter = 0x1, startpos;
int count = 0, filter = 0x1, startpos = 30;
while(filter != 0x10) {
if(positions & filter) count++;
filter <<= 1;
}
if(count == 4) startpos = 10;
else if(count == 3) startpos = 82;
else startpos = 50;
if(positions & 0x1) {
mainGame->imageLoading.insert(std::make_pair(mainGame->btnPSAU, code));
mainGame->btnPSAU->setRelativePosition(rect<s32>(startpos * mainGame->xScale, 20 * mainGame->yScale, (startpos + 140) * mainGame->xScale, 160 * mainGame->yScale));
......@@ -1854,6 +1851,14 @@ int DuelClient::ClientAnalyze(char * msg, unsigned int len) {
mainGame->btnPSDD->setVisible(true);
startpos += 150;
} else mainGame->btnPSDD->setVisible(false);
recti pos = mainGame->wPosSelect->getRelativePosition();
s32 oldcenter = pos.getCenter().X;
pos.LowerRightCorner.X = pos.UpperLeftCorner.X + count * 150 * mainGame->xScale + 50 * mainGame->xScale;
s32 newwidth = pos.getWidth();
pos.UpperLeftCorner.X = oldcenter - newwidth / 2;
pos.LowerRightCorner.X = oldcenter + newwidth / 2;
mainGame->wPosSelect->setRelativePosition(pos);
mainGame->bgPosSelect->setRelativePosition(rect<s32>(0, 0, pos.getWidth(), pos.getHeight()));
mainGame->gMutex.lock();
mainGame->PopupElement(mainGame->wPosSelect);
mainGame->gMutex.unlock();
......
This diff is collapsed.
......@@ -183,7 +183,7 @@ public:
void CloseGameWindow();
void CloseDuelWindow();
void OnGameClose();
void ChangeToIGUIImageWindow(irr::gui::IGUIWindow* window, irr::gui::IGUIImage* bgwindow, irr::video::ITexture* image);
void ChangeToIGUIImageWindow(irr::gui::IGUIWindow* window, irr::gui::IGUIImage** pWindowBackground, irr::video::ITexture* image);
void ChangeToIGUIImageButton(irr::gui::IGUIButton* button, irr::video::ITexture* image, irr::video::ITexture* pressedImage, irr::gui::CGUITTFont* font=0);
int LocalPlayer(int player);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment