Mercurial > mm7
comparison mm7_5.cpp @ 2:89240115d392
MainMenuBtn(work)
author | Ritor1 |
---|---|
date | Sun, 13 Jan 2013 01:47:51 +0600 |
parents | 98b091cbabf7 |
children | bf31c505f4d3 |
comparison
equal
deleted
inserted
replaced
1:98b091cbabf7 | 2:89240115d392 |
---|---|
454 pCurrentScreen = 2; | 454 pCurrentScreen = 2; |
455 v162 = 0; | 455 v162 = 0; |
456 v148 = 0; | 456 v148 = 0; |
457 pWindowType = (WindowType)8; | 457 pWindowType = (WindowType)8; |
458 goto LABEL_439; | 458 goto LABEL_439; |
459 case UIMSG_A2: | 459 case UIMSG_ArrowUp: |
460 --dword_6A0C9C; | 460 --pSaveListPosition; |
461 if ( dword_6A0C9C < 0 ) | 461 if ( pSaveListPosition < 0 ) |
462 dword_6A0C9C = 0; | 462 pSaveListPosition = 0; |
463 v163 = 0; | 463 v163 = 0; |
464 v8 = 199; | 464 v8 = 199; |
465 pButton2 = ptr_69BD5C; | 465 pButton2 = pBtnArrowUp; |
466 //goto LABEL_60; | 466 //goto LABEL_60; |
467 pWindowType1 = (WindowType)90; | 467 pWindowType1 = (WindowType)90; |
468 v137 = 17; | 468 v137 = 17; |
469 v133 = 17; | 469 v133 = 17; |
470 v9 = 215; | 470 v9 = 215; |
471 goto LABEL_733; | 471 goto LABEL_733; |
472 case UIMSG_A3: | 472 case UIMSG_DownArrow: |
473 ++dword_6A0C9C; | 473 ++pSaveListPosition; |
474 if ( dword_6A0C9C >= uMessageParam ) | 474 if ( pSaveListPosition >= uMessageParam ) |
475 dword_6A0C9C = uMessageParam - 1; | 475 pSaveListPosition = uMessageParam - 1; |
476 v163 = 0; | 476 v163 = 0; |
477 v8 = 323; | 477 v8 = 323; |
478 pButton2 = ptr_69BD58; | 478 pButton2 = pBtnDownArrow; |
479 //LABEL_60: | 479 //LABEL_60: |
480 pWindowType1 = (WindowType)90; | 480 pWindowType1 = (WindowType)90; |
481 v137 = 17; | 481 v137 = 17; |
482 v133 = 17; | 482 v133 = 17; |
483 v9 = 215; | 483 v9 = 215; |
484 goto LABEL_733; | 484 goto LABEL_733; |
485 case UIMSG_A6: | 485 case UIMSG_Cancel: |
486 v163 = 0; | 486 v163 = 0; |
487 v8 = 302; | 487 v8 = 302; |
488 pButton2 = ptr_69BD60; | 488 pButton2 = pBtnCancel; |
489 v9 = 350; | 489 v9 = 350; |
490 pWindowType1 = (WindowType)96; | 490 pWindowType1 = (WindowType)96; |
491 v137 = 42; | 491 v137 = 42; |
492 v133 = 106; | 492 v133 = 106; |
493 goto LABEL_733; | 493 goto LABEL_733; |
494 case UIMSG_A4: | 494 case UIMSG_LoadSlot: |
495 v163 = 0; | 495 v163 = 0; |
496 v8 = 302; | 496 v8 = 302; |
497 pButton2 = ptr_69BD64; | 497 pButton2 = pBtnLoadSlot; |
498 v9 = 241; | 498 v9 = 241; |
499 pWindowType1 = (WindowType)94; | 499 pWindowType1 = (WindowType)94; |
500 v137 = 42; | 500 v137 = 42; |
501 v133 = 106; | 501 v133 = 106; |
502 goto LABEL_733; | 502 goto LABEL_733; |
503 case UIMSG_A5: | 503 case UIMSG_A5: |
504 if ( pGUIWindow_CurrentMenu->field_40 == v0 ) | 504 if ( pGUIWindow_CurrentMenu->field_40 == v0 ) |
505 pKeyActionMap->_459ED1(0); | 505 pKeyActionMap->_459ED1(0); |
506 if ( pCurrentScreen != 11 || uLoadGameUI_SelectedSlot != dword_6A0C9C + uMessageParam ) | 506 if ( pCurrentScreen != 11 || uLoadGameUI_SelectedSlot != pSaveListPosition + uMessageParam ) |
507 { | 507 { |
508 v10 = dword_6A0C9C + uMessageParam; | 508 v10 = pSaveListPosition + uMessageParam; |
509 if ( dword_6BE138 == dword_6A0C9C + uMessageParam ) | 509 if ( dword_6BE138 == pSaveListPosition + uMessageParam ) |
510 { | 510 { |
511 if ( (signed int)pMessageQueue_50CBD0->uNumMessages < 40 ) | 511 if ( (signed int)pMessageQueue_50CBD0->uNumMessages < 40 ) |
512 { | 512 { |
513 pMessageQueue_50CBD0->pMessages[pMessageQueue_50CBD0->uNumMessages].eType = (UIMessageType)164; | 513 pMessageQueue_50CBD0->pMessages[pMessageQueue_50CBD0->uNumMessages].eType = (UIMessageType)164; |
514 pMessageQueue_50CBD0->pMessages[pMessageQueue_50CBD0->uNumMessages].param = 0; | 514 pMessageQueue_50CBD0->pMessages[pMessageQueue_50CBD0->uNumMessages].param = 0; |
3079 } | 3079 } |
3080 //----- (00435748) -------------------------------------------------------- | 3080 //----- (00435748) -------------------------------------------------------- |
3081 void __cdecl GUI_MainMenuMessageProc() | 3081 void __cdecl GUI_MainMenuMessageProc() |
3082 { | 3082 { |
3083 //AudioPlayer *v0; // ebp@2 | 3083 //AudioPlayer *v0; // ebp@2 |
3084 char *v1; // ebx@2 | 3084 //Player *pPlayer1; // ebx@2 |
3085 unsigned int v2; // ecx@18 | 3085 unsigned int v2; // ecx@18 |
3086 void *v3; // edi@21 | 3086 void *v3; // edi@21 |
3087 signed int v4; // eax@29 | 3087 signed int v4; // eax@29 |
3088 int v5; // ecx@29 | 3088 int v5; // ecx@29 |
3089 enum PLAYER_SKILL_TYPE v6; // edi@37 | 3089 enum PLAYER_SKILL_TYPE v6; // edi@37 |
3126 Player *pPlayer; | 3126 Player *pPlayer; |
3127 | 3127 |
3128 if ( pMessageQueue_50CBD0->uNumMessages ) | 3128 if ( pMessageQueue_50CBD0->uNumMessages ) |
3129 { | 3129 { |
3130 //v0 = pAudioPlayer; | 3130 //v0 = pAudioPlayer; |
3131 v1 = (char *)pParty->pPlayers; | 3131 //pPlayer1 = pParty->pPlayers; |
3132 pPlayer = pParty->pPlayers; | 3132 pPlayer = pParty->pPlayers; |
3133 do | 3133 do |
3134 { | 3134 { |
3135 pMessageQueue_50CBD0->PopMessage(&pUIMessageType, &uNum, &pSex); | 3135 pMessageQueue_50CBD0->PopMessage(&pUIMessageType, &uNum, &pSex); |
3136 switch (pUIMessageType) | 3136 switch (pUIMessageType) //создание окон из главного меню |
3137 { | 3137 { |
3138 case UIMSG_MainMenu_ShowPartyCreationWnd: | 3138 case UIMSG_MainMenu_ShowPartyCreationWnd:// Окно создания группы |
3139 { | 3139 { |
3140 GUIWindow::Create(495, 172, 0, 0, WINDOW_5A, (int)pMainMenu_BtnNew, 0); | 3140 GUIWindow::Create(495, 172, 0, 0, WINDOW_5A, (int)pMainMenu_BtnNew, 0); |
3141 SetCurrentMenuID(MENU_NEWGAME); | 3141 SetCurrentMenuID(MENU_NEWGAME); |
3142 } | 3142 } |
3143 continue; | 3143 continue; |
3144 case UIMSG_MainMenu_ShowLoadWindow: | 3144 case UIMSG_MainMenu_ShowLoadWindow:// Окно Загрузка |
3145 { | 3145 { |
3146 GUIWindow::Create(495, 227, 0, 0, WINDOW_5A, (int)pMainMenu_BtnLoad, 0); | 3146 GUIWindow::Create(495, 227, 0, 0, WINDOW_5A, (int)pMainMenu_BtnLoad, 0); |
3147 SetCurrentMenuID(MENU_SAVELOAD); | 3147 SetCurrentMenuID(MENU_SAVELOAD); |
3148 } | 3148 } |
3149 continue; | 3149 continue; |
3150 case UIMSG_ShowCredits: | 3150 case UIMSG_ShowCredits:// Окно Создатели |
3151 { | 3151 { |
3152 GUIWindow::Create(495, 282, 0, 0, WINDOW_5A, (int)pMainMenu_BtnCredits, 0); | 3152 GUIWindow::Create(495, 282, 0, 0, WINDOW_5A, (int)pMainMenu_BtnCredits, 0); |
3153 SetCurrentMenuID(MENU_CREDITS); | 3153 SetCurrentMenuID(MENU_CREDITS); |
3154 } | 3154 } |
3155 continue; | 3155 continue; |
3156 case UIMSG_ExitToWindows: | 3156 case UIMSG_ExitToWindows:// Окно Выход |
3157 { | 3157 { |
3158 GUIWindow::Create(495, 337, 0, 0, WINDOW_5A, (int)pMainMenu_BtnExit, 0); | 3158 GUIWindow::Create(495, 337, 0, 0, WINDOW_5A, (int)pMainMenu_BtnExit, 0); |
3159 SetCurrentMenuID(MENU_FINISHED); | 3159 SetCurrentMenuID(MENU_FINISHED); |
3160 } | 3160 } |
3161 continue; | 3161 continue; |
3162 case UIMSG_LoadGame: | 3162 case UIMSG_LoadGame:// Процесс загрузки |
3163 { | 3163 { |
3164 if (!pSavegameUsedSlots[uLoadGameUI_SelectedSlot]) | 3164 if (!pSavegameUsedSlots[uLoadGameUI_SelectedSlot]) |
3165 continue; | 3165 continue; |
3166 SetCurrentMenuID(MENU_LOAD); | 3166 SetCurrentMenuID(MENU_LOAD); |
3167 } | 3167 } |
3172 case UIMSG_A5: // WINDOW_5A | 3172 case UIMSG_A5: // WINDOW_5A |
3173 { | 3173 { |
3174 //main menu save/load wnd clicking on savegame lines | 3174 //main menu save/load wnd clicking on savegame lines |
3175 if (pGUIWindow_CurrentMenu->field_40 == 1) | 3175 if (pGUIWindow_CurrentMenu->field_40 == 1) |
3176 pKeyActionMap->_459ED1(0); | 3176 pKeyActionMap->_459ED1(0); |
3177 if ( pCurrentScreen != 11 || uLoadGameUI_SelectedSlot != uNum + dword_6A0C9C ) | 3177 if ( pCurrentScreen != 11 || uLoadGameUI_SelectedSlot != uNum + pSaveListPosition ) |
3178 { | 3178 { |
3179 //load clicked line | 3179 //load clicked line |
3180 v26 = uNum + dword_6A0C9C; | 3180 v26 = uNum + pSaveListPosition; |
3181 if ( dword_6BE138 == uNum + dword_6A0C9C ) | 3181 if ( dword_6BE138 == uNum + pSaveListPosition ) |
3182 { | 3182 { |
3183 pMessageQueue_50CBD0->SendMessage(UIMSG_A4, 0, 0); | 3183 pMessageQueue_50CBD0->SendMessage(UIMSG_LoadSlot, 0, 0); |
3184 pMessageQueue_50CBD0->SendMessage(UIMSG_LoadGame, 0, 0); | 3184 pMessageQueue_50CBD0->SendMessage(UIMSG_LoadGame, 0, 0); |
3185 } | 3185 } |
3186 uLoadGameUI_SelectedSlot = v26; | 3186 uLoadGameUI_SelectedSlot = v26; |
3187 dword_6BE138 = v26; | 3187 dword_6BE138 = v26; |
3188 } | 3188 } |
3193 strcpy((char *)pKeyActionMap->pPressedKeysBuffer, pSavegameHeader[uLoadGameUI_SelectedSlot].pName); | 3193 strcpy((char *)pKeyActionMap->pPressedKeysBuffer, pSavegameHeader[uLoadGameUI_SelectedSlot].pName); |
3194 pKeyActionMap->uNumKeysPressed = strlen((const char *)pKeyActionMap->pPressedKeysBuffer); | 3194 pKeyActionMap->uNumKeysPressed = strlen((const char *)pKeyActionMap->pPressedKeysBuffer); |
3195 } | 3195 } |
3196 } | 3196 } |
3197 continue; | 3197 continue; |
3198 case UIMSG_A4: | 3198 case UIMSG_LoadSlot: // Нажатие на слот в окне Загрузка |
3199 { | 3199 { |
3200 GUIWindow::Create(pGUIWindow_CurrentMenu->uFrameX + 241, pGUIWindow_CurrentMenu->uFrameY + 302, 61, 28, WINDOW_5E, (int)ptr_69BD64, 0); | 3200 GUIWindow::Create(pGUIWindow_CurrentMenu->uFrameX + 241, pGUIWindow_CurrentMenu->uFrameY + 302, 61, 28, WINDOW_5E, (int)pBtnLoadSlot, 0); |
3201 } | 3201 } |
3202 continue; | 3202 continue; |
3203 } | 3203 } |
3204 if ( (signed int)pUIMessageType > UIMSG_PlayerCreationRemoveDownSkill ) | 3204 if ( (signed int)pUIMessageType > UIMSG_PlayerCreationRemoveDownSkill ) |
3205 { | 3205 { |
3206 if ( pUIMessageType > UIMSG_A3 ) | 3206 if ( pUIMessageType > UIMSG_DownArrow ) |
3207 { | 3207 { |
3208 if ( pUIMessageType == UIMSG_A6 ) | 3208 if ( pUIMessageType == UIMSG_Cancel )// Нажатие кнопки Отмена |
3209 { | 3209 { |
3210 GUIWindow::Create(pGUIWindow_CurrentMenu->uFrameX + 350, pGUIWindow_CurrentMenu->uFrameY + 302, 61, 28, (WindowType)95, (int)ptr_69BD60, 0); | 3210 GUIWindow::Create(pGUIWindow_CurrentMenu->uFrameX + 350, pGUIWindow_CurrentMenu->uFrameY + 302, 61, 28, (WindowType)95, (int)pBtnCancel, 0); |
3211 continue; | 3211 continue; |
3212 } | 3212 } |
3213 if ( pUIMessageType == UIMSG_SelectFacePlayerBack ) | 3213 if ( pUIMessageType == UIMSG_SelectFacePlayerBack ) |
3214 { | 3214 { |
3215 pPlayer = &pParty->pPlayers[uNum]; | 3215 pPlayer = &pParty->pPlayers[uNum]; |
3229 (enum WindowType)92, (int)pCreationUI_BtnPressLeft[v25], 1); | 3229 (enum WindowType)92, (int)pCreationUI_BtnPressLeft[v25], 1); |
3230 //v0 = pAudioPlayer; | 3230 //v0 = pAudioPlayer; |
3231 pAudioPlayer->PlaySound((SoundID)66, 0, 0, -1, 0, 0, 0.0, 0); | 3231 pAudioPlayer->PlaySound((SoundID)66, 0, 0, -1, 0, 0, 0.0, 0); |
3232 v22 = pPlayer; | 3232 v22 = pPlayer; |
3233 v22->PlaySound(102, 0); | 3233 v22->PlaySound(102, 0); |
3234 v1 = (char *)pParty->pPlayers; | 3234 //v1 = (char *)pParty->pPlayers; |
3235 continue; | 3235 continue; |
3236 } | 3236 } |
3237 if ( pUIMessageType == UIMSG_SelectFacePlayerForward ) | 3237 if ( pUIMessageType == UIMSG_SelectFacePlayerForward ) |
3238 { | 3238 { |
3239 pPlayer = &pParty->pPlayers[uNum]; | 3239 pPlayer = &pParty->pPlayers[uNum]; |
3240 v20 = (char)((int)pPlayer->uFace + 1) % 20; | 3240 v20 = (char)((int)pPlayer->uFace + 1) % 20; |
3241 pPlayer->uFace = v20; | 3241 pPlayer->uFace = v20; |
3242 pPlayer->uVoiceID = v20; | 3242 pPlayer->uVoiceID = v20; |
3243 pPlayer->SetInitialStats(); | 3243 pPlayer->SetInitialStats(); |
3244 pPlayer->SetSexByVoice(); | 3244 pPlayer->SetSexByVoice(); |
3245 pPlayer->RandomizeName(); | 3245 pPlayer->RandomizeName(); |
3246 v21 = uNum; | 3246 v21 = uNum; |
3247 pGUIWindow_CurrentMenu->pCurrentPosActiveItem = (pGUIWindow_CurrentMenu->pCurrentPosActiveItem - pGUIWindow_CurrentMenu->pStartingPosActiveItem) | 3247 pGUIWindow_CurrentMenu->pCurrentPosActiveItem = (pGUIWindow_CurrentMenu->pCurrentPosActiveItem - pGUIWindow_CurrentMenu->pStartingPosActiveItem) |
3248 % 7 + pGUIWindow_CurrentMenu->pStartingPosActiveItem + 7 * uNum; | 3248 % 7 + pGUIWindow_CurrentMenu->pStartingPosActiveItem + 7 * uNum; |
3249 uPlayerCreationUI_SelectedCharacter = v21; | 3249 uPlayerCreationUI_SelectedCharacter = v21; |
3250 GUIWindow::Create(pCreationUI_BtnPressRight[v21]->uX, pCreationUI_BtnPressRight[v21]->uY, 0, 0, (enum WindowType)92, | 3250 GUIWindow::Create(pCreationUI_BtnPressRight[v21]->uX, pCreationUI_BtnPressRight[v21]->uY, 0, 0, (enum WindowType)92, |
3251 (int)pCreationUI_BtnPressRight[v21], 1); | 3251 (int)pCreationUI_BtnPressRight[v21], 1); |
3252 //v0 = pAudioPlayer; | 3252 //v0 = pAudioPlayer; |
3253 pAudioPlayer->PlaySound((SoundID)66, 0, 0, -1, 0, 0, 0, 0); | 3253 pAudioPlayer->PlaySound((SoundID)66, 0, 0, -1, 0, 0, 0, 0); |
3254 v22 = pPlayer; | 3254 v22 = pPlayer; |
3255 v22->PlaySound(102, 0); | 3255 v22->PlaySound(102, 0); |
3256 v1 = (char *)pParty->pPlayers; | 3256 //v1 = (char *)pParty->pPlayers; |
3257 continue; | 3257 continue; |
3258 } | 3258 } |
3259 if ( pUIMessageType == UIMSG_AD ) | 3259 if ( pUIMessageType == UIMSG_AD ) |
3260 { | 3260 { |
3261 GUIWindow::Create(pMainMenu_BtnNew->uX, pMainMenu_BtnNew->uY, 0, 0, (enum WindowType)90, (int)pMainMenu_BtnNew, 0); | 3261 GUIWindow::Create(pMainMenu_BtnNew->uX, pMainMenu_BtnNew->uY, 0, 0, (enum WindowType)90, (int)pMainMenu_BtnNew, 0); |
3263 continue; | 3263 continue; |
3264 } | 3264 } |
3265 if ( pUIMessageType != UIMSG_AE ) | 3265 if ( pUIMessageType != UIMSG_AE ) |
3266 continue; | 3266 continue; |
3267 GUIWindow::Create(pMainMenu_BtnExit->uX, pMainMenu_BtnExit->uY, 0, 0, (enum WindowType)90, (int)pMainMenu_BtnExit, 0); | 3267 GUIWindow::Create(pMainMenu_BtnExit->uX, pMainMenu_BtnExit->uY, 0, 0, (enum WindowType)90, (int)pMainMenu_BtnExit, 0); |
3268 LABEL_114: | 3268 //LABEL_114: |
3269 v40 = 10; | 3269 v40 = 10; |
3270 LABEL_89: | 3270 //LABEL_89: |
3271 v2 = v40; | 3271 v2 = v40; |
3272 SetCurrentMenuID((MENU_STATE)v2); | 3272 SetCurrentMenuID((MENU_STATE)v2); |
3273 continue; | 3273 continue; |
3274 } | 3274 } |
3275 if ( pUIMessageType == UIMSG_A3 ) | 3275 if ( pUIMessageType == UIMSG_DownArrow )//нажатие стрелки вниз |
3276 { | 3276 { |
3277 ++dword_6A0C9C; | 3277 ++pSaveListPosition; |
3278 if ( dword_6A0C9C >= uNum ) | 3278 if ( pSaveListPosition >= uNum ) |
3279 dword_6A0C9C = uNum - 1; | 3279 pSaveListPosition = uNum - 1; |
3280 if ( dword_6A0C9C < 1 ) | 3280 if ( pSaveListPosition < 1 ) |
3281 dword_6A0C9C = 0; | 3281 pSaveListPosition = 0; |
3282 pWindow = pGUIWindow_CurrentMenu; | 3282 pWindow = pGUIWindow_CurrentMenu; |
3283 v43 = 0; | |
3284 v39 = (int)ptr_69BD58; | |
3285 v8 = pGUIWindow_CurrentMenu->uFrameY + 323; | 3283 v8 = pGUIWindow_CurrentMenu->uFrameY + 323; |
3286 goto LABEL_105; | 3284 GUIWindow::Create(pWindow->uFrameX + 215, v8, 0, 0, (WindowType)90, (int)pBtnDownArrow, 0); |
3285 continue; | |
3287 } | 3286 } |
3288 if ( pUIMessageType == UIMSG_6B ) | 3287 if ( pUIMessageType == UIMSG_6B ) |
3289 { | 3288 { |
3290 if ( pCurrentScreen ) | 3289 if ( pCurrentScreen ) |
3291 { | 3290 { |
3324 if ( v17 == 16 ) | 3323 if ( v17 == 16 ) |
3325 pVideoPlayer->FastForwardToFrame(pVideoPlayer->field_40); | 3324 pVideoPlayer->FastForwardToFrame(pVideoPlayer->field_40); |
3326 if (GetCurrentMenuID() == MENU_7) | 3325 if (GetCurrentMenuID() == MENU_7) |
3327 { | 3326 { |
3328 v40 = 6; | 3327 v40 = 6; |
3329 goto LABEL_89; | 3328 //goto LABEL_89; |
3329 v2 = v40; | |
3330 SetCurrentMenuID((MENU_STATE)v2); | |
3331 continue; | |
3330 } | 3332 } |
3331 if (GetCurrentMenuID() == MENU_Credits) | 3333 if (GetCurrentMenuID() == MENU_Credits) |
3332 { | 3334 { |
3333 v40 = 11; | 3335 v40 = 11; |
3334 goto LABEL_89; | 3336 //goto LABEL_89; |
3337 v2 = v40; | |
3338 SetCurrentMenuID((MENU_STATE)v2); | |
3339 continue; | |
3335 } | 3340 } |
3336 if ( (signed int)pMessageQueue_50CBD0->uNumMessages < 40 ) | 3341 if ( (signed int)pMessageQueue_50CBD0->uNumMessages < 40 ) |
3337 { | 3342 { |
3338 pMessageQueue_50CBD0->pMessages[pMessageQueue_50CBD0->uNumMessages].eType = (UIMessageType)5; | 3343 pMessageQueue_50CBD0->pMessages[pMessageQueue_50CBD0->uNumMessages].eType = (UIMessageType)5; |
3339 //LABEL_93: | 3344 //LABEL_93: |
3354 //crt_deconstruct_ptr_6A0118(); | 3359 //crt_deconstruct_ptr_6A0118(); |
3355 pTexture_PCX.Release(); | 3360 pTexture_PCX.Release(); |
3356 pTexture_PCX.Load("title.pcx", 0); | 3361 pTexture_PCX.Load("title.pcx", 0); |
3357 SetCurrentMenuID(MENU_MAIN); | 3362 SetCurrentMenuID(MENU_MAIN); |
3358 v15 = 1; | 3363 v15 = 1; |
3359 LABEL_81: | 3364 //LABEL_81: |
3360 pGUIWindow_CurrentMenu->Release(); | 3365 pGUIWindow_CurrentMenu->Release(); |
3361 pGUIWindow2->Release(); | 3366 pGUIWindow2->Release(); |
3362 pGUIWindow2 = 0; | 3367 pGUIWindow2 = 0; |
3363 pEventTimer->Resume(); | 3368 pEventTimer->Resume(); |
3364 pCurrentScreen = 0; | 3369 pCurrentScreen = 0; |
3370 pVideoPlayer->Unload(); | 3375 pVideoPlayer->Unload(); |
3371 } | 3376 } |
3372 else | 3377 else |
3373 { | 3378 { |
3374 if ( pCurrentScreen != 27 ) | 3379 if ( pCurrentScreen != 27 ) |
3375 goto LABEL_81; | 3380 //goto LABEL_81; |
3381 { | |
3382 pGUIWindow_CurrentMenu->Release(); | |
3383 pGUIWindow2->Release(); | |
3384 pGUIWindow2 = 0; | |
3385 pEventTimer->Resume(); | |
3386 pCurrentScreen = 0; | |
3387 viewparams->bRedrawGameUI = v15; | |
3388 continue; | |
3389 } | |
3376 //VideoPlayer::dtor(); | 3390 //VideoPlayer::dtor(); |
3377 } | 3391 } |
3378 } | 3392 } |
3379 else | 3393 else |
3380 { | 3394 { |
3418 GUIWindow::Create(pButton->uX, pButton->uY, 0, 0, (enum WindowType)92, (int)pButton, 1); | 3432 GUIWindow::Create(pButton->uX, pButton->uY, 0, 0, (enum WindowType)92, (int)pButton, 1); |
3419 pAudioPlayer->PlaySound((SoundID)66, 0, 0, -1, 0, 0, 0, 0); | 3433 pAudioPlayer->PlaySound((SoundID)66, 0, 0, -1, 0, 0, 0, 0); |
3420 pCurrentPlayer->PlaySound(102, 0); | 3434 pCurrentPlayer->PlaySound(102, 0); |
3421 continue; | 3435 continue; |
3422 } | 3436 } |
3423 if ( pUIMessageType == UIMSG_A2 ) | 3437 if ( pUIMessageType == UIMSG_ArrowUp )// Кнопка Вверх |
3424 { | 3438 { |
3425 --dword_6A0C9C; | 3439 --pSaveListPosition; |
3426 if ( dword_6A0C9C < 0 ) | 3440 if ( pSaveListPosition < 0 ) |
3427 dword_6A0C9C = 0; | 3441 pSaveListPosition = 0; |
3428 pWindow = pGUIWindow_CurrentMenu; | 3442 pWindow = pGUIWindow_CurrentMenu; |
3429 v43 = 0; | |
3430 v39 = (int)ptr_69BD5C; | |
3431 v8 = pGUIWindow_CurrentMenu->uFrameY + 197; | 3443 v8 = pGUIWindow_CurrentMenu->uFrameY + 197; |
3432 LABEL_105: | 3444 GUIWindow::Create(pWindow->uFrameX + 215, v8, 0, 0, (WindowType)90, (int)pBtnArrowUp, 0); |
3433 GUIWindow::Create(pWindow->uFrameX + 215, v8, 0, 0, (WindowType)90, v39, v43); | |
3434 continue; | 3445 continue; |
3435 } | 3446 } |
3436 } | 3447 } |
3437 } | 3448 } |
3438 else | 3449 else |
3439 { | 3450 { |
3440 if ( pUIMessageType == UIMSG_PlayerCreationRemoveDownSkill ) | 3451 if ( pUIMessageType == UIMSG_PlayerCreationRemoveDownSkill ) |
3441 { | 3452 { |
3442 uPlayerCreationUI_SelectedCharacter = uNum; | 3453 uPlayerCreationUI_SelectedCharacter = uNum; |
3443 v41 = 3; | 3454 v41 = 3; |
3444 v1 = (char *)pParty->pPlayers; | 3455 //v1 = (char *)pParty->pPlayers; |
3445 v5 = (pGUIWindow_CurrentMenu->pCurrentPosActiveItem - pGUIWindow_CurrentMenu->pStartingPosActiveItem) % 7 | 3456 v5 = (pGUIWindow_CurrentMenu->pCurrentPosActiveItem - pGUIWindow_CurrentMenu->pStartingPosActiveItem) % 7 |
3446 + pGUIWindow_CurrentMenu->pStartingPosActiveItem + 7 * uNum; | 3457 + pGUIWindow_CurrentMenu->pStartingPosActiveItem + 7 * uNum; |
3447 pGUIWindow_CurrentMenu->pCurrentPosActiveItem = v5; | 3458 pGUIWindow_CurrentMenu->pCurrentPosActiveItem = v5; |
3448 pParty->pPlayers[0].pActiveSkills[(&pPlayer[uPlayerCreationUI_SelectedCharacter])->GetSkillIdxByOrder(v41) | 3459 pParty->pPlayers[0].pActiveSkills[(&pPlayer[uPlayerCreationUI_SelectedCharacter])->GetSkillIdxByOrder(v41) |
3449 + 3486 * uPlayerCreationUI_SelectedCharacter] = 0; | 3460 + 3486 * uPlayerCreationUI_SelectedCharacter] = 0; |
3529 case 17: | 3540 case 17: |
3530 pMouse->SetCursorBitmap("MICON2"); | 3541 pMouse->SetCursorBitmap("MICON2"); |
3531 break; | 3542 break; |
3532 default: | 3543 default: |
3533 if ( pUIMessageType == 58 ) | 3544 if ( pUIMessageType == 58 ) |
3534 goto LABEL_114; | 3545 //goto LABEL_114; |
3546 { | |
3547 v40 = 10; | |
3548 v2 = v40; | |
3549 SetCurrentMenuID((MENU_STATE)v2); | |
3550 continue; | |
3551 } | |
3535 break; | 3552 break; |
3536 } | 3553 } |
3537 } | 3554 } |
3538 } | 3555 } |
3539 } | 3556 } |