Mercurial > mm7
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, ¶m2); | 3325 pMessageQueue_50CBD0->PopMessage(&pUIMessageType, &pParam, ¶m2); |
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; |