# HG changeset patch # User Ritor1 # Date 1360595483 -21600 # Node ID fa3b930d0ccf4eb33882f7847062ba0effe17838 # Parent b5c3f448cd741677539ff4909c4abf166a411111# Parent 3471df3713e28b00820968f8987a033e2e4569f1 Слияние diff -r 3471df3713e2 -r fa3b930d0ccf Game.cpp --- a/Game.cpp Mon Feb 11 17:29:51 2013 +0200 +++ b/Game.cpp Mon Feb 11 21:11:23 2013 +0600 @@ -1079,7 +1079,7 @@ { if ( !pCurrentScreen && pVisInstance && pRenderer->pRenderD3D ) { - bool r = pVisInstance->_4C05CC(&pVisInstance->stru1, a3, a4); + bool r = pVisInstance->PickKeyboard(&pVisInstance->stru1, a3, a4); if (bOutline) OutlineSelection(); @@ -1087,6 +1087,18 @@ } return false; } +/* +Result::Code Game::PickKeyboard(bool bOutline, struct unnamed_F93E6C *a3, struct unnamed_F93E6C *a4) +{ + if (dword_4E28F8_PartyCantJumpIfTrue) + return Result::Generic; + + pVis->PickKeyboard(a3, a4); + if (bOutline) + Game_outline_selection((int)this); + return Result::Success; +} +*/ // 4E28F8: using guessed type int pCurrentScreen; //----- (0044EB5A) -------------------------------------------------------- diff -r 3471df3713e2 -r fa3b930d0ccf Vis.cpp --- a/Vis.cpp Mon Feb 11 17:29:51 2013 +0200 +++ b/Vis.cpp Mon Feb 11 21:11:23 2013 +0600 @@ -1433,7 +1433,7 @@ Vis *thisa; // [sp+68h] [bp-8h]@1 RenderVertexSoft *v16; // [sp+6Ch] [bp-4h]@2 - __debugbreak(); + //__debugbreak(); result = sRight; thisa = this; @@ -1586,7 +1586,7 @@ //----- (004C05CC) -------------------------------------------------------- -bool Vis::_4C05CC(Vis_stru1 *a2, stru157 *a3, stru157 *a4) +bool Vis::PickKeyboard(Vis_stru1 *a2, stru157 *a3, stru157 *a4) { Vis_stru1 *v4; // esi@1 Vis *v5; // ebx@1 diff -r 3471df3713e2 -r fa3b930d0ccf Vis.h --- a/Vis.h Mon Feb 11 17:29:51 2013 +0200 +++ b/Vis.h Mon Feb 11 21:11:23 2013 +0600 @@ -42,7 +42,7 @@ //virtual ~Vis() {} //----- (004C05BE) -------------------------------------------------------- ~Vis() {} - bool _4C05CC(Vis_stru1 *a2, struct stru157 *a3, struct stru157 *a4); + bool PickKeyboard(Vis_stru1 *a2, struct stru157 *a3, struct stru157 *a4); bool PickMouse(float fDepth, float fMouseX, float fMouseY, struct stru157 *a5, struct stru157 *a6); void _4C06F8(float arg0, Vis_stru1 *a3, struct stru157 *a2); bool is_part_of_selection(struct BLVFace *uD3DBillboardIdx_or_pBLVFace_or_pODMFace, struct stru157 *a2); diff -r 3471df3713e2 -r fa3b930d0ccf mm7_5.cpp --- a/mm7_5.cpp Mon Feb 11 17:29:51 2013 +0200 +++ b/mm7_5.cpp Mon Feb 11 21:11:23 2013 +0600 @@ -8634,10 +8634,8 @@ v47 = pPlayers[uPlayerID]; pIcons_LOD->LoadTexture("sptext01", TEXTURE_16BIT_PALETTE); CharacterUI_DrawPaperdoll(v1); - pRenderer->DrawTextureTransparent(0x1D9u, 0, - (Texture *)(uTextureID_BACKHAND != -1 ? &pIcons_LOD->pTextures[uTextureID_BACKHAND] : 0)); - pRenderer->DrawTextureTransparent(0x1D4u, 0, - (Texture *)(uTextureID_507B04 != -1 ? &pIcons_LOD->pTextures[uTextureID_507B04] : 0)); + pRenderer->DrawTextureTransparent(0x1D9u, 0, (Texture *)(uTextureID_BACKHAND != -1 ? &pIcons_LOD->pTextures[uTextureID_BACKHAND] : 0)); + pRenderer->DrawTextureTransparent(0x1D4u, 0, (Texture *)(uTextureID_507B04 != -1 ? &pIcons_LOD->pTextures[uTextureID_507B04] : 0)); pRenderer->DrawTextureIndexed(pCharacterScreen_DetalizBtn->uX, pCharacterScreen_DetalizBtn->uY, (Texture *)(uTextureID_5118C8 != -1 ? &pIcons_LOD->pTextures[uTextureID_5118C8] : 0)); v3 = 0; @@ -8649,8 +8647,8 @@ goto LABEL_24; v39 = *(int *)v46; v4 = (int)&pPlayer->spellbook.pDarkSpellbook.bIsSpellAvailable[36 * *(int *)v46 + 5]; - a3 = *(int *)((char *)dword_4E5C34 + v3); - a2 = *(int *)((char *)dword_4E5C1C + v3); + a3 = pPaperdollRingsX[v3]; + a2 = pPaperdollRingsX[v3]; v5 = pIcons_LOD->LoadTexture(pItemsTable->pItems[*(int *)v4].pIconName, TEXTURE_16BIT_PALETTE); v6 = *(int *)(v4 + 20); if ( *(int *)(v4 + 20) & 0xF0 ) diff -r 3471df3713e2 -r fa3b930d0ccf mm7_data.cpp --- a/mm7_data.cpp Mon Feb 11 17:29:51 2013 +0200 +++ b/mm7_data.cpp Mon Feb 11 21:11:23 2013 +0600 @@ -701,8 +701,8 @@ 0x1F, 0xB8, }; int pPaperdollLeftEmptyHand[8]; -int dword_4E5C1C[6]; -int dword_4E5C34[6]; +int pPaperdollRingsX[6] = {0x1EA, 0x21A, 0x248, 0x1EA, 0x21A, 0x248}; +int pPaperdollRingsY[6] = {0x0CA, 0x0CA, 0x0CA, 0x0FA, 0x0FA, 0x0FA}; char aItem092v3[777]; // idb char aIbCd5D[777]; // idb char aAr_dn_dn[777]; // idb diff -r 3471df3713e2 -r fa3b930d0ccf mm7_data.h --- a/mm7_data.h Mon Feb 11 17:29:51 2013 +0200 +++ b/mm7_data.h Mon Feb 11 21:11:23 2013 +0600 @@ -648,8 +648,8 @@ extern int pPaperdoll_SecondLeftHand[8]; extern int pPaperdoll_RightHand[8]; extern int pPaperdollLeftEmptyHand[8]; -extern int dword_4E5C1C[6]; -extern int dword_4E5C34[6]; +extern int pPaperdollRingsX[6]; +extern int pPaperdollRingsY[6]; extern char aItem092v3[]; // idb extern char aIbCd5D[]; // idb extern char aAr_dn_dn[]; // idb