Sidebar

Вид из-за плеча (ошибка)

  • Автор теми DNK
  • Дата створення

DNK

=)
11.07.09
611
36
Вид из-за плеча (ошибка)

Доброе время суток.
Решил побаловаться с кодом, вот нашел тутол
http://developer.valvesoftware.com/wiki/Over_the_Shoulder_View:ru

Использую исходный код еп2, 2006г

Вроде сделал все правильно, но при компиляции вылетают ошибки:
Код:
1>------ Построение начато: проект: Client Episodic, Конфигурация: Release Win32 ------
1>Компиляция...
1>cl: командная строка warning D9035: использование параметра "Wp64" нежелательно, он будет удален в следующих выпусках
1>clientmode_shared.cpp
1>.\clientmode_shared.cpp(360) : error C2601: ClientModeShared::ShouldDrawEntity: недопустимые локальные определения функций
1>        .\clientmode_shared.cpp(254): эта строка содержит '{', которая пока не имеет парной
1>.\clientmode_shared.cpp(365) : error C2601: ClientModeShared::ShouldDrawParticles: недопустимые локальные определения функций
1>        .\clientmode_shared.cpp(254): эта строка содержит '{', которая пока не имеет парной
1>.\clientmode_shared.cpp(373) : error C2601: ClientModeShared::OverrideMouseInput: недопустимые локальные определения функций
1>        .\clientmode_shared.cpp(254): эта строка содержит '{', которая пока не имеет парной
1>.\clientmode_shared.cpp(385) : error C2601: ClientModeShared::ShouldDrawViewModel: недопустимые локальные определения функций
1>        .\clientmode_shared.cpp(254): эта строка содержит '{', которая пока не имеет парной
1>.\clientmode_shared.cpp(390) : error C2601: ClientModeShared::ShouldDrawDetailObjects: недопустимые локальные определения функций
1>        .\clientmode_shared.cpp(254): эта строка содержит '{', которая пока не имеет парной
1>.\clientmode_shared.cpp(399) : error C2601: ClientModeShared::ShouldDrawCrosshair: недопустимые локальные определения функций
1>        .\clientmode_shared.cpp(254): эта строка содержит '{', которая пока не имеет парной
1>.\clientmode_shared.cpp(407) : error C2601: ClientModeShared::ShouldDrawLocalPlayer: недопустимые локальные определения функций
1>        .\clientmode_shared.cpp(254): эта строка содержит '{', которая пока не имеет парной
1>.\clientmode_shared.cpp(419) : error C2601: ClientModeShared::ShouldDrawFog: недопустимые локальные определения функций
1>        .\clientmode_shared.cpp(254): эта строка содержит '{', которая пока не имеет парной
1>.\clientmode_shared.cpp(427) : error C2601: ClientModeShared::AdjustEngineViewport: недопустимые локальные определения функций
1>        .\clientmode_shared.cpp(254): эта строка содержит '{', которая пока не имеет парной
1>.\clientmode_shared.cpp(434) : error C2601: ClientModeShared::PreRender: недопустимые локальные определения функций
1>        .\clientmode_shared.cpp(254): эта строка содержит '{', которая пока не имеет парной
1>.\clientmode_shared.cpp(441) : error C2601: ClientModeShared::PostRender: недопустимые локальные определения функций
1>        .\clientmode_shared.cpp(254): эта строка содержит '{', которая пока не имеет парной
1>.\clientmode_shared.cpp(447) : error C2601: ClientModeShared::PostRenderVGui: недопустимые локальные определения функций
1>        .\clientmode_shared.cpp(254): эта строка содержит '{', которая пока не имеет парной
1>.\clientmode_shared.cpp(454) : error C2601: ClientModeShared::Update: недопустимые локальные определения функций
1>        .\clientmode_shared.cpp(254): эта строка содержит '{', которая пока не имеет парной
1>.\clientmode_shared.cpp(468) : error C2601: ClientModeShared::ProcessInput: недопустимые локальные определения функций
1>        .\clientmode_shared.cpp(254): эта строка содержит '{', которая пока не имеет парной
1>.\clientmode_shared.cpp(476) : error C2601: ClientModeShared::KeyInput: недопустимые локальные определения функций
1>        .\clientmode_shared.cpp(254): эта строка содержит '{', которая пока не имеет парной
1>.\clientmode_shared.cpp(531) : error C2601: ClientModeShared::HandleSpectatorKeyInput: недопустимые локальные определения функций
1>        .\clientmode_shared.cpp(254): эта строка содержит '{', которая пока не имеет парной
1>.\clientmode_shared.cpp(566) : error C2601: ClientModeShared::HudElementKeyInput: недопустимые локальные определения функций
1>        .\clientmode_shared.cpp(254): эта строка содержит '{', которая пока не имеет парной
1>.\clientmode_shared.cpp(583) : error C2601: ClientModeShared::GetMessagePanel: недопустимые локальные определения функций
1>        .\clientmode_shared.cpp(254): эта строка содержит '{', которая пока не имеет парной
1>.\clientmode_shared.cpp(594) : error C2601: ClientModeShared::StartMessageMode: недопустимые локальные определения функций
1>        .\clientmode_shared.cpp(254): эта строка содержит '{', которая пока не имеет парной
1>.\clientmode_shared.cpp(611) : error C2601: ClientModeShared::LevelInit: недопустимые локальные определения функций
1>        .\clientmode_shared.cpp(254): эта строка содержит '{', которая пока не имеет парной
1>.\clientmode_shared.cpp(643) : error C2601: ClientModeShared::LevelShutdown: недопустимые локальные определения функций
1>        .\clientmode_shared.cpp(254): эта строка содержит '{', которая пока не имеет парной
1>.\clientmode_shared.cpp(661) : error C2601: ClientModeShared::Enable: недопустимые локальные определения функций
1>        .\clientmode_shared.cpp(254): эта строка содержит '{', которая пока не имеет парной
1>.\clientmode_shared.cpp(688) : error C2601: ClientModeShared::Disable: недопустимые локальные определения функций
1>        .\clientmode_shared.cpp(254): эта строка содержит '{', которая пока не имеет парной
1>.\clientmode_shared.cpp(702) : error C2601: ClientModeShared::Layout: недопустимые локальные определения функций
1>        .\clientmode_shared.cpp(254): эта строка содержит '{', которая пока не имеет парной
1>.\clientmode_shared.cpp(724) : error C2601: ClientModeShared::GetViewModelFOV: недопустимые локальные определения функций
1>        .\clientmode_shared.cpp(254): эта строка содержит '{', которая пока не имеет парной
1>.\clientmode_shared.cpp(731) : error C2601: PlayerNameNotSetYet: недопустимые локальные определения функций
1>        .\clientmode_shared.cpp(254): эта строка содержит '{', которая пока не имеет парной
1>.\clientmode_shared.cpp(745) : error C2601: ClientModeShared::FireGameEvent: недопустимые локальные определения функций
1>        .\clientmode_shared.cpp(254): эта строка содержит '{', которая пока не имеет парной
1>.\clientmode_shared.cpp(1016) : error C2601: ClientModeShared::ActivateInGameVGuiContext: недопустимые локальные определения функций
1>        .\clientmode_shared.cpp(254): эта строка содержит '{', которая пока не имеет парной
1>.\clientmode_shared.cpp(1022) : error C2601: ClientModeShared::DeactivateInGameVGuiContext: недопустимые локальные определения функций
1>        .\clientmode_shared.cpp(254): эта строка содержит '{', которая пока не имеет парной
1>.\clientmode_shared.cpp(1027) : fatal error C1075: конец файла обнаружен ранее, чем левая фигурная скобка '{' в ".\clientmode_shared.cpp(254)"
1>Журнал построения был сохранен в "file://d:\Steam\SteamApps\sourcemods\status-off\src\game\client\Release_episodic\BuildLog.htm"
1>Client Episodic - ошибок 30, предупреждений 1
========== Построение: успешно: 0, с ошибками: 1, без изменений: 1, пропущено: 0 ==========
Вот в чем дело? а так вроде понял где то нужно поставить "{" а куда я не знаю...
 
