From e00ab4ffdee6f9181953a9cc7b05cb9200c124c6 Mon Sep 17 00:00:00 2001 From: Denis Pauk Date: Wed, 15 May 2024 00:43:42 +0300 Subject: [PATCH] game: fix save of quake monsters --- doc/020_installation.md | 2 +- src/game/header/local.h | 2 +- src/game/monster/army/army.c | 34 +++-- src/game/monster/demon/demon.c | 63 +++++--- src/game/monster/dog/dog.c | 49 +++--- src/game/monster/enforcer/enforcer.c | 8 +- src/game/monster/fish/fish.c | 35 +++-- src/game/monster/hknight/hknight.c | 113 ++++++++------ src/game/monster/knight/knight.c | 59 ++++--- src/game/monster/ogre/ogre.c | 41 +++-- src/game/monster/shalrath/shalrath.c | 44 ++++-- src/game/monster/shambler/shambler.c | 24 +-- src/game/monster/tarbaby/tarbaby.c | 47 +++--- src/game/monster/wizard/wizard.c | 56 ++++--- src/game/monster/zombie/zombie.c | 10 +- src/game/savegame/tables/gamefunc_decs.h | 186 +++++++++++++++++------ src/game/savegame/tables/gamefunc_list.h | 105 ++++++++++++- 17 files changed, 598 insertions(+), 280 deletions(-) diff --git a/doc/020_installation.md b/doc/020_installation.md index 4d6b202f..656302b4 100644 --- a/doc/020_installation.md +++ b/doc/020_installation.md @@ -322,7 +322,7 @@ The build dependencies can be installed with: curl sdl2` * On Debian based distributions: `apt install build-essential libgl1-mesa-dev libsdl2-dev libopenal-dev libcurl4-openssl-dev - libavformat-dev libvulkan-dev` + libavformat-dev libswscale-dev libvulkan-dev` * On FreeBSD: `pkg install gmake libGL sdl2 openal-soft curl` * On NetBSD: `pkgin install gmake SDL2 openal-soft curl` * On OpenBSD: `pkg_add gmake sdl2 openal curl` diff --git a/src/game/header/local.h b/src/game/header/local.h index 7b5004d4..c49c5442 100644 --- a/src/game/header/local.h +++ b/src/game/header/local.h @@ -1747,7 +1747,7 @@ qboolean Pickup_Sphere(edict_t * ent, edict_t * other); * implementation. (-Wmissing-prototypes ) * */ -#if 0 +#if 1 #include "../savegame/savegame.h" #include "../savegame/tables/gamefunc_decs.h" #endif diff --git a/src/game/monster/army/army.c b/src/game/monster/army/army.c index 75bd9062..56c54f6d 100644 --- a/src/game/monster/army/army.c +++ b/src/game/monster/army/army.c @@ -49,7 +49,8 @@ mmove_t army_move_stand = NULL }; -void army_stand(edict_t *self) +void +army_stand(edict_t *self) { self->monsterinfo.currentmove = &army_move_stand; } @@ -75,12 +76,14 @@ mmove_t army_move_run = NULL }; -void army_run(edict_t *self) +void +army_run(edict_t *self) { self->monsterinfo.currentmove = &army_move_run; } -void FireArmy(edict_t *self) +static void +army_fire(edict_t *self) { vec3_t start; vec3_t end; @@ -104,7 +107,7 @@ static mframe_t army_frames_attack [] = {ai_charge, 0, NULL}, {ai_charge, 0, NULL}, - {ai_charge, 0, FireArmy}, + {ai_charge, 0, army_fire}, {ai_charge, 0, NULL}, {ai_charge, 0, NULL}, {ai_charge, 0, NULL}, @@ -119,19 +122,22 @@ mmove_t army_move_attack = army_run }; -void army_attack(edict_t *self) +void +army_attack(edict_t *self) { self->monsterinfo.currentmove = &army_move_attack; } // Sight -void army_sight(edict_t *self, edict_t *other /* unused */) +void +army_sight(edict_t *self, edict_t *other /* unused */) { gi.sound(self, CHAN_VOICE, sound_sight, 1, ATTN_NORM, 0); } // Search -void army_search(edict_t *self) +void +army_search(edict_t *self) { gi.sound(self, CHAN_VOICE, sound_search, 1, ATTN_NORM, 0); } @@ -212,7 +218,8 @@ mmove_t army_move_pain3 = army_run }; -void army_pain(edict_t *self, edict_t *other /* unused */, +void +army_pain(edict_t *self, edict_t *other /* unused */, float kick /* unused */, int damage) { float r; @@ -244,7 +251,8 @@ void army_pain(edict_t *self, edict_t *other /* unused */, } } -void army_dead(edict_t *self) +void +army_dead(edict_t *self) { VectorSet(self->mins, -16, -16, -24); VectorSet(self->maxs, 16, 16, -8); @@ -303,7 +311,8 @@ mmove_t army_move_death2 = army_dead }; -void army_die(edict_t *self, edict_t *inflictor, edict_t *attacker, int damage, vec3_t point) +void +army_die(edict_t *self, edict_t *inflictor, edict_t *attacker, int damage, vec3_t point) { int n; @@ -346,7 +355,8 @@ void army_die(edict_t *self, edict_t *inflictor, edict_t *attacker, int damage, } } -void SP_monster_army(edict_t *self) +void +SP_monster_army(edict_t *self) { self->s.modelindex = gi.modelindex("models/monsters/army/tris.md2"); VectorSet(self->mins, -16, -16, -24); @@ -376,7 +386,7 @@ void SP_monster_army(edict_t *self) self->pain = army_pain; self->die = army_die; - self->monsterinfo.scale = 1.000000; + self->monsterinfo.scale = MODEL_SCALE; gi.linkentity(self); walkmonster_start(self); diff --git a/src/game/monster/demon/demon.c b/src/game/monster/demon/demon.c index 6502a72e..4ede1c04 100644 --- a/src/game/monster/demon/demon.c +++ b/src/game/monster/demon/demon.c @@ -57,7 +57,8 @@ mmove_t demon_move_stand = NULL }; -void demon_stand(edict_t *self) +void +demon_stand(edict_t *self) { self->monsterinfo.currentmove = &demon_move_stand; } @@ -81,12 +82,14 @@ mmove_t demon_move_run = NULL }; -void demon_run(edict_t *self) +void +demon_run(edict_t *self) { self->monsterinfo.currentmove = &demon_move_run; } -qboolean CheckDemonJump(edict_t *self) +static qboolean +check_demon_jump(edict_t *self) { vec3_t dir; float distance; @@ -113,7 +116,8 @@ qboolean CheckDemonJump(edict_t *self) return true; }; -void DemonJumpTouch(edict_t *self, edict_t *other, cplane_t *plane, csurface_t *surf) +void +demon_jump_touch(edict_t *self, edict_t *other, cplane_t *plane, csurface_t *surf) { if (self->health < 1) return; @@ -141,7 +145,8 @@ void DemonJumpTouch(edict_t *self, edict_t *other, cplane_t *plane, csurface_t * } } -void DemonJump(edict_t *self) +static void +demon_jump(edict_t *self) { vec3_t forward; @@ -151,10 +156,11 @@ void DemonJump(edict_t *self) self->velocity[2] = 250; self->groundentity = NULL; - self->touch = DemonJumpTouch; + self->touch = demon_jump_touch; } -void demon_roar(edict_t *self) +static void +demon_roar(edict_t *self) { gi.sound(self, CHAN_VOICE, sound_jump, 1, ATTN_NORM, 0); } @@ -165,7 +171,7 @@ static mframe_t demon_frames_jump [] = {ai_charge, 0, demon_roar}, {ai_charge, 0, NULL}, {ai_charge, 0, NULL}, - {ai_charge, 0, DemonJump}, + {ai_charge, 0, demon_jump}, {ai_move, 0, NULL}, {ai_move, 0, NULL}, @@ -185,13 +191,17 @@ mmove_t demon_move_jump = demon_run }; -void demon_attack(edict_t *self) +void +demon_attack(edict_t *self) { - //if (CheckDemonJump(self)) - self->monsterinfo.currentmove = &demon_move_jump; + if (check_demon_jump(self)) + { + self->monsterinfo.currentmove = &demon_move_jump; + } } -void DemonMelee(edict_t *self) +static void +demon_melee_step(edict_t *self) { vec3_t dir; static vec3_t aim = {100, 0, -24}; @@ -217,14 +227,14 @@ static mframe_t demon_frames_melee [] = {ai_charge, 0, NULL}, {ai_charge, 1, NULL}, - {ai_charge, 14, DemonMelee}, + {ai_charge, 14, demon_melee_step}, {ai_charge, 1, NULL}, {ai_charge, 6, NULL}, {ai_charge, 8, NULL}, {ai_charge, 4, NULL}, {ai_charge, 2, NULL}, - {ai_charge, 12, DemonMelee}, + {ai_charge, 12, demon_melee_step}, {ai_charge, 5, NULL}, {ai_charge, 8, NULL}, @@ -239,7 +249,8 @@ mmove_t demon_move_melee = demon_run }; -void demon_melee(edict_t *self) +void +demon_melee(edict_t *self) { self->monsterinfo.currentmove = &demon_move_melee; } @@ -263,12 +274,13 @@ mmove_t demon_move_pain = demon_run }; -void demon_pain(edict_t *self, edict_t *other, float kick, int damage) +void +demon_pain(edict_t *self, edict_t *other, float kick, int damage) { // decino: No pain animations in Nightmare mode if (skill->value == SKILL_HARDPLUS) return; - if (self->touch == DemonJumpTouch) + if (self->touch == demon_jump_touch) return; if (self->pain_debounce_time > level.time) return; @@ -280,7 +292,8 @@ void demon_pain(edict_t *self, edict_t *other, float kick, int damage) self->monsterinfo.currentmove = &demon_move_pain; } -void demon_dead(edict_t *self) +void +demon_dead(edict_t *self) { VectorSet(self->mins, -32, -32, -24); VectorSet(self->maxs, 32, 32, -8); @@ -313,7 +326,8 @@ mmove_t demon_move_die = demon_dead }; -void demon_die(edict_t *self, edict_t *inflictor, edict_t *attacker, int damage, vec3_t point) +void +demon_die(edict_t *self, edict_t *inflictor, edict_t *attacker, int damage, vec3_t point) { int n; @@ -340,18 +354,21 @@ void demon_die(edict_t *self, edict_t *inflictor, edict_t *attacker, int damage, } // Sight -void demon_sight(edict_t *self, edict_t *other /* unused */) +void +demon_sight(edict_t *self, edict_t *other /* unused */) { gi.sound (self, CHAN_VOICE, sound_sight, 1, ATTN_NORM, 0); } // Search -void demon_search(edict_t *self) +void +demon_search(edict_t *self) { gi.sound (self, CHAN_VOICE, sound_search, 1, ATTN_NORM, 0); } -void SP_monster_demon(edict_t *self) +void +SP_monster_demon(edict_t *self) { self->s.modelindex = gi.modelindex("models/monsters/demon/tris.md2"); VectorSet(self->mins, -32, -32, -24); @@ -383,7 +400,7 @@ void SP_monster_demon(edict_t *self) self->pain = demon_pain; self->die = demon_die; - self->monsterinfo.scale = 1.000000; + self->monsterinfo.scale = MODEL_SCALE; gi.linkentity(self); walkmonster_start(self); diff --git a/src/game/monster/dog/dog.c b/src/game/monster/dog/dog.c index bdbe4648..b292cfe5 100644 --- a/src/game/monster/dog/dog.c +++ b/src/game/monster/dog/dog.c @@ -52,7 +52,8 @@ mmove_t dog_move_stand = NULL }; -void dog_stand(edict_t *self) +void +dog_stand(edict_t *self) { self->monsterinfo.currentmove = &dog_move_stand; } @@ -83,12 +84,14 @@ mmove_t dog_move_run = NULL }; -void dog_run(edict_t *self) +void +dog_run(edict_t *self) { self->monsterinfo.currentmove = &dog_move_run; } -void DogLeapTouch(edict_t *self, edict_t *other, cplane_t *plane, csurface_t *surf) +void +dog_leap_touch(edict_t *self, edict_t *other, cplane_t *plane, csurface_t *surf) { if (self->health < 1) return; @@ -114,7 +117,8 @@ void DogLeapTouch(edict_t *self, edict_t *other, cplane_t *plane, csurface_t *su } } -void DogLeap(edict_t *self) +static void +dog_leap_step(edict_t *self) { vec3_t forward; @@ -124,14 +128,14 @@ void DogLeap(edict_t *self) self->velocity[2] = 200; self->groundentity = NULL; - self->touch = DogLeapTouch; + self->touch = dog_leap_touch; } // Leap static mframe_t dog_frames_leap [] = { {ai_charge, 0, NULL}, - {ai_charge, 0, DogLeap}, + {ai_charge, 0, dog_leap_step}, {ai_move, 0, NULL}, {ai_move, 0, NULL}, @@ -150,12 +154,14 @@ mmove_t dog_move_leap = dog_run }; -void dog_leap(edict_t *self) +void +dog_leap(edict_t *self) { self->monsterinfo.currentmove = &dog_move_leap; } -void DogBite(edict_t *self) +static void +dogbite_step(edict_t *self) { vec3_t dir; static vec3_t aim = {100, 0, -24}; @@ -180,7 +186,7 @@ static mframe_t dog_frames_melee [] = {ai_charge, 10, NULL}, {ai_charge, 10, NULL}, {ai_charge, 10, NULL}, - {ai_charge, 10, DogBite}, + {ai_charge, 10, dogbite_step}, {ai_charge, 10, NULL}, {ai_charge, 10, NULL}, @@ -195,19 +201,22 @@ mmove_t dog_move_melee = dog_run }; -void dog_melee(edict_t *self) +void +dog_melee(edict_t *self) { self->monsterinfo.currentmove = &dog_move_melee; } // Sight -void dog_sight(edict_t *self, edict_t *other /* unused */) +void +dog_sight(edict_t *self, edict_t *other /* unused */) { gi.sound(self, CHAN_VOICE, sound_sight, 1, ATTN_NORM, 0); } // Search -void dog_search(edict_t *self) +void +dog_search(edict_t *self) { gi.sound(self, CHAN_VOICE, sound_search, 1, ATTN_NORM, 0); } @@ -262,7 +271,8 @@ mmove_t dog_move_pain2 = dog_run }; -void dog_pain(edict_t *self, edict_t *other /* unused */, +void +dog_pain(edict_t *self, edict_t *other /* unused */, float kick /* unused */, int damage) { // decino: No pain animations in Nightmare mode @@ -275,7 +285,8 @@ void dog_pain(edict_t *self, edict_t *other /* unused */, gi.sound(self, CHAN_VOICE, sound_pain, 1, ATTN_NORM, 0); } -void dog_dead(edict_t *self) +void +dog_dead(edict_t *self) { VectorSet(self->mins, -32, -32, -24); VectorSet(self->maxs, 32, 32, -8); @@ -331,7 +342,8 @@ mmove_t dog_move_die2 = dog_dead }; -void dog_die(edict_t *self, edict_t *inflictor, edict_t *attacker, int damage, vec3_t point) +void +dog_die(edict_t *self, edict_t *inflictor, edict_t *attacker, int damage, vec3_t point) { int n; @@ -360,7 +372,8 @@ void dog_die(edict_t *self, edict_t *inflictor, edict_t *attacker, int damage, v self->monsterinfo.currentmove = &dog_move_die2; } -void SP_monster_dog(edict_t *self) +void +SP_monster_dog(edict_t *self) { self->s.modelindex = gi.modelindex("models/monsters/dog/tris.md2"); VectorSet(self->mins, -32, -32, -24); @@ -382,7 +395,7 @@ void SP_monster_dog(edict_t *self) self->monsterinfo.stand = dog_stand; self->monsterinfo.walk = dog_run; self->monsterinfo.run = dog_run; - //self->monsterinfo.attack = dog_leap; + self->monsterinfo.attack = dog_leap; self->monsterinfo.melee = dog_melee; self->monsterinfo.sight = dog_sight; self->monsterinfo.search = dog_search; @@ -390,7 +403,7 @@ void SP_monster_dog(edict_t *self) self->pain = dog_pain; self->die = dog_die; - self->monsterinfo.scale = 1.000000; + self->monsterinfo.scale = MODEL_SCALE; gi.linkentity(self); walkmonster_start(self); diff --git a/src/game/monster/enforcer/enforcer.c b/src/game/monster/enforcer/enforcer.c index a56deee9..cd5800be 100644 --- a/src/game/monster/enforcer/enforcer.c +++ b/src/game/monster/enforcer/enforcer.c @@ -199,7 +199,7 @@ fire_enfbolt(edict_t *self, vec3_t start, vec3_t dir, int damage, int speed) } static void -FireEnforcerBolt(edict_t *self) +enforcer_fire_bolt(edict_t *self) { vec3_t forward, right; vec3_t start; @@ -222,7 +222,7 @@ FireEnforcerBolt(edict_t *self) static mframe_t enforcer_frames_attack2 [] = { {ai_charge, 0, NULL}, - {ai_charge, 0, FireEnforcerBolt}, + {ai_charge, 0, enforcer_fire_bolt}, {ai_charge, 0, NULL}, {ai_charge, 0, NULL}, {ai_charge, 0, NULL}, @@ -252,7 +252,7 @@ static mframe_t enforcer_frames_attack1 [] = {ai_charge, 0, NULL}, {ai_charge, 0, NULL}, - {ai_charge, 0, FireEnforcerBolt}, + {ai_charge, 0, enforcer_fire_bolt}, {ai_charge, 0, NULL}, {ai_charge, 0, NULL} }; @@ -554,7 +554,7 @@ SP_monster_enforcer(edict_t *self) self->pain = enforcer_pain; self->die = enforcer_die; - self->monsterinfo.scale = 1.000000; + self->monsterinfo.scale = MODEL_SCALE; gi.linkentity(self); walkmonster_start(self); diff --git a/src/game/monster/fish/fish.c b/src/game/monster/fish/fish.c index 4a47fd7e..ea3a3f5c 100644 --- a/src/game/monster/fish/fish.c +++ b/src/game/monster/fish/fish.c @@ -59,7 +59,8 @@ mmove_t fish_move_stand = NULL }; -void fish_stand(edict_t *self) +void +fish_stand(edict_t *self) { self->monsterinfo.currentmove = &fish_move_stand; } @@ -98,12 +99,14 @@ mmove_t fish_move_run = NULL }; -void fish_run(edict_t *self) +void +fish_run(edict_t *self) { self->monsterinfo.currentmove = &fish_move_run; } -void FishBite(edict_t *self) +static void +fish_bite_step(edict_t *self) { vec3_t dir; static vec3_t aim = {100, 0, 0}; @@ -127,7 +130,7 @@ static mframe_t fish_frames_melee [] = { {ai_run, 10, NULL}, {ai_run, 10, NULL}, - {ai_run, 0, FishBite}, + {ai_run, 0, fish_bite_step}, {ai_run, 10, NULL}, {ai_run, 10, NULL}, @@ -135,14 +138,14 @@ static mframe_t fish_frames_melee [] = {ai_run, 10, NULL}, {ai_run, 10, NULL}, - {ai_run, 0, FishBite}, + {ai_run, 0, fish_bite_step}, {ai_run, 10, NULL}, {ai_run, 10, NULL}, {ai_run, 10, NULL}, {ai_run, 10, NULL}, {ai_run, 10, NULL}, - {ai_run, 0, FishBite}, + {ai_run, 0, fish_bite_step}, {ai_run, 10, NULL}, {ai_run, 10, NULL}, @@ -156,18 +159,21 @@ mmove_t fish_move_melee = fish_run }; -void fish_melee(edict_t *self) +void +fish_melee(edict_t *self) { self->monsterinfo.currentmove = &fish_move_melee; } // Search -void fish_search(edict_t *self) +void +fish_search(edict_t *self) { gi.sound(self, CHAN_VOICE, sound_search, 1, ATTN_NORM, 0); } -void fish_dead(edict_t *self) +void +fish_dead(edict_t *self) { VectorSet(self->mins, -16, -16, -24); VectorSet(self->maxs, 16, 16, -8); @@ -215,7 +221,8 @@ mmove_t fish_move_death = fish_dead }; -void fish_die(edict_t *self, edict_t *inflictor, edict_t *attacker, int damage, vec3_t point) +void +fish_die(edict_t *self, edict_t *inflictor, edict_t *attacker, int damage, vec3_t point) { int n; @@ -274,7 +281,8 @@ mmove_t fish_move_pain = fish_run }; -void fish_pain(edict_t *self, edict_t *other /* unused */, +void +fish_pain(edict_t *self, edict_t *other /* unused */, float kick /* unused */, int damage) { if (level.time < self->pain_debounce_time) @@ -287,7 +295,8 @@ void fish_pain(edict_t *self, edict_t *other /* unused */, self->monsterinfo.currentmove = &fish_move_pain; } -void SP_monster_fish(edict_t *self) +void +SP_monster_fish(edict_t *self) { self->s.modelindex = gi.modelindex("models/monsters/fish/tris.md2"); VectorSet(self->mins, -16, -16, -24); @@ -313,7 +322,7 @@ void SP_monster_fish(edict_t *self) self->pain = fish_pain; self->die = fish_die; - self->monsterinfo.scale = 1.000000; + self->monsterinfo.scale = MODEL_SCALE; gi.linkentity(self); flymonster_start(self); diff --git a/src/game/monster/hknight/hknight.c b/src/game/monster/hknight/hknight.c index 4d70f65b..68ca7254 100644 --- a/src/game/monster/hknight/hknight.c +++ b/src/game/monster/hknight/hknight.c @@ -30,7 +30,7 @@ static int sound_search; static int sound_pain; void hknight_run(edict_t *self); -void SwingSword(edict_t *self); +void swing_sword_step(edict_t *self); // Stand static mframe_t hknight_frames_stand [] = @@ -55,7 +55,8 @@ mmove_t hknight_move_stand = NULL }; -void hknight_stand(edict_t *self) +void +hknight_stand(edict_t *self) { self->monsterinfo.currentmove = &hknight_move_stand; } @@ -69,13 +70,13 @@ static mframe_t hknight_frames_charge [] = {ai_charge, 16, NULL}, {ai_charge, 14, NULL}, - {ai_charge, 20, SwingSword}, - {ai_charge, 21, SwingSword}, - {ai_charge, 13, SwingSword}, + {ai_charge, 20, swing_sword_step}, + {ai_charge, 21, swing_sword_step}, + {ai_charge, 13, swing_sword_step}, - {ai_charge, 20, SwingSword}, - {ai_charge, 20, SwingSword}, - {ai_charge, 18, SwingSword}, + {ai_charge, 20, swing_sword_step}, + {ai_charge, 20, swing_sword_step}, + {ai_charge, 18, swing_sword_step}, {ai_charge, 16, NULL}, {ai_charge, 20, NULL}, @@ -91,7 +92,8 @@ mmove_t hknight_move_charge = hknight_run }; -qboolean CheckForCharge(edict_t *self) +static qboolean +check_for_charge(edict_t *self) { if (!self->enemy) return false; @@ -125,12 +127,14 @@ mmove_t hknight_move_run = NULL }; -void hknight_run(edict_t *self) +void +hknight_run(edict_t *self) { self->monsterinfo.currentmove = &hknight_move_run; } -void hknight_reset_magic(edict_t *self) +static void +hknight_reset_magic(edict_t *self) { self->radius_dmg = -2; @@ -140,7 +144,8 @@ void hknight_reset_magic(edict_t *self) } } -void magic_touch(edict_t *self, edict_t *other, cplane_t *plane, csurface_t *surf) +void +magic_touch(edict_t *self, edict_t *other, cplane_t *plane, csurface_t *surf) { if (other == self->owner) { @@ -169,7 +174,8 @@ void magic_touch(edict_t *self, edict_t *other, cplane_t *plane, csurface_t *sur G_FreeEdict(self); } -void fire_magic(edict_t *self, vec3_t start, vec3_t dir, int damage, int speed) +static void +fire_magic(edict_t *self, vec3_t start, vec3_t dir, int damage, int speed) { edict_t *magic; trace_t tr; @@ -212,7 +218,8 @@ void fire_magic(edict_t *self, vec3_t start, vec3_t dir, int damage, int speed) gi.sound(self, CHAN_WEAPON, sound_attack, 1, ATTN_NORM, 0); } -void FireMagic(edict_t *self) +static void +fire_magic_step(edict_t *self) { vec3_t dir; @@ -233,13 +240,13 @@ static mframe_t hknight_frames_attack [] = {ai_charge, 0, NULL}, {ai_charge, 0, hknight_reset_magic}, - {ai_charge, 0, FireMagic}, - {ai_charge, 0, FireMagic}, - {ai_charge, 0, FireMagic}, + {ai_charge, 0, fire_magic_step}, + {ai_charge, 0, fire_magic_step}, + {ai_charge, 0, fire_magic_step}, - {ai_charge, 0, FireMagic}, - {ai_charge, 0, FireMagic}, - {ai_charge, 0, FireMagic} + {ai_charge, 0, fire_magic_step}, + {ai_charge, 0, fire_magic_step}, + {ai_charge, 0, fire_magic_step} }; mmove_t hknight_move_attack = { @@ -249,9 +256,10 @@ mmove_t hknight_move_attack = hknight_run }; -void hknight_attack(edict_t *self) +void +hknight_attack(edict_t *self) { - if (CheckForCharge(self)) + if (check_for_charge(self)) self->monsterinfo.currentmove = &hknight_move_charge; else if (self->monsterinfo.attack_finished < level.time) self->monsterinfo.currentmove = &hknight_move_attack; @@ -267,12 +275,12 @@ static mframe_t hknight_frames_slice [] = {ai_charge, 13, NULL}, {ai_charge, 4, NULL}, - {ai_charge, 7, SwingSword}, - {ai_charge, 15, SwingSword}, - {ai_charge, 8, SwingSword}, - {ai_charge, 2, SwingSword}, + {ai_charge, 7, swing_sword_step}, + {ai_charge, 15, swing_sword_step}, + {ai_charge, 8, swing_sword_step}, + {ai_charge, 2, swing_sword_step}, - {ai_charge, 0, SwingSword}, + {ai_charge, 0, swing_sword_step}, {ai_charge, 3, NULL} }; mmove_t hknight_move_slice = @@ -291,12 +299,12 @@ static mframe_t hknight_frames_smash [] = {ai_charge, 9, NULL}, {ai_charge, 11, NULL}, - {ai_charge, 10, SwingSword}, - {ai_charge, 7, SwingSword}, - {ai_charge, 12, SwingSword}, - {ai_charge, 2, SwingSword}, + {ai_charge, 10, swing_sword_step}, + {ai_charge, 7, swing_sword_step}, + {ai_charge, 12, swing_sword_step}, + {ai_charge, 2, swing_sword_step}, - {ai_charge, 3, SwingSword}, + {ai_charge, 3, swing_sword_step}, {ai_charge, 0, NULL}, {ai_charge, 0, NULL} }; @@ -314,26 +322,26 @@ static mframe_t hknight_frames_watk [] = {ai_charge, 2, NULL}, {ai_charge, 0, NULL}, {ai_charge, 0, NULL}, - {ai_charge, 0, SwingSword}, + {ai_charge, 0, swing_sword_step}, - {ai_charge, 0, SwingSword}, - {ai_charge, 0, SwingSword}, + {ai_charge, 0, swing_sword_step}, + {ai_charge, 0, swing_sword_step}, {ai_charge, 1, NULL}, {ai_charge, 4, NULL}, {ai_charge, 5, NULL}, - {ai_charge, 3, SwingSword}, - {ai_charge, 2, SwingSword}, - {ai_charge, 2, SwingSword}, + {ai_charge, 3, swing_sword_step}, + {ai_charge, 2, swing_sword_step}, + {ai_charge, 2, swing_sword_step}, {ai_charge, 0, NULL}, {ai_charge, 0, NULL}, {ai_charge, 0, NULL}, {ai_charge, 1, NULL}, - {ai_charge, 1, SwingSword}, - {ai_charge, 3, SwingSword}, - {ai_charge, 4, SwingSword}, + {ai_charge, 1, swing_sword_step}, + {ai_charge, 3, swing_sword_step}, + {ai_charge, 4, swing_sword_step}, {ai_charge, 6, NULL}, {ai_charge, 7, NULL}, @@ -349,7 +357,8 @@ mmove_t hknight_move_watk = }; // Melee -void hknight_melee(edict_t *self) +void +hknight_melee(edict_t *self) { self->dmg_radius++; @@ -383,7 +392,8 @@ mmove_t hknight_move_pain = hknight_run }; -void hknight_pain(edict_t *self, edict_t *other, float kick, int damage) +void +hknight_pain(edict_t *self, edict_t *other, float kick, int damage) { // decino: No pain animations in Nightmare mode if (skill->value == SKILL_HARDPLUS) @@ -405,7 +415,8 @@ void hknight_pain(edict_t *self, edict_t *other, float kick, int damage) gi.sound(self, CHAN_VOICE, sound_pain, 1, ATTN_NORM, 0); } -void hknight_dead(edict_t *self) +void +hknight_dead(edict_t *self) { VectorSet(self->mins, -16, -16, -24); VectorSet(self->maxs, 16, 16, -8); @@ -464,7 +475,8 @@ mmove_t hknight_move_die2 = hknight_dead }; -void hknight_die(edict_t *self, edict_t *inflictor, edict_t *attacker, int damage, vec3_t point) +void +hknight_die(edict_t *self, edict_t *inflictor, edict_t *attacker, int damage, vec3_t point) { int n; @@ -494,18 +506,21 @@ void hknight_die(edict_t *self, edict_t *inflictor, edict_t *attacker, int damag } // Sight -void hknight_sight(edict_t *self, edict_t *other /* unused */) +void +hknight_sight(edict_t *self, edict_t *other /* unused */) { gi.sound(self, CHAN_VOICE, sound_sight, 1, ATTN_NORM, 0); } // Search -void hknight_search(edict_t *self) +void +hknight_search(edict_t *self) { gi.sound(self, CHAN_VOICE, sound_search, 1, ATTN_NORM, 0); } -void SP_monster_hknight(edict_t *self) +void +SP_monster_hknight(edict_t *self) { self->s.modelindex = gi.modelindex("models/monsters/hknight/tris.md2"); VectorSet(self->mins, -16, -16, -24); @@ -537,7 +552,7 @@ void SP_monster_hknight(edict_t *self) self->pain = hknight_pain; self->die = hknight_die; - self->monsterinfo.scale = 1.000000; + self->monsterinfo.scale = MODEL_SCALE; gi.linkentity(self); walkmonster_start(self); diff --git a/src/game/monster/knight/knight.c b/src/game/monster/knight/knight.c index 80545ace..0513aefd 100644 --- a/src/game/monster/knight/knight.c +++ b/src/game/monster/knight/knight.c @@ -53,7 +53,8 @@ mmove_t knight_move_stand = NULL }; -void knight_stand(edict_t *self) +void +knight_stand(edict_t *self) { self->monsterinfo.currentmove = &knight_move_stand; } @@ -79,12 +80,14 @@ mmove_t knight_move_run = NULL }; -void knight_run(edict_t *self) +void +knight_run(edict_t *self) { self->monsterinfo.currentmove = &knight_move_run; } -void knight_attack_swing(edict_t *self) +static void +knight_attack_swing(edict_t *self) { if (random() > 0.5) { @@ -96,7 +99,8 @@ void knight_attack_swing(edict_t *self) } } -void SwingSword(edict_t *self) +void +swing_sword_step(edict_t *self) { vec3_t dir; static vec3_t aim = {100, 0, -24}; @@ -127,12 +131,12 @@ static mframe_t knight_frames_attack [] = {ai_charge, 13, NULL}, {ai_charge, 7, NULL}, - {ai_charge, 16, SwingSword}, - {ai_charge, 20, SwingSword}, - {ai_charge, 14, SwingSword}, - {ai_charge, 6, SwingSword}, + {ai_charge, 16, swing_sword_step}, + {ai_charge, 20, swing_sword_step}, + {ai_charge, 14, swing_sword_step}, + {ai_charge, 6, swing_sword_step}, - {ai_charge, 14, SwingSword}, + {ai_charge, 14, swing_sword_step}, {ai_charge, 10, NULL}, {ai_charge, 7, NULL} }; @@ -144,7 +148,8 @@ mmove_t knight_move_attack = knight_run }; -void knight_attack(edict_t *self) +void +knight_attack(edict_t *self) { if (self->enemy && realrange(self, self->enemy) < (MELEE_DISTANCE * 4)) { @@ -156,7 +161,8 @@ void knight_attack(edict_t *self) } } -void knight_melee_swing(edict_t *self) +static void +knight_melee_swing(edict_t *self) { gi.sound(self, CHAN_WEAPON, sound_melee1, 1, ATTN_NORM, 0); } @@ -170,9 +176,9 @@ static mframe_t knight_frames_melee [] = {ai_charge, 0, NULL}, {ai_charge, 0, NULL}, - {ai_charge, 4, SwingSword}, - {ai_charge, 4, SwingSword}, - {ai_charge, 1, SwingSword}, + {ai_charge, 4, swing_sword_step}, + {ai_charge, 4, swing_sword_step}, + {ai_charge, 1, swing_sword_step}, {ai_charge, 3, NULL}, {ai_charge, 1, NULL}, @@ -186,7 +192,8 @@ mmove_t knight_move_melee = knight_run }; -void knight_melee(edict_t *self) +void +knight_melee(edict_t *self) { self->monsterinfo.currentmove = &knight_move_melee; } @@ -231,7 +238,8 @@ mmove_t knight_move_pain2 = knight_run }; -void knight_pain(edict_t *self, edict_t *other /* unused */, +void +knight_pain(edict_t *self, edict_t *other /* unused */, float kick /* unused */, int damage) { // decino: No pain animations in Nightmare mode @@ -247,7 +255,8 @@ void knight_pain(edict_t *self, edict_t *other /* unused */, gi.sound (self, CHAN_VOICE, sound_pain, 1, ATTN_NORM, 0); } -void knight_dead(edict_t *self) +void +knight_dead(edict_t *self) { VectorSet(self->mins, -16, -16, -24); VectorSet(self->maxs, 16, 16, -8); @@ -306,7 +315,8 @@ mmove_t knight_move_die2 = knight_dead }; -void knight_die(edict_t *self, edict_t *inflictor, edict_t *attacker, int damage, vec3_t point) +void +knight_die(edict_t *self, edict_t *inflictor, edict_t *attacker, int damage, vec3_t point) { int n; @@ -336,18 +346,21 @@ void knight_die(edict_t *self, edict_t *inflictor, edict_t *attacker, int damage } // Search -void knight_search(edict_t *self) +void +knight_search(edict_t *self) { gi.sound(self, CHAN_VOICE, sound_search, 1, ATTN_NORM, 0); } // Sight -void knight_sight(edict_t *self, edict_t *other /* unused */) +void +knight_sight(edict_t *self, edict_t *other /* unused */) { gi.sound(self, CHAN_VOICE, sound_sight, 1, ATTN_NORM, 0); } -void SP_monster_knight(edict_t *self) +void +SP_monster_knight(edict_t *self) { self->s.modelindex = gi.modelindex("models/monsters/knight/tris.md2"); VectorSet(self->mins, -16, -16, -24); @@ -370,7 +383,7 @@ void SP_monster_knight(edict_t *self) self->monsterinfo.stand = knight_stand; self->monsterinfo.walk = knight_run; self->monsterinfo.run = knight_run; - //self->monsterinfo.attack = knight_attack; + self->monsterinfo.attack = knight_attack; self->monsterinfo.melee = knight_melee; self->monsterinfo.sight = knight_sight; self->monsterinfo.search = knight_search; @@ -378,7 +391,7 @@ void SP_monster_knight(edict_t *self) self->pain = knight_pain; self->die = knight_die; - self->monsterinfo.scale = 1.000000; + self->monsterinfo.scale = MODEL_SCALE; gi.linkentity(self); walkmonster_start(self); diff --git a/src/game/monster/ogre/ogre.c b/src/game/monster/ogre/ogre.c index d05528d5..db8f6672 100644 --- a/src/game/monster/ogre/ogre.c +++ b/src/game/monster/ogre/ogre.c @@ -29,7 +29,8 @@ static int sound_search; static int sound_idle; static int sound_pain; -void ogre_idle(edict_t *self) +static void +ogre_idle(edict_t *self) { if (random() < 0.2) gi.sound(self, CHAN_VOICE, sound_idle, 1, ATTN_NORM, 0); @@ -58,7 +59,8 @@ mmove_t ogre_move_stand = NULL }; -void ogre_stand(edict_t *self) +void +ogre_stand(edict_t *self) { self->monsterinfo.currentmove = &ogre_move_stand; } @@ -84,12 +86,14 @@ mmove_t ogre_move_run = NULL }; -void ogre_run(edict_t *self) +void +ogre_run(edict_t *self) { self->monsterinfo.currentmove = &ogre_move_run; } -void OgreChainsaw(edict_t *self) +static void +OgreChainsaw(edict_t *self) { vec3_t dir; static vec3_t aim = {100, 0, -24}; @@ -165,7 +169,8 @@ mmove_t ogre_move_swing = }; // Melee -void ogre_melee(edict_t *self) +void +ogre_melee(edict_t *self) { if (random() > 0.5) self->monsterinfo.currentmove = &ogre_move_smash; @@ -174,7 +179,8 @@ void ogre_melee(edict_t *self) gi.sound(self, CHAN_WEAPON, sound_melee, 1, ATTN_NORM, 0); } -void FireOgreGrenade(edict_t *self) +static void +FireOgreGrenade(edict_t *self) { vec3_t start; vec3_t forward, right; @@ -207,7 +213,8 @@ mmove_t ogre_move_attack = ogre_run }; -void ogre_attack(edict_t *self) +void +ogre_attack(edict_t *self) { self->monsterinfo.currentmove = &ogre_move_attack; } @@ -326,7 +333,8 @@ mmove_t ogre_move_pain5 = }; // Pain -void ogre_pain(edict_t *self, edict_t *other /* unused */, +void +ogre_pain(edict_t *self, edict_t *other /* unused */, float kick /* unused */, int damage) { float r; @@ -366,7 +374,8 @@ void ogre_pain(edict_t *self, edict_t *other /* unused */, } } -void ogre_dead(edict_t *self) +void +ogre_dead(edict_t *self) { VectorSet(self->mins, -32, -32, -24); VectorSet(self->maxs, 32, 32, -8); @@ -430,7 +439,8 @@ mmove_t ogre_move_death2 = }; // Death -void ogre_die(edict_t *self, edict_t *inflictor, edict_t *attacker, int damage, vec3_t point) +void +ogre_die(edict_t *self, edict_t *inflictor, edict_t *attacker, int damage, vec3_t point) { int n; @@ -460,18 +470,21 @@ void ogre_die(edict_t *self, edict_t *inflictor, edict_t *attacker, int damage, } // Sight -void ogre_sight(edict_t *self, edict_t *other /* unused */) +void +ogre_sight(edict_t *self, edict_t *other /* unused */) { gi.sound(self, CHAN_VOICE, sound_sight, 1, ATTN_NORM, 0); } // Search -void ogre_search(edict_t *self) +void +ogre_search(edict_t *self) { gi.sound(self, CHAN_VOICE, sound_search, 1, ATTN_NORM, 0); } -void SP_monster_ogre(edict_t *self) +void +SP_monster_ogre(edict_t *self) { self->s.modelindex = gi.modelindex("models/monsters/ogre/tris.md2"); VectorSet(self->mins, -32, -32, -24); @@ -503,7 +516,7 @@ void SP_monster_ogre(edict_t *self) self->pain = ogre_pain; self->die = ogre_die; - self->monsterinfo.scale = 1.000000; + self->monsterinfo.scale = MODEL_SCALE; gi.linkentity(self); walkmonster_start(self); diff --git a/src/game/monster/shalrath/shalrath.c b/src/game/monster/shalrath/shalrath.c index e61134f3..4f42eb88 100644 --- a/src/game/monster/shalrath/shalrath.c +++ b/src/game/monster/shalrath/shalrath.c @@ -42,7 +42,8 @@ mmove_t shalrath_move_stand = NULL }; -void shalrath_stand(edict_t *self) +void +shalrath_stand(edict_t *self) { self->monsterinfo.currentmove = &shalrath_move_stand; } @@ -73,17 +74,20 @@ mmove_t shalrath_move_run = NULL }; -void shalrath_run(edict_t *self) +void +shalrath_run(edict_t *self) { self->monsterinfo.currentmove = &shalrath_move_run; } -void shalrath_roar(edict_t *self) +static void +shalrath_roar(edict_t *self) { gi.sound(self, CHAN_VOICE, sound_attack, 1, ATTN_NORM, 0); } -void shalrath_pod_touch(edict_t *self, edict_t *other, cplane_t *plane, csurface_t *surf) +void +shalrath_pod_touch(edict_t *self, edict_t *other, cplane_t *plane, csurface_t *surf) { if (other == self->owner) return; @@ -99,7 +103,8 @@ void shalrath_pod_touch(edict_t *self, edict_t *other, cplane_t *plane, csurface G_FreeEdict(self); } -void shalrath_pod_home(edict_t *self) +void +shalrath_pod_home(edict_t *self) { static qboolean think = false; vec3_t end; @@ -142,7 +147,8 @@ void shalrath_pod_home(edict_t *self) think = !think; } -void fire_shalrath_pod(edict_t *self, vec3_t start, vec3_t dir, int damage, int speed) +static void +fire_shalrath_pod(edict_t *self, vec3_t start, vec3_t dir, int damage, int speed) { edict_t *pod; @@ -176,7 +182,8 @@ void fire_shalrath_pod(edict_t *self, vec3_t start, vec3_t dir, int damage, int gi.sound(self, CHAN_WEAPON, sound_fire, 1, ATTN_NORM, 0); } -void FireShalrathPod(edict_t *self) +static void +FireShalrathPod(edict_t *self) { vec3_t forward, right; vec3_t start; @@ -220,7 +227,8 @@ mmove_t shalrath_move_attack = shalrath_run }; -void shalrath_attack(edict_t *self) +void +shalrath_attack(edict_t *self) { self->monsterinfo.currentmove = &shalrath_move_attack; } @@ -243,7 +251,8 @@ mmove_t shalrath_move_pain = shalrath_run }; -void shalrath_pain(edict_t *self, edict_t *other /* unused */, +void +shalrath_pain(edict_t *self, edict_t *other /* unused */, float kick /* unused */, int damage) { // decino: No pain animations in Nightmare mode @@ -257,7 +266,8 @@ void shalrath_pain(edict_t *self, edict_t *other /* unused */, gi.sound(self, CHAN_VOICE, sound_pain, 1, ATTN_NORM, 0); } -void shalrath_dead(edict_t *self) +void +shalrath_dead(edict_t *self) { VectorSet(self->mins, -32, -32, -24); VectorSet(self->maxs, 32, 32, -8); @@ -287,7 +297,8 @@ mmove_t shalrath_move_death = shalrath_dead }; -void shalrath_die(edict_t *self, edict_t *inflictor, edict_t *attacker, int damage, vec3_t point) +void +shalrath_die(edict_t *self, edict_t *inflictor, edict_t *attacker, int damage, vec3_t point) { int n; @@ -313,18 +324,21 @@ void shalrath_die(edict_t *self, edict_t *inflictor, edict_t *attacker, int dama } // Sight -void shalrath_sight(edict_t *self, edict_t *other /* unused */) +void +shalrath_sight(edict_t *self, edict_t *other /* unused */) { gi.sound(self, CHAN_VOICE, sound_sight, 1, ATTN_NORM, 0); } // Search -void shalrath_search(edict_t *self) +void +shalrath_search(edict_t *self) { gi.sound(self, CHAN_VOICE, sound_search, 1, ATTN_NORM, 0); } -void SP_monster_shalrath(edict_t *self) +void +SP_monster_shalrath(edict_t *self) { self->s.modelindex = gi.modelindex("models/monsters/shalrath/tris.md2"); VectorSet(self->mins, -32, -32, -24); @@ -354,7 +368,7 @@ void SP_monster_shalrath(edict_t *self) self->pain = shalrath_pain; self->die = shalrath_die; - self->monsterinfo.scale = 1.000000; + self->monsterinfo.scale = MODEL_SCALE; gi.linkentity(self); walkmonster_start(self); diff --git a/src/game/monster/shambler/shambler.c b/src/game/monster/shambler/shambler.c index f8b1a29c..f33d7d8a 100644 --- a/src/game/monster/shambler/shambler.c +++ b/src/game/monster/shambler/shambler.c @@ -438,11 +438,11 @@ shambler_melee2(edict_t* self) gi.sound(self, CHAN_WEAPON, sound_melee2, 1, ATTN_NORM, 0); } -void sham_swingl9(edict_t* self); -void sham_swingr9(edict_t* self); +static void sham_swingl9_step(edict_t* self); +static void sham_swingr9_step(edict_t* self); -void -sham_smash10(edict_t* self) +static void +sham_smash10_step(edict_t* self) { if (!self->enemy) return; @@ -489,7 +489,7 @@ static mframe_t shambler_frames_smash[] = { {ai_charge, 0}, {ai_charge, 0}, {ai_charge, 0}, - {ai_charge, 0, sham_smash10}, + {ai_charge, 0, sham_smash10_step}, {ai_charge, 5}, {ai_charge, 4}, }; @@ -511,7 +511,7 @@ static mframe_t shambler_frames_swingl[] = { {ai_charge, 9}, {ai_charge, 5, ShamClaw}, {ai_charge, 4}, - {ai_charge, 8, sham_swingl9}, + {ai_charge, 8, sham_swingl9_step}, }; mmove_t shambler_attack_swingl = @@ -531,7 +531,7 @@ static mframe_t shambler_frames_swingr[] = { {ai_charge, 6}, {ai_charge, 6, ShamClaw}, {ai_charge, 3}, - {ai_charge, 8, sham_swingr9}, + {ai_charge, 8, sham_swingr9_step}, }; mmove_t shambler_attack_swingr = @@ -542,8 +542,8 @@ mmove_t shambler_attack_swingr = shambler_run }; -void -sham_swingl9(edict_t* self) +static void +sham_swingl9_step(edict_t* self) { if (!self) { @@ -565,8 +565,8 @@ sham_swingl9(edict_t* self) } } -void -sham_swingr9(edict_t* self) +static void +sham_swingr9_step(edict_t* self) { if (!self) { @@ -627,7 +627,7 @@ shambler_dead(edict_t* self) gi.linkentity(self); } -void +static void shambler_shrink(edict_t* self) { self->maxs[2] = 0; diff --git a/src/game/monster/tarbaby/tarbaby.c b/src/game/monster/tarbaby/tarbaby.c index 5811391e..e1f02692 100644 --- a/src/game/monster/tarbaby/tarbaby.c +++ b/src/game/monster/tarbaby/tarbaby.c @@ -28,7 +28,8 @@ static int sound_sight; void tarbaby_rejump(edict_t *self); -void tarbaby_unbounce(edict_t *self) +static void +tarbaby_unbounce(edict_t *self) { self->movetype = MOVETYPE_STEP; } @@ -46,7 +47,8 @@ mmove_t tarbaby_move_stand = NULL }; -void tarbaby_stand(edict_t *self) +void +tarbaby_stand(edict_t *self) { self->monsterinfo.currentmove = &tarbaby_move_stand; } @@ -94,18 +96,21 @@ mmove_t tarbaby_move_run = NULL }; -void tarbaby_run(edict_t *self) +void +tarbaby_run(edict_t *self) { self->monsterinfo.currentmove = &tarbaby_move_run; } // Sight -void tarbaby_sight(edict_t *self, edict_t *other /* unused */) +void +tarbaby_sight(edict_t *self, edict_t *other /* unused */) { gi.sound(self, CHAN_VOICE, sound_sight, 1, ATTN_NORM, 0); } -void tarbaby_touch(edict_t *self, edict_t *other, cplane_t *plane, csurface_t *surf) +void +tarbaby_touch(edict_t *self, edict_t *other, cplane_t *plane, csurface_t *surf) { if (other->takedamage) { @@ -132,7 +137,8 @@ void tarbaby_touch(edict_t *self, edict_t *other, cplane_t *plane, csurface_t *s } } -void TarBabyJump(edict_t *self) +static void +tarbaby_jump_step(edict_t *self) { vec3_t forward; @@ -162,7 +168,8 @@ mmove_t tarbaby_move_fly = tarbaby_rejump }; -void tarbaby_fly(edict_t *self) +void +tarbaby_fly(edict_t *self) { self->monsterinfo.currentmove = &tarbaby_move_fly; } @@ -175,7 +182,7 @@ static mframe_t tarbaby_frames_jump [] = {ai_charge, 0, NULL}, {ai_charge, 0, NULL}, - {ai_charge, 0, TarBabyJump}, + {ai_charge, 0, tarbaby_jump_step}, {ai_charge, 0, NULL} }; mmove_t tarbaby_move_jump = @@ -186,19 +193,22 @@ mmove_t tarbaby_move_jump = tarbaby_fly }; -void tarbaby_rejump(edict_t *self) +void +tarbaby_rejump(edict_t *self) { self->monsterinfo.currentmove = &tarbaby_move_jump; self->monsterinfo.nextframe = 54; } // Attack -void tarbaby_attack(edict_t *self) +void +tarbaby_attack(edict_t *self) { self->monsterinfo.currentmove = &tarbaby_move_jump; } -void tarbaby_explode(edict_t *self) +void +tarbaby_explode(edict_t *self) { T_RadiusDamage(self, self, 120, NULL, 160, 0); gi.sound(self, CHAN_VOICE, sound_death, 1, ATTN_NORM, 0); @@ -217,9 +227,9 @@ void tarbaby_explode(edict_t *self) } // Death -void tarbaby_die(edict_t *self, edict_t *inflictor /* unused */, - edict_t *attacker /* unused */, int damage, - vec3_t point /* unused */) +void +tarbaby_die(edict_t *self, edict_t *inflictor /* unused */, + edict_t *attacker /* unused */, int damage, vec3_t point /* unused */) { if (self->deadflag == DEAD_DEAD) return; @@ -230,14 +240,15 @@ void tarbaby_die(edict_t *self, edict_t *inflictor /* unused */, } // Pain -void tarbaby_pain(edict_t *self, edict_t *other /* unused */, +void +tarbaby_pain(edict_t *self, edict_t *other /* unused */, float kick /* unused */, int damage) { } - -void SP_monster_tarbaby(edict_t *self) +void +SP_monster_tarbaby(edict_t *self) { self->s.modelindex = gi.modelindex("models/monsters/tarbaby/tris.md2"); VectorSet(self->mins, -16, -16, -24); @@ -264,7 +275,7 @@ void SP_monster_tarbaby(edict_t *self) self->die = tarbaby_die; self->pain = tarbaby_pain; - self->monsterinfo.scale = 1.000000; + self->monsterinfo.scale = MODEL_SCALE; gi.linkentity(self); walkmonster_start(self); diff --git a/src/game/monster/wizard/wizard.c b/src/game/monster/wizard/wizard.c index 6a357d88..964bf345 100644 --- a/src/game/monster/wizard/wizard.c +++ b/src/game/monster/wizard/wizard.c @@ -59,7 +59,8 @@ mmove_t wizard_move_stand = NULL }; -void wizard_stand(edict_t *self) +void +wizard_stand(edict_t *self) { self->monsterinfo.currentmove = &wizard_move_stand; } @@ -94,12 +95,14 @@ mmove_t wizard_move_run = NULL }; -void wizard_run(edict_t *self) +void +wizard_run(edict_t *self) { self->monsterinfo.currentmove = &wizard_move_run; } -void wizard_frame(edict_t *self) +static void +wizard_frame(edict_t *self) { static int frame = 0; @@ -130,12 +133,14 @@ mmove_t wizard_move_finish = wizard_run }; -void wizard_finish_attack(edict_t *self) +void +wizard_finish_attack(edict_t *self) { self->monsterinfo.currentmove = &wizard_move_finish; } -void spit_touch(edict_t *self, edict_t *other, cplane_t *plane, csurface_t *surf) +void +spit_touch(edict_t *self, edict_t *other, cplane_t *plane, csurface_t *surf) { if (other == self->owner) { @@ -164,7 +169,8 @@ void spit_touch(edict_t *self, edict_t *other, cplane_t *plane, csurface_t *surf G_FreeEdict(self); } -void fire_spit(edict_t *self, vec3_t start, vec3_t dir, int damage, int speed) +static void +spit_fire(edict_t *self, vec3_t start, vec3_t dir, int damage, int speed) { edict_t *spit; trace_t tr; @@ -206,7 +212,8 @@ void fire_spit(edict_t *self, vec3_t start, vec3_t dir, int damage, int speed) } } -void WizardSpit(edict_t *self) +static void +wizard_spit(edict_t *self) { vec3_t forward, right; vec3_t start; @@ -222,10 +229,11 @@ void WizardSpit(edict_t *self) VectorSubtract(vec, start, dir); VectorNormalize(dir); - fire_spit(self, start, dir, 9, 600); + spit_fire(self, start, dir, 9, 600); } -void wizard_prespit(edict_t *self) +static void +wizard_prespit(edict_t *self) { gi.sound(self, CHAN_WEAPON, sound_attack, 1, ATTN_NORM, 0); } @@ -234,11 +242,11 @@ void wizard_prespit(edict_t *self) static mframe_t wizard_frames_attack [] = { {ai_charge, 0, wizard_prespit}, - {ai_charge, 0, WizardSpit}, + {ai_charge, 0, wizard_spit}, {ai_charge, 0, NULL}, {ai_charge, 0, NULL}, - {ai_charge, 0, WizardSpit}, + {ai_charge, 0, wizard_spit}, {ai_charge, 0, NULL} }; mmove_t wizard_move_attack = @@ -249,7 +257,8 @@ mmove_t wizard_move_attack = wizard_finish_attack }; -void wizard_attack(edict_t *self) +void +wizard_attack(edict_t *self) { self->monsterinfo.currentmove = &wizard_move_attack; } @@ -270,7 +279,8 @@ mmove_t wizard_move_pain = wizard_run }; -void wizard_pain(edict_t *self, edict_t *other /* unused */, +void +wizard_pain(edict_t *self, edict_t *other /* unused */, float kick /* unused */, int damage) { if (level.time < self->pain_debounce_time) @@ -284,7 +294,8 @@ void wizard_pain(edict_t *self, edict_t *other /* unused */, self->monsterinfo.currentmove = &wizard_move_pain; } -void wizard_fling(edict_t *self) +static void +wizard_fling(edict_t *self) { self->velocity[0] = -200 + 400 * random(); self->velocity[1] = -200 + 400 * random(); @@ -297,7 +308,8 @@ void wizard_fling(edict_t *self) self->svflags |= SVF_DEADMONSTER; } -void wizard_dead(edict_t *self) +void +wizard_dead(edict_t *self) { self->nextthink = 0; gi.linkentity(self); @@ -324,7 +336,8 @@ mmove_t wizard_move_death = wizard_dead }; -void wizard_die(edict_t *self, edict_t *inflictor, edict_t *attacker, int damage, vec3_t point) +void +wizard_die(edict_t *self, edict_t *inflictor, edict_t *attacker, int damage, vec3_t point) { int n; @@ -349,12 +362,14 @@ void wizard_die(edict_t *self, edict_t *inflictor, edict_t *attacker, int damage self->monsterinfo.currentmove = &wizard_move_death; } -void wizard_sight(edict_t *self, edict_t *other /* unused */) +void +wizard_sight(edict_t *self, edict_t *other /* unused */) { gi.sound(self, CHAN_VOICE, sound_sight, 1, ATTN_NORM, 0); } -void wizard_search(edict_t *self) +void +wizard_search(edict_t *self) { float r; r = random() * 5; @@ -365,7 +380,8 @@ void wizard_search(edict_t *self) gi.sound(self, CHAN_VOICE, sound_idle2, 1, ATTN_NORM, 0); } -void SP_monster_wizard(edict_t *self) +void +SP_monster_wizard(edict_t *self) { self->s.modelindex = gi.modelindex("models/monsters/wizard/tris.md2"); VectorSet(self->mins, -16, -16, -24); @@ -396,7 +412,7 @@ void SP_monster_wizard(edict_t *self) self->pain = wizard_pain; self->die = wizard_die; - self->monsterinfo.scale = 1.000000; + self->monsterinfo.scale = MODEL_SCALE; gi.linkentity(self); flymonster_start(self); diff --git a/src/game/monster/zombie/zombie.c b/src/game/monster/zombie/zombie.c index 8863eb47..76666ec8 100644 --- a/src/game/monster/zombie/zombie.c +++ b/src/game/monster/zombie/zombie.c @@ -228,7 +228,7 @@ fire_zombie_gib(edict_t *self, vec3_t start, vec3_t aimdir, int damage, int spee } static void -FireZombieGib(edict_t *self) +zombie_fire_gib_step(edict_t *self) { vec3_t start; vec3_t forward, right; @@ -260,7 +260,7 @@ static mframe_t zombie_frames_attack1 [] = {ai_charge, 0, NULL}, {ai_charge, 0, NULL}, - {ai_charge, 0, FireZombieGib} + {ai_charge, 0, zombie_fire_gib_step} }; mmove_t zombie_move_attack1 = { @@ -289,7 +289,7 @@ static mframe_t zombie_frames_attack2 [] = {ai_charge, 0, NULL}, {ai_charge, 0, NULL}, - {ai_charge, 0, FireZombieGib} + {ai_charge, 0, zombie_fire_gib_step} }; mmove_t zombie_move_attack2 = { @@ -315,7 +315,7 @@ static mframe_t zombie_frames_attack3 [] = {ai_charge, 0, NULL}, {ai_charge, 0, NULL}, {ai_charge, 0, NULL}, - {ai_charge, 0, FireZombieGib}, + {ai_charge, 0, zombie_fire_gib_step}, }; mmove_t zombie_move_attack3 = { @@ -755,7 +755,7 @@ SP_monster_zombie(edict_t *self) self->pain = zombie_pain; self->die = zombie_die; - self->monsterinfo.scale = 1.000000; + self->monsterinfo.scale = MODEL_SCALE; gi.linkentity(self); walkmonster_start(self); diff --git a/src/game/savegame/tables/gamefunc_decs.h b/src/game/savegame/tables/gamefunc_decs.h index 79987374..0f85c0c6 100644 --- a/src/game/savegame/tables/gamefunc_decs.h +++ b/src/game/savegame/tables/gamefunc_decs.h @@ -89,7 +89,7 @@ extern qboolean berserk_blocked ( edict_t * self , float dist ) ; extern qboolean blocked_checkjump ( edict_t * self , float dist , float maxDown , float maxUp ) ; extern qboolean blocked_checknewenemy ( edict_t * self ) ; extern qboolean blocked_checkplat ( edict_t * self , float dist ) ; -extern qboolean canReach(edict_t *self, edict_t *other) ; +extern qboolean canReach ( edict_t * self , edict_t * other ) ; extern qboolean chick_blocked ( edict_t * self , float dist ) ; extern qboolean face_wall ( edict_t * self ) ; extern qboolean fire_hit ( edict_t * self , vec3_t aim , int damage , int kick ) ; @@ -102,11 +102,11 @@ extern qboolean gladiator_blocked ( edict_t *self , float dist ) ; extern qboolean gunner_blocked ( edict_t * self , float dist ) ; extern qboolean gunner_grenade_check ( edict_t * self ) ; extern qboolean has_valid_enemy ( edict_t * self ) ; -extern qboolean hover_blocked ( edict_t *self, float dist ) ; +extern qboolean hover_blocked ( edict_t * self , float dist ) ; extern qboolean inback ( edict_t * self , edict_t * other ) ; extern qboolean infantry_blocked ( edict_t * self , float dist ) ; extern qboolean infront ( edict_t * self , edict_t * other ) ; -extern qboolean medic_blocked ( edict_t *self, float dist ) ; +extern qboolean medic_blocked ( edict_t * self , float dist ) ; extern qboolean medic_checkattack ( edict_t * self ) ; extern qboolean monster_jump_finished ( edict_t * self ) ; extern qboolean monster_start ( edict_t * self ) ; @@ -120,7 +120,7 @@ extern qboolean parasite_checkattack ( edict_t * self ) ; extern qboolean soldier_blocked ( edict_t * self , float dist ) ; extern qboolean stalker_blocked ( edict_t * self , float dist ) ; extern qboolean supertank_blocked ( edict_t * self , float dist ) ; -extern qboolean tank_blocked( edict_t *self, float dist ); +extern qboolean tank_blocked( edict_t * self , float dist ); extern qboolean turret_checkattack ( edict_t * self ) ; extern qboolean visible ( edict_t * self , edict_t * other ) ; extern qboolean widow_blocked ( edict_t * self , float dist ) ; @@ -148,7 +148,7 @@ extern void CarrierSaveLoc ( edict_t * self ) ; extern void CarrierSpawn ( edict_t * self ) ; extern void Chaingun_Fire ( edict_t * ent ) ; extern void ChangeWeapon ( edict_t * ent ) ; -extern void ChasecamTrack(edict_t *ent); +extern void ChasecamTrack ( edict_t * ent ) ; extern void ChickMoan ( edict_t * self ) ; extern void ChickReload ( edict_t * self ) ; extern void ChickRocket ( edict_t * self ) ; @@ -253,7 +253,6 @@ extern void SV_Physics_Toss ( edict_t * ent ) ; extern void SetRespawn ( edict_t * ent , float delay ) ; extern void SetTriggeredSpawn ( edict_t * ent ) ; extern void SpawnItem ( edict_t * ent , gitem_t * item ) ; -extern void viewthing_think ( edict_t * ent ) ; extern void Tag_DogTag ( edict_t * ent , edict_t * killer , char * * pic ) ; extern void Tag_DropToken ( edict_t * ent , gitem_t * item ) ; extern void Tag_KillItBonus ( edict_t * self ) ; @@ -381,7 +380,7 @@ extern void WidowRail ( edict_t * self ) ; extern void WidowRespondPowerup ( edict_t * self , edict_t * other ) ; extern void WidowSaveLoc ( edict_t * self ) ; extern void WidowSpawn ( edict_t * self ) ; -extern void abortHeal ( edict_t *self, qboolean change_frame, qboolean gib, qboolean mark ) ; +extern void abortHeal ( edict_t * self , qboolean change_frame , qboolean gib , qboolean mark ) ; extern void actorMachineGun ( edict_t * self ) ; extern void actor_attack ( edict_t * self ) ; extern void actor_dead ( edict_t * self ) ; @@ -409,16 +408,24 @@ extern void amb4_think ( edict_t * ent ) ; extern void arachnid_attack ( edict_t * self ) ; extern void arachnid_charge_rail ( edict_t * self ) ; extern void arachnid_dead ( edict_t * self ) ; -extern void arachnid_die(edict_t *self, edict_t *inflictor /* unused */, edict_t *attacker /* unused */, int damage, vec3_t point /* unused */); +extern void arachnid_die ( edict_t * self , edict_t *inflictor , edict_t *attacker , int damage, vec3_t point ) ; extern void arachnid_footstep ( edict_t * self ) ; extern void arachnid_melee_charge ( edict_t * self ) ; extern void arachnid_melee_hit ( edict_t * self ) ; -extern void arachnid_pain(edict_t *self, edict_t *other /* other */, float kick /* other */, int damage); +extern void arachnid_pain ( edict_t * self , edict_t *other , float kick , int damage); extern void arachnid_rail ( edict_t * self ) ; extern void arachnid_run ( edict_t * self ) ; -extern void arachnid_sight(edict_t *self, edict_t *other /* unused */); +extern void arachnid_sight ( edict_t * self , edict_t *other ); extern void arachnid_stand ( edict_t * self ) ; extern void arachnid_walk ( edict_t * self ) ; +extern void army_attack ( edict_t * self ) ; +extern void army_dead ( edict_t * self ) ; +extern void army_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage, vec3_t point ) ; +extern void army_pain ( edict_t * self , edict_t * other , float kick , int damage ) ; +extern void army_run ( edict_t * self ) ; +extern void army_search ( edict_t * self ) ; +extern void army_sight ( edict_t * self , edict_t *other ) ; +extern void army_stand ( edict_t * self ) ; extern void badarea_touch ( edict_t * ent , edict_t * other , cplane_t * plane , csurface_t * surf ) ; extern void barrel_delay ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ; extern void barrel_explode ( edict_t * self ) ; @@ -430,7 +437,7 @@ extern void berserk_attack_spike ( edict_t * self ) ; extern void berserk_dead ( edict_t * self ) ; extern void berserk_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ; extern void berserk_fidget ( edict_t * self ) ; -extern void berserk_footstep( edict_t *self ) ; +extern void berserk_footstep ( edict_t *self ) ; extern void berserk_melee ( edict_t * self ) ; extern void berserk_pain ( edict_t * self , edict_t * other , float kick , int damage ) ; extern void berserk_run ( edict_t * self ) ; @@ -486,7 +493,7 @@ extern void brain_duck ( edict_t * self , float eta ) ; extern void brain_duck_down ( edict_t * self ) ; extern void brain_duck_hold ( edict_t * self ) ; extern void brain_duck_up ( edict_t * self ) ; -extern void brain_footstep( edict_t *self ) ; +extern void brain_footstep ( edict_t *self ) ; extern void brain_hit_left ( edict_t * self ) ; extern void brain_hit_right ( edict_t * self ) ; extern void brain_idle ( edict_t * self ) ; @@ -541,7 +548,7 @@ extern void chick_duck_down ( edict_t * self ) ; extern void chick_duck_hold ( edict_t * self ) ; extern void chick_duck_up ( edict_t * self ) ; extern void chick_fidget ( edict_t * self ) ; -extern void chick_footstep( edict_t *self ) ; +extern void chick_footstep ( edict_t *self ) ; extern void chick_melee ( edict_t * self ) ; extern void chick_pain ( edict_t * self , edict_t * other , float kick , int damage ) ; extern void chick_rerocket ( edict_t * self ) ; @@ -563,6 +570,26 @@ extern void debris_die ( edict_t * self , edict_t * inflictor , edict_t * attack extern void defender_pain ( edict_t * self , edict_t * other , float kick , int damage ) ; extern void defender_shoot ( edict_t * self , edict_t * enemy ) ; extern void defender_think ( edict_t * self ) ; +extern void demon_attack ( edict_t * self ) ; +extern void demon_dead ( edict_t * self ) ; +extern void demon_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage, vec3_t point); +extern void demon_jump_touch ( edict_t * self , edict_t * other , cplane_t *plane, csurface_t *surf); +extern void demon_melee ( edict_t * self ) ; +extern void demon_pain ( edict_t * self , edict_t * other , float kick, int damage); +extern void demon_run ( edict_t * self ) ; +extern void demon_search ( edict_t * self ) ; +extern void demon_sight ( edict_t * self , edict_t *other ); +extern void demon_stand ( edict_t * self ) ; +extern void dog_dead ( edict_t * self ) ; +extern void dog_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage, vec3_t point); +extern void dog_leap ( edict_t * self ) ; +extern void dog_leap_touch ( edict_t * self , edict_t * other , cplane_t *plane, csurface_t *surf); +extern void dog_melee ( edict_t * self ) ; +extern void dog_pain ( edict_t * self , edict_t * other , float kick , int damage); +extern void dog_run ( edict_t * self ) ; +extern void dog_search ( edict_t * self ) ; +extern void dog_sight ( edict_t * self , edict_t *other ); +extern void dog_stand ( edict_t * self ) ; extern void door_blocked ( edict_t * self , edict_t * other ) ; extern void door_go_down ( edict_t * self ) ; extern void door_go_up ( edict_t * self , edict_t * activator ) ; @@ -589,13 +616,16 @@ extern void drawbbox ( edict_t * self ) ; extern void drop_make_touchable ( edict_t * ent ) ; extern void drop_temp_touch ( edict_t * ent , edict_t * other , cplane_t * plane , csurface_t * surf ) ; extern void droptofloor ( edict_t * ent ) ; -extern void enfbolt_touch(edict_t *self, edict_t *other, cplane_t *plane, csurface_t *surf); +extern void enfbolt_touch ( edict_t * self , edict_t * other , cplane_t * plane, csurface_t *surf); extern void enforcer_attack ( edict_t * self ) ; extern void enforcer_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ; +extern void enforcer_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage, vec3_t point); extern void enforcer_pain ( edict_t * self , edict_t * other , float kick , int damage ) ; +extern void enforcer_pain ( edict_t * self , edict_t * other , float kick , int damage); extern void enforcer_run ( edict_t * self ) ; extern void enforcer_search ( edict_t * self ) ; extern void enforcer_sight ( edict_t * self , edict_t * other ) ; +extern void enforcer_sight ( edict_t * self , edict_t *other ); extern void enforcer_stand ( edict_t * self ) ; extern void enforcer_walk ( edict_t * self ) ; extern void fd_secret_done ( edict_t * self ) ; @@ -632,6 +662,13 @@ extern void fire_shotgun ( edict_t * self , vec3_t start , vec3_t aimdir , int d extern void fire_tesla ( edict_t * self , vec3_t start , vec3_t aimdir , int damage_multiplier , int speed ) ; extern void fire_tracker ( edict_t * self , vec3_t start , vec3_t dir , int damage , int speed , edict_t * enemy ) ; extern void fire_trap ( edict_t * self , vec3_t start , vec3_t aimdir , int damage , int speed , float timer , float damage_radius , qboolean held ) ; +extern void fish_dead ( edict_t * self ) ; +extern void fish_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage, vec3_t point ) ; +extern void fish_melee ( edict_t * self ) ; +extern void fish_pain ( edict_t * self , edict_t * other , float kick , int damage ) ; +extern void fish_run ( edict_t * self ) ; +extern void fish_search ( edict_t * self ) ; +extern void fish_stand ( edict_t * self ) ; extern void fixbot_attack ( edict_t * self ) ; extern void fixbot_dead ( edict_t * self ) ; extern void fixbot_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ; @@ -770,7 +807,7 @@ extern void gladiator_attack ( edict_t * self ) ; extern void gladiator_cleaver_swing ( edict_t * self ) ; extern void gladiator_dead ( edict_t * self ) ; extern void gladiator_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ; -extern void gladiator_footstep( edict_t *self ) ; +extern void gladiator_footstep ( edict_t *self ) ; extern void gladiator_idle ( edict_t * self ) ; extern void gladiator_melee ( edict_t * self ) ; extern void gladiator_pain ( edict_t * self , edict_t * other , float kick , int damage ) ; @@ -787,14 +824,14 @@ extern void guardian_atk2 ( edict_t * self ) ; extern void guardian_atk2_out ( edict_t * self ) ; extern void guardian_attack ( edict_t * self ) ; extern void guardian_dead ( edict_t * self ) ; -extern void guardian_die(edict_t *self, edict_t *inflictor /* unused */, edict_t *attacker /* unused */, int damage, vec3_t point /* unused */); +extern void guardian_die ( edict_t * self , edict_t *inflictor , edict_t *attacker , int damage, vec3_t point ); extern void guardian_explode ( edict_t * self ) ; extern void guardian_fire_blaster ( edict_t * self ) ; extern void guardian_footstep ( edict_t * self ) ; extern void guardian_hyper_sound ( edict_t * self ) ; extern void guardian_kick ( edict_t * self ) ; extern void guardian_laser_fire ( edict_t * self ) ; -extern void guardian_pain(edict_t *self, edict_t *other /* other */, float kick /* other */, int damage); +extern void guardian_pain ( edict_t * self , edict_t * other , float kick , int damage); extern void guardian_run ( edict_t * self ) ; extern void guardian_stand ( edict_t * self ) ; extern void guardian_walk ( edict_t * self ) ; @@ -809,7 +846,7 @@ extern void gunner_duck_hold ( edict_t * self ) ; extern void gunner_duck_up ( edict_t * self ) ; extern void gunner_fidget ( edict_t * self ) ; extern void gunner_fire_chain ( edict_t * self ) ; -extern void gunner_footstep( edict_t *self ) ; +extern void gunner_footstep ( edict_t *self ) ; extern void gunner_idlesound ( edict_t * self ) ; extern void gunner_jump ( edict_t * self ) ; extern void gunner_jump2_now ( edict_t * self ) ; @@ -829,6 +866,15 @@ extern void heat_think ( edict_t * self ) ; extern void hint_path_touch ( edict_t * self , edict_t * other , cplane_t * plane , csurface_t * surf ) ; extern void hintpath_go ( edict_t * self , edict_t * point ) ; extern void hintpath_stop ( edict_t * self ) ; +extern void hknight_attack ( edict_t * self ) ; +extern void hknight_dead ( edict_t * self ) ; +extern void hknight_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage, vec3_t point) ; +extern void hknight_melee ( edict_t * self ) ; +extern void hknight_pain ( edict_t * self , edict_t * other , float kick, int damage) ; +extern void hknight_run ( edict_t * self ) ; +extern void hknight_search ( edict_t * self ) ; +extern void hknight_sight ( edict_t * self , edict_t *other ) ; +extern void hknight_stand ( edict_t * self ) ; extern void hover_attack ( edict_t * self ) ; extern void hover_dead ( edict_t * self ) ; extern void hover_deadthink ( edict_t * self ) ; @@ -859,7 +905,7 @@ extern void infantry_duck_up ( edict_t * self ) ; extern void infantry_fidget ( edict_t * self ) ; extern void infantry_fire ( edict_t * self ) ; extern void infantry_fire_prep ( edict_t * self ) ; -extern void infantry_footstep( edict_t *self ) ; +extern void infantry_footstep ( edict_t *self ) ; extern void infantry_jump ( edict_t * self ) ; extern void infantry_jump2_now ( edict_t * self ) ; extern void infantry_jump_now ( edict_t * self ) ; @@ -879,7 +925,7 @@ extern void insane_cross ( edict_t * self ) ; extern void insane_dead ( edict_t * self ) ; extern void insane_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ; extern void insane_fist ( edict_t * self ) ; -extern void insane_footstep( edict_t *self ) ; +extern void insane_footstep ( edict_t *self ) ; extern void insane_moan ( edict_t * self ) ; extern void insane_onground ( edict_t * self ) ; extern void insane_pain ( edict_t * self , edict_t * other , float kick , int damage ) ; @@ -909,11 +955,21 @@ extern void jorg_stand ( edict_t * self ) ; extern void jorg_step_left ( edict_t * self ) ; extern void jorg_step_right ( edict_t * self ) ; extern void jorg_walk ( edict_t * self ) ; +extern void knight_attack ( edict_t * self ) ; +extern void knight_dead ( edict_t * self ) ; +extern void knight_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage, vec3_t point) ; +extern void knight_melee ( edict_t * self ) ; +extern void knight_pain (edict_t * self , edict_t * other , float kick , int damage) ; +extern void knight_run ( edict_t * self ) ; +extern void knight_search ( edict_t * self ) ; +extern void knight_sight ( edict_t * self , edict_t *other ) ; +extern void knight_stand ( edict_t * self ) ; extern void land_to_water ( edict_t * self ) ; extern void landing_goal ( edict_t * self ) ; extern void light_use ( edict_t * self , edict_t * other , edict_t * activator ) ; extern void loogie ( edict_t * self ) ; extern void loogie_touch ( edict_t * self , edict_t * other , cplane_t * plane , csurface_t * surf ) ; +extern void magic_touch ( edict_t * self, edict_t * other , cplane_t *plane, csurface_t *surf) ; extern void makronBFG ( edict_t * self ) ; extern void makron_attack ( edict_t * self ) ; extern void makron_brainsplorch ( edict_t * self ) ; @@ -941,20 +997,20 @@ extern void medic_dead ( edict_t * self ) ; extern void medic_determine_spawn ( edict_t *self ) ; extern void medic_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ; extern void medic_dodge ( edict_t * self , edict_t * attacker , float eta, trace_t *tr ) ; -extern void medic_duck( edict_t *self, float eta ) ; +extern void medic_duck ( edict_t * self , float eta ) ; extern void medic_duck_down ( edict_t * self ) ; extern void medic_duck_hold ( edict_t * self ) ; extern void medic_duck_up ( edict_t * self ) ; extern void medic_finish_spawn ( edict_t *self ); extern void medic_fire_blaster ( edict_t * self ) ; -extern void medic_footstep( edict_t *self ) ; +extern void medic_footstep ( edict_t *self ) ; extern void medic_hook_launch ( edict_t * self ) ; extern void medic_hook_retract ( edict_t * self ) ; extern void medic_idle ( edict_t * self ) ; extern void medic_pain ( edict_t * self , edict_t * other , float kick , int damage ) ; extern void medic_run ( edict_t * self ) ; extern void medic_search ( edict_t * self ) ; -extern void medic_sidestep( edict_t *self ) ; +extern void medic_sidestep ( edict_t *self ) ; extern void medic_sight ( edict_t * self , edict_t * other ) ; extern void medic_spawngrows ( edict_t *self ); extern void medic_stand ( edict_t * self ) ; @@ -1031,6 +1087,15 @@ extern void nuke_die ( edict_t * self , edict_t * inflictor , edict_t * attacker extern void object_repair_dead ( edict_t * ent ) ; extern void object_repair_fx ( edict_t * ent ) ; extern void object_repair_sparks ( edict_t * ent ) ; +extern void ogre_attack ( edict_t * self ) ; +extern void ogre_dead ( edict_t * self ) ; +extern void ogre_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage, vec3_t point ) ; +extern void ogre_melee ( edict_t * self ) ; +extern void ogre_pain ( edict_t * self , edict_t * other , float kick , int damage ) ; +extern void ogre_run ( edict_t * self ) ; +extern void ogre_search ( edict_t * self ) ; +extern void ogre_sight ( edict_t * self , edict_t *other ) ; +extern void ogre_stand ( edict_t * self ) ; extern void orb_think ( edict_t * self ) ; extern void parasite_attack ( edict_t * self ) ; extern void parasite_dead ( edict_t * self ) ; @@ -1094,25 +1159,31 @@ extern void rotating_touch ( edict_t * self , edict_t * other , cplane_t * plane extern void rotating_use ( edict_t * self , edict_t * other , edict_t * activator ) ; extern void secret_blocked ( edict_t * self , edict_t * other ) ; extern void secret_touch ( edict_t * self , edict_t * other , cplane_t * plane , csurface_t * surf ) ; -extern void sham_smash10(edict_t* self); -extern void sham_swingl9(edict_t* self); -extern void sham_swingr9(edict_t* self); -extern void shambler_attack(edict_t* self); -extern void shambler_dead(edict_t* self); -extern void shambler_die(edict_t *self, edict_t *inflictor /* unused */, edict_t *attacker /* unused */, int damage, vec3_t point /* unused */); -extern void shambler_idle(edict_t* self); +extern void shalrath_attack ( edict_t * self ) ; +extern void shalrath_dead ( edict_t * self ) ; +extern void shalrath_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage, vec3_t point ) ; +extern void shalrath_pain ( edict_t * self , edict_t * other , float kick , int damage ) ; +extern void shalrath_pod_home ( edict_t * self ) ; +extern void shalrath_pod_touch ( edict_t * self , edict_t * other , cplane_t *plane, csurface_t * surf ) ; +extern void shalrath_run ( edict_t * self ) ; +extern void shalrath_search ( edict_t * self ) ; +extern void shalrath_sight ( edict_t * self , edict_t *other ) ; +extern void shalrath_stand ( edict_t * self ) ; +extern void shambler_attack ( edict_t * self ) ; +extern void shambler_dead (edict_t * self ) ; +extern void shambler_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage, vec3_t point ) ; +extern void shambler_idle ( edict_t * self); extern void shambler_lightning_update ( edict_t * self ) ; -extern void shambler_maybe_idle(edict_t* self); -extern void shambler_melee(edict_t* self); -extern void shambler_melee1(edict_t* self); -extern void shambler_melee2(edict_t* self); -extern void shambler_pain(edict_t *self, edict_t *other /* unused */, float kick /* unused */, int damage /* unused */); -extern void shambler_run(edict_t* self); -extern void shambler_shrink(edict_t* self); -extern void shambler_sight(edict_t* self, edict_t* other); -extern void shambler_stand(edict_t* self); -extern void shambler_walk(edict_t* self); -extern void shambler_windup(edict_t* self); +extern void shambler_maybe_idle ( edict_t * self); +extern void shambler_melee (edict_t* self); +extern void shambler_melee1 (edict_t* self); +extern void shambler_melee2 (edict_t* self); +extern void shambler_pain ( edict_t * self , edict_t * other , float kick , int damage ); +extern void shambler_run ( edict_t * self ); +extern void shambler_sight ( edict_t * self, edict_t* other); +extern void shambler_stand ( edict_t * self); +extern void shambler_walk ( edict_t * self); +extern void shambler_windup ( edict_t * self); extern void showme ( edict_t * self ) ; extern void smart_water_blocked ( edict_t * self , edict_t * other ) ; extern void smart_water_go_up ( edict_t * self ) ; @@ -1142,7 +1213,7 @@ extern void soldier_fire6 ( edict_t * self ) ; extern void soldier_fire7 ( edict_t * self ) ; extern void soldier_fire8 ( edict_t * self ) ; extern void soldier_fire_run ( edict_t * self ) ; -extern void soldier_footstep( edict_t *self ) ; +extern void soldier_footstep ( edict_t *self ) ; extern void soldier_idle ( edict_t * self ) ; extern void soldier_pain ( edict_t * self , edict_t * other , float kick , int damage ) ; extern void soldier_run ( edict_t * self ) ; @@ -1199,6 +1270,7 @@ extern void sphere_fly ( edict_t * self ) ; extern void sphere_if_idle_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ; extern void sphere_think_explode ( edict_t * self ) ; extern void sphere_touch ( edict_t * self , edict_t * other , cplane_t * plane , csurface_t * surf , int mod ) ; +extern void spit_touch ( edict_t * self , edict_t * other , cplane_t *plane, csurface_t *surf); extern void stalker_attack_melee ( edict_t * self ) ; extern void stalker_attack_ranged ( edict_t * self ) ; extern void stalker_dead ( edict_t * self ) ; @@ -1243,6 +1315,7 @@ extern void supertank_stand ( edict_t * self ) ; extern void supertank_walk ( edict_t * self ) ; extern void swimmonster_start ( edict_t * self ) ; extern void swimmonster_start_go ( edict_t * self ) ; +extern void swing_sword_step ( edict_t * self ) ; extern void takeoff_goal ( edict_t * self ) ; extern void tank_attack ( edict_t * self ) ; extern void tank_dead ( edict_t * self ) ; @@ -1261,6 +1334,16 @@ extern void tank_stand_think ( edict_t * self ) ; extern void tank_thud ( edict_t * self ) ; extern void tank_walk ( edict_t * self ) ; extern void tank_windup ( edict_t * self ) ; +extern void tarbaby_attack ( edict_t * self ) ; +extern void tarbaby_die ( edict_t * self , edict_t *inflictor , edict_t *attacker , int damage, vec3_t point ); +extern void tarbaby_explode ( edict_t * self ) ; +extern void tarbaby_fly ( edict_t * self ) ; +extern void tarbaby_pain (edict_t * self , edict_t * other , float kick , int damage); +extern void tarbaby_rejump ( edict_t * self ) ; +extern void tarbaby_run ( edict_t * self ) ; +extern void tarbaby_sight ( edict_t * self , edict_t *other ); +extern void tarbaby_stand ( edict_t * self ) ; +extern void tarbaby_touch ( edict_t * self , edict_t * other , cplane_t *plane, csurface_t *surf); extern void target_actor_touch ( edict_t * self , edict_t * other , cplane_t * plane , csurface_t * surf ) ; extern void target_anger_use ( edict_t * self , edict_t * other , edict_t * activator ) ; extern void target_crosslevel_target_think ( edict_t * self ) ; @@ -1358,7 +1441,8 @@ extern void use_target_steam ( edict_t * self , edict_t * other , edict_t * acti extern void vengeance_pain ( edict_t * self , edict_t * other , float kick , int damage ) ; extern void vengeance_think ( edict_t * self ) ; extern void vengeance_touch ( edict_t * self , edict_t * other , cplane_t * plane , csurface_t * surf ) ; -extern void wait_and_change_think(edict_t* ent); +extern void viewthing_think ( edict_t * ent ) ; +extern void wait_and_change_think ( edict_t * ent ) ; extern void walkmonster_start ( edict_t * self ) ; extern void walkmonster_start_go ( edict_t * self ) ; extern void water_to_land ( edict_t * self ) ; @@ -1419,13 +1503,25 @@ extern void widow_step ( edict_t * self ) ; extern void widow_stepshoot ( edict_t * self ) ; extern void widow_walk ( edict_t * self ) ; extern void widowlegs_think ( edict_t * self ) ; -extern void zombie_touch(edict_t *self, edict_t *other, cplane_t *plane, csurface_t *surf); -extern void zombie_gib_touch(edict_t *self, edict_t *other, cplane_t *plane, csurface_t *surf); +extern void wizard_attack ( edict_t * self ) ; +extern void wizard_dead ( edict_t * self ) ; +extern void wizard_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage, vec3_t point); +extern void wizard_finish_attack ( edict_t * self ) ; +extern void wizard_pain ( edict_t * self , edict_t * other , float kick , int damage); +extern void wizard_run ( edict_t * self ) ; +extern void wizard_search ( edict_t * self ) ; +extern void wizard_sight ( edict_t * self , edict_t *other ); +extern void wizard_stand ( edict_t * self ) ; extern void zombie_attack ( edict_t * self ) ; extern void zombie_die ( edict_t * self , edict_t * inflictor , edict_t * attacker , int damage , vec3_t point ) ; +extern void zombie_die (edict_t * self , edict_t * inflictor , edict_t * attacker , int damage, vec3_t point) ; +extern void zombie_gib_touch ( edict_t * self , edict_t * other , cplane_t *plane, csurface_t *surf); extern void zombie_pain ( edict_t * self , edict_t * other , float kick , int damage ) ; +extern void zombie_pain (edict_t * self , edict_t * other , float kick, int damage) ; extern void zombie_run ( edict_t * self ) ; extern void zombie_search ( edict_t * self ) ; +extern void zombie_sight ( edict_t * self , edict_t *other ) ; extern void zombie_sight ( edict_t * self , edict_t * other ) ; extern void zombie_stand ( edict_t * self ) ; +extern void zombie_touch ( edict_t * self , edict_t * other , cplane_t *plane, csurface_t *surf); extern void zombie_walk ( edict_t * self ) ; diff --git a/src/game/savegame/tables/gamefunc_list.h b/src/game/savegame/tables/gamefunc_list.h index 59769838..eacdd099 100644 --- a/src/game/savegame/tables/gamefunc_list.h +++ b/src/game/savegame/tables/gamefunc_list.h @@ -202,7 +202,6 @@ {"SetRespawn", (byte *)SetRespawn}, {"SetTriggeredSpawn", (byte *)SetTriggeredSpawn}, {"SpawnItem", (byte *)SpawnItem}, -{"viewthing_think", (byte *)viewthing_think}, {"Tag_ChangeDamage", (byte *)Tag_ChangeDamage}, {"Tag_DogTag", (byte *)Tag_DogTag}, {"Tag_DropToken", (byte *)Tag_DropToken}, @@ -373,6 +372,14 @@ {"arachnid_sight", (byte *)arachnid_sight}, {"arachnid_stand", (byte *)arachnid_stand}, {"arachnid_walk", (byte *)arachnid_walk}, +{"army_attack", (byte *)army_attack}, +{"army_dead", (byte *)army_dead}, +{"army_die", (byte *)army_die}, +{"army_pain", (byte *)army_pain}, +{"army_run", (byte *)army_run}, +{"army_search", (byte *)army_search}, +{"army_sight", (byte *)army_sight}, +{"army_stand", (byte *)army_stand}, {"badarea_touch", (byte *)badarea_touch}, {"barrel_delay", (byte *)barrel_delay}, {"barrel_explode", (byte *)barrel_explode}, @@ -525,6 +532,26 @@ {"defender_pain", (byte *)defender_pain}, {"defender_shoot", (byte *)defender_shoot}, {"defender_think", (byte *)defender_think}, +{"demon_attack", (byte *)demon_attack}, +{"demon_dead", (byte *)demon_dead}, +{"demon_die", (byte *)demon_die}, +{"demon_jump_touch", (byte *)demon_jump_touch}, +{"demon_melee", (byte *)demon_melee}, +{"demon_pain", (byte *)demon_pain}, +{"demon_run", (byte *)demon_run}, +{"demon_search", (byte *)demon_search}, +{"demon_sight", (byte *)demon_sight}, +{"demon_stand", (byte *)demon_stand}, +{"dog_dead", (byte *)dog_dead}, +{"dog_die", (byte *)dog_die}, +{"dog_leap", (byte *)dog_leap}, +{"dog_leap_touch", (byte *)dog_leap_touch}, +{"dog_melee", (byte *)dog_melee}, +{"dog_pain", (byte *)dog_pain}, +{"dog_run", (byte *)dog_run}, +{"dog_search", (byte *)dog_search}, +{"dog_sight", (byte *)dog_sight}, +{"dog_stand", (byte *)dog_stand}, {"door_blocked", (byte *)door_blocked}, {"door_go_down", (byte *)door_go_down}, {"door_go_up", (byte *)door_go_up}, @@ -581,6 +608,7 @@ {"fire_grenade", (byte *)fire_grenade}, {"fire_grenade2", (byte *)fire_grenade2}, {"fire_heat", (byte *)fire_heat}, +{"fire_heatbeam", (byte *)fire_heatbeam}, {"fire_hit", (byte *)fire_hit}, {"fire_ionripper", (byte *)fire_ionripper}, {"fire_lead", (byte *)fire_lead}, @@ -595,6 +623,13 @@ {"fire_tesla", (byte *)fire_tesla}, {"fire_tracker", (byte *)fire_tracker}, {"fire_trap", (byte *)fire_trap}, +{"fish_dead", (byte *)fish_dead}, +{"fish_die", (byte *)fish_die}, +{"fish_melee", (byte *)fish_melee}, +{"fish_pain", (byte *)fish_pain}, +{"fish_run", (byte *)fish_run}, +{"fish_search", (byte *)fish_search}, +{"fish_stand", (byte *)fish_stand}, {"fixbot_attack", (byte *)fixbot_attack}, {"fixbot_dead", (byte *)fixbot_dead}, {"fixbot_die", (byte *)fixbot_die}, @@ -803,6 +838,15 @@ {"hint_path_touch", (byte *)hint_path_touch}, {"hintpath_go", (byte *)hintpath_go}, {"hintpath_stop", (byte *)hintpath_stop}, +{"hknight_attack", (byte *)hknight_attack}, +{"hknight_dead", (byte *)hknight_dead}, +{"hknight_die", (byte *)hknight_die}, +{"hknight_melee", (byte *)hknight_melee}, +{"hknight_pain", (byte *)hknight_pain}, +{"hknight_run", (byte *)hknight_run}, +{"hknight_search", (byte *)hknight_search}, +{"hknight_sight", (byte *)hknight_sight}, +{"hknight_stand", (byte *)hknight_stand}, {"hover_attack", (byte *)hover_attack}, {"hover_blocked", (byte *)hover_blocked}, {"hover_dead", (byte *)hover_dead}, @@ -887,11 +931,21 @@ {"jorg_step_left", (byte *)jorg_step_left}, {"jorg_step_right", (byte *)jorg_step_right}, {"jorg_walk", (byte *)jorg_walk}, +{"knight_attack", (byte *)knight_attack}, +{"knight_dead", (byte *)knight_dead}, +{"knight_die", (byte *)knight_die}, +{"knight_melee", (byte *)knight_melee}, +{"knight_pain", (byte *)knight_pain}, +{"knight_run", (byte *)knight_run}, +{"knight_search", (byte *)knight_search}, +{"knight_sight", (byte *)knight_sight}, +{"knight_stand", (byte *)knight_stand}, {"land_to_water", (byte *)land_to_water}, {"landing_goal", (byte *)landing_goal}, {"light_use", (byte *)light_use}, {"loogie", (byte *)loogie}, {"loogie_touch", (byte *)loogie_touch}, +{"magic_touch", (byte *)magic_touch}, {"makronBFG", (byte *)makronBFG}, {"makron_attack", (byte *)makron_attack}, {"makron_brainsplorch", (byte *)makron_brainsplorch}, @@ -1018,6 +1072,15 @@ {"object_repair_dead", (byte *)object_repair_dead}, {"object_repair_fx", (byte *)object_repair_fx}, {"object_repair_sparks", (byte *)object_repair_sparks}, +{"ogre_attack", (byte *)ogre_attack}, +{"ogre_dead", (byte *)ogre_dead}, +{"ogre_die", (byte *)ogre_die}, +{"ogre_melee", (byte *)ogre_melee}, +{"ogre_pain", (byte *)ogre_pain}, +{"ogre_run", (byte *)ogre_run}, +{"ogre_search", (byte *)ogre_search}, +{"ogre_sight", (byte *)ogre_sight}, +{"ogre_stand", (byte *)ogre_stand}, {"orb_think", (byte *)orb_think}, {"parasite_attack", (byte *)parasite_attack}, {"parasite_blocked", (byte *)parasite_blocked}, @@ -1084,9 +1147,16 @@ {"rotating_use", (byte *)rotating_use}, {"secret_blocked", (byte *)secret_blocked}, {"secret_touch", (byte *)secret_touch}, -{"sham_smash10", (byte *)sham_smash10}, -{"sham_swingl9", (byte *)sham_swingl9}, -{"sham_swingr9", (byte *)sham_swingr9}, +{"shalrath_attack", (byte *)shalrath_attack}, +{"shalrath_dead", (byte *)shalrath_dead}, +{"shalrath_die", (byte *)shalrath_die}, +{"shalrath_pain", (byte *)shalrath_pain}, +{"shalrath_pod_home", (byte *)shalrath_pod_home}, +{"shalrath_pod_touch", (byte *)shalrath_pod_touch}, +{"shalrath_run", (byte *)shalrath_run}, +{"shalrath_search", (byte *)shalrath_search}, +{"shalrath_sight", (byte *)shalrath_sight}, +{"shalrath_stand", (byte *)shalrath_stand}, {"shambler_attack", (byte *)shambler_attack}, {"shambler_dead", (byte *)shambler_dead}, {"shambler_die", (byte *)shambler_die}, @@ -1098,7 +1168,6 @@ {"shambler_melee2", (byte *)shambler_melee2}, {"shambler_pain", (byte *)shambler_pain}, {"shambler_run", (byte *)shambler_run}, -{"shambler_shrink", (byte *)shambler_shrink}, {"shambler_sight", (byte *)shambler_sight}, {"shambler_stand", (byte *)shambler_stand}, {"shambler_walk", (byte *)shambler_walk}, @@ -1190,6 +1259,7 @@ {"sphere_if_idle_die", (byte *)sphere_if_idle_die}, {"sphere_think_explode", (byte *)sphere_think_explode}, {"sphere_touch", (byte *)sphere_touch}, +{"spit_touch", (byte *)spit_touch}, {"stalker_attack_melee", (byte *)stalker_attack_melee}, {"stalker_attack_ranged", (byte *)stalker_attack_ranged}, {"stalker_blocked", (byte *)stalker_blocked}, @@ -1238,6 +1308,7 @@ {"supertank_walk", (byte *)supertank_walk}, {"swimmonster_start", (byte *)swimmonster_start}, {"swimmonster_start_go", (byte *)swimmonster_start_go}, +{"swing_sword_step", (byte *)swing_sword_step}, {"takeoff_goal", (byte *)takeoff_goal}, {"tank_attack", (byte *)tank_attack}, {"tank_blocked", (byte *)tank_blocked}, @@ -1257,6 +1328,16 @@ {"tank_thud", (byte *)tank_thud}, {"tank_walk", (byte *)tank_walk}, {"tank_windup", (byte *)tank_windup}, +{"tarbaby_attack", (byte *)tarbaby_attack}, +{"tarbaby_die", (byte *)tarbaby_die}, +{"tarbaby_explode", (byte *)tarbaby_explode}, +{"tarbaby_fly", (byte *)tarbaby_fly}, +{"tarbaby_pain", (byte *)tarbaby_pain}, +{"tarbaby_rejump", (byte *)tarbaby_rejump}, +{"tarbaby_run", (byte *)tarbaby_run}, +{"tarbaby_sight", (byte *)tarbaby_sight}, +{"tarbaby_stand", (byte *)tarbaby_stand}, +{"tarbaby_touch", (byte *)tarbaby_touch}, {"target_actor_touch", (byte *)target_actor_touch}, {"target_anger_use", (byte *)target_anger_use}, {"target_angle", (byte *)target_angle}, @@ -1356,6 +1437,7 @@ {"vengeance_pain", (byte *)vengeance_pain}, {"vengeance_think", (byte *)vengeance_think}, {"vengeance_touch", (byte *)vengeance_touch}, +{"viewthing_think", (byte *)viewthing_think}, {"visible", (byte *)visible}, {"wait_and_change_think", (byte *)wait_and_change_think}, {"walkmonster_start", (byte *)walkmonster_start}, @@ -1419,14 +1501,23 @@ {"widow_stepshoot", (byte *)widow_stepshoot}, {"widow_walk", (byte *)widow_walk}, {"widowlegs_think", (byte *)widowlegs_think}, -{"zombie_touch", (byte *)zombie_touch}, -{"zombie_gib_touch", (byte *)zombie_gib_touch}, +{"wizard_attack", (byte *)wizard_attack}, +{"wizard_dead", (byte *)wizard_dead}, +{"wizard_die", (byte *)wizard_die}, +{"wizard_finish_attack", (byte *)wizard_finish_attack}, +{"wizard_pain", (byte *)wizard_pain}, +{"wizard_run", (byte *)wizard_run}, +{"wizard_search", (byte *)wizard_search}, +{"wizard_sight", (byte *)wizard_sight}, +{"wizard_stand", (byte *)wizard_stand}, {"zombie_attack", (byte *)zombie_attack}, {"zombie_die", (byte *)zombie_die}, +{"zombie_gib_touch", (byte *)zombie_gib_touch}, {"zombie_pain", (byte *)zombie_pain}, {"zombie_run", (byte *)zombie_run}, {"zombie_search", (byte *)zombie_search}, {"zombie_sight", (byte *)zombie_sight}, {"zombie_stand", (byte *)zombie_stand}, +{"zombie_touch", (byte *)zombie_touch}, {"zombie_walk", (byte *)zombie_walk}, {0, 0}