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 }