Останнє редагування:

Изя

Туторокурец
19.01.11
379
0
0
Смотри внимательно, в логе указываются строки
 

DNK

=)
11.07.09
611
36
убрал эту скобку, стало меньше ошибок, но есть другие ошибки и не могу понять что делать...

Код:
1>------ Построение начато: проект: Client Episodic, Конфигурация: Release Win32 ------
1>Компиляция...
1>cl: командная строка warning D9035: использование параметра "Wp64" нежелательно, он будет удален в следующих выпусках
1>clientmode_shared.cpp
1>.\clientmode_shared.cpp(255) : error C3646: C_BasePlayer: неизвестный спецификатор переопределения
1>.\clientmode_shared.cpp(255) : error C2143: синтаксическая ошибка: отсутствие ";" перед "*"
1>.\clientmode_shared.cpp(255) : error C2761: void ClientModeShared::OverrideView(CViewSetup *): повторное объявление функции не разрешается
1>.\clientmode_shared.cpp(255) : error C4430: отсутствует спецификатор типа - предполагается int. Примечание. C++ не поддерживает int по умолчанию
1>.\clientmode_shared.cpp(255) : error C2440: инициализация: невозможно преобразовать 'C_BasePlayer *' в 'int *'
1>        Типы, на которые указывают указатели, не связаны; для преобразования требуется reinterpret_cast, приведение в стиле С или приведение в стиле функции
1>.\clientmode_shared.cpp(256) : error C2059: синтаксическая ошибка: if
1>.\clientmode_shared.cpp(259) : error C2143: синтаксическая ошибка: отсутствие ";" перед "->"
1>.\clientmode_shared.cpp(259) : error C4430: отсутствует спецификатор типа - предполагается int. Примечание. C++ не поддерживает int по умолчанию
1>.\clientmode_shared.cpp(259) : error C2040: pPlayer: "int" отличается по уровням косвенного обращения от "int *"
1>.\clientmode_shared.cpp(261) : error C2059: синтаксическая ошибка: if
1>.\clientmode_shared.cpp(262) : error C2143: синтаксическая ошибка: отсутствие ";" перед "{"
1>.\clientmode_shared.cpp(262) : error C2447: {: отсутствует заголовок функции (возможно, используется формальный список старого типа)
1>Журнал построения был сохранен в "file://d:\Steam\SteamApps\sourcemods\status-off\src\game\client\Release_episodic\BuildLog.htm"
1>Client Episodic - ошибок 12, предупреждений 1
========== Построение: успешно: 0, с ошибками: 1, без изменений: 1, пропущено: 0 ==========
 

mellloman

Man on the Moon
26.09.10
177
30
я, конечно, программирование только-только изучать начал, но и без опыта видно, что все твои ошибки хорошо описаны в логе, который ты нам сейчас показал...
 

Roan

Serverman =В
02.08.10
267
29
1
0
Киев
2 DNK:
кароче тебе надо было добавить }, а не убирать {
 

DNK

=)
11.07.09
611
36
да, добавил, но осталось 7 ошибок...

