107 cType->insertItem(1, tr("Mission map"), MapModel::MissionMap); |
107 cType->insertItem(1, tr("Mission map"), MapModel::MissionMap); |
108 cType->insertItem(2, tr("Hand-drawn"), MapModel::HandDrawnMap); |
108 cType->insertItem(2, tr("Hand-drawn"), MapModel::HandDrawnMap); |
109 cType->insertItem(3, tr("Randomly generated"), MapModel::GeneratedMap); |
109 cType->insertItem(3, tr("Randomly generated"), MapModel::GeneratedMap); |
110 cType->insertItem(4, tr("Random maze"), MapModel::GeneratedMaze); |
110 cType->insertItem(4, tr("Random maze"), MapModel::GeneratedMaze); |
111 cType->insertItem(5, tr("Random perlin"), MapModel::GeneratedPerlin); |
111 cType->insertItem(5, tr("Random perlin"), MapModel::GeneratedPerlin); |
|
112 cType->insertItem(6, tr("Forts"), MapModel::FortsMap); |
112 connect(cType, SIGNAL(currentIndexChanged(int)), this, SLOT(mapTypeChanged(int))); |
113 connect(cType, SIGNAL(currentIndexChanged(int)), this, SLOT(mapTypeChanged(int))); |
113 m_childWidgets << cType; |
114 m_childWidgets << cType; |
114 |
115 |
115 /* Randomize button */ |
116 /* Randomize button */ |
116 |
117 |
459 } |
460 } |
460 else if (map == "+drawn+") |
461 else if (map == "+drawn+") |
461 { |
462 { |
462 //changeMapType(MapModel::HandDrawnMap); |
463 //changeMapType(MapModel::HandDrawnMap); |
463 } |
464 } |
|
465 else if (map == "+forts+") |
|
466 { |
|
467 //nuffin |
|
468 } |
464 else if (m_staticMapModel->mapExists(map)) |
469 else if (m_staticMapModel->mapExists(map)) |
465 { |
470 { |
466 changeMapType(MapModel::StaticMap, m_staticMapModel->index(m_staticMapModel->findMap(map), 0)); |
471 changeMapType(MapModel::StaticMap, m_staticMapModel->index(m_staticMapModel->findMap(map), 0)); |
467 } |
472 } |
468 else if (m_missionMapModel->mapExists(map)) |
473 else if (m_missionMapModel->mapExists(map)) |
498 switch(m_mapInfo.type) |
503 switch(m_mapInfo.type) |
499 { |
504 { |
500 case MapModel::GeneratedMap: |
505 case MapModel::GeneratedMap: |
501 case MapModel::GeneratedMaze: |
506 case MapModel::GeneratedMaze: |
502 case MapModel::GeneratedPerlin: |
507 case MapModel::GeneratedPerlin: |
|
508 case MapModel::FortsMap: |
503 setRandomTheme(); |
509 setRandomTheme(); |
504 break; |
510 break; |
505 case MapModel::MissionMap: |
511 case MapModel::MissionMap: |
506 missionMapChanged(m_missionMapModel->index(rand() % m_missionMapModel->rowCount(), 0)); |
512 missionMapChanged(m_missionMapModel->index(rand() % m_missionMapModel->rowCount(), 0)); |
507 break; |
513 break; |
586 break; |
592 break; |
587 case MAPGEN_DRAWN: |
593 case MAPGEN_DRAWN: |
588 m_mapInfo.type = MapModel::HandDrawnMap; |
594 m_mapInfo.type = MapModel::HandDrawnMap; |
589 f = true; |
595 f = true; |
590 break; |
596 break; |
|
597 case MAPGEN_FORTS: |
|
598 m_mapInfo.type = MapModel::FortsMap; |
|
599 f = true; |
|
600 break; |
591 case MAPGEN_MAP: |
601 case MAPGEN_MAP: |
592 switch (m_mapInfo.type) |
602 switch (m_mapInfo.type) |
593 { |
603 { |
594 case MapModel::GeneratedMap: |
604 case MapModel::GeneratedMap: |
595 case MapModel::GeneratedMaze: |
605 case MapModel::GeneratedMaze: |
596 case MapModel::GeneratedPerlin: |
606 case MapModel::GeneratedPerlin: |
597 case MapModel::HandDrawnMap: |
607 case MapModel::HandDrawnMap: |
|
608 case MapModel::FortsMap: |
598 m_mapInfo.type = MapModel::Invalid; |
609 m_mapInfo.type = MapModel::Invalid; |
599 default: |
610 default: |
600 break; |
611 break; |
601 } |
612 } |
602 break; |
613 break; |
677 break; |
688 break; |
678 case MapModel::GeneratedMap: |
689 case MapModel::GeneratedMap: |
679 case MapModel::GeneratedMaze: |
690 case MapModel::GeneratedMaze: |
680 case MapModel::GeneratedPerlin: |
691 case MapModel::GeneratedPerlin: |
681 case MapModel::HandDrawnMap: |
692 case MapModel::HandDrawnMap: |
|
693 case MapModel::FortsMap: |
682 askForGeneratedPreview(); |
694 askForGeneratedPreview(); |
683 break; |
695 break; |
684 default: |
696 default: |
685 QPixmap mapImage; |
697 QPixmap mapImage; |
686 bool success = mapImage.load("physfs://Maps/" + m_mapInfo.name + "/preview.png"); |
698 bool success = mapImage.load("physfs://Maps/" + m_mapInfo.name + "/preview.png"); |
802 lblMapList->show(); |
814 lblMapList->show(); |
803 mapFeatureSize->hide(); |
815 mapFeatureSize->hide(); |
804 staticMapList->show(); |
816 staticMapList->show(); |
805 emit mapChanged(m_curMap); |
817 emit mapChanged(m_curMap); |
806 break; |
818 break; |
|
819 case MapModel::FortsMap: |
|
820 mapgen = MAPGEN_FORTS; |
|
821 setMapInfo(MapModel::MapInfoForts); |
|
822 lblMapList->hide(); |
|
823 break; |
807 default: |
824 default: |
808 break; |
825 break; |
809 } |
826 } |
810 |
827 |
811 // Update theme button size |
828 // Update theme button size |