Removed unused script/dd.cpp
parent
07c651bd0a
commit
58bc01c82c
|
@ -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;
|
|
||||||
}
|
|
||||||
|
|
Loading…
Reference in New Issue