m_soldier.c
来自「著名物理引擎Hawk的源代码」· C语言 代码 · 共 127 行
C
127 行
/* M_soldier.c, HAWK game engine
*
* Copyright 1997-1998 by Phil Frisbie, Jr.
* for Hawk Software
*
*/
#include "G_main.h"
#include "G_math.h"
#include "M_soldier.h"
void monster_soldierUpdate(OBJECT *obj)
{
return;
}
void SP_monster_soldier_light (entity_t *entity)
{
OBJECT *monster;
monster = gi.ObjectAdd();
GetVectorForKey (entity, "origin", monster->origin);
monster->angles[Z] = FloatForKey(entity, "angle");
monster->mins[X] = -16;
monster->mins[Y] = -16;
monster->mins[Z] = -24;
monster->maxs[X] = 16;
monster->maxs[Y] = 16;
monster->maxs[Z] = 32;
monster->pitch = 0;
monster->radius = 16;
monster->height = 24;
monster->speed = 0;
monster->maxspeed = 20;
monster->strafeSpeed = 0;
monster->vertSpeed = 0;
monster->classname = "monster_soldier_light";
monster->health = 20;
monster->turn = 2;
monster->acc = 2;
monster->type = O_MONSTER;
monster->next = NULL;
monster->model = gi.ModelLoad("models/monsters/soldier/tris.md2");
monster->skin = 0;
monster->weapon = NO_MODEL;
monster->animation = gi.AnimationAdd();
gi.AnimationSetDefault(monster->animation, FRAME_stand101, FRAME_stand130);
gi.AnimationSetCurrentFrame(monster->animation, FRAME_stand101 + rand() % 30);
monster->update = monster_soldierUpdate;
}
void SP_monster_soldier (entity_t *entity)
{
OBJECT *monster;
monster = gi.ObjectAdd();
GetVectorForKey (entity, "origin", monster->origin);
monster->angles[Z] = FloatForKey(entity, "angle");
monster->mins[X] = -16;
monster->mins[Y] = -16;
monster->mins[Z] = -24;
monster->maxs[X] = 16;
monster->maxs[Y] = 16;
monster->maxs[Z] = 32;
monster->pitch = 0;
monster->radius = 16;
monster->height = 24;
monster->speed = 0;
monster->maxspeed = 20;
monster->strafeSpeed = 0;
monster->vertSpeed = 0;
monster->classname = "monster_soldier";
monster->health = 30;
monster->turn = 2;
monster->acc = 2;
monster->type = O_MONSTER;
monster->next = NULL;
monster->model = gi.ModelLoad("models/monsters/soldier/tris.md2");
monster->skin = 2;
monster->weapon = NO_MODEL;
monster->animation = gi.AnimationAdd();
gi.AnimationSetDefault(monster->animation, FRAME_stand101, FRAME_stand130);
gi.AnimationSetCurrentFrame(monster->animation, FRAME_stand101 + rand() % 30);
monster->update = monster_soldierUpdate;
}
void SP_monster_soldier_ss (entity_t *entity)
{
OBJECT *monster;
monster = gi.ObjectAdd();
GetVectorForKey (entity, "origin", monster->origin);
monster->angles[Z] = FloatForKey(entity, "angle");
monster->mins[X] = -16;
monster->mins[Y] = -16;
monster->mins[Z] = -24;
monster->maxs[X] = 16;
monster->maxs[Y] = 16;
monster->maxs[Z] = 32;
monster->pitch = 0;
monster->radius = 16;
monster->height = 24;
monster->speed = 0;
monster->maxspeed = 20;
monster->strafeSpeed = 0;
monster->vertSpeed = 0;
monster->classname = "monster_soldier_ss";
monster->health = 20;
monster->turn = 2;
monster->acc = 2;
monster->type = O_MONSTER;
monster->next = NULL;
monster->model = gi.ModelLoad("models/monsters/soldier/tris.md2");
monster->skin = 4;
monster->weapon = NO_MODEL;
monster->animation = gi.AnimationAdd();
gi.AnimationSetDefault(monster->animation, FRAME_stand101, FRAME_stand130);
gi.AnimationSetCurrentFrame(monster->animation, FRAME_stand101 + rand() % 30);
monster->update = monster_soldierUpdate;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?