Initial commit
This commit is contained in:
92
Torque/SDK/engine/game/gameTSCtrl.cc
Normal file
92
Torque/SDK/engine/game/gameTSCtrl.cc
Normal file
@@ -0,0 +1,92 @@
|
||||
//-----------------------------------------------------------------------------
|
||||
// Torque Game Engine
|
||||
// Copyright (C) GarageGames.com, Inc.
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
#include "game/gameTSCtrl.h"
|
||||
#include "console/consoleTypes.h"
|
||||
#include "game/projectile.h"
|
||||
#include "game/gameBase.h"
|
||||
#include "game/gameConnection.h"
|
||||
#include "game/shapeBase.h"
|
||||
#include "game/player.h"
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
// Debug stuff:
|
||||
Point3F lineTestStart = Point3F(0, 0, 0);
|
||||
Point3F lineTestEnd = Point3F(0, 1000, 0);
|
||||
Point3F lineTestIntersect = Point3F(0, 0, 0);
|
||||
bool gSnapLine = false;
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
// Class: GameTSCtrl
|
||||
//----------------------------------------------------------------------------
|
||||
IMPLEMENT_CONOBJECT(GameTSCtrl);
|
||||
|
||||
GameTSCtrl::GameTSCtrl()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
bool GameTSCtrl::processCameraQuery(CameraQuery *camq)
|
||||
{
|
||||
GameUpdateCameraFov();
|
||||
return GameProcessCameraQuery(camq);
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
void GameTSCtrl::renderWorld(const RectI &updateRect)
|
||||
{
|
||||
GameRenderWorld();
|
||||
dglSetClipRect(updateRect);
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
void GameTSCtrl::onMouseMove(const GuiEvent &evt)
|
||||
{
|
||||
if(gSnapLine)
|
||||
return;
|
||||
|
||||
MatrixF mat;
|
||||
Point3F vel;
|
||||
if ( GameGetCameraTransform(&mat, &vel) )
|
||||
{
|
||||
Point3F pos;
|
||||
mat.getColumn(3,&pos);
|
||||
const Point3F screenPoint(evt.mousePoint.x, evt.mousePoint.y, -1);
|
||||
Point3F worldPoint;
|
||||
|
||||
if (unproject(screenPoint, &worldPoint))
|
||||
{
|
||||
Point3F vec = worldPoint - pos;
|
||||
lineTestStart = pos;
|
||||
vec.normalizeSafe();
|
||||
lineTestEnd = pos + vec * 1000;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void GameTSCtrl::onRender(Point2I offset, const RectI &updateRect)
|
||||
{
|
||||
// check if should bother with a render
|
||||
GameConnection * con = GameConnection::getConnectionToServer();
|
||||
bool skipRender = !con || (con->getWhiteOut() >= 1.f) || (con->getDamageFlash() >= 1.f) || (con->getBlackOut() >= 1.f);
|
||||
|
||||
if(!skipRender)
|
||||
Parent::onRender(offset, updateRect);
|
||||
|
||||
dglSetViewport(updateRect);
|
||||
CameraQuery camq = mLastCameraQuery;
|
||||
if(GameProcessCameraQuery(&camq))
|
||||
GameRenderFilters(camq);
|
||||
|
||||
// Draw controls after so they aren't affected by the filters. (If we're doing that.)
|
||||
if(!skipRender && !mApplyFilterToChildren)
|
||||
Parent::renderChildControls(offset, updateRect);}
|
||||
|
||||
//--------------------------------------------------------------------------
|
||||
ConsoleFunction( snapToggle, void, 1, 1, "()" )
|
||||
{
|
||||
gSnapLine = !gSnapLine;
|
||||
}
|
||||
Reference in New Issue
Block a user