comparison mm7_5.cpp @ 971:35f2e900618e

m
author Ritor1
date Wed, 08 May 2013 17:02:37 +0600
parents e3123a1dea82
children c8a0f6d89c70 e875f5ab0cfb
comparison
equal deleted inserted replaced
970:e3123a1dea82 971:35f2e900618e
3304 int v5; // ecx@29 3304 int v5; // ecx@29
3305 PLAYER_SKILL_TYPE v6; // edi@37 3305 PLAYER_SKILL_TYPE v6; // edi@37
3306 GUIWindow *pWindow; // eax@56 3306 GUIWindow *pWindow; // eax@56
3307 GUIButton *pButton; // eax@59 3307 GUIButton *pButton; // eax@59
3308 int v15; // edi@70 3308 int v15; // edi@70
3309 char v16; // zf@73
3310 char v20; // dl@116 3309 char v20; // dl@116
3311 unsigned int v21; // eax@116 3310 unsigned int v21; // eax@116
3312 unsigned int v25; // eax@120 3311 unsigned int v25; // eax@120
3313 unsigned int v26; // ecx@127 3312 unsigned int v26; // ecx@127
3314 SoundID pSoundID; // [sp-2Ch] [bp-3Ch]@36 3313 SoundID pSoundID; // [sp-2Ch] [bp-3Ch]@36
3315 signed int v41; // [sp-10h] [bp-20h]@29 3314 signed int v41; // [sp-10h] [bp-20h]@29
3316 int uNum; // [sp+4h] [bp-Ch]@3 3315 int pParam; // [sp+4h] [bp-Ch]@3
3317 UIMessageType pUIMessageType; // [sp+8h] [bp-8h]@3 3316 UIMessageType pUIMessageType; // [sp+8h] [bp-8h]@3
3318 int pSex; // [sp+Ch] [bp-4h]@3 3317 int pSex; // [sp+Ch] [bp-4h]@3
3319 3318
3320 if ( pMessageQueue_50CBD0->uNumMessages ) 3319 if ( pMessageQueue_50CBD0->uNumMessages )
3321 { 3320 {
3322 pPlayer = pParty->pPlayers; 3321 pPlayer = pParty->pPlayers;
3323 do 3322 do
3324 { 3323 {
3325 int param2; 3324 int param2;
3326 pMessageQueue_50CBD0->PopMessage(&pUIMessageType, &uNum, &param2); 3325 pMessageQueue_50CBD0->PopMessage(&pUIMessageType, &pParam, &param2);
3327 auto player = &pParty->pPlayers[uNum]; 3326 auto player = &pParty->pPlayers[pParam];
3328 3327
3329 switch (pUIMessageType) // For buttons of window MainMenu 3328 switch (pUIMessageType) // For buttons of window MainMenu
3330 { 3329 {
3331 case UIMSG_MainMenu_ShowPartyCreationWnd: 3330 case UIMSG_MainMenu_ShowPartyCreationWnd:
3332 GUIWindow::Create(495, 172, 0, 0, WINDOW_PressedButton2, (int)pMainMenu_BtnNew, 0); 3331 GUIWindow::Create(495, 172, 0, 0, WINDOW_PressedButton2, (int)pMainMenu_BtnNew, 0);
3344 GUIWindow::Create(495, 337, 0, 0, WINDOW_PressedButton2, (int)pMainMenu_BtnExit, 0); 3343 GUIWindow::Create(495, 337, 0, 0, WINDOW_PressedButton2, (int)pMainMenu_BtnExit, 0);
3345 SetCurrentMenuID(MENU_FINISHED); 3344 SetCurrentMenuID(MENU_FINISHED);
3346 break; 3345 break;
3347 case UIMSG_PlayerCreation_SelectAttribute: 3346 case UIMSG_PlayerCreation_SelectAttribute:
3348 pGUIWindow_CurrentMenu->pCurrentPosActiveItem = (pGUIWindow_CurrentMenu->pCurrentPosActiveItem - pGUIWindow_CurrentMenu->pStartingPosActiveItem) 3347 pGUIWindow_CurrentMenu->pCurrentPosActiveItem = (pGUIWindow_CurrentMenu->pCurrentPosActiveItem - pGUIWindow_CurrentMenu->pStartingPosActiveItem)
3349 % 7 + pGUIWindow_CurrentMenu->pStartingPosActiveItem + 7 * uNum; 3348 % 7 + pGUIWindow_CurrentMenu->pStartingPosActiveItem + 7 * pParam;
3350 uPlayerCreationUI_SelectedCharacter = uNum; 3349 uPlayerCreationUI_SelectedCharacter = pParam;
3351 pAudioPlayer->PlaySound(SOUND_Button, 0, 0, -1, 0, 0, 0, 0); 3350 pAudioPlayer->PlaySound(SOUND_Button, 0, 0, -1, 0, 0, 0, 0);
3352 break; 3351 break;
3353 case UIMSG_PlayerCreation_VoicePrev: 3352 case UIMSG_PlayerCreation_VoicePrev:
3354 pSex = player->GetSexByVoice(); 3353 pSex = player->GetSexByVoice();
3355 do 3354 do
3357 if (player->uVoiceID == 0) 3356 if (player->uVoiceID == 0)
3358 player->uVoiceID = 19; 3357 player->uVoiceID = 19;
3359 else --player->uVoiceID; 3358 else --player->uVoiceID;
3360 } 3359 }
3361 while (player->GetSexByVoice() != pSex); 3360 while (player->GetSexByVoice() != pSex);
3362 pButton = pCreationUI_BtnPressLeft2[uNum]; 3361 pButton = pCreationUI_BtnPressLeft2[pParam];
3363 GUIWindow::Create(pButton->uX, pButton->uY, 0, 0, WINDOW_PressedButton, (int)pButton, 1); 3362 GUIWindow::Create(pButton->uX, pButton->uY, 0, 0, WINDOW_PressedButton, (int)pButton, 1);
3364 pAudioPlayer->PlaySound(SOUND_Button, 0, 0, -1, 0, 0, 0, 0); 3363 pAudioPlayer->PlaySound(SOUND_Button, 0, 0, -1, 0, 0, 0, 0);
3365 player->PlaySound(SPEECH_PickMe, 0); 3364 player->PlaySound(SPEECH_PickMe, 0);
3366 break; 3365 break;
3367 case UIMSG_PlayerCreation_VoiceNext: 3366 case UIMSG_PlayerCreation_VoiceNext:
3369 do 3368 do
3370 { 3369 {
3371 player->uVoiceID = (player->uVoiceID + 1) % 20; 3370 player->uVoiceID = (player->uVoiceID + 1) % 20;
3372 } 3371 }
3373 while (player->GetSexByVoice() != pSex); 3372 while (player->GetSexByVoice() != pSex);
3374 pButton = pCreationUI_BtnPressRight2[uNum]; 3373 pButton = pCreationUI_BtnPressRight2[pParam];
3375 GUIWindow::Create(pButton->uX, pButton->uY, 0, 0, WINDOW_PressedButton, (int)pButton, 1); 3374 GUIWindow::Create(pButton->uX, pButton->uY, 0, 0, WINDOW_PressedButton, (int)pButton, 1);
3376 pAudioPlayer->PlaySound(SOUND_Button, 0, 0, -1, 0, 0, 0, 0); 3375 pAudioPlayer->PlaySound(SOUND_Button, 0, 0, -1, 0, 0, 0, 0);
3377 player->PlaySound(SPEECH_PickMe, 0); 3376 player->PlaySound(SPEECH_PickMe, 0);
3378 break; 3377 break;
3379 case UIMSG_PlayerCreation_FacePrev: 3378 case UIMSG_PlayerCreation_FacePrev:
3380 pPlayer = &pParty->pPlayers[uNum]; 3379 pPlayer = &pParty->pPlayers[pParam];
3381 if (!pPlayer->uFace) 3380 if (!pPlayer->uFace)
3382 pPlayer->uFace = 19; 3381 pPlayer->uFace = 19;
3383 else 3382 else
3384 pPlayer->uFace -= 1; 3383 pPlayer->uFace -= 1;
3385 pPlayer->uVoiceID = pPlayer->uFace; 3384 pPlayer->uVoiceID = pPlayer->uFace;
3386 pPlayer->SetInitialStats(); 3385 pPlayer->SetInitialStats();
3387 pPlayer->SetSexByVoice(); 3386 pPlayer->SetSexByVoice();
3388 pPlayer->RandomizeName(); 3387 pPlayer->RandomizeName();
3389 v25 = uNum; 3388 v25 = pParam;
3390 pGUIWindow_CurrentMenu->pCurrentPosActiveItem = (pGUIWindow_CurrentMenu->pCurrentPosActiveItem - pGUIWindow_CurrentMenu->pStartingPosActiveItem) 3389 pGUIWindow_CurrentMenu->pCurrentPosActiveItem = (pGUIWindow_CurrentMenu->pCurrentPosActiveItem - pGUIWindow_CurrentMenu->pStartingPosActiveItem)
3391 % 7 + pGUIWindow_CurrentMenu->pStartingPosActiveItem + 7 * uNum; 3390 % 7 + pGUIWindow_CurrentMenu->pStartingPosActiveItem + 7 * pParam;
3392 uPlayerCreationUI_SelectedCharacter = v25; 3391 uPlayerCreationUI_SelectedCharacter = v25;
3393 GUIWindow::Create(pCreationUI_BtnPressLeft[v25]->uX, pCreationUI_BtnPressLeft[v25]->uY, 0, 0, WINDOW_PressedButton, (int)pCreationUI_BtnPressLeft[v25], 1); 3392 GUIWindow::Create(pCreationUI_BtnPressLeft[v25]->uX, pCreationUI_BtnPressLeft[v25]->uY, 0, 0, WINDOW_PressedButton, (int)pCreationUI_BtnPressLeft[v25], 1);
3394 pAudioPlayer->PlaySound(SOUND_Button, 0, 0, -1, 0, 0, 0.0, 0); 3393 pAudioPlayer->PlaySound(SOUND_Button, 0, 0, -1, 0, 0, 0.0, 0);
3395 pPlayer->PlaySound(SPEECH_PickMe, 0); 3394 pPlayer->PlaySound(SPEECH_PickMe, 0);
3396 break; 3395 break;
3397 case UIMSG_PlayerCreation_FaceNext: 3396 case UIMSG_PlayerCreation_FaceNext:
3398 pPlayer = &pParty->pPlayers[uNum]; 3397 pPlayer = &pParty->pPlayers[pParam];
3399 v20 = (char)((int)pPlayer->uFace + 1) % 20; 3398 v20 = (char)((int)pPlayer->uFace + 1) % 20;
3400 pPlayer->uFace = v20; 3399 pPlayer->uFace = v20;
3401 pPlayer->uVoiceID = v20; 3400 pPlayer->uVoiceID = v20;
3402 pPlayer->SetInitialStats(); 3401 pPlayer->SetInitialStats();
3403 pPlayer->SetSexByVoice(); 3402 pPlayer->SetSexByVoice();
3404 pPlayer->RandomizeName(); 3403 pPlayer->RandomizeName();
3405 v21 = uNum; 3404 v21 = pParam;
3406 pGUIWindow_CurrentMenu->pCurrentPosActiveItem = (pGUIWindow_CurrentMenu->pCurrentPosActiveItem - pGUIWindow_CurrentMenu->pStartingPosActiveItem) 3405 pGUIWindow_CurrentMenu->pCurrentPosActiveItem = (pGUIWindow_CurrentMenu->pCurrentPosActiveItem - pGUIWindow_CurrentMenu->pStartingPosActiveItem)
3407 % 7 + pGUIWindow_CurrentMenu->pStartingPosActiveItem + 7 * uNum; 3406 % 7 + pGUIWindow_CurrentMenu->pStartingPosActiveItem + 7 * pParam;
3408 uPlayerCreationUI_SelectedCharacter = v21; 3407 uPlayerCreationUI_SelectedCharacter = v21;
3409 GUIWindow::Create(pCreationUI_BtnPressRight[v21]->uX, pCreationUI_BtnPressRight[v21]->uY, 0, 0, WINDOW_PressedButton, (int)pCreationUI_BtnPressRight[v21], 1); 3408 GUIWindow::Create(pCreationUI_BtnPressRight[v21]->uX, pCreationUI_BtnPressRight[v21]->uY, 0, 0, WINDOW_PressedButton, (int)pCreationUI_BtnPressRight[v21], 1);
3410 pAudioPlayer->PlaySound(SOUND_Button, 0, 0, -1, 0, 0, 0, 0); 3409 pAudioPlayer->PlaySound(SOUND_Button, 0, 0, -1, 0, 0, 0, 0);
3411 pPlayer->PlaySound(SPEECH_PickMe, 0); 3410 pPlayer->PlaySound(SPEECH_PickMe, 0);
3412 break; 3411 break;
3420 pPlayer[uPlayerCreationUI_SelectedCharacter].DecreaseAttribute((pGUIWindow_CurrentMenu->pCurrentPosActiveItem - pGUIWindow_CurrentMenu->pStartingPosActiveItem) % 7); 3419 pPlayer[uPlayerCreationUI_SelectedCharacter].DecreaseAttribute((pGUIWindow_CurrentMenu->pCurrentPosActiveItem - pGUIWindow_CurrentMenu->pStartingPosActiveItem) % 7);
3421 pAudioPlayer->PlaySound((SoundID)23, 0, 0, -1, 0, 0, 0, 0); 3420 pAudioPlayer->PlaySound((SoundID)23, 0, 0, -1, 0, 0, 0, 0);
3422 break; 3421 break;
3423 case UIMSG_PlayerCreationSelectActiveSkill: 3422 case UIMSG_PlayerCreationSelectActiveSkill:
3424 pPlayer = &pPlayer[uPlayerCreationUI_SelectedCharacter]; 3423 pPlayer = &pPlayer[uPlayerCreationUI_SelectedCharacter];
3425 v6 = pPlayer->GetSkillIdxByOrder(uNum + 4); 3424 v6 = pPlayer->GetSkillIdxByOrder(pParam + 4);
3426 if ( pPlayer->GetSkillIdxByOrder(3) == 37 ) 3425 if ( pPlayer->GetSkillIdxByOrder(3) == 37 )
3427 pParty->pPlayers[0].pActiveSkills[v6 + 3486 * uPlayerCreationUI_SelectedCharacter] = 1; 3426 pParty->pPlayers[0].pActiveSkills[v6 + 3486 * uPlayerCreationUI_SelectedCharacter] = 1;
3428 pAudioPlayer->PlaySound((SoundID)24, 0, 0, -1, 0, 0, 0, 0); 3427 pAudioPlayer->PlaySound((SoundID)24, 0, 0, -1, 0, 0, 0, 0);
3429 break; 3428 break;
3430 case UIMSG_PlayerCreationSelectClass: 3429 case UIMSG_PlayerCreationSelectClass:
3431 pPlayer[uPlayerCreationUI_SelectedCharacter].Reset((PLAYER_CLASS_TYPE)uNum); 3430 pPlayer[uPlayerCreationUI_SelectedCharacter].Reset((PLAYER_CLASS_TYPE)pParam);
3432 pAudioPlayer->PlaySound(SOUND_Button, 0, 0, -1, 0, 0, 0, 0); 3431 pAudioPlayer->PlaySound(SOUND_Button, 0, 0, -1, 0, 0, 0, 0);
3433 break; 3432 break;
3434 case UIMSG_PlayerCreationClickOK: 3433 case UIMSG_PlayerCreationClickOK:
3435 GUIWindow::Create(580, 431, 0, 0, WINDOW_PressedButton2, (int)pPlayerCreationUI_BtnOK, 0); 3434 GUIWindow::Create(580, 431, 0, 0, WINDOW_PressedButton2, (int)pPlayerCreationUI_BtnOK, 0);
3436 if ( PlayerCreation_ComputeAttributeBonus() || !PlayerCreation_Chose4Skills() ) 3435 if ( PlayerCreation_ComputeAttributeBonus() || !PlayerCreation_Chose4Skills() )
3441 case UIMSG_PlayerCreationClickReset: 3440 case UIMSG_PlayerCreationClickReset:
3442 GUIWindow::Create(527, 431, 0, 0, WINDOW_PressedButton2, (int)pPlayerCreationUI_BtnReset, 0); 3441 GUIWindow::Create(527, 431, 0, 0, WINDOW_PressedButton2, (int)pPlayerCreationUI_BtnReset, 0);
3443 pParty->Reset(); 3442 pParty->Reset();
3444 break; 3443 break;
3445 case UIMSG_PlayerCreationRemoveUpSkill: 3444 case UIMSG_PlayerCreationRemoveUpSkill:
3446 uPlayerCreationUI_SelectedCharacter = uNum; 3445 uPlayerCreationUI_SelectedCharacter = pParam;
3447 v4 = pGUIWindow_CurrentMenu->pCurrentPosActiveItem - pGUIWindow_CurrentMenu->pStartingPosActiveItem; 3446 v4 = pGUIWindow_CurrentMenu->pCurrentPosActiveItem - pGUIWindow_CurrentMenu->pStartingPosActiveItem;
3448 //int pSex = pGUIWindow_CurrentMenu->pStartingPosActiveItem; 3447 //int pSex = pGUIWindow_CurrentMenu->pStartingPosActiveItem;
3449 v41 = 2; 3448 v41 = 2;
3450 v5 = v4 % 7 + pGUIWindow_CurrentMenu->pStartingPosActiveItem + 7 * uNum; 3449 v5 = v4 % 7 + pGUIWindow_CurrentMenu->pStartingPosActiveItem + 7 * pParam;
3451 pGUIWindow_CurrentMenu->pCurrentPosActiveItem = v5; 3450 pGUIWindow_CurrentMenu->pCurrentPosActiveItem = v5;
3452 pParty->pPlayers[0].pActiveSkills[(&pPlayer[uPlayerCreationUI_SelectedCharacter])->GetSkillIdxByOrder(v41) 3451 pParty->pPlayers[0].pActiveSkills[(&pPlayer[uPlayerCreationUI_SelectedCharacter])->GetSkillIdxByOrder(v41)
3453 + 3486 * uPlayerCreationUI_SelectedCharacter] = 0; 3452 + 3486 * uPlayerCreationUI_SelectedCharacter] = 0;
3454 break; 3453 break;
3455 case UIMSG_PlayerCreationChangeName: 3454 case UIMSG_PlayerCreationChangeName:
3456 pAudioPlayer->PlaySound((SoundID)24, 0, 0, -1, 0, 0, 0, 0); 3455 pAudioPlayer->PlaySound((SoundID)24, 0, 0, -1, 0, 0, 0, 0);
3457 v3 = (void *)uNum; 3456 v3 = (void *)pParam;
3458 uPlayerCreationUI_SelectedCharacter = uNum; 3457 uPlayerCreationUI_SelectedCharacter = pParam;
3459 pKeyActionMap->EnterText(0, 15, pGUIWindow_CurrentMenu); 3458 pKeyActionMap->EnterText(0, 15, pGUIWindow_CurrentMenu);
3460 pGUIWindow_CurrentMenu->ptr_1C = v3; 3459 pGUIWindow_CurrentMenu->ptr_1C = v3;
3461 break; 3460 break;
3462 case UIMSG_ChangeGameState: 3461 case UIMSG_ChangeGameState:
3463 uGameState = 1; 3462 uGameState = 1;
3475 break; 3474 break;
3476 case UIMSG_SelectLoadSlot: 3475 case UIMSG_SelectLoadSlot:
3477 //main menu save/load wnd clicking on savegame lines 3476 //main menu save/load wnd clicking on savegame lines
3478 if (pGUIWindow_CurrentMenu->field_40 == 1) 3477 if (pGUIWindow_CurrentMenu->field_40 == 1)
3479 pKeyActionMap->_459ED1(0); 3478 pKeyActionMap->_459ED1(0);
3480 if ( pCurrentScreen != SCREEN_SAVEGAME || uLoadGameUI_SelectedSlot != uNum + pSaveListPosition ) 3479 if ( pCurrentScreen != SCREEN_SAVEGAME || uLoadGameUI_SelectedSlot != pParam + pSaveListPosition )
3481 { 3480 {
3482 //load clicked line 3481 //load clicked line
3483 v26 = uNum + pSaveListPosition; 3482 v26 = pParam + pSaveListPosition;
3484 if ( dword_6BE138 == uNum + pSaveListPosition ) 3483 if ( dword_6BE138 == pParam + pSaveListPosition )
3485 { 3484 {
3486 pMessageQueue_50CBD0->AddMessage(UIMSG_SaveLoadBtn, 0, 0); 3485 pMessageQueue_50CBD0->AddMessage(UIMSG_SaveLoadBtn, 0, 0);
3487 pMessageQueue_50CBD0->AddMessage(UIMSG_LoadGame, 0, 0); 3486 pMessageQueue_50CBD0->AddMessage(UIMSG_LoadGame, 0, 0);
3488 } 3487 }
3489 uLoadGameUI_SelectedSlot = v26; 3488 uLoadGameUI_SelectedSlot = v26;
3500 case UIMSG_SaveLoadBtn: 3499 case UIMSG_SaveLoadBtn:
3501 GUIWindow::Create(pGUIWindow_CurrentMenu->uFrameX + 241, pGUIWindow_CurrentMenu->uFrameY + 302, 61, 28, WINDOW_SaveLoadBtn, (int)pBtnLoadSlot, 0); 3500 GUIWindow::Create(pGUIWindow_CurrentMenu->uFrameX + 241, pGUIWindow_CurrentMenu->uFrameY + 302, 61, 28, WINDOW_SaveLoadBtn, (int)pBtnLoadSlot, 0);
3502 break; 3501 break;
3503 case UIMSG_DownArrow: 3502 case UIMSG_DownArrow:
3504 ++pSaveListPosition; 3503 ++pSaveListPosition;
3505 if ( pSaveListPosition >= uNum ) 3504 if ( pSaveListPosition >= pParam )
3506 pSaveListPosition = uNum - 1; 3505 pSaveListPosition = pParam - 1;
3507 if ( pSaveListPosition < 1 ) 3506 if ( pSaveListPosition < 1 )
3508 pSaveListPosition = 0; 3507 pSaveListPosition = 0;
3509 pWindow = pGUIWindow_CurrentMenu; 3508 pWindow = pGUIWindow_CurrentMenu;
3510 GUIWindow::Create(pWindow->uFrameX + 215, pGUIWindow_CurrentMenu->uFrameY + 323, 0, 0, WINDOW_PressedButton2, (int)pBtnDownArrow, 0); 3509 GUIWindow::Create(pWindow->uFrameX + 215, pGUIWindow_CurrentMenu->uFrameY + 323, 0, 0, WINDOW_PressedButton2, (int)pBtnDownArrow, 0);
3511 break; 3510 break;
3539 pVideoPlayer->bStopBeforeSchedule = 1; 3538 pVideoPlayer->bStopBeforeSchedule = 1;
3540 viewparams->bRedrawGameUI = 1; 3539 viewparams->bRedrawGameUI = 1;
3541 viewparams->field_48 = 1; 3540 viewparams->field_48 = 1;
3542 if ( !GetCurrentMenuID() || GetCurrentMenuID() == MENU_CREATEPARTY || GetCurrentMenuID() == MENU_NAMEPANELESC ) 3541 if ( !GetCurrentMenuID() || GetCurrentMenuID() == MENU_CREATEPARTY || GetCurrentMenuID() == MENU_NAMEPANELESC )
3543 { 3542 {
3544 LABEL_83:
3545 if ( pCurrentScreen == SCREEN_VIDEO ) 3543 if ( pCurrentScreen == SCREEN_VIDEO )
3546 pVideoPlayer->FastForwardToFrame(pVideoPlayer->pResetflag); 3544 pVideoPlayer->FastForwardToFrame(pVideoPlayer->pResetflag);
3547 if (GetCurrentMenuID() == MENU_NAMEPANELESC) 3545 if (GetCurrentMenuID() == MENU_NAMEPANELESC)
3548 { 3546 {
3549 SetCurrentMenuID(MENU_CREATEPARTY); 3547 SetCurrentMenuID(MENU_CREATEPARTY);
3552 if (GetCurrentMenuID() == MENU_CREDITSPROC) 3550 if (GetCurrentMenuID() == MENU_CREDITSPROC)
3553 { 3551 {
3554 SetCurrentMenuID(MENU_CREDITSCLOSE); 3552 SetCurrentMenuID(MENU_CREDITSCLOSE);
3555 break; 3553 break;
3556 } 3554 }
3557 /*if ( (signed int)pMessageQueue_50CBD0->uNumMessages < 40 )
3558 {
3559 pMessageQueue_50CBD0->pMessages[pMessageQueue_50CBD0->uNumMessages].eType = (UIMessageType)5;
3560 //LABEL_93:
3561 pMessageQueue_50CBD0->pMessages[pMessageQueue_50CBD0->uNumMessages].param = 0;
3562 *(&pMessageQueue_50CBD0->uNumMessages + 3 * pMessageQueue_50CBD0->uNumMessages + 3) = 0;
3563 ++pMessageQueue_50CBD0->uNumMessages;
3564 continue;
3565 }*/
3566 pMessageQueue_50CBD0->AddMessage(UIMSG_ChangeGameState, 0, 0); 3555 pMessageQueue_50CBD0->AddMessage(UIMSG_ChangeGameState, 0, 0);
3567 break; 3556 break;
3568 } 3557 }
3569 v16 = GetCurrentMenuID() == 8; 3558 if ( GetCurrentMenuID() == MENU_CREDITSPROC && !pCurrentScreen )
3570 if ( v16 && !pCurrentScreen ) 3559 {
3571 goto LABEL_83; 3560 if ( pCurrentScreen == SCREEN_VIDEO )
3561 pVideoPlayer->FastForwardToFrame(pVideoPlayer->pResetflag);
3562 if (GetCurrentMenuID() == MENU_NAMEPANELESC)
3563 {
3564 SetCurrentMenuID(MENU_CREATEPARTY);
3565 break;
3566 }
3567 if (GetCurrentMenuID() == MENU_CREDITSPROC)
3568 {
3569 SetCurrentMenuID(MENU_CREDITSCLOSE);
3570 break;
3571 }
3572 pMessageQueue_50CBD0->AddMessage(UIMSG_ChangeGameState, 0, 0);
3573 break;
3574 }
3572 if ( pCurrentScreen == SCREEN_LOADGAME ) 3575 if ( pCurrentScreen == SCREEN_LOADGAME )
3573 { 3576 {
3574 pIcons_LOD->_4114F2(); 3577 pIcons_LOD->_4114F2();
3575 //crt_deconstruct_ptr_6A0118(); 3578 //crt_deconstruct_ptr_6A0118();
3576 pTexture_PCX.Release(); 3579 pTexture_PCX.Release();
3603 } 3606 }
3604 //VideoPlayer::dtor(); 3607 //VideoPlayer::dtor();
3605 } 3608 }
3606 break; 3609 break;
3607 case UIMSG_PlayerCreationRemoveDownSkill: 3610 case UIMSG_PlayerCreationRemoveDownSkill:
3608 uPlayerCreationUI_SelectedCharacter = uNum; 3611 uPlayerCreationUI_SelectedCharacter = pParam;
3609 pGUIWindow_CurrentMenu->pCurrentPosActiveItem = (pGUIWindow_CurrentMenu->pCurrentPosActiveItem - pGUIWindow_CurrentMenu->pStartingPosActiveItem) % 7 3612 pGUIWindow_CurrentMenu->pCurrentPosActiveItem = (pGUIWindow_CurrentMenu->pCurrentPosActiveItem - pGUIWindow_CurrentMenu->pStartingPosActiveItem) % 7
3610 + pGUIWindow_CurrentMenu->pStartingPosActiveItem + 7 * uNum; 3613 + pGUIWindow_CurrentMenu->pStartingPosActiveItem + 7 * pParam;
3611 pParty->pPlayers[0].pActiveSkills[(&pPlayer[uPlayerCreationUI_SelectedCharacter])->GetSkillIdxByOrder(3) 3614 pParty->pPlayers[0].pActiveSkills[(&pPlayer[uPlayerCreationUI_SelectedCharacter])->GetSkillIdxByOrder(3)
3612 + 3486 * uPlayerCreationUI_SelectedCharacter] = 0; 3615 + 3486 * uPlayerCreationUI_SelectedCharacter] = 0;
3613 break; 3616 break;
3614 default: 3617 default:
3615 break; 3618 break;