MCPcopy Create free account
hub / github.com/TurningWheel/Barony / loadMainMenuMap

Function loadMainMenuMap

src/maps.cpp:11150–11266  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

11148}
11149
11150int loadMainMenuMap(bool blessedAdditionMaps, bool forceVictoryMap, int forcemap)
11151{
11152 bool foundVictory = false;
11153 for ( node_t* node = topscores_json.first; node != nullptr && !foundVictory; node = node->next )
11154 {
11155 score_t* score = (score_t*)node->element;
11156 if ( score && (score->victory == 3 || score->victory == 4 || score->victory == 5) )
11157 {
11158 foundVictory = true;
11159 }
11160 }
11161 for ( node_t* node = topscoresMultiplayer_json.first; node != nullptr && !foundVictory; node = node->next )
11162 {
11163 score_t* score = (score_t*)node->element;
11164 if ( score && (score->victory == 3 || score->victory == 4 || score->victory == 5) )
11165 {
11166 foundVictory = true;
11167 }
11168 }
11169
11170 std::string fullMapName;
11171
11172 int selection = forcemap;
11173 if (selection <= 0) {
11174 if ( forceVictoryMap || (foundVictory && local_rng.rand() % 5 == 0) )
11175 {
11176 selection = 9;
11177 }
11178 else if ( blessedAdditionMaps )
11179 {
11180 selection = 5 + local_rng.rand() % 4;
11181 }
11182 else
11183 {
11184 selection = 1 + local_rng.rand() % 4;
11185 }
11186 }
11187
11188 switch ( selection )
11189 {
11190 case 1:
11191 fullMapName = physfsFormatMapName("mainmenu1");
11192 loadMap(fullMapName.c_str(), &map, map.entities, map.creatures);
11193 menucam.x = 8;
11194 menucam.y = 4.5;
11195 menucam.z = 0;
11196 menucam.ang = 0.6;
11197 return 0;
11198 case 2:
11199 fullMapName = physfsFormatMapName("mainmenu2");
11200 loadMap(fullMapName.c_str(), &map, map.entities, map.creatures);
11201 menucam.x = 7;
11202 menucam.y = 4;
11203 menucam.z = -4;
11204 menucam.ang = 1.0;
11205 return 0;
11206 case 3:
11207 fullMapName = physfsFormatMapName("mainmenu3");

Callers 3

mainFunction · 0.85
doEndgameOnDisconnectFunction · 0.85
doEndgameFunction · 0.85

Calls 4

physfsFormatMapNameFunction · 0.85
loadMapFunction · 0.85
randMethod · 0.80
c_strMethod · 0.80

Tested by

no test coverage detected