Пример #1
0
DBOOL CLaserBeamFX::CreateObject(CClientDE *pClientDE)
{
	if (!pClientDE ) return DFALSE;
	m_pClientDE = pClientDE;

	ObjectCreateStruct	ocStruct;
	INIT_OBJECTCREATESTRUCT(ocStruct);

	ocStruct.m_ObjectType = OT_MODEL;
	ocStruct.m_Flags = FLAG_VISIBLE;

	if(m_hstrModel)		_mbscpy((unsigned char*)ocStruct.m_Filename, (const unsigned char*)m_hstrModel);
		else			_mbscpy((unsigned char*)ocStruct.m_Filename, (const unsigned char*)"Models\\Ammo\\beam.abc");

	if(m_hstrTexture)	_mbscpy((unsigned char*)ocStruct.m_SkinName, (const unsigned char*)m_hstrTexture);
		else			_mbscpy((unsigned char*)ocStruct.m_SkinName, (const unsigned char*)"Skins\\Ammo\\beamred.dtx");

	m_hObject = pClientDE->CreateObject(&ocStruct);

	// Gouraud shade and make full bright...
	DDWORD dwFlags = pClientDE->GetObjectFlags(m_hObject);
	pClientDE->SetObjectFlags(m_hObject, dwFlags | FLAG_MODELGOURAUDSHADE | FLAG_NOLIGHT);

	DFLOAT	r, g, b, a;
	pClientDE->GetObjectColor(m_hObject, &r, &g, &b, &a);
	m_pClientDE->SetObjectColor(m_hObject, r, g, b, m_fAlpha);

	return DTRUE;
}
Пример #2
0
GremlinAI::GremlinAI() : AI_Mgr()
{
	m_fHearingDist	= 2000.0f;
	m_fSensingDist	= 300.0f;
	m_fSmellingDist	= 1200.0f;
	m_fSeeingDist	= 700.0f;

	m_fWalkSpeed	= 320.0f;
	m_fRunSpeed		= 640.0f;
	m_fRollSpeed	= 320.0f;
	m_fJumpSpeed	= 640.0f;

	m_fAIMass		= AI_DEFAULT_MASS;

	m_nAIStrength	= 5;

	_mbscpy((unsigned char*)m_szAIWeapon[0], (const unsigned char*)"SHIKARI_CLAW" );
	_mbscpy((unsigned char*)m_szAIWeapon[1], (const unsigned char*)"ROCK" );

	m_nState = STATE_Idle; 
	m_nLastState = STATE_Idle; 
	m_dwFlags = FLAG_JUMP | FLAG_NOAMMOCOLLECT;

	m_bCabal = DFALSE;

	// [blg]
	m_fAIHitPoints   = 65;
	m_fAIRandomHP    = 0;
	m_fAIArmorPoints = 0;

	_mbscpy((unsigned char*)m_szAIState, (const unsigned char*)"IDLE");
}
Пример #3
0
DeathShroud::DeathShroud() : AI_Mgr()
{
	m_fHearingDist	= 3000.0f;
	m_fSensingDist	= 3000.0f;
	m_fSmellingDist	= 0.0f;
	m_fSeeingDist	= 3000.0f;

	m_fWalkSpeed	= 100.0f;
	m_fRunSpeed		= 180.0f;
	m_fRollSpeed	= 3.5f;

	m_fAIMass		= AI_DEFAULT_MASS;

	_mbscpy((unsigned char*)m_szAIWeapon[0], (const unsigned char*)"SKULL");

	m_nAIStrength	= 5;

	m_nState = STATE_Idle; 
	m_nLastState = STATE_Idle; 
	m_dwFlags = 0;

	m_bCabal = DFALSE;

	// [blg]
	m_fAIHitPoints   = 800;
	m_fAIRandomHP    = 00;
	m_fAIArmorPoints = 200;

	_mbscpy((unsigned char*)m_szAIState, (const unsigned char*)"IDLE");
}
Пример #4
0
DDWORD OpheliaREV::EngineMessageFn(DDWORD messageID, void *pData, DFLOAT fData)
{
	switch(messageID)
	{
		case MID_PRECREATE:
		{
			// Need to call base class to have the object name read in before
			// we set the skin/filename...

			DDWORD dwRet = AI_Mgr::EngineMessageFn(messageID, pData, fData);

			ObjectCreateStruct* pStruct = (ObjectCreateStruct*)pData;
			if (pStruct)
			{
				_mbscpy((unsigned char*)pStruct->m_Filename, (const unsigned char*)"Models\\Characters\\ophelia.abc");
				_mbscpy((unsigned char*)pStruct->m_SkinName, (const unsigned char*)"Skins\\Characters\\ophrev.dtx");
			}

			return dwRet;
		}
		break;
        
		case MID_INITIALUPDATE:
		{
			FirstUpdate();
		}
		break;

		default : break;
	}


	return AI_Mgr::EngineMessageFn(messageID, pData, fData);
}
Пример #5
0
DBOOL CShellCasingFX::CreateObject(CClientDE *pClientDE)
{
	if (!CSpecialFX::CreateObject(pClientDE)) return DFALSE;

	char* pModelName = DNULL;
	char* pSkinName = DNULL;
	if (!GetFileNames(&pModelName, &pSkinName))
		return DFALSE;

	if (!pModelName || !pSkinName) return DFALSE;

	// Setup the shell...

	ObjectCreateStruct createStruct;
	INIT_OBJECTCREATESTRUCT(createStruct);

	createStruct.m_ObjectType = OT_MODEL;
	createStruct.m_Flags = 0;
	_mbscpy((unsigned char*)createStruct.m_Filename, (const unsigned char*)pModelName);
	_mbscpy((unsigned char*)createStruct.m_SkinName, (const unsigned char*)pSkinName);
	VEC_COPY(createStruct.m_Pos, m_vStartPos);
	ROT_COPY(createStruct.m_Rotation, m_rRot);

	m_hObject = pClientDE->CreateObject(&createStruct);
	if (!m_hObject) return DFALSE;


	m_pClientDE->SetObjectScale(m_hObject, &m_vScale);

	DVector vU, vR, vF;
	pClientDE->GetRotationVectors(&m_rRot, &vU, &vR, &vF);

	DVector vVel;

	if(m_bLeftHanded)
		VEC_NEGATE(vR, vR);

	DFLOAT fUpVel = GetRandom(60.0f, 90.0f);
	VEC_MULSCALAR(vU, vU, fUpVel);
	DFLOAT fRightVel = GetRandom(50.0f, 70.0f);
	VEC_MULSCALAR(vR, vR, fRightVel);
	DFLOAT fForwardVel = GetRandom(10.0f, 25.0f);
	VEC_MULSCALAR(vF, vF, fForwardVel);

	VEC_ADD(vVel, vU, vR);
	VEC_ADD(vVel, vVel, vF);

	InitMovingObject(&m_movingObj, &m_vStartPos, &vVel);;
	m_movingObj.m_PhysicsFlags |= MO_HALFGRAVITY;

	m_fExpireTime = 20.0f + m_pClientDE->GetTime();

	// Set the pitch velocity
	m_fPitchVel = GetRandom(-MATH_CIRCLE * 2, MATH_CIRCLE * 2);
	m_fYawVel = GetRandom(-MATH_CIRCLE * 2, MATH_CIRCLE * 2);
	m_fPitch	= m_fYaw = 0.0f;

	return DTRUE;
}
Пример #6
0
void GremlinAI::PostPropRead(ObjectCreateStruct *pStruct)
{
	if (!pStruct) return;

	char* pFilename = "Models_ao\\Enemies_ao\\Gremlin.abc";
	char* pSkin = "Skins_ao\\Enemies_ao\\Gremlin.dtx";
	_mbscpy((unsigned char*)pStruct->m_Filename, (const unsigned char*)pFilename);
	_mbscpy((unsigned char*)pStruct->m_SkinName, (const unsigned char*)pSkin);
}
Пример #7
0
void DeathShroud::PostPropRead(ObjectCreateStruct *pStruct)
{
	if (!pStruct) return;

	char* pFilename = "Models\\Enemies\\DeathShroud.abc";
	char* pSkin = "Skins\\Enemies\\DeathShroud.dtx";
	_mbscpy((unsigned char*)pStruct->m_Filename, (const unsigned char*)pFilename);
	_mbscpy((unsigned char*)pStruct->m_SkinName, (const unsigned char*)pSkin);
}
Пример #8
0
void UndeadGideon::PostPropRead(ObjectCreateStruct *pStruct)
{
	if (!pStruct) return;

	char* pFilename = "Models\\Enemies\\Undead_Gideon.abc";
	char* pSkin = "Skins\\Enemies\\Undead_Gideon.dtx";
	_mbscpy((unsigned char*)pStruct->m_Filename, (const unsigned char*)pFilename);
	_mbscpy((unsigned char*)pStruct->m_SkinName, (const unsigned char*)pSkin);
}
Пример #9
0
void MadScientistAI::PostPropRead(ObjectCreateStruct *pStruct)
{
	if (!pStruct) return;

	char* pFilename = "Models\\Enemies\\madscientist.abc";
	char* pSkin = "Skins\\Enemies\\madscientist.dtx";
	_mbscpy((unsigned char*)pStruct->m_Filename, (const unsigned char*)pFilename);
	_mbscpy((unsigned char*)pStruct->m_SkinName, (const unsigned char*)pSkin);
}
Пример #10
0
BugAI::BugAI() : AI_Mgr()
{
	_mbscpy((unsigned char*)m_szAIState, (const unsigned char*)"IDLE" );
  	_mbscpy((unsigned char*)m_szAIBrain, (const unsigned char*)"WEAK" );
  	_mbscpy((unsigned char*)m_szAIWeapon[0], (const unsigned char*)"MELEE" );

	m_nState = STATE_Idle; 
	m_nLastState = STATE_Idle; 
	m_nMoveFlags = 0;
}
Пример #11
0
// Build the array of renderers
void CMenuDisplay::BuildRendererArray()
{
	// Clear the current renderer arrays
	unsigned int i;
	for (i=0; i < m_rendererArray.GetSize(); i++)
	{
		m_rendererArray[i].m_resolutionArray.SetSize(0);
	}
	m_rendererArray.SetSize(0);

	// Build the list of render modes
	RMode *pRenderModes=m_pClientDE->GetRenderModes();

	// Iterate through the list of render modes adding each one to the array
	RMode *pCurrentMode=pRenderModes;
	while (pCurrentMode != DNULL)
	{		
		// Get the index for this renderer
		int nRenderIndex=GetRendererIndex(pCurrentMode);

		// Check to see if we need to add this renderer
		if (nRenderIndex == -1)
		{
			MenuDisplayRenderer renderer;

			renderer.m_bHardware=pCurrentMode->m_bHardware;
			_mbscpy((unsigned char*)renderer.m_renderDll, (const unsigned char*)pCurrentMode->m_RenderDLL);
			_mbscpy((unsigned char*)renderer.m_description, (const unsigned char*)pCurrentMode->m_Description);
			_mbscpy((unsigned char*)renderer.m_internalName, (const unsigned char*)pCurrentMode->m_InternalName);

			m_rendererArray.Add(renderer);
			nRenderIndex=m_rendererArray.GetSize()-1;
		}

		// Add the display resolutions for this renderer
		MenuDisplayResolution resolution;
		resolution.m_dwWidth=pCurrentMode->m_Width;
		resolution.m_dwHeight=pCurrentMode->m_Height;
		resolution.m_dwBitDepth=pCurrentMode->m_BitDepth;

		m_rendererArray[nRenderIndex].m_resolutionArray.Add(resolution);

		// Go to the next render mode
		pCurrentMode=pCurrentMode->m_pNext;
	}

	// Free the linked list of render modes
	m_pClientDE->RelinquishRenderModes(pRenderModes);

	// Sort the render resolution based on screen width and height
	for (i=0; i < m_rendererArray.GetSize(); i++)
	{
		SortRenderModes(i);
	}
}
Пример #12
0
void Naga::PostPropRead(ObjectCreateStruct *pStruct)
{
	CServerDE* pServerDE = GetServerDE();
	if (!pServerDE || !pStruct) return;

	char* pFilename = "Models\\Enemies\\Naga.abc";
	char* pSkin = "Skins\\Enemies\\Naga.dtx";

	_mbscpy((unsigned char*)pStruct->m_Filename, (const unsigned char*)pFilename);
	_mbscpy((unsigned char*)pStruct->m_SkinName, (const unsigned char*)pSkin);
}
Пример #13
0
void Explosion::CreateExplosion(DVector *pvPos)
{
	if (!g_pServerDE) return;

	ObjectCreateStruct ocStruct;
	INIT_OBJECTCREATESTRUCT(ocStruct);
	ocStruct.m_Flags = FLAG_VISIBLE;
	VEC_COPY(ocStruct.m_Pos, *pvPos);

//	DRotation rRot;
//	g_pServerDE->GetObjectRotation(m_hObject, &rRot);
//	ROT_COPY(ocStruct.m_Rotation, rRot);
	DFLOAT fPitch	= g_pServerDE->Random(-MATH_PI, MATH_PI);
	DFLOAT fYaw		= g_pServerDE->Random(-MATH_PI, MATH_PI);
	DFLOAT fRoll	= g_pServerDE->Random(-MATH_PI, MATH_PI);
	g_pServerDE->SetupEuler(&ocStruct.m_Rotation, fPitch, fYaw, fRoll);

	if (m_hstrModelName) _mbscpy((unsigned char*)ocStruct.m_Filename, (const unsigned char*)g_pServerDE->GetStringData(m_hstrModelName));
	else _mbscpy((unsigned char*)ocStruct.m_Filename, (const unsigned char*)szDefExplosionModel );

	if (m_hstrSkinName)	_mbscpy((unsigned char*)ocStruct.m_SkinName, (const unsigned char*)g_pServerDE->GetStringData(m_hstrSkinName));
	else _mbscpy((unsigned char*)ocStruct.m_SkinName, (const unsigned char*)szDefExplosionSkin );

	// Create the explosion model
	HCLASS hClass = g_pServerDE->GetClass("CModelObject");
	if (!hClass) return;

	CModelObject* pImpact = (CModelObject*)g_pServerDE->CreateObject(hClass, &ocStruct);
	if (!pImpact) return;

	// Initialize the object...
	pImpact->Setup(m_fDuration, &m_vRotation, DFALSE, DTRUE);
	m_hModel = pImpact->m_hObject;

	// Gouraud shade and make full bright...
	DDWORD dwFlags = g_pServerDE->GetObjectFlags(m_hModel);
	g_pServerDE->SetObjectFlags(m_hModel, dwFlags | FLAG_MODELGOURAUDSHADE | FLAG_NOLIGHT);
	g_pServerDE->SetObjectColor(m_hModel, 1.0f, 1.0f, 1.0f, 1.0f);

	if (m_bCreateLight) CreateLight(pvPos);
	if (m_bCreateShockwave) AddShockwave(pvPos);
	if (m_bCreateMark) 	CreateMark(pvPos);
	if (m_bCreateSmoke) CreateSmoke(pvPos);
//	CreateFX(pvPos);

	// Play sound
	DVector vPos;
	g_pServerDE->GetObjectPos(m_hObject, &vPos);
	if ( m_hstrSound )
	{
		char* pSound = g_pServerDE->GetStringData(m_hstrSound);
		if (pSound) PlaySoundFromPos(&vPos, pSound, m_fSoundRadius, SOUNDPRIORITY_MISC_HIGH );
	}	
}
Пример #14
0
void CultistAI::PostPropRead(ObjectCreateStruct *pStruct)
{
	CServerDE* pServerDE = GetServerDE();
	if (!pServerDE || !pStruct) return;

	char* pFilename= DNULL;
	char* pSkin = DNULL;


	if (m_bClownSkin)
	{
		pFilename = "Models\\Enemies\\m_Cultist1.abc";
		m_bMale   = DTRUE;

		switch(pServerDE->IntRandom(1,3))
		{
			case 1:		pSkin = "Skins_ao\\Enemies_ao\\m_Cultist4.dtx";	break;
			case 2:		pSkin = "Skins_ao\\Enemies_ao\\m_Cultist5.dtx";	break;
			case 3:		pSkin = "Skins_ao\\Enemies_ao\\m_Cultist6.dtx";	break;
		}
	}
	else if (m_bRobeSkin)
	{
		pFilename = "Models_ao\\Enemies_ao\\oldschool.abc";
		pSkin     = "Skins_ao\\Enemies_ao\\oldschool.dtx";
		m_bMale   = DTRUE;
	}
	else if (m_bMale)
	{
		pFilename = "Models\\Enemies\\m_Cultist1.abc";

		switch(pServerDE->IntRandom(1,3))
		{
			case 1:		pSkin = "Skins\\Enemies\\m_Cultist1.dtx";	break;
			case 2:		pSkin = "Skins\\Enemies\\m_Cultist2.dtx";	break;
			case 3:		pSkin = "Skins\\Enemies\\m_Cultist3.dtx";	break;
		}
	}
	else
	{
		pFilename = "Models\\Enemies\\f_Cultist1.abc";

		switch(pServerDE->IntRandom(1,3))
		{
			case 1:		pSkin = "Skins\\Enemies\\f_Cultist1.dtx";	break;
			case 2:		pSkin = "Skins\\Enemies\\f_Cultist2.dtx";	break;
			case 3:		pSkin = "Skins\\Enemies\\f_Cultist3.dtx";	break;
		}
	}

	_mbscpy((unsigned char*)pStruct->m_Filename, (const unsigned char*)pFilename);
	_mbscpy((unsigned char*)pStruct->m_SkinName, (const unsigned char*)pSkin);
}
Пример #15
0
void DefenseGlobeLegs::PostPropRead(ObjectCreateStruct *pStruct)
{
    if (!pStruct) return;

	char* pFilename = "Models\\Enemies\\def_bot.abc";
	char* pSkin = "Skins\\Enemies\\def_bot.dtx";
	_mbscpy((unsigned char*)pStruct->m_Filename, (const unsigned char*)pFilename);
	_mbscpy((unsigned char*)pStruct->m_SkinName, (const unsigned char*)pSkin);
    
   	pStruct->m_NextUpdate = 0.0f;
    
	pStruct->m_Flags = FLAG_VISIBLE | FLAG_SOLID | FLAG_GRAVITY | FLAG_STAIRSTEP | FLAG_SHADOW;	
}
Пример #16
0
void BugAI::PostPropRead(ObjectCreateStruct *pStruct)
{
	CServerDE* pServerDE = GetServerDE();
	if (!pServerDE || !pStruct) return;

	char* pFilename = "Models\\Enemies\\bug.abc";
	char* pSkin = "Skins\\Enemies\\bug.dtx";
	
	_mbscpy((unsigned char*)pStruct->m_Filename, (const unsigned char*)pFilename);
	_mbscpy((unsigned char*)pStruct->m_SkinName, (const unsigned char*)pSkin);

	pStruct->m_Flags = FLAG_VISIBLE | FLAG_SOLID | FLAG_TOUCH_NOTIFY | FLAG_STAIRSTEP | FLAG_SHADOW | FLAG_MODELKEYS;	
}
Пример #17
0
void CProjectile::PostPropRead(ObjectCreateStruct *pStruct)
{
	if (!pStruct) return;

	if (m_pProjectileFilename) 
		_mbscpy((unsigned char*)pStruct->m_Filename, (const unsigned char*)m_pProjectileFilename);
	else 
		_mbscpy((unsigned char*)pStruct->m_Filename, (const unsigned char*)"Models\\Ammo\\Grenade.abc");
	
	if (m_pProjectileSkin) 
		_mbscpy((unsigned char*)pStruct->m_SkinName, (const unsigned char*)m_pProjectileSkin);
	else 
		_mbscpy((unsigned char*)pStruct->m_SkinName, (const unsigned char*)"Skins\\Ammo\\Grenade.dtx");

	pStruct->m_NextUpdate = 0.001f;
}
Пример #18
0
void BugAI::AI_STATE_Idle()
{
	if(ComputeStimuli())
	{
		ComputeState();
		m_pServerDE->SetNextUpdate(m_hObject,0.1f);
		return;
	}
	else
		m_pServerDE->SetNextUpdate(m_hObject,0.2f);

	switch(Metacmd)
	{
		case 1:		char szSound[256];
					_mbscpy((unsigned char*)szSound, (const unsigned char*)SOUND_IDLE);
					m_pAnim_Sound->GetSoundPath(szSound,m_pServerDE->IntRandom(1,NUM_BUG_IDLE));

					PlayAISound(szSound, 1000.0f);					

					Metacmd++;			break;
		case 2:		MC_Idle();						break;
		case 3:		m_fRadsLeft = m_pServerDE->Random(-1.56f,1.56f);	
					Metacmd++;						break;
		case 4:		MC_Turn();						break;
		case 5:		MC_Run();						break;
		case 6:		SetNewState(STATE_Idle);		break;
	}

	return;
}
Пример #19
0
void BugAI::AI_STATE_Escape_RunAway()
{
	//SCHLEGZ 4/22/98 4:51:21 PM: sanity check
	if(m_hTarget == DNULL)
	{
		SetNewState(STATE_Idle);
		return;
	}

	switch(Metacmd)
	{
		case 1:		char szSound[256];
					_mbscpy((unsigned char*)szSound, (const unsigned char*)SOUND_FEAR);
					m_pAnim_Sound->GetSoundPath(szSound,m_pServerDE->IntRandom(1,NUM_BUG_FEAR));

					PlayAISound(szSound, 1000.0f);					

					Metacmd++;			break;
		case 2:		MC_FaceTarget();							break;
		case 3:		m_fRadsLeft = 3.14f;	Metacmd++;			break;
		case 4:		MC_Turn();									break;
		case 5:		MC_Run();									break;
		case 6:		ComputeState();								break;
	}

	return;
}
Пример #20
0
MadScientistAI::MadScientistAI() : AI_Mgr()
{
	m_fHearingDist	= 0.0f;
	m_fSensingDist	= 200.0f;
	m_fSmellingDist	= 0.0f;
	m_fSeeingDist	= 1000.0f;

	m_fWalkSpeed	= 75.0f;
	m_fRunSpeed		= 180.0f;

	m_fAIMass		= AI_DEFAULT_MASS;

	m_nAIStrength	= 5;

	m_nState = STATE_Idle; 
	m_nLastState = STATE_Idle; 
	m_dwFlags = 0;

	m_bCabal = DTRUE;

	// [blg]
	m_fAIHitPoints   = 30;
	m_fAIRandomHP    = 0;
	m_fAIArmorPoints = 0;

	_mbscpy((unsigned char*)m_szAIState, (const unsigned char*)"IDLE");
}
Пример #21
0
direxec::direxec()
{
	_mbscpy(chr_ds_name,(const unsigned char *)"nwn");
	errorstate = FALSE;
	request_counter = 0;
	sqlerror_counter = 0;
}
Пример #22
0
CivilianAI::CivilianAI() : AI_Mgr()
{
	m_fHearingDist	= 2000.0f;
	m_fSensingDist	= 200.0f;
	m_fSmellingDist	= 0.0f;
	m_fSeeingDist	= 2000.0f;

	m_fWalkSpeed	= 75.0f;
	m_fRunSpeed		= 180.0f;
	m_fRollSpeed	= 3.5f;

	m_fAIMass		= AI_DEFAULT_MASS;

	m_nAIStrength	= 5;

	m_nState = STATE_Idle; 
	m_nLastState = STATE_Idle; 
	m_dwFlags = FLAG_ALWAYSRECOIL;

	m_bMale = DTRUE;
	m_bCabal = DTRUE;

	// [blg]
	m_fAIHitPoints   = 30;
	m_fAIRandomHP    = 0;

	m_fAICharges	 = 100.0f;		//for Coleman's wacky scientist

	_mbscpy((unsigned char*)m_szAIState, (const unsigned char*)"IDLE");

	m_bMale = DTRUE;
	m_bLabTech = DFALSE;
	m_bScared = DFALSE;
	m_bSororitySkin = DFALSE;
}
Пример #23
0
// Gets a RMode structure based on a renderer index and a resolution index
RMode CMenuDisplay::GetRendererModeStruct(int nRendererIndex, int nResolutionIndex)
{
	// Copy the renderer information from the renderer structure to the temporary RMode structure
	RMode mode;
	mode.m_bHardware=m_rendererArray[nRendererIndex].m_bHardware;	
	
	_mbscpy((unsigned char*)mode.m_RenderDLL, (const unsigned char*)m_rendererArray[nRendererIndex].m_renderDll);
	_mbscpy((unsigned char*)mode.m_InternalName, (const unsigned char*)m_rendererArray[nRendererIndex].m_internalName);
	_mbscpy((unsigned char*)mode.m_Description, (const unsigned char*)m_rendererArray[nRendererIndex].m_description);

	MenuDisplayResolution resolution=m_rendererArray[nRendererIndex].m_resolutionArray[nResolutionIndex];
	mode.m_Width=resolution.m_dwWidth;
	mode.m_Height=resolution.m_dwHeight;
	mode.m_BitDepth=resolution.m_dwBitDepth;

	mode.m_pNext=DNULL;

	return mode;
}
Пример #24
0
Naga::Naga() : AI_Mgr()
{
	m_fHearingDist	= 4000.0f;
	m_fSensingDist	= 4000.0f;
	m_fSmellingDist	= 4000.0f;
	m_fSeeingDist	= 4000.0f;

	m_fWalkSpeed	= 0.0f;
	m_fRunSpeed		= 0.0f;
	m_fRollSpeed	= 3.5f;

	m_fAIMass		= AI_DEFAULT_MASS;

	m_nAIStrength	= 5;

	_mbscpy((unsigned char*)m_szAIWeapon[0], (const unsigned char*)"NAGA_SPIKE" );
	_mbscpy((unsigned char*)m_szAIWeapon[1], (const unsigned char*)"NAGA_BLAST" );
	_mbscpy((unsigned char*)m_szAIWeapon[2], (const unsigned char*)"NAGA_DEBRIS" );

	m_nState = STATE_Idle; 
	m_nLastState = STATE_Idle; 
	m_dwFlags = FLAG_ALWAYSCLEAR;

	m_bCabal = DFALSE;
	m_iCeilingWhomps = 0;

	m_damage.SetApplyDamagePhysics(DFALSE);

	// [blg]
	m_fAIHitPoints   = 10000;
	m_fAIRandomHP    = 0;
	m_fAIArmorPoints = 1000;

	m_fFullHealth = 0.0f;
	m_bCreateHealth = DTRUE;

	m_bTurning = DFALSE;
	m_fRadsLeft = 0.0f;
	m_fRadsTurned = 0.0f;

	_mbscpy((unsigned char*)m_szAIState, (const unsigned char*)"IDLE");
}
Пример #25
0
void FlagStand::PostPropRead(ObjectCreateStruct* pStruct)
{
	// Sanity checks...

	if (!pStruct) return;


	// Set the flags we want...

	pStruct->m_Flags |= /*FLAG_SOLID |*/ FLAG_TOUCH_NOTIFY | FLAG_VISIBLE | FLAG_GRAVITY;
	pStruct->m_Flags &= ~FLAG_GRAVITY;	// (temp) ???

	g_pServerDE->SetNextUpdate(m_hObject, 0.001f);


	// Set the model filename

	if (m_nTeamID == 1)
	{
		char* pFilename = "Models_Multipatch\\flagbase.abc";
		_mbscpy((unsigned char*)pStruct->m_Filename, (const unsigned char*)pFilename);
	}
	else if (m_nTeamID == 2)
	{
		char* pFilename = "Models_Multipatch\\flagbase.abc";
		_mbscpy((unsigned char*)pStruct->m_Filename, (const unsigned char*)pFilename);
	}
	

	// Set the skin filename

	if (m_nTeamID == 1)
	{
		char* pSkin = "Skins_Multipatch\\flagbaseblue.dtx";	
		_mbscpy((unsigned char*)pStruct->m_SkinName, (const unsigned char*)pSkin);
	}
	else if (m_nTeamID = 2)
	{
		char* pSkin = "Skins_Multipatch\\flagbasered.dtx";	
		_mbscpy((unsigned char*)pStruct->m_SkinName, (const unsigned char*)pSkin);
	}
}
Пример #26
0
void FlagObject::PostPropRead(ObjectCreateStruct* pStruct)
{
	// Sanity checks...

	if (!pStruct) return;


	// Set the flags we want...

	pStruct->m_Flags |= FLAG_TOUCH_NOTIFY | FLAG_VISIBLE;
	pStruct->m_Flags &= ~FLAG_GRAVITY;

	g_pServerDE->SetNextUpdate(m_hObject, 0.001f);


	// Set the model filename

	if (m_nTeamID == 1)
	{
		char* pFilename = "Models\\WorldObjects\\flagblue.abc";
		_mbscpy((unsigned char*)pStruct->m_Filename, (const unsigned char*)pFilename);
	}
	else if (m_nTeamID == 2)
	{
		char* pFilename = "Models\\WorldObjects\\flagred.abc";
		_mbscpy((unsigned char*)pStruct->m_Filename, (const unsigned char*)pFilename);
	}
	

	// Set the skin filename

	if (m_nTeamID == 1)
	{
		char* pSkin = "Skins\\WorldObjects\\flagblue.dtx";	
		_mbscpy((unsigned char*)pStruct->m_SkinName, (const unsigned char*)pSkin);
	}
	else if (m_nTeamID = 2)
	{
		char* pSkin = "Skins\\WorldObjects\\flagred.dtx";	
		_mbscpy((unsigned char*)pStruct->m_SkinName, (const unsigned char*)pSkin);
	}
}
Пример #27
0
/*
 * @implemented
 */
