comparison UI/UIPopup.cpp @ 2093:52415f8bf7c2

RasterLine2D (continue)
author Ritor1
date Thu, 12 Dec 2013 18:07:08 +0600
parents a869b0376b48
children 7810cb3a5fb7
comparison
equal deleted inserted replaced
2092:a869b0376b48 2093:52415f8bf7c2
483 else 483 else
484 { 484 {
485 memcpy(&pMonsterInfoUI_Doll, &pActors[uActorID], sizeof(pMonsterInfoUI_Doll)); 485 memcpy(&pMonsterInfoUI_Doll, &pActors[uActorID], sizeof(pMonsterInfoUI_Doll));
486 pMonsterInfoUI_Doll.uCurrentActionAnimation = ANIM_Bored; 486 pMonsterInfoUI_Doll.uCurrentActionAnimation = ANIM_Bored;
487 pMonsterInfoUI_Doll.uCurrentActionTime = 0; 487 pMonsterInfoUI_Doll.uCurrentActionTime = 0;
488 v8 = rand(); 488 v9 = rand() % 256 + 128;
489 v9 = v8 % 256 + 128; 489 pMonsterInfoUI_Doll.uCurrentActionLength = v9;
490 pMonsterInfoUI_Doll.uCurrentActionLength = v8 % 256 + 128;
491 } 490 }
492 491
493 if ( (signed int)pMonsterInfoUI_Doll.uCurrentActionTime > (signed __int16)v9 ) 492 if ( (signed int)pMonsterInfoUI_Doll.uCurrentActionTime > (signed __int16)v9 )
494 { 493 {
495 pMonsterInfoUI_Doll.uCurrentActionTime = 0; 494 pMonsterInfoUI_Doll.uCurrentActionTime = 0;
521 v106._screenspace_y_scaler_packedfloat = 65536; 520 v106._screenspace_y_scaler_packedfloat = 65536;
522 v106.uScreenSpaceY = v115 + (window->uFrameY + 52) + pSprites_LOD->pSpriteHeaders[v10->pHwSpriteIDs[0]].uHeight; 521 v106.uScreenSpaceY = v115 + (window->uFrameY + 52) + pSprites_LOD->pSpriteHeaders[v10->pHwSpriteIDs[0]].uHeight;
523 v106.pPalette = PaletteManager::Get_Dark_or_Red_LUT(v10->uPaletteIndex, 0, 1); 522 v106.pPalette = PaletteManager::Get_Dark_or_Red_LUT(v10->uPaletteIndex, 0, 1);
524 v106.sZValue = 0; 523 v106.sZValue = 0;
525 v106.uFlags = 0; 524 v106.uFlags = 0;
526 pRenderer->SetRasterClipRect(0, 0, 0x27Fu, 0x1DFu); 525 pRenderer->SetRasterClipRect(0, 0, 639, 479);
527 pRenderer->RasterLine2D(v106.uViewportX - 1, v106.uViewportY - 1, v106.uViewportX + 129, v106.uViewportY - 1, Color16(0xE1u, 255, 0x9Bu)); 526 pRenderer->RasterLine2D(v106.uViewportX - 1, v106.uViewportY - 1, v106.uViewportX + 129, v106.uViewportY - 1, Color16(0xE1u, 255, 0x9Bu));//горизонтальная верхняя линия
528 pRenderer->RasterLine2D( v106.uViewportX + 129, v106.uViewportY - 1, v106.uViewportX + 129, v106.uViewportW + 1, Color16(0xE1u, 255, 0x9Bu)); 527 pRenderer->RasterLine2D(v106.uViewportX - 1, v106.uViewportW + 1, v106.uViewportX - 1, v106.uViewportY - 1, Color16(0xE1u, 255, 0x9Bu));//горизонтальная нижняя линия
529 pRenderer->RasterLine2D(v106.uViewportX + 129, v106.uViewportW + 1, v106.uViewportX - 1, v106.uViewportW + 1, Color16(0xE1u, 255, 0x9Bu)); 528 pRenderer->RasterLine2D(v106.uViewportX + 129, v106.uViewportW + 1, v106.uViewportX - 1, v106.uViewportW + 1, Color16(0xE1u, 255, 0x9Bu));//левая вертикальная линия
530 pRenderer->RasterLine2D(v106.uViewportX - 1, v106.uViewportW + 1, v106.uViewportX - 1, v106.uViewportY - 1, Color16(0xE1u, 255, 0x9Bu)); 529 pRenderer->RasterLine2D(v106.uViewportX + 129, v106.uViewportY - 1, v106.uViewportX + 129, v106.uViewportW + 1, Color16(0xE1u, 255, 0x9Bu));//правая вертикальная линия
531 if ( pRenderer->pRenderD3D ) 530 if ( pRenderer->pRenderD3D )
532 { 531 {
533 v106.uScreenSpaceY = v115 + v106.uViewportY + pSprites_LOD->pHardwareSprites[v10->pHwSpriteIDs[0]].uBufferHeight; 532 v106.uScreenSpaceY = v115 + v106.uViewportY + pSprites_LOD->pHardwareSprites[v10->pHwSpriteIDs[0]].uBufferHeight;
534 memset(&Dst, 0, 0x64u); 533 memset(&Dst, 0, 0x64u);
535 Dst.dwSize = 100; 534 Dst.dwSize = 100;
632 631
633 uint idx = pDesc.dwHeight * src_y / pSprites_LOD->pHardwareSprites[v10->pHwSpriteIDs[0]].uAreaHeight * (pDesc.lPitch / sizeof(short)) + 632 uint idx = pDesc.dwHeight * src_y / pSprites_LOD->pHardwareSprites[v10->pHwSpriteIDs[0]].uAreaHeight * (pDesc.lPitch / sizeof(short)) +
634 pDesc.dwWidth * src_x / pSprites_LOD->pHardwareSprites[v10->pHwSpriteIDs[0]].uAreaWidth; 633 pDesc.dwWidth * src_x / pSprites_LOD->pHardwareSprites[v10->pHwSpriteIDs[0]].uAreaWidth;
635 uint b = src[idx] & 0x1F; 634 uint b = src[idx] & 0x1F;
636 //*dst++ = b | 2 * (src[idx] & 0xFFE0); 635 //*dst++ = b | 2 * (src[idx] & 0xFFE0);
637 pRenderer->WritePixel16(y, x, b | 2 * (src[idx] & 0xFFE0)); 636 pRenderer->WritePixel16(x, y, b | 2 * (src[idx] & 0xFFE0));
638 } 637 }
639 } 638 }
640 pSprites_LOD->pHardwareSprites[v10->pHwSpriteIDs[0]].pTextureSurface->Unlock(0); 639 pSprites_LOD->pHardwareSprites[v10->pHwSpriteIDs[0]].pTextureSurface->Unlock(0);
641 } 640 }
642 } 641 }