| 500 | } |
| 501 | } |
| 502 | |
| 503 | void DisplayArcadeMap::OnButtonClicked(int idc) |
| 504 | { |
| 505 | switch (idc) |
| 506 | { |
| 507 | case IDC_ARCMAP_DIFF: |
| 508 | SetAdvancedMode(!_advanced); |
| 509 | SaveParams(); |
| 510 | return; |
| 511 | case IDC_ARCMAP_LOAD: |
| 512 | CreateChild(new DisplayTemplateLoad(this)); |
| 513 | return; |
| 514 | case IDC_ARCMAP_MERGE: |
| 515 | CreateChild(new DisplayTemplateLoad(this, true)); |
| 516 | return; |
| 517 | case IDC_ARCMAP_SAVE: |
| 518 | CreateChild(new DisplayTemplateSave(this)); |
| 519 | return; |
| 520 | case IDC_ARCMAP_INTEL: |
| 521 | CreateChild(new DisplayIntel(this, _currentTemplate->intel, _advanced)); |
| 522 | return; |
| 523 | case IDC_ARCMAP_CLEAR: |
| 524 | CreateMsgBox(MB_BUTTON_OK | MB_BUTTON_CANCEL, LocalizeString(IDS_SURE), IDD_MSG_CLEARTEMPLATE); |
| 525 | return; |
| 526 | case IDC_CANCEL: |
| 527 | CreateMsgBox(MB_BUTTON_OK | MB_BUTTON_CANCEL, LocalizeString(IDS_SURE), IDD_MSG_EXITTEMPLATE); |
| 528 | return; |
| 529 | case IDC_ARCMAP_PREVIEW: |
| 530 | if (_running) |
| 531 | { |
| 532 | return; |
| 533 | } |
| 534 | _running = true; |
| 535 | if (_currentTemplate->IsConsistent(this, _multiplayer)) |
| 536 | { |
| 537 | _currentTemplate->ScanRequiredAddons(); |
| 538 | if (_multiplayer) |
| 539 | { |
| 540 | // save current version |
| 541 | RString directory; |
| 542 | char buffer[256]; |
| 543 | snprintf(buffer, sizeof(buffer), "%s", (const char*)GetMissionsDirectory()); |
| 544 | CreateDirectoryUtf8(buffer); |
| 545 | strncat(buffer, Glob.header.filename, sizeof(buffer) - strlen(buffer) - 1); |
| 546 | strncat(buffer, ".", sizeof(buffer) - strlen(buffer) - 1); |
| 547 | strncat(buffer, Glob.header.worldname, sizeof(buffer) - strlen(buffer) - 1); |
| 548 | directory = buffer; |
| 549 | CreateDirectoryUtf8(directory); |
| 550 | strncat(buffer, "\\mission.sqm", sizeof(buffer) - strlen(buffer) - 1); |
| 551 | SaveTemplates(buffer); |
| 552 | |
| 553 | Exit(IDC_OK); |
| 554 | return; |
| 555 | } |
| 556 | |
| 557 | CurrentTemplate = *_currentTemplate; |
| 558 | _alwaysShow = false; |
| 559 |
nothing calls this directly
no test coverage detected