unsigned char * _mbsdup(const unsigned char *_s)
{
	unsigned char *rv;
	if (_s == 0)
		return 0;
	rv = (unsigned char *)malloc(_mbslen(_s) + 1);
	if (rv == 0)
		return 0;
	_mbscpy(rv, _s);
	return rv;
}
Пример #28
0
OpheliaREV::OpheliaREV() : AI_Mgr()
{
	m_fHearingDist	= 1500.0f;
	m_fSensingDist	= 200.0f;
	m_fSmellingDist	= 0.0f;
	m_fSeeingDist	= 1500.0f;

	m_fWalkSpeed	= 75.0f;
	m_fRunSpeed		= 180.0f;
	m_fRollSpeed	= 105.0f;
	m_fJumpSpeed	= 400.0f;

	m_fAIMass		= AI_DEFAULT_MASS;

	m_nAIStrength	= 5;

	m_nState = STATE_Idle; 
	m_nLastState = STATE_Idle; 
	m_dwFlags = FLAG_CRAWL | FLAG_JUMP | FLAG_DODGE;

	m_bCabal = DTRUE;

	// [blg]
	m_fAIHitPoints   = 400;
	m_fAIRandomHP    = 0;
	m_fAIArmorPoints = 400;

	_mbscpy((unsigned char*)m_szAIState, (const unsigned char*)"PASSIVE");
	_mbscpy((unsigned char*)m_szAIWeapon[0], (const unsigned char*)"TESLA");
	_mbscpy((unsigned char*)m_szAIWeapon[1], (const unsigned char*)"SNIPER");

	m_fAIBullets  = 500;
	m_fAIBMG	  = 100;
	m_fAIShells   = 150;
	m_fAIGrenades = 50;
	m_fAIRockets  = 100;
	m_fAIFlares   = 100;
	m_fAICells    = 500;
	m_fAICharges  = 500;
	m_fAIFuel	  = 500;
}
Пример #29
0
void SoccerGoal::PostPropRead(ObjectCreateStruct* pStruct)
{
	// Sanity checks...
	if( !pStruct )
		return;

	_mbscpy(( unsigned char * )pStruct->m_Filename, ( const unsigned char * )pStruct->m_Name );

	// Set the flags we want...
	pStruct->m_Flags = FLAG_TOUCH_NOTIFY;
	if( m_bBoxPhysics )
		pStruct->m_Flags |= FLAG_BOXPHYSICS;
}
Пример #30
0
void CameraObj::PostPropRead(ObjectCreateStruct *pStruct)
{
	if (!pStruct || !g_pServerDE) return;
    
    pStruct->m_Flags = FLAG_FORCECLIENTUPDATE | FLAG_FULLPOSITIONRES | FLAG_GOTHRUWORLD;

// See if debug is on
    if ( g_pServerDE->GetVarValueFloat(g_pServerDE->GetGameConVar("DebugCutScene")) == 1.0f )
    {
		pStruct->m_ObjectType = OT_MODEL;
        pStruct->m_Flags |= FLAG_VISIBLE;

		char* pFilename = "Models\\CameraObject.abc";
		char* pSkin = "Skins\\CameraObject.dtx";
		_mbscpy((unsigned char*)pStruct->m_Filename, (const unsigned char*)pFilename);
		_mbscpy((unsigned char*)pStruct->m_SkinName, (const unsigned char*)pSkin);
    }

	// Set the Update!
	pStruct->m_NextUpdate = 0.001f;

//	m_nType = (DBYTE)pStruct->m_UserData;
}