예제 #1
0
CR_REG_METADATA(CSkirmishAIWrapper, (
	CR_MEMBER(skirmishAIId),
	CR_MEMBER(teamId),
	CR_MEMBER(cheatEvents),
	CR_MEMBER(key),

	// handled in PostLoad
	CR_IGNORED(initialized),
	CR_IGNORED(released),
	CR_IGNORED(ai),
	CR_IGNORED(callback),
	CR_IGNORED(cheats),
	CR_IGNORED(c_callback),
	CR_IGNORED(info),

	CR_SERIALIZER(Serialize),
	CR_POSTLOAD(PostLoad)
));

/// used only by creg
CSkirmishAIWrapper::CSkirmishAIWrapper():
		skirmishAIId(-1),
		teamId(-1),
		cheatEvents(false),
		ai(NULL),
		initialized(false),
		released(false),
		callback(NULL),
		cheats(NULL),
		c_callback(NULL),
		info(NULL)
예제 #2
0
#include "QuadField.h"

#include "Sim/Units/Unit.h"
#include "Sim/Units/UnitHandler.h"
#include "LogOutput.h"
#include "Feature.h"
#include "creg/STL_List.h"
#include "mmgr.h"

CR_BIND(CQuadField, );
CR_REG_METADATA(CQuadField, (
				CR_MEMBER(numQuadsX),
				CR_MEMBER(numQuadsZ),
//				CR_MEMBER(baseQuads),
				CR_SERIALIZER(creg_Serialize)
				));

void CQuadField::creg_Serialize(creg::ISerializer& s)
{
	// no need to alloc quad array, this has already been done in constructor
	for(int y=0;y<numQuadsZ;++y)
		for(int x=0;x<numQuadsX;++x)
			s.SerializeObjectInstance(&baseQuads[y*numQuadsX+x], Quad::StaticClass());
}

CR_BIND(CQuadField::Quad, );

