NSMonster: Add support for actions (used in e.g. HLMDL) to query which seq
to play. This will be expanded shortly in-engine to support more formats...
This commit is contained in:
parent
799f21305d
commit
749424aa84
5 changed files with 3850 additions and 3696 deletions
|
@ -27,7 +27,6 @@ UseWorkaround(entity eTarget)
|
|||
self = eTarget;
|
||||
self.PlayerUse();
|
||||
self = eOldSelf;
|
||||
print("pressed\n");
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -39,7 +38,6 @@ UnUseWorkaround(entity eTarget)
|
|||
if (self.PlayerUseUnpressed)
|
||||
self.PlayerUseUnpressed();
|
||||
self = eOldSelf;
|
||||
print("unpressed\n");
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
|
@ -14,6 +14,86 @@
|
|||
* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
typedef enum {
|
||||
ACT_RESET = 0,
|
||||
ACT_IDLE = 1i,
|
||||
ACT_GUARD,
|
||||
ACT_WALK,
|
||||
ACT_RUN,
|
||||
ACT_FLY,
|
||||
ACT_SWIM,
|
||||
ACT_HOP,
|
||||
ACT_LEAP,
|
||||
ACT_FALL,
|
||||
ACT_LAND,
|
||||
ACT_STRAFE_LEFT,
|
||||
ACT_STRAFE_RIGHT,
|
||||
ACT_ROLL_LEFT,
|
||||
ACT_ROLL_RIGHT,
|
||||
ACT_TURN_LEFT,
|
||||
ACT_TURN_RIGHT,
|
||||
ACT_CROUCH,
|
||||
ACT_CROUCHIDLE,
|
||||
ACT_STAND,
|
||||
ACT_USE,
|
||||
ACT_SIGNAL1,
|
||||
ACT_SIGNAL2,
|
||||
ACT_SIGNAL3,
|
||||
ACT_TWITCH,
|
||||
ACT_COWER,
|
||||
ACT_SMALL_FLINCH,
|
||||
ACT_BIG_FLINCH,
|
||||
ACT_RANGE_ATTACK1,
|
||||
ACT_RANGE_ATTACK2,
|
||||
ACT_MELEE_ATTACK1,
|
||||
ACT_MELEE_ATTACK2,
|
||||
ACT_RELOAD,
|
||||
ACT_ARM,
|
||||
ACT_DISARM,
|
||||
ACT_EAT,
|
||||
ACT_DIESIMPLE,
|
||||
ACT_DIEBACKWARD,
|
||||
ACT_DIEFORWARD,
|
||||
ACT_DIEVIOLENT,
|
||||
ACT_BARNACLE_HIT,
|
||||
ACT_BARNACLE_PULL,
|
||||
ACT_BARNACLE_CHOMP,
|
||||
ACT_BARNACLE_CHEW,
|
||||
ACT_SLEEP,
|
||||
ACT_INSPECT_FLOOR,
|
||||
ACT_INSPECT_WALL,
|
||||
ACT_IDLE_ANGRY,
|
||||
ACT_WALK_HURT,
|
||||
ACT_RUN_HURT,
|
||||
ACT_HOVER,
|
||||
ACT_GLIDE,
|
||||
ACT_FLY_LEFT,
|
||||
ACT_FLY_RIGHT,
|
||||
ACT_DETECT_SCENT,
|
||||
ACT_SNIFF,
|
||||
ACT_BITE,
|
||||
ACT_THREAT_DISPLAY,
|
||||
ACT_FEAR_DISPLAY,
|
||||
ACT_EXCITED,
|
||||
ACT_SPECIAL_ATTACK1,
|
||||
ACT_SPECIAL_ATTACK2,
|
||||
ACT_COMBAT_IDLE,
|
||||
ACT_WALK_SCARED,
|
||||
ACT_RUN_SCARED,
|
||||
ACT_VICTORY_DANCE,
|
||||
ACT_DIE_HEADSHOT,
|
||||
ACT_DIE_CHESTSHOT,
|
||||
ACT_DIE_GUTSHOT,
|
||||
ACT_DIE_BACKSHOT,
|
||||
ACT_FLINCH_HEAD,
|
||||
ACT_FLINCH_CHEST,
|
||||
ACT_FLINCH_STOMACH,
|
||||
ACT_FLINCH_LEFTARM,
|
||||
ACT_FLINCH_RIGHTARM,
|
||||
ACT_FLINCH_LEFTLEG,
|
||||
ACT_FLINCH_RIGHTLEG,
|
||||
} monster_activity_e;
|
||||
|
||||
/* if this is changed, it needs to be changed in the engine (server/sv_move.c)
|
||||
* as well. */
|
||||
typedef struct
|
||||
|
|
|
@ -46,19 +46,19 @@ NSMonster::Restore(string strKey, string strValue)
|
|||
int
|
||||
NSMonster::AnimIdle(void)
|
||||
{
|
||||
return (0);
|
||||
return frameforaction(modelindex, ACT_IDLE);
|
||||
}
|
||||
|
||||
int
|
||||
NSMonster::AnimWalk(void)
|
||||
{
|
||||
return (0);
|
||||
return frameforaction(modelindex, ACT_WALK);
|
||||
}
|
||||
|
||||
int
|
||||
NSMonster::AnimRun(void)
|
||||
{
|
||||
return (0);
|
||||
return frameforaction(modelindex, ACT_RUN);
|
||||
}
|
||||
|
||||
void
|
||||
|
|
|
@ -655,7 +655,7 @@ SV_ShouldPause(float newstatus)
|
|||
|
||||
//#define REEDICT 0
|
||||
void
|
||||
SV_PerformLoad(float fh)
|
||||
SV_PerformLoad(float fh, float entcount, float playerslots)
|
||||
{
|
||||
entity e;
|
||||
entity eold;
|
||||
|
@ -727,12 +727,12 @@ SV_PerformLoad(float fh)
|
|||
}
|
||||
|
||||
void
|
||||
SV_PerformSave(float fh, float numents)
|
||||
SV_PerformSave(float fh, float entcount, float playerslots)
|
||||
{
|
||||
float i = 0;
|
||||
entity e;
|
||||
|
||||
for (i = 0; i < numents; i++) {
|
||||
for (i = 0; i < entcount; i++) {
|
||||
NSEntity willsave;
|
||||
e = edict_num(i);
|
||||
|
||||
|
|
File diff suppressed because it is too large
Load diff
Loading…
Reference in a new issue