Код:
1>------ Построение начато: проект: Client Episodic, Конфигурация: Release Win32 ------
1>Компиляция...
1>cl: командная строка warning D9035: использование параметра "Wp64" нежелательно, он будет удален в следующих выпусках
1>clientmode_shared.cpp
1>.\clientmode_shared.cpp(259) : error C2059: синтаксическая ошибка: if
1>.\clientmode_shared.cpp(262) : error C2143: синтаксическая ошибка: отсутствие ";" перед "->"
1>.\clientmode_shared.cpp(262) : error C4430: отсутствует спецификатор типа - предполагается int. Примечание. C++ не поддерживает int по умолчанию
1>.\clientmode_shared.cpp(262) : error C2040: pPlayer: "int" отличается по уровням косвенного обращения от "C_BasePlayer *"
1>.\clientmode_shared.cpp(264) : error C2059: синтаксическая ошибка: if
1>.\clientmode_shared.cpp(265) : error C2143: синтаксическая ошибка: отсутствие ";" перед "{"
1>.\clientmode_shared.cpp(265) : error C2447: {: отсутствует заголовок функции (возможно, используется формальный список старого типа)
1>Журнал построения был сохранен в "file://d:\Steam\SteamApps\sourcemods\status-off\src\game\client\Release_episodic\BuildLog.htm"
1>Client Episodic - ошибок 7, предупреждений 1
========== Построение: успешно: 0, с ошибками: 1, без изменений: 1, пропущено: 0 ==========
и сам код:
Код:
void ClientModeShared::OverrideView( CViewSetup *pSetup )
{
[B]	QAngle camAngles;[/B] - Сомневаюсь, но это нужно было тут оставить? если убрать то выходит 12 ошибок... если оставить то 7м.
}
	// Let the player override the view.
C_BasePlayer *pPlayer = C_BasePlayer::GetLocalPlayer();
if(!pPlayer)
       return;

pPlayer->OverrideView( pSetup );

if( ::input->CAM_IsThirdPerson() )
{
   Vector camForward, camRight, camUp;
     
          AngleVectors( pPlayer->EyeAngles(), &camForward, &camRight, &camUp );
     
   trace_t tr, tr2;
   Vector vecStart, vecStop, vecDirection, vecSetDirection;   
   static float camCurrentY;   
   static float camCurrentX=16.0f;   
   float camDelta=0.5f;
   vecStart=pSetup->origin;

   AngleVectors(pPlayer->EyeAngles(), &vecDirection);   
      
   vecSetDirection.Init(0,0,1.0f);
   vecDirection=vecDirection.Cross(vecSetDirection);
   vecStop = vecStart + vecDirection*52.0f;

   UTIL_TraceLine( vecStart, vecStop, MASK_ALL, pPlayer, COLLISION_GROUP_NONE, &tr );
      
   if (tr.fraction == 1) //достаточно ли мы далеки чтобы не задеть стену камерой
   {
    if(camCurrentX < 16.0f)
     camCurrentX +=camDelta;
    if(camCurrentX >16.0f)
     camCurrentX=16.0f;
    VectorMA( pSetup->origin, camCurrentX, camRight, pSetup->origin); //установка правильного смещения
    VectorMA( pSetup->origin, 16.0f, camUp, pSetup->origin);
     vecStart=tr.endpos;
   }
   else   
   {   
       
    vecStop = vecStart + vecDirection * -52.0f;
       
    UTIL_TraceLine( vecStart, vecStop, MASK_ALL, pPlayer, COLLISION_GROUP_NONE, &tr );
         
    if (tr.fraction == 1)   
    {   
     if(camCurrentX > -16.0f)
      camCurrentX -=camDelta;
     if(camCurrentX < -16.0f)
      camCurrentX=-16.0f;
     VectorMA( pSetup->origin, camCurrentX, camRight, pSetup->origin);
     VectorMA( pSetup->origin, 16.0f, camUp, pSetup->origin);
     vecStart=tr.endpos;
    }
    else   
    {   
     VectorMA( pSetup->origin, 0.0f, camRight, pSetup->origin);   
     AngleVectors(pPlayer->EyeAngles(), &vecDirection);   
     vecSetDirection.Init(1.0f,0,0);
     vecDirection=vecDirection.Cross(vecSetDirection);
     vecStop = vecStart +vecDirection*32.0f;
       
     UTIL_TraceLine( vecStart, vecStop, MASK_ALL, pPlayer, COLLISION_GROUP_NONE, &tr);

     if(tr.fraction == 1)
     {
      VectorMA( pSetup->origin, 32.0f, camUp, pSetup->origin);
      vecStart=tr.endpos;
     }
     else   
       //Добавьте код, чтобы сделать игрока прозрачным, таким образом игрок может видеть лучше (?)
     {
      VectorMA( pSetup->origin, 0.0f, camUp, pSetup->origin);
     }
    }

   }
       
   AngleVectors(pPlayer->EyeAngles(), &vecDirection);   
   vecStop = vecStart + vecDirection * -96;
   UTIL_TraceLine( vecStart, vecStop, MASK_ALL, pPlayer, COLLISION_GROUP_NONE, &tr );
     
   vecStart=pSetup->origin;
     
   vecStop = vecStart+vecDirection*-96;
   UTIL_TraceLine( vecStart, vecStop, MASK_ALL, pPlayer, COLLISION_GROUP_NONE, &tr );
        
   if(tr.fraction != 1)
   {
    camCurrentY = -96 * tr.fraction + 10.0f;
   }
   else
          {
    camCurrentY=-96.0f;
    VectorMA( pSetup->origin, camCurrentY, camForward, pSetup->origin);
   }
}
 

heby-El

New member
24.07.11
3
0
0
Вид из за плеча ошибка

Я, кстати, так и не нашел тему про вид из окна, которая уже была
 

Game Server

Доноры Красавчики

Користувачі онлайн