103 cType->insertItem(0, tr("Image map"), MapModel::StaticMap); |
103 cType->insertItem(0, tr("Image map"), MapModel::StaticMap); |
104 cType->insertItem(1, tr("Mission map"), MapModel::MissionMap); |
104 cType->insertItem(1, tr("Mission map"), MapModel::MissionMap); |
105 cType->insertItem(2, tr("Hand-drawn"), MapModel::HandDrawnMap); |
105 cType->insertItem(2, tr("Hand-drawn"), MapModel::HandDrawnMap); |
106 cType->insertItem(3, tr("Randomly generated"), MapModel::GeneratedMap); |
106 cType->insertItem(3, tr("Randomly generated"), MapModel::GeneratedMap); |
107 cType->insertItem(4, tr("Random maze"), MapModel::GeneratedMaze); |
107 cType->insertItem(4, tr("Random maze"), MapModel::GeneratedMaze); |
|
108 cType->insertItem(5, tr("Random perlin"), MapModel::GeneratedPerlin); |
108 connect(cType, SIGNAL(currentIndexChanged(int)), this, SLOT(mapTypeChanged(int))); |
109 connect(cType, SIGNAL(currentIndexChanged(int)), this, SLOT(mapTypeChanged(int))); |
109 m_childWidgets << cType; |
110 m_childWidgets << cType; |
110 |
111 |
111 /* Randomize button */ |
112 /* Randomize button */ |
112 |
113 |
399 } |
400 } |
400 |
401 |
401 void HWMapContainer::setSeed(const QString & seed) |
402 void HWMapContainer::setSeed(const QString & seed) |
402 { |
403 { |
403 intSetSeed(seed); |
404 intSetSeed(seed); |
404 if ((m_mapInfo.type == MapModel::GeneratedMap) || (m_mapInfo.type == MapModel::GeneratedMaze)) |
405 if ((m_mapInfo.type == MapModel::GeneratedMap) |
|
406 || (m_mapInfo.type == MapModel::GeneratedMaze) |
|
407 || (m_mapInfo.type == MapModel::GeneratedPerlin)) |
405 updatePreview(); |
408 updatePreview(); |
406 } |
409 } |
407 |
410 |
408 void HWMapContainer::setScript(const QString & script) |
411 void HWMapContainer::setScript(const QString & script) |
409 { |
412 { |
410 m_script = script; |
413 m_script = script; |
411 if ((m_mapInfo.type == MapModel::GeneratedMap) || (m_mapInfo.type == MapModel::GeneratedMaze) || (m_mapInfo.type == MapModel::HandDrawnMap)) |
414 if ((m_mapInfo.type == MapModel::GeneratedMap) |
|
415 || (m_mapInfo.type == MapModel::GeneratedMaze) |
|
416 || (m_mapInfo.type == MapModel::GeneratedPerlin) |
|
417 || (m_mapInfo.type == MapModel::HandDrawnMap)) |
412 updatePreview(); |
418 updatePreview(); |
413 } |
419 } |
414 |
420 |
415 void HWMapContainer::intSetMap(const QString & map) |
421 void HWMapContainer::intSetMap(const QString & map) |
416 { |
422 { |
419 //changeMapType(MapModel::GeneratedMap); |
425 //changeMapType(MapModel::GeneratedMap); |
420 } |
426 } |
421 else if (map == "+maze+") |
427 else if (map == "+maze+") |
422 { |
428 { |
423 //changeMapType(MapModel::GeneratedMaze); |
429 //changeMapType(MapModel::GeneratedMaze); |
|
430 } |
|
431 else if (map == "+perlin+") |
|
432 { |
|
433 //changeMapType(MapModel::GeneratedPerlin); |
424 } |
434 } |
425 else if (map == "+drawn+") |
435 else if (map == "+drawn+") |
426 { |
436 { |
427 //changeMapType(MapModel::HandDrawnMap); |
437 //changeMapType(MapModel::HandDrawnMap); |
428 } |
438 } |
462 setRandomSeed(); |
472 setRandomSeed(); |
463 switch(m_mapInfo.type) |
473 switch(m_mapInfo.type) |
464 { |
474 { |
465 case MapModel::GeneratedMap: |
475 case MapModel::GeneratedMap: |
466 case MapModel::GeneratedMaze: |
476 case MapModel::GeneratedMaze: |
|
477 case MapModel::GeneratedPerlin: |
467 setRandomTheme(); |
478 setRandomTheme(); |
468 break; |
479 break; |
469 case MapModel::MissionMap: |
480 case MapModel::MissionMap: |
470 missionMapChanged(m_missionMapModel->index(rand() % m_missionMapModel->rowCount(), 0)); |
481 missionMapChanged(m_missionMapModel->index(rand() % m_missionMapModel->rowCount(), 0)); |
471 break; |
482 break; |
538 case MAPGEN_REGULAR: |
549 case MAPGEN_REGULAR: |
539 m_mapInfo.type = MapModel::GeneratedMap; |
550 m_mapInfo.type = MapModel::GeneratedMap; |
540 break; |
551 break; |
541 case MAPGEN_MAZE: |
552 case MAPGEN_MAZE: |
542 m_mapInfo.type = MapModel::GeneratedMaze; |
553 m_mapInfo.type = MapModel::GeneratedMaze; |
|
554 break; |
|
555 case MAPGEN_PERLIN: |
|
556 m_mapInfo.type = MapModel::GeneratedPerlin; |
543 break; |
557 break; |
544 case MAPGEN_DRAWN: |
558 case MAPGEN_DRAWN: |
545 m_mapInfo.type = MapModel::HandDrawnMap; |
559 m_mapInfo.type = MapModel::HandDrawnMap; |
546 break; |
560 break; |
547 case MAPGEN_MAP: |
561 case MAPGEN_MAP: |
548 switch (m_mapInfo.type) |
562 switch (m_mapInfo.type) |
549 { |
563 { |
550 case MapModel::GeneratedMap: |
564 case MapModel::GeneratedMap: |
551 case MapModel::GeneratedMaze: |
565 case MapModel::GeneratedMaze: |
|
566 case MapModel::GeneratedPerlin: |
552 case MapModel::HandDrawnMap: |
567 case MapModel::HandDrawnMap: |
553 m_mapInfo.type = MapModel::Invalid; |
568 m_mapInfo.type = MapModel::Invalid; |
554 default: |
569 default: |
555 break; |
570 break; |
556 } |
571 } |
628 failIcon = QPixmap(":/res/btnDisabled.png"); |
643 failIcon = QPixmap(":/res/btnDisabled.png"); |
629 mapPreview->setIcon(QIcon(failIcon)); |
644 mapPreview->setIcon(QIcon(failIcon)); |
630 mapPreview->setIconSize(failIcon.size()); |
645 mapPreview->setIconSize(failIcon.size()); |
631 break; |
646 break; |
632 case MapModel::GeneratedMap: |
647 case MapModel::GeneratedMap: |
633 askForGeneratedPreview(); |
|
634 break; |
|
635 case MapModel::GeneratedMaze: |
648 case MapModel::GeneratedMaze: |
636 askForGeneratedPreview(); |
649 case MapModel::GeneratedPerlin: |
637 break; |
|
638 case MapModel::HandDrawnMap: |
650 case MapModel::HandDrawnMap: |
639 askForGeneratedPreview(); |
651 askForGeneratedPreview(); |
640 break; |
652 break; |
641 default: |
653 default: |
642 QPixmap mapImage; |
654 QPixmap mapImage; |
717 break; |
729 break; |
718 case MapModel::GeneratedMaze: |
730 case MapModel::GeneratedMaze: |
719 mapgen = MAPGEN_MAZE; |
731 mapgen = MAPGEN_MAZE; |
720 setMapInfo(MapModel::MapInfoMaze); |
732 setMapInfo(MapModel::MapInfoMaze); |
721 lblMapList->setText(tr("Maze style:")); |
733 lblMapList->setText(tr("Maze style:")); |
|
734 lblMapList->show(); |
|
735 mazeStyles->show(); |
|
736 break; |
|
737 case MapModel::GeneratedPerlin: |
|
738 mapgen = MAPGEN_PERLIN; |
|
739 setMapInfo(MapModel::MapInfoPerlin); |
|
740 lblMapList->setText(tr("Style:")); |
722 lblMapList->show(); |
741 lblMapList->show(); |
723 mazeStyles->show(); |
742 mazeStyles->show(); |
724 break; |
743 break; |
725 case MapModel::HandDrawnMap: |
744 case MapModel::HandDrawnMap: |
726 mapgen = MAPGEN_DRAWN; |
745 mapgen = MAPGEN_DRAWN; |