asw_marine

From Valve Developer Community
Jump to navigation Jump to search

Stub

This article or section is a stub. You can help by expanding it.

Class hierarchy
CASW_Marine
CASW_VPhysics_NPC
CASW_Inhabitable_NPC
CAI_PlayerAlly
CAI BaseActor
CAI_ExpresserHost
CAI_BaseHumanoid
CAI_BaseHumanoidBase
CAI_BaseNPC
CBaseCombatCharacter
CBaseFlex
CBaseAnimatingOverlay
CBaseAnimating
CBaseEntity
asw_marine.cpp

asw_marine is a point entity available in Alien Swarm Alien Swarm.

This entity is the actual marine entity the player can "inhabit".

It features two "modes", when it's "inhabited" by a player and when it's not. The main differences between those "modes" is which think function is called, and how much control the AI has on the marine. Some more information is provided here : Swarm C++ Code Overview

Using the think function

The think function of the marine entity work differently than the others. The actual Think funtion of the asw_marine entity is only called when the marine isn't "inhabited" by a player.

Here's a developer comment about this : ..\src\game\server\swarm\asw_marine.cpp - line 822

// think only occurs when uninhabited  (in singleplayer at least, not sure about multi)
// this is because we're not calling BaseClass::PhysicsSimulate
void CASW_Marine::Think( void )

The bulk of the "think code" for the asw_marine entity is located in the CASW_Marine::ASWThinkEffects() function instead. It is called whether the player "inhabits" the marine or not.

See also