Removed unused script/dd.cpp

dev-mp
krzys-h 2014-12-20 18:48:44 +01:00
parent 07c651bd0a
commit 58bc01c82c
1 changed files with 0 additions and 179 deletions

View File

@ -1,179 +0,0 @@
/*
* This file is part of the Colobot: Gold Edition source code
* Copyright (C) 2001-2014, Daniel Roux, EPSITEC SA & TerranovaTeam
* http://epsiteс.ch; http://colobot.info; http://github.com/colobot
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See the GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see http://gnu.org/licenses
*/
// Compilation of a procedure with a "dot".
int cPoint(CBotVar* &var, CBotString& retClass, void* user)
{
if ( var == 0 ) return CBotErrLowParam;
if ( var->GivType() <= CBotTypDouble )
{
var = var->GivNext();
if ( var == 0 ) return CBotErrLowParam;
if ( var->GivType() > CBotTypDouble ) return CBotErrBadNum;
var = var->GivNext();
if ( var == 0 ) return CBotErrLowParam;
if ( var->GivType() > CBotTypDouble ) return CBotErrBadNum;
var = var->GivNext();
return 0;
}
if ( var->GivType() == CBotTypClass )
{
if ( !var->IsElemOfClass("point") ) return CBotErrBadParam;
var = var->GivNext();
return 0;
}
return CBotErrBadParam;
}
// Gives a parameter of type "point".
bool GetPoint(CBotVar* &var, int& exception, Math::Vector& pos)
{
CBotVar *pX, *pY, *pZ;
if ( var->GivType() <= CBotTypDouble )
{
pos.x = var->GivValFloat()*UNIT;
var = var->GivNext();
pos.z = var->GivValFloat()*UNIT;
var = var->GivNext();
pos.y = var->GivValFloat()*UNIT;
var = var->GivNext();
}
else
{
pX = var->GivItem("x");
if ( pX == NULL )
{
exception = CBotErrUndefItem; return true;
}
pos.x = pX->GivValFloat()*UNIT;
pY = var->GivItem("y");
if ( pY == NULL )
{
exception = CBotErrUndefItem; return true;
}
pos.z = pY->GivValFloat()*UNIT; // attention y -> z !
pZ = var->GivItem("z");
if ( pZ == NULL )
{
exception = CBotErrUndefItem; return true;
}
pos.y = pZ->GivValFloat()*UNIT; // attention z -> y !
var = var->GivNext();
}
return true;
}
// Compilation of the instruction "space(center, rMin, rMax, dist)".
int cSpace(CBotVar* &var, CBotString& retClass, void* user)
{
int ret;
retClass = "point";
if ( var == 0 ) return CBotTypIntrinsic;
ret = cPoint(var, retClass, user);
if ( ret != 0 ) return ret;
if ( var == 0 ) return CBotTypIntrinsic;
if ( var->GivType() > CBotTypDouble ) return CBotErrBadNum;
var = var->GivNext();
if ( var == 0 ) return CBotTypIntrinsic;
if ( var->GivType() > CBotTypDouble ) return CBotErrBadNum;
var = var->GivNext();
if ( var == 0 ) return CBotTypIntrinsic;
if ( var->GivType() > CBotTypDouble ) return CBotErrBadNum;
var = var->GivNext();
if ( var != 0 ) return CBotErrOverParam;
return CBotTypIntrinsic;
}
// Instruction "space(center, rMin, rMax, dist)".
bool rSpace(CBotVar* var, CBotVar* result, int& exception, void* user)
{
CScript* script = ((CObject*)user)->RetRunScript();
CObject* pThis = (CObject*)user;
CBotVar* pSub;
Math::Vector center;
float rMin, rMax, dist;
rMin = 5.0f*UNIT;
rMax = 50.0f*UNIT;
dist = 4.0f*UNIT;
if ( var == 0 )
{
center = pThis->RetPosition(0);
}
else
{
if ( !GetPoint(var, exception, center) ) return true;
if ( var != 0 )
{
rMin = var->GivValFloat()*UNIT;
var = var->GivNext();
if ( var != 0 )
{
rMax = var->GivValFloat()*UNIT;
var = var->GivNext();
if ( var != 0 )
{
dist = var->GivValFloat()*UNIT;
var = var->GivNext();
}
}
}
}
script->m_main->FreeSpace(center, rMin, rMax, dist, pThis);
if ( result != 0 )
{
pSub = result->GivItemList();
if ( pSub != 0 )
{
pSub->SetValFloat(center.x/UNIT);
pSub = pSub->GivNext(); // "y"
pSub->SetValFloat(center.z/UNIT);
pSub = pSub->GivNext(); // "z"
pSub->SetValFloat(center.y/UNIT);
}
}
return true;
}