comparison Outdoor.cpp @ 323:d720a13e2273

Very basic picking & entering houses
author Nomad
date Wed, 20 Feb 2013 08:23:12 +0200
parents 72faa54ff319
children 24936a5ff8ca 58b71c1af7d8
comparison
equal deleted inserted replaced
322:ce39b96acf5c 323:d720a13e2273
55 if (viewparams->draw_d3d_outlines) 55 if (viewparams->draw_d3d_outlines)
56 pIndoorCamera->flags |= INDOOR_CAMERA_DRAW_D3D_OUTLINES; 56 pIndoorCamera->flags |= INDOOR_CAMERA_DRAW_D3D_OUTLINES;
57 57
58 pIndoorCamera->sRotationX = pParty->sRotationX; 58 pIndoorCamera->sRotationX = pParty->sRotationX;
59 pIndoorCamera->sRotationY = pParty->sRotationY; 59 pIndoorCamera->sRotationY = pParty->sRotationY;
60 pIndoorCamera->pos.x = pParty->vPosition.x 60 pIndoorCamera->pos.x = pParty->vPosition.x - ((stru_5C6E00->Cos(pParty->sRotationY) * (signed __int64)pParty->y_rotation_granularity) >> 16);
61 - ((unsigned __int64)(stru_5C6E00->SinCos(pParty->sRotationY) 61 pIndoorCamera->pos.y = pParty->vPosition.y - pParty->y_rotation_granularity * (stru_5C6E00->Sin(pParty->sRotationY) >> 16);
62 * (signed __int64)pParty->y_rotation_granularity) >> 16);
63 pIndoorCamera->pos.y = pParty->vPosition.y - pParty->y_rotation_granularity * ((stru_5C6E00->SinCos(pParty->sRotationY)) >> 16);
64 pIndoorCamera->pos.z = pParty->vPosition.z + pParty->sEyelevel; 62 pIndoorCamera->pos.z = pParty->vPosition.z + pParty->sEyelevel;
65 if (bRedraw || pRenderer->pRenderD3D) 63 if (bRedraw || pRenderer->pRenderD3D)
66 { 64 {
67 ResetStru148s(); 65 ResetStru148s();
68 pOutdoorCamera->RotationToInts(); 66 pOutdoorCamera->RotationToInts();
468 v2 = this; 466 v2 = this;
469 if ( pParty->uCurrentHour >= 5 && pParty->uCurrentHour < 0x15 ) 467 if ( pParty->uCurrentHour >= 5 && pParty->uCurrentHour < 0x15 )
470 { 468 {
471 v3 = pParty->uCurrentMinute + 60 * (pParty->uCurrentHour - 5); 469 v3 = pParty->uCurrentMinute + 60 * (pParty->uCurrentHour - 5);
472 v4 = (signed int)(v3 * stru_5C6E00->uIntegerPi) / 960; 470 v4 = (signed int)(v3 * stru_5C6E00->uIntegerPi) / 960;
473 v5 = stru_5C6E00->SinCos((signed int)(v3 * stru_5C6E00->uIntegerPi) / 960); 471 v5 = stru_5C6E00->Cos((signed int)(v3 * stru_5C6E00->uIntegerPi) / 960);
474 v2->field_D1C = 0; 472 v2->field_D1C = 0;
475 v2->field_D18 = v5; 473 v2->field_D18 = v5;
476 v6 = stru_5C6E00->SinCos(v4 - stru_5C6E00->uIntegerHalfPi); 474 v6 = stru_5C6E00->Sin(v4);
477 v7 = v2->field_D18; 475 v7 = v2->field_D18;
478 v2->field_D20 = v6; 476 v2->field_D20 = v6;
479 v2->vSunlight.x = -v7; 477 v2->vSunlight.x = -v7;
480 v2->vSunlight.y = -v2->field_D1C; 478 v2->vSunlight.y = -v2->field_D1C;
481 v2->vSunlight.z = -v6; 479 v2->vSunlight.z = -v6;