CR_REG_METADATA_SUB(CQuadField, Quad, (
		//float startx;  // constant, assigned in constructor
		//float starty;
예제 #3
0
#include "StdAfx.h"
#include "mmgr.h"

#include "Game/Camera.h"
#include "MuzzleFlame.h"
#include "Rendering/GL/VertexArray.h"
#include "Sim/Projectiles/ProjectileHandler.h"
#include "System/GlobalUnsynced.h"


CR_BIND_DERIVED(CMuzzleFlame, CProjectile, (float3(0,0,0),float3(0,0,0),float3(0,0,0),0));

CR_REG_METADATA(CMuzzleFlame,(
	CR_SERIALIZER(creg_Serialize), // randSmokeDir
	CR_MEMBER(dir),
	CR_MEMBER(size),
	CR_MEMBER(age),
	CR_MEMBER(numFlame),
	CR_MEMBER(numSmoke),
	CR_MEMBER(randSmokeDir),
	CR_RESERVED(8)
	));

void CMuzzleFlame::creg_Serialize(creg::ISerializer& s)
{
//	s.Serialize(randSmokeDir, numSmoke*sizeof(float3));
}

CMuzzleFlame::CMuzzleFlame(const float3& pos,const float3& speed,const float3& dir,float size)
: CProjectile(pos,speed,0, false),
	size(size),
예제 #4
0
#include "Sim/Projectiles/ProjectileHandler.h"
#include "Sim/Projectiles/Unsynced/SmokeTrailProjectile.h"
#include "Sim/Units/Unit.h"
#include "System/GlobalUnsynced.h"
#include "System/Matrix44f.h"
#include "System/myMath.h"
#include "System/Sync/SyncTracer.h"
#include "System/Util.h"

static const float Smoke_Time = 40;

CR_BIND_DERIVED(CPieceProjectile, CProjectile, (float3(0, 0, 0), float3(0, 0, 0), NULL, 0, NULL, 0));

CR_REG_METADATA(CPieceProjectile,(
	CR_SETFLAG(CF_Synced),
	CR_SERIALIZER(creg_Serialize), // numCallback, oldInfos
	CR_MEMBER(flags),
	CR_MEMBER(dispList),
	// NOTE: what about this?
	// CR_MEMBER(omp),
	CR_MEMBER(spinVec),
	CR_MEMBER(spinSpeed),
	CR_MEMBER(spinAngle),
	CR_MEMBER(oldSmoke),
	CR_MEMBER(oldSmokeDir),
	CR_MEMBER(alphaThreshold),
	// CR_MEMBER(target),
	CR_MEMBER(drawTrail),
	CR_MEMBER(curCallback),
	CR_MEMBER(age),
	CR_MEMBER(colorTeam),
예제 #5
0
// QuadField.cpp: implementation of the CQuadField class.
//
//////////////////////////////////////////////////////////////////////

#include "QuadField.h"

#include "Sim/Units/Unit.h"
#include "Sim/Units/UnitHandler.h"
#include "LogOutput.h"
#include "Feature.h"
#include "creg/STL_List.h"
#include "mmgr.h"

CR_BIND(CQuadField, );
CR_REG_METADATA(CQuadField, (
				CR_MEMBER(numQuadsX), CR_MEMBER(numQuadsZ), CR_SERIALIZER(creg_Serialize)));

void CQuadField::creg_Serialize(creg::ISerializer& s)
{
	// no need to alloc quad array, this has already been done in constructor
	for(int y=0;y<numQuadsZ;++y)
		for(int x=0;x<numQuadsX;++x)
			s.SerializeObjectInstance(&baseQuads[y*numQuadsX+x], Quad::StaticClass());
}

CR_BIND(CQuadField::Quad, );

CR_REG_METADATA_SUB(CQuadField, Quad, (
		//float startx;  // constant, assigned in constructor
		//float starty;
		CR_MEMBER(units),
예제 #6
0
	// NOTE This could be tricky if gs is serialized after radarHandler.
	for(int a = 0; a < gs->activeAllyTeams; ++a) {
		s.Serialize(radarMaps[a], size);
		if (!circularRadar)
			s.Serialize(airRadarMaps[a], size);
		s.Serialize(sonarMaps[a], size);
		s.Serialize(jammerMaps[a], size);
		s.Serialize(seismicMaps[a], size);
	}
	s.Serialize(commonJammerMap, size);
	s.Serialize(commonSonarJammerMap, size);
}

CR_REG_METADATA(CRadarHandler,(
		CR_SERIALIZER(creg_Serialize), // radarMaps, airRadarMaps, sonarMaps, jammerMaps, seismicMaps, commonJammerMap, commonSonarJammerMap
		CR_MEMBER(circularRadar),
		CR_MEMBER(radarErrorSize),
		CR_MEMBER(baseRadarErrorSize),
		CR_MEMBER(xsize),
		CR_MEMBER(ysize),
		CR_MEMBER(targFacEffect)));


CRadarHandler* radarhandler=0;


CRadarHandler::CRadarHandler(bool circularRadar):
		circularRadar(false),
		commonJammerMap(NULL),
		commonSonarJammerMap(NULL),
예제 #7
0
#include "System/creg/creg_cond.h"

#ifdef USING_CREG
namespace springLegacyAI {

CR_BIND(DamageArray, )

CR_REG_METADATA(DamageArray, (
		CR_MEMBER(paralyzeDamageTime),
		CR_MEMBER(impulseFactor),
		CR_MEMBER(impulseBoost),
		CR_MEMBER(craterMult),
		CR_MEMBER(craterBoost),
		CR_MEMBER(numTypes),
		CR_RESERVED(16),
		CR_SERIALIZER(creg_Serialize) // damages
))

} // namespace springLegacyAI

void springLegacyAI::DamageArray::creg_Serialize(creg::ISerializer& s)
{
	s.Serialize(damages, numTypes * sizeof(damages[0]));
}
#endif // USING_CREG

springLegacyAI::DamageArray::DamageArray() : paralyzeDamageTime(0),
			impulseFactor(1.0f), impulseBoost(0.0f),
			craterMult(1.0f), craterBoost(0.0f),
			numTypes(1)
{
예제 #8
0
#include "Sim/Projectiles/PieceProjectile.h"
#include "Sim/Projectiles/ProjectileHandler.h"
#include "Sim/Projectiles/Unsynced/SmokeTrailProjectile.h"
#include "Sim/Units/Unit.h"
#include "System/Matrix44f.h"
#include "System/myMath.h"
#include "System/Sync/SyncTracer.h"
#include "System/Util.h"

static const float Smoke_Time = 40;

CR_BIND_DERIVED(CPieceProjectile, CProjectile, (float3(0, 0, 0), float3(0, 0, 0), NULL, 0, NULL, 0));

CR_REG_METADATA(CPieceProjectile,(
	CR_SETFLAG(CF_Synced),
	CR_SERIALIZER(creg_Serialize), // oldInfos
	CR_MEMBER(flags),
	CR_MEMBER(dispList),
	CR_MEMBER(cegID),
	// NOTE: what about this?
	// CR_MEMBER(omp),
	CR_MEMBER(spinVec),
	CR_MEMBER(spinSpeed),
	CR_MEMBER(spinAngle),
	CR_MEMBER(oldSmokePos),
	CR_MEMBER(oldSmokeDir),
	CR_MEMBER(alphaThreshold),
	// CR_MEMBER(target),
	CR_MEMBER(drawTrail),
	CR_MEMBER(curCallback),
	CR_MEMBER(age),