472 break; |
472 break; |
473 case MAPGEN_DRAWN: |
473 case MAPGEN_DRAWN: |
474 emit drawMapRequested(); |
474 emit drawMapRequested(); |
475 break; |
475 break; |
476 default: |
476 default: |
477 if(chooseMap->currentIndex() < numMissions + 4) |
477 if(chooseMap->currentIndex() <= numMissions + MAPGEN_MAP) |
478 setRandomMission(); |
478 setRandomMission(); |
479 else |
479 else |
480 setRandomStatic(); |
480 setRandomStatic(); |
481 break; |
481 break; |
482 } |
482 } |
483 } |
483 } |
484 |
484 |
485 void HWMapContainer::setRandomStatic() |
485 void HWMapContainer::setRandomStatic() |
486 { |
486 { |
487 chooseMap->setCurrentIndex(4 + numMissions + rand() % (chooseMap->count() - 4 - numMissions)); |
487 chooseMap->setCurrentIndex(MAPGEN_MAP + 1 + numMissions + rand() % (chooseMap->count() - MAPGEN_MAP - 1 - numMissions)); |
488 setRandomSeed(); |
488 setRandomSeed(); |
489 } |
489 } |
490 |
490 |
491 void HWMapContainer::setRandomMission() |
491 void HWMapContainer::setRandomMission() |
492 { |
492 { |
493 chooseMap->setCurrentIndex(3 + rand() % numMissions); |
493 chooseMap->setCurrentIndex(MAPGEN_MAP + rand() % numMissions); |
494 setRandomSeed(); |
494 setRandomSeed(); |
495 } |
495 } |
496 |
496 |
497 void HWMapContainer::setRandomSeed() |
497 void HWMapContainer::setRandomSeed() |
498 { |
498 { |
499 m_seed = QUuid::createUuid().toString(); |
499 m_seed = QUuid::createUuid().toString(); |
500 seedEdit->setText(m_seed); |
500 seedEdit->setText(m_seed); |
501 emit seedChanged(m_seed); |
501 emit seedChanged(m_seed); |
502 if (chooseMap->currentIndex() < MAPGEN_MAP) |
502 if (chooseMap->currentIndex() < MAPGEN_MAP) |
503 askForGeneratedPreview(); |
503 updatePreview(); |
504 } |
504 } |
505 |
505 |
506 void HWMapContainer::setRandomTheme() |
506 void HWMapContainer::setRandomTheme() |
507 { |
507 { |
508 if(!Themes->size()) return; |
508 if(!Themes->size()) return; |