Изменить размер шрифта - +
 — Мне пора обратно в круг! Ты придумаешь, что сказать отцу. Пока, дорогой!

Увидев, как мы с Джоном возвращаемся в машину, Тысячелистник хихикнула.

По дороге назад Джон сказал:

— И не говори, что я тебя не предупреждал. Теперь понимаешь, почему я стал таким, какой я есть?

Я хмыкнул.

— Знаю, — вздохнул Джон. — Давай купим себе по среднестатистическому перекусу в большой международной сети ресторанов. Это решает семьдесят пять процентов жизненных проблем.

Как ни странно, поедание гамбургера в «Бургер-кинге» показалось маленькой местью.

На выходе из ресторана я вспомнил, что кое-что забыл.

— Мой новый плащ! Черт… Я забыл его у твоей матери! Кейтлин меня убьет, если я его потеряю. Это подарок.

Джон остался в машине играть в гляделки с Тысячелистником. Я вбежал в дом. Огляделся, но плаща не увидел. Я крикнул:

— Мама?

Одна из женщин указала наверх, и я поднялся наверх, изо всех сил стараясь не смотреть в ванную. Когда я все-таки посмотрел, я увидел там мать. Голую, на животе, свобода в боксерских трусах массировала ей спину.

— О че-о-орт… извините!

Я побежал вниз под крики матери.

— Я не лесбиянка, Итан!

Плащ нашелся на столике у двери.

По дороге на паром Джон Доу заставил нас послушать «Сорок хитов».

Я пытался переварить увиденное.

— Что, странная Тысячелистник? — спросил Джон.

— Не могу не согласиться.

— Она моя сестра.

Кейтлин не восприняла мою поездку всерьез.

— У нее просто такой период в жизни! Пройдет. Мне бы ее уверенность.

Мы стояли в Джей-Поде перед кубиком Злобного Марка.

— Так чисто! Идеальный порядок… Спорим, он каждое утро заправляет кровать.

 

//вызвать каждый фрейм и изменить положение камеры в зависимости от положения объекта и текущей камеры

GmMsCameraFlow: vUpdate)TrealrTimeDiff)

{ //vUpdate2(rTimeDiff);

//return;

GmMsPosKeyFrame * poCurrentDesiredKeyFrame;

poCurrentDesiredKeyFrame = m_oCurrent.Cut.poGetCurrentPosKey();

m_oActiveKeyFrame.vSmoothToKeyFrame(poCurrentDesiredKeyFrame,rTimeDiff);

//перевести указатель на актор камеры

GmAcCamera ‘poCamera = (GmAcCamera *)m_poGmAcActor; ASSERT(poCamera);

if(

poPhantom

(RealAbs(poCamera-›GetLookVerticalDesiredOX0.2f)

(RealAbs(poCamera-›GetLookHorizontalDesired())

‹0.2f))

g bGoToBox — True; \else

g_bGoToBox — False;

mnUpdatePositionOfCameraDelay + +;

AtMaPos3 oPosTarget, oPosPlayer;

AtMaVector3 oLookPos;

Tboolean bUpdate Target — True;

//отодвинуть камеру от объекта и посмотреть на объект

GmMsPosKeyFrame *poPosKey — m_oActiveKeyFrame;;

//получить желаемый вид и отдаление

poPosKey- ›

poLocationAtO- › GetVector(m_oAtOffset);

poPosKey- › poLocationLookO- › GetVector(m_oLookOffset);

//изменить поле зрения камеры

poCamera- › vSetFOV(poPosKey- › rGetFOVO);

//получить текущие векторы от актора

vGetVectorFromActorO;

//сделать начальную точку назначения назначением объекта

poTarget-›vCetVectors(oPosPlayer, m_oFwd1, m_oUp1, m_oRight1, NULL);

//прогнозирование и увеличение BVOL

{AtMaVector3

oTemp; oTemp — oPosPlayer;

oTemp.vSub(m_oState,m_oLastTargetPosition);

if(ReallsApproxZero(oTemp.m_rZ))

//если положение игрока по оси Z не изменилось

//сдвинуть таблицу вверх

(oTemp.

Быстрый переход