Displays/Updates the Visability Progress bar state = 0 //create state = 1 //update state = 2 //destroy
| 1513 | // state = 1 //update |
| 1514 | // state = 2 //destroy |
| 1515 | void DoBOAVisProgressDialog(float percentage, int state, char *message = NULL) { |
| 1516 | int pos = percentage * 100.0f; |
| 1517 | if (pos < 0) |
| 1518 | pos = 0; |
| 1519 | if (pos > 100) |
| 1520 | pos = 100; |
| 1521 | |
| 1522 | static CProgressDialog *gProgressDialog = NULL; |
| 1523 | switch (state) { |
| 1524 | case 0: { |
| 1525 | gProgressDialog = new CProgressDialog; |
| 1526 | |
| 1527 | gProgressDialog->Create(IDD_LOADLEVELPROGRESS, NULL); |
| 1528 | gProgressDialog->m_TitleText = message; |
| 1529 | gProgressDialog->ShowWindow(SW_SHOW); |
| 1530 | |
| 1531 | gProgressDialog->UpdateData(false); |
| 1532 | gProgressDialog->m_ProgressBar.SetStep(100); |
| 1533 | gProgressDialog->m_ProgressBar.SetPos(pos); |
| 1534 | |
| 1535 | } break; |
| 1536 | |
| 1537 | case 1: { |
| 1538 | if (gProgressDialog && gProgressDialog->m_hWnd) { |
| 1539 | gProgressDialog->m_ProgressBar.SetPos(pos); |
| 1540 | defer(); |
| 1541 | } |
| 1542 | } break; |
| 1543 | |
| 1544 | case 2: { |
| 1545 | if (gProgressDialog && gProgressDialog->m_hWnd) { |
| 1546 | gProgressDialog->DestroyWindow(); |
| 1547 | delete gProgressDialog; |
| 1548 | gProgressDialog = NULL; |
| 1549 | } |
| 1550 | |
| 1551 | } break; |
| 1552 | } |
| 1553 | } |
| 1554 | #endif |
| 1555 | |
| 1556 | // Higher res means longer vis times :( |
no test coverage detected