Spiel weiter aufgeräumt

This commit is contained in:
Yamagi Burmeister 2009-03-06 17:00:49 +00:00
parent 6e1348ca8b
commit ed9b900d03
32 changed files with 131 additions and 810 deletions

View file

@ -29,7 +29,7 @@ OSTYPE := $(shell uname -s)
ifneq ($(OSTYPE),Linux)
ifneq ($(OSTYPE),FreeBSD)
$(error $(OSTYPE) is currently not supported by this Client.)
#$(error $(OSTYPE) is currently not supported by this Client.)
endif
endif

View file

@ -238,7 +238,6 @@ void actor_pain (edict_t *self, edict_t *other, float kick, int damage)
return;
self->pain_debounce_time = level.time + 3;
// gi.sound (self, CHAN_VOICE, actor.sound_pain, 1, ATTN_NORM, 0);
if ((other->client) && (random() < 0.4))
{
@ -343,7 +342,6 @@ void actor_die (edict_t *self, edict_t *inflictor, edict_t *attacker, int damage
// check for gib
if (self->health <= -80)
{
// gi.sound (self, CHAN_VOICE, actor.sound_gib, 1, ATTN_NORM, 0);
for (n= 0; n < 2; n++)
ThrowGib (self, "models/objects/gibs/bone/tris.md2", damage, GIB_ORGANIC);
for (n= 0; n < 4; n++)
@ -357,7 +355,6 @@ void actor_die (edict_t *self, edict_t *inflictor, edict_t *attacker, int damage
return;
// regular death
// gi.sound (self, CHAN_VOICE, actor.sound_die, 1, ATTN_NORM, 0);
self->deadflag = DEAD_DEAD;
self->takedamage = DAMAGE_YES;
@ -607,3 +604,4 @@ void SP_target_actor (edict_t *self)
gi.linkentity (self);
}

View file

@ -122,31 +122,6 @@ void berserk_walk (edict_t *self)
self->monsterinfo.currentmove = &berserk_move_walk;
}
/*
*****************************
SKIPPED THIS FOR NOW!
*****************************
Running -> Arm raised in air
void() berserk_runb1 =[ $r_att1 , berserk_runb2 ] {ai_run(21);};
void() berserk_runb2 =[ $r_att2 , berserk_runb3 ] {ai_run(11);};
void() berserk_runb3 =[ $r_att3 , berserk_runb4 ] {ai_run(21);};
void() berserk_runb4 =[ $r_att4 , berserk_runb5 ] {ai_run(25);};
void() berserk_runb5 =[ $r_att5 , berserk_runb6 ] {ai_run(18);};
void() berserk_runb6 =[ $r_att6 , berserk_runb7 ] {ai_run(19);};
// running with arm in air : start loop
void() berserk_runb7 =[ $r_att7 , berserk_runb8 ] {ai_run(21);};
void() berserk_runb8 =[ $r_att8 , berserk_runb9 ] {ai_run(11);};
void() berserk_runb9 =[ $r_att9 , berserk_runb10 ] {ai_run(21);};
void() berserk_runb10 =[ $r_att10 , berserk_runb11 ] {ai_run(25);};
void() berserk_runb11 =[ $r_att11 , berserk_runb12 ] {ai_run(18);};
void() berserk_runb12 =[ $r_att12 , berserk_runb7 ] {ai_run(19);};
// running with arm in air : end loop
*/
mframe_t berserk_frames_run1 [] =
{
{ai_run, 21, NULL},
@ -221,7 +196,6 @@ mmove_t berserk_move_attack_club = {FRAME_att_c9, FRAME_att_c20, berserk_frames_
void berserk_strike (edict_t *self)
{
//FIXME play impact sound
}
@ -254,29 +228,6 @@ void berserk_melee (edict_t *self)
self->monsterinfo.currentmove = &berserk_move_attack_club;
}
/*
void() berserk_atke1 =[ $r_attb1, berserk_atke2 ] {ai_run(9);};
void() berserk_atke2 =[ $r_attb2, berserk_atke3 ] {ai_run(6);};
void() berserk_atke3 =[ $r_attb3, berserk_atke4 ] {ai_run(18.4);};
void() berserk_atke4 =[ $r_attb4, berserk_atke5 ] {ai_run(25);};
void() berserk_atke5 =[ $r_attb5, berserk_atke6 ] {ai_run(14);};
void() berserk_atke6 =[ $r_attb6, berserk_atke7 ] {ai_run(20);};
void() berserk_atke7 =[ $r_attb7, berserk_atke8 ] {ai_run(8.5);};
void() berserk_atke8 =[ $r_attb8, berserk_atke9 ] {ai_run(3);};
void() berserk_atke9 =[ $r_attb9, berserk_atke10 ] {ai_run(17.5);};
void() berserk_atke10 =[ $r_attb10, berserk_atke11 ] {ai_run(17);};
void() berserk_atke11 =[ $r_attb11, berserk_atke12 ] {ai_run(9);};
void() berserk_atke12 =[ $r_attb12, berserk_atke13 ] {ai_run(25);};
void() berserk_atke13 =[ $r_attb13, berserk_atke14 ] {ai_run(3.7);};
void() berserk_atke14 =[ $r_attb14, berserk_atke15 ] {ai_run(2.6);};
void() berserk_atke15 =[ $r_attb15, berserk_atke16 ] {ai_run(19);};
void() berserk_atke16 =[ $r_attb16, berserk_atke17 ] {ai_run(25);};
void() berserk_atke17 =[ $r_attb17, berserk_atke18 ] {ai_run(19.6);};
void() berserk_atke18 =[ $r_attb18, berserk_run1 ] {ai_run(7.8);};
*/
mframe_t berserk_frames_pain1 [] =
{
{ai_move, 0, NULL},
@ -455,3 +406,4 @@ void SP_monster_berserk (edict_t *self)
walkmonster_start (self);
}

View file

@ -61,7 +61,6 @@ void Boss2Rocket (edict_t *self)
AngleVectors (self->s.angles, forward, right, NULL);
//1
G_ProjectSource (self->s.origin, monster_flash_offset[MZ2_BOSS2_ROCKET_1], forward, right, start);
VectorCopy (self->enemy->s.origin, vec);
vec[2] += self->enemy->viewheight;
@ -69,7 +68,6 @@ void Boss2Rocket (edict_t *self)
VectorNormalize (dir);
monster_fire_rocket (self, start, dir, 50, 500, MZ2_BOSS2_ROCKET_1);
//2
G_ProjectSource (self->s.origin, monster_flash_offset[MZ2_BOSS2_ROCKET_2], forward, right, start);
VectorCopy (self->enemy->s.origin, vec);
vec[2] += self->enemy->viewheight;
@ -77,7 +75,6 @@ void Boss2Rocket (edict_t *self)
VectorNormalize (dir);
monster_fire_rocket (self, start, dir, 50, 500, MZ2_BOSS2_ROCKET_2);
//3
G_ProjectSource (self->s.origin, monster_flash_offset[MZ2_BOSS2_ROCKET_3], forward, right, start);
VectorCopy (self->enemy->s.origin, vec);
vec[2] += self->enemy->viewheight;
@ -85,7 +82,6 @@ void Boss2Rocket (edict_t *self)
VectorNormalize (dir);
monster_fire_rocket (self, start, dir, 50, 500, MZ2_BOSS2_ROCKET_3);
//4
G_ProjectSource (self->s.origin, monster_flash_offset[MZ2_BOSS2_ROCKET_4], forward, right, start);
VectorCopy (self->enemy->s.origin, vec);
vec[2] += self->enemy->viewheight;
@ -129,23 +125,6 @@ void boss2_firebullet_left (edict_t *self)
void Boss2MachineGun (edict_t *self)
{
/* vec3_t forward, right;
vec3_t start;
vec3_t dir;
vec3_t vec;
int flash_number;
AngleVectors (self->s.angles, forward, right, NULL);
flash_number = MZ2_BOSS2_MACHINEGUN_1 + (self->s.frame - FRAME_attack10);
G_ProjectSource (self->s.origin, monster_flash_offset[flash_number], forward, right, start);
VectorCopy (self->enemy->s.origin, vec);
vec[2] += self->enemy->viewheight;
VectorSubtract (vec, start, dir);
VectorNormalize (dir);
monster_fire_bullet (self, start, dir, 3, 4, DEFAULT_BULLET_HSPREAD, DEFAULT_BULLET_VSPREAD, flash_number);
*/
boss2_firebullet_left(self);
boss2_firebullet_right(self);
}
@ -511,30 +490,6 @@ void boss2_die (edict_t *self, edict_t *inflictor, edict_t *attacker, int damage
self->takedamage = DAMAGE_NO;
self->count = 0;
self->monsterinfo.currentmove = &boss2_move_death;
#if 0
int n;
self->s.sound = 0;
// check for gib
if (self->health <= self->gib_health)
{
gi.sound (self, CHAN_VOICE, gi.soundindex ("misc/udeath.wav"), 1, ATTN_NORM, 0);
for (n= 0; n < 2; n++)
ThrowGib (self, "models/objects/gibs/bone/tris.md2", damage, GIB_ORGANIC);
for (n= 0; n < 4; n++)
ThrowGib (self, "models/objects/gibs/sm_meat/tris.md2", damage, GIB_ORGANIC);
ThrowHead (self, "models/objects/gibs/head2/tris.md2", damage, GIB_ORGANIC);
self->deadflag = DEAD_DEAD;
return;
}
if (self->deadflag == DEAD_DEAD)
return;
self->deadflag = DEAD_DEAD;
self->takedamage = DAMAGE_YES;
self->monsterinfo.currentmove = &boss2_move_death;
#endif
}
qboolean Boss2_CheckAttack (edict_t *self)
@ -677,3 +632,4 @@ void SP_monster_boss2 (edict_t *self)
flymonster_start (self);
}

View file

@ -74,3 +74,4 @@ void SP_monster_boss3_stand (edict_t *self)
self->nextthink = level.time + FRAMETIME;
gi.linkentity (self);
}

View file

@ -487,14 +487,6 @@ void jorgBFG (edict_t *self)
VectorSubtract (vec, start, dir);
VectorNormalize (dir);
gi.sound (self, CHAN_VOICE, sound_attack2, 1, ATTN_NORM, 0);
/*void monster_fire_bfg (edict_t *self,
vec3_t start,
vec3_t aimdir,
int damage,
int speed,
int kick,
float damage_radius,
int flashtype)*/
monster_fire_bfg (self, start, dir, 50, 300, 100, 200, MZ2_JORG_BFG_1);
}
@ -559,30 +551,6 @@ void jorg_attack(edict_t *self)
void jorg_dead (edict_t *self)
{
#if 0
edict_t *tempent;
/*
VectorSet (self->mins, -16, -16, -24);
VectorSet (self->maxs, 16, 16, -8);
*/
// Jorg is on modelindex2. Do not clear him.
VectorSet (self->mins, -60, -60, 0);
VectorSet (self->maxs, 60, 60, 72);
self->movetype = MOVETYPE_TOSS;
self->nextthink = 0;
gi.linkentity (self);
tempent = G_Spawn();
VectorCopy (self->s.origin, tempent->s.origin);
VectorCopy (self->s.angles, tempent->s.angles);
tempent->killtarget = self->killtarget;
tempent->target = self->target;
tempent->activator = self->enemy;
self->killtarget = 0;
self->target = 0;
SP_monster_makron (tempent);
#endif
}
@ -747,3 +715,4 @@ void SP_monster_jorg (edict_t *self)
walkmonster_start(self);
}

View file

@ -862,7 +862,6 @@ void SP_monster_makron (edict_t *self)
gi.linkentity (self);
// self->monsterinfo.currentmove = &makron_move_stand;
self->monsterinfo.currentmove = &makron_move_sight;
self->monsterinfo.scale = MODEL_SCALE;
@ -913,3 +912,4 @@ void MakronToss (edict_t *self)
ent->target = self->target;
VectorCopy (self->s.origin, ent->s.origin);
}

View file

@ -174,69 +174,10 @@ mframe_t brain_frames_walk1 [] =
};
mmove_t brain_move_walk1 = {FRAME_walk101, FRAME_walk111, brain_frames_walk1, NULL};
// walk2 is FUBAR, do not use
#if 0
void brain_walk2_cycle (edict_t *self)
{
if (random() > 0.1)
self->monsterinfo.nextframe = FRAME_walk220;
}
mframe_t brain_frames_walk2 [] =
{
{ai_walk, 3, NULL},
{ai_walk, -2, NULL},
{ai_walk, -4, NULL},
{ai_walk, -3, NULL},
{ai_walk, 0, NULL},
{ai_walk, 1, NULL},
{ai_walk, 12, NULL},
{ai_walk, 0, NULL},
{ai_walk, -3, NULL},
{ai_walk, 0, NULL},
{ai_walk, -2, NULL},
{ai_walk, 0, NULL},
{ai_walk, 0, NULL},
{ai_walk, 1, NULL},
{ai_walk, 0, NULL},
{ai_walk, 0, NULL},
{ai_walk, 0, NULL},
{ai_walk, 0, NULL},
{ai_walk, 0, NULL},
{ai_walk, 10, NULL}, // Cycle Start
{ai_walk, -1, NULL},
{ai_walk, 7, NULL},
{ai_walk, 0, NULL},
{ai_walk, 3, NULL},
{ai_walk, -3, NULL},
{ai_walk, 2, NULL},
{ai_walk, 4, NULL},
{ai_walk, -3, NULL},
{ai_walk, 2, NULL},
{ai_walk, 0, NULL},
{ai_walk, 4, brain_walk2_cycle},
{ai_walk, -1, NULL},
{ai_walk, -1, NULL},
{ai_walk, -8, NULL},
{ai_walk, 0, NULL},
{ai_walk, 1, NULL},
{ai_walk, 5, NULL},
{ai_walk, 2, NULL},
{ai_walk, -1, NULL},
{ai_walk, -5, NULL}
};
mmove_t brain_move_walk2 = {FRAME_walk201, FRAME_walk240, brain_frames_walk2, NULL};
#endif
void brain_walk (edict_t *self)
{
// if (random() <= 0.5)
self->monsterinfo.currentmove = &brain_move_walk1;
// else
// self->monsterinfo.currentmove = &brain_move_walk2;
}
@ -658,7 +599,6 @@ void SP_monster_brain (edict_t *self)
self->monsterinfo.walk = brain_walk;
self->monsterinfo.run = brain_run;
self->monsterinfo.dodge = brain_dodge;
// self->monsterinfo.attack = brain_attack;
self->monsterinfo.melee = brain_melee;
self->monsterinfo.sight = brain_sight;
self->monsterinfo.search = brain_search;
@ -674,3 +614,4 @@ void SP_monster_brain (edict_t *self)
walkmonster_start (self);
}

View file

@ -677,3 +677,4 @@ void SP_monster_chick (edict_t *self)
walkmonster_start (self);
}

View file

@ -486,3 +486,4 @@ vec3_t monster_flash_offset [] =
// end of table
{ 0.0, 0.0, 0.0 }
};

View file

@ -401,3 +401,4 @@ void SP_monster_flipper (edict_t *self)
swimmonster_start (self);
}

View file

@ -49,7 +49,6 @@ void floater_idle (edict_t *self)
}
//void floater_stand1 (edict_t *self);
void floater_dead (edict_t *self);
void floater_die (edict_t *self, edict_t *inflictor, edict_t *attacker, int damage, vec3_t point);
void floater_run (edict_t *self);
@ -532,7 +531,6 @@ void floater_zap (edict_t *self)
//FIXME use a flash and replace these two lines with the commented one
VectorSet (offset, 18.5, -0.9, 10);
G_ProjectSource (self->s.origin, offset, forward, right, origin);
// G_ProjectSource (self->s.origin, monster_flash_offset[flash_number], forward, right, origin);
gi.sound (self, CHAN_WEAPON, sound_attack2, 1, ATTN_NORM, 0);
@ -644,7 +642,6 @@ void SP_monster_floater (edict_t *self)
self->monsterinfo.stand = floater_stand;
self->monsterinfo.walk = floater_walk;
self->monsterinfo.run = floater_run;
// self->monsterinfo.dodge = floater_dodge;
self->monsterinfo.attack = floater_attack;
self->monsterinfo.melee = floater_melee;
self->monsterinfo.sight = floater_sight;
@ -661,3 +658,4 @@ void SP_monster_floater (edict_t *self)
flymonster_start (self);
}

View file

@ -478,9 +478,6 @@ mmove_t flyer_move_loop_melee = {FRAME_attak107, FRAME_attak118, flyer_frames_lo
void flyer_loop_melee (edict_t *self)
{
/* if (random() <= 0.5)
self->monsterinfo.currentmove = &flyer_move_attack1;
else */
self->monsterinfo.currentmove = &flyer_move_loop_melee;
}
@ -488,9 +485,6 @@ void flyer_loop_melee (edict_t *self)
void flyer_attack (edict_t *self)
{
/* if (random() <= 0.5)
self->monsterinfo.currentmove = &flyer_move_attack1;
else */
self->monsterinfo.currentmove = &flyer_move_attack2;
}
@ -512,8 +506,6 @@ void flyer_nextmove (edict_t *self)
void flyer_melee (edict_t *self)
{
// flyer.nextmove = ACTION_attack1;
// self->monsterinfo.currentmove = &flyer_move_stop;
self->monsterinfo.currentmove = &flyer_move_start_melee;
}
@ -624,3 +616,4 @@ void SP_monster_flyer (edict_t *self)
flymonster_start (self);
}

View file

@ -385,3 +385,4 @@ void SP_monster_gladiator (edict_t *self)
walkmonster_start (self);
}

View file

@ -459,7 +459,7 @@ void GunnerGrenade (edict_t *self)
flash_number = MZ2_GUNNER_GRENADE_2;
else if (self->s.frame == FRAME_attak111)
flash_number = MZ2_GUNNER_GRENADE_3;
else // (self->s.frame == FRAME_attak114)
else
flash_number = MZ2_GUNNER_GRENADE_4;
AngleVectors (self->s.angles, forward, right, NULL);
@ -473,16 +473,6 @@ void GunnerGrenade (edict_t *self)
mframe_t gunner_frames_attack_chain [] =
{
/*
{ai_charge, 0, NULL},
{ai_charge, 0, NULL},
{ai_charge, 0, NULL},
{ai_charge, 0, NULL},
{ai_charge, 0, NULL},
{ai_charge, 0, NULL},
{ai_charge, 0, NULL},
{ai_charge, 0, NULL},
*/
{ai_charge, 0, gunner_opengun},
{ai_charge, 0, NULL},
{ai_charge, 0, NULL},
@ -626,3 +616,4 @@ void SP_monster_gunner (edict_t *self)
walkmonster_start (self);
}

View file

@ -606,7 +606,6 @@ void SP_monster_hover (edict_t *self)
self->monsterinfo.stand = hover_stand;
self->monsterinfo.walk = hover_walk;
self->monsterinfo.run = hover_run;
// self->monsterinfo.dodge = hover_dodge;
self->monsterinfo.attack = hover_start_attack;
self->monsterinfo.sight = hover_sight;
self->monsterinfo.search = hover_search;
@ -618,3 +617,4 @@ void SP_monster_hover (edict_t *self)
flymonster_start (self);
}

View file

@ -605,3 +605,4 @@ void SP_monster_infantry (edict_t *self)
walkmonster_start (self);
}

View file

@ -478,9 +478,6 @@ void insane_pain (edict_t *self, edict_t *other, float kick, int damage)
{
int l,r;
// if (self->health < (self->max_health / 2))
// self->s.skinnum = 1;
if (level.time < self->pain_debounce_time)
return;
@ -523,7 +520,6 @@ void insane_onground (edict_t *self)
void insane_checkdown (edict_t *self)
{
// if ( (self->s.frame == FRAME_stand94) || (self->s.frame == FRAME_stand65) )
if (self->spawnflags & 32) // Always stand
return;
if (random() < 0.3)
@ -622,8 +618,6 @@ void insane_die (edict_t *self, edict_t *inflictor, edict_t *attacker, int damag
*/
void SP_misc_insane (edict_t *self)
{
// static int skin = 0; //@@
if (deathmatch->value)
{
G_FreeEdict (self);
@ -665,12 +659,6 @@ void SP_misc_insane (edict_t *self)
self->monsterinfo.sight = NULL;
self->monsterinfo.aiflags |= AI_GOOD_GUY;
//@@
// self->s.skinnum = skin;
// skin++;
// if (skin > 12)
// skin = 0;
gi.linkentity (self);
if (self->spawnflags & 16) // Stand Ground
@ -693,3 +681,4 @@ void SP_misc_insane (edict_t *self)
self->s.skinnum = rand()%3;
}
}

View file

@ -767,3 +767,4 @@ void SP_monster_medic (edict_t *self)
walkmonster_start (self);
}

View file

@ -554,3 +554,4 @@ qboolean M_walkmove (edict_t *ent, float yaw, float dist)
return SV_movestep(ent, move, true);
}

View file

@ -661,3 +661,4 @@ void SP_monster_mutant (edict_t *self)
self->monsterinfo.scale = MODEL_SCALE;
walkmonster_start (self);
}

View file

@ -432,9 +432,6 @@ Break Stuff Ends
void parasite_attack (edict_t *self)
{
// if (random() <= 0.2)
// self->monsterinfo.currentmove = &parasite_move_break;
// else
self->monsterinfo.currentmove = &parasite_move_drain;
}
@ -550,3 +547,4 @@ void SP_monster_parasite (edict_t *self)
walkmonster_start (self);
}

View file

@ -144,69 +144,6 @@ mframe_t soldier_frames_stand3 [] =
};
mmove_t soldier_move_stand3 = {FRAME_stand301, FRAME_stand339, soldier_frames_stand3, soldier_stand};
#if 0
mframe_t soldier_frames_stand4 [] =
{
{ai_stand, 0, NULL},
{ai_stand, 0, NULL},
{ai_stand, 0, NULL},
{ai_stand, 0, NULL},
{ai_stand, 0, NULL},
{ai_stand, 0, NULL},
{ai_stand, 0, NULL},
{ai_stand, 0, NULL},
{ai_stand, 0, NULL},
{ai_stand, 0, NULL},
{ai_stand, 0, NULL},
{ai_stand, 0, NULL},
{ai_stand, 0, NULL},
{ai_stand, 0, NULL},
{ai_stand, 0, NULL},
{ai_stand, 0, NULL},
{ai_stand, 0, NULL},
{ai_stand, 0, NULL},
{ai_stand, 0, NULL},
{ai_stand, 0, NULL},
{ai_stand, 0, NULL},
{ai_stand, 0, NULL},
{ai_stand, 0, NULL},
{ai_stand, 0, NULL},
{ai_stand, 0, NULL},
{ai_stand, 0, NULL},
{ai_stand, 0, NULL},
{ai_stand, 0, NULL},
{ai_stand, 0, NULL},
{ai_stand, 0, NULL},
{ai_stand, 0, NULL},
{ai_stand, 0, NULL},
{ai_stand, 0, NULL},
{ai_stand, 0, NULL},
{ai_stand, 0, NULL},
{ai_stand, 0, NULL},
{ai_stand, 0, NULL},
{ai_stand, 0, NULL},
{ai_stand, 0, NULL},
{ai_stand, 0, NULL},
{ai_stand, 0, NULL},
{ai_stand, 0, NULL},
{ai_stand, 0, NULL},
{ai_stand, 0, NULL},
{ai_stand, 0, NULL},
{ai_stand, 0, NULL},
{ai_stand, 4, NULL},
{ai_stand, 1, NULL},
{ai_stand, -1, NULL},
{ai_stand, -2, NULL},
{ai_stand, 0, NULL},
{ai_stand, 0, NULL}
};
mmove_t soldier_move_stand4 = {FRAME_stand401, FRAME_stand452, soldier_frames_stand4, NULL};
#endif
void soldier_stand (edict_t *self)
{
@ -681,12 +618,7 @@ mmove_t soldier_move_attack3 = {FRAME_attak301, FRAME_attak309, soldier_frames_a
void soldier_fire4 (edict_t *self)
{
soldier_fire (self, 3);
//
// if (self->enemy->health <= 0)
// return;
//
// if ( ((skill->value == 3) && (random() < 0.5)) || (range(self, self->enemy) == RANGE_MELEE) )
// self->monsterinfo.nextframe = FRAME_attak402;
self->monsterinfo.nextframe = FRAME_attak402;
}
mframe_t soldier_frames_attack4 [] =
@ -700,37 +632,6 @@ mframe_t soldier_frames_attack4 [] =
};
mmove_t soldier_move_attack4 = {FRAME_attak401, FRAME_attak406, soldier_frames_attack4, soldier_run};
#if 0
// ATTACK5 (prone)
void soldier_fire5 (edict_t *self)
{
soldier_fire (self, 4);
}
void soldier_attack5_refire (edict_t *self)
{
if (self->enemy->health <= 0)
return;
if ( ((skill->value == 3) && (random() < 0.5)) || (range(self, self->enemy) == RANGE_MELEE) )
self->monsterinfo.nextframe = FRAME_attak505;
}
mframe_t soldier_frames_attack5 [] =
{
{ai_charge, 8, NULL},
{ai_charge, 8, NULL},
{ai_charge, 0, NULL},
{ai_charge, 0, NULL},
{ai_charge, 0, soldier_fire5},
{ai_charge, 0, NULL},
{ai_charge, 0, NULL},
{ai_charge, 0, soldier_attack5_refire}
};
mmove_t soldier_move_attack5 = {FRAME_attak501, FRAME_attak508, soldier_frames_attack5, soldier_run};
#endif
// ATTACK6 (run & shoot)
void soldier_fire8 (edict_t *self)
@ -1169,7 +1070,7 @@ void soldier_die (edict_t *self, edict_t *inflictor, edict_t *attacker, int dama
gi.sound (self, CHAN_VOICE, sound_death_light, 1, ATTN_NORM, 0);
else if (self->s.skinnum == 3)
gi.sound (self, CHAN_VOICE, sound_death, 1, ATTN_NORM, 0);
else // (self->s.skinnum == 5)
else
gi.sound (self, CHAN_VOICE, sound_death_ss, 1, ATTN_NORM, 0);
if (fabs((self->s.origin[2] + self->viewheight) - point[2]) <= 4)
@ -1297,3 +1198,4 @@ void SP_monster_soldier_ss (edict_t *self)
self->health = 40;
self->gib_health = -30;
}

View file

@ -503,7 +503,7 @@ void supertankRocket (edict_t *self)
flash_number = MZ2_SUPERTANK_ROCKET_1;
else if (self->s.frame == FRAME_attak2_11)
flash_number = MZ2_SUPERTANK_ROCKET_2;
else // (self->s.frame == FRAME_attak2_14)
else
flash_number = MZ2_SUPERTANK_ROCKET_3;
AngleVectors (self->s.angles, forward, right, NULL);
@ -552,16 +552,10 @@ void supertank_attack(edict_t *self)
{
vec3_t vec;
float range;
//float r;
VectorSubtract (self->enemy->s.origin, self->s.origin, vec);
range = VectorLength (vec);
//r = random();
// Attack 1 == Chaingun
// Attack 2 == Rocket Launcher
if (range <= 160)
{
self->monsterinfo.currentmove = &supertank_move_attack1;
@ -684,7 +678,6 @@ void SP_monster_supertank (edict_t *self)
sound_search1 = gi.soundindex ("bosstank/btkunqv1.wav");
sound_search2 = gi.soundindex ("bosstank/btkunqv2.wav");
// self->s.sound = gi.soundindex ("bosstank/btkengn1.wav");
tread_sound = gi.soundindex ("bosstank/btkengn1.wav");
self->movetype = MOVETYPE_STEP;
@ -715,3 +708,4 @@ void SP_monster_supertank (edict_t *self)
walkmonster_start(self);
}

View file

@ -340,7 +340,7 @@ void TankBlaster (edict_t *self)
flash_number = MZ2_TANK_BLASTER_1;
else if (self->s.frame == FRAME_attak113)
flash_number = MZ2_TANK_BLASTER_2;
else // (self->s.frame == FRAME_attak116)
else
flash_number = MZ2_TANK_BLASTER_3;
AngleVectors (self->s.angles, forward, right, NULL);
@ -370,7 +370,7 @@ void TankRocket (edict_t *self)
flash_number = MZ2_TANK_ROCKET_1;
else if (self->s.frame == FRAME_attak327)
flash_number = MZ2_TANK_ROCKET_2;
else // (self->s.frame == FRAME_attak330)
else
flash_number = MZ2_TANK_ROCKET_3;
AngleVectors (self->s.angles, forward, right, NULL);
@ -854,3 +854,4 @@ void SP_monster_tank (edict_t *self)
if (strcmp(self->classname, "monster_tank_commander") == 0)
self->s.skinnum = 2;
}

View file

@ -55,7 +55,6 @@ static void SP_FixCoopSpots (edict_t *self)
{
if ((!self->targetname) || Q_stricmp(self->targetname, spot->targetname) != 0)
{
// gi.dprintf("FixCoopSpots changed %s at %s targetname from %s to %s\n", self->classname, vtos(self->s.origin), self->targetname, spot->targetname);
self->targetname = spot->targetname;
}
return;
@ -517,7 +516,6 @@ void player_die (edict_t *self, edict_t *inflictor, edict_t *attacker, int damag
self->maxs[2] = -8;
// self->solid = SOLID_NOT;
self->svflags |= SVF_DEADMONSTER;
if (!self->deadflag)
@ -1125,17 +1123,10 @@ void PutClientInServer (edict_t *ent)
}
else if (coop->value)
{
// int n;
char userinfo[MAX_INFO_STRING];
resp = client->resp;
memcpy (userinfo, client->pers.userinfo, sizeof(userinfo));
// this is kind of ugly, but it's how we want to handle keys in coop
// for (n = 0; n < game.num_items; n++)
// {
// if (itemlist[n].flags & IT_KEY)
// resp.coop_respawn.inventory[n] = client->pers.inventory[n];
// }
resp.coop_respawn.game_helpchanged = client->pers.game_helpchanged;
resp.coop_respawn.helpchanged = client->pers.helpchanged;
client->pers = resp.coop_respawn;
@ -1178,7 +1169,7 @@ void PutClientInServer (edict_t *ent)
ent->waterlevel = 0;
ent->watertype = 0;
ent->flags &= ~FL_NO_KNOCKBACK;
ent->svflags &= ~SVF_DEADMONSTER;
ent->svflags &= 0;
VectorCopy (mins, ent->mins);
VectorCopy (maxs, ent->maxs);
@ -1631,7 +1622,6 @@ void ClientThink (edict_t *ent, usercmd_t *ucmd)
if (memcmp(&client->old_pmove, &pm.s, sizeof(pm.s)))
{
pm.snapinitial = true;
// gi.dprintf ("pmove changed!\n");
}
pm.cmd = *ucmd;
@ -1813,3 +1803,4 @@ void ClientBeginServerFrame (edict_t *ent)
client->latched_buttons = 0;
}

View file

@ -380,6 +380,8 @@ void G_SetStats (edict_t *ent)
int index, cells;
int power_armor_type;
cells = 0;
//
// health
//

View file

@ -144,3 +144,4 @@ edict_t *PlayerTrail_LastSpot (void)
{
return trail[PREV(trail_head)];
}

View file

@ -377,7 +377,6 @@ void SV_CalcGunOffset (edict_t *ent)
// gun height
VectorClear (ent->client->ps.gunoffset);
// ent->ps->gunorigin[2] += bob;
// gun_x / gun_y / gun_z are development tools
for (i=0 ; i<3 ; i++)

View file

@ -1430,5 +1430,3 @@ void Weapon_BFG (edict_t *ent)
Weapon_Generic (ent, 8, 32, 55, 58, pause_frames, fire_frames, weapon_bfg_fire);
}
//======================================================================

View file

@ -25,10 +25,6 @@ vec3_t vec3_origin = {0,0,0};
//============================================================================
#ifdef _WIN32
#pragma optimize( "", off )
#endif
void RotatePointAroundVector( vec3_t dst, const vec3_t dir, const vec3_t point, float degrees )
{
float m[3][3];
@ -84,12 +80,6 @@ void RotatePointAroundVector( vec3_t dst, const vec3_t dir, const vec3_t point,
}
}
#ifdef _WIN32
#pragma optimize( "", on )
#endif
void AngleVectors (vec3_t angles, vec3_t forward, vec3_t right, vec3_t up)
{
float angle;
@ -250,30 +240,11 @@ void R_ConcatTransforms (float in1[3][4], float in2[3][4], float out[3][4])
float Q_fabs (float f)
{
#if 0
if (f >= 0)
return f;
return -f;
#else
int tmp = * ( int * ) &f;
tmp &= 0x7FFFFFFF;
return * ( float * ) &tmp;
#endif
}
#if defined _M_IX86 && !defined C_ONLY
#pragma warning (disable:4035)
__declspec( naked ) long Q_ftol( float f )
{
static int tmp;
__asm fld dword ptr [esp+4]
__asm fistp tmp
__asm mov eax, tmp
__asm ret
}
#pragma warning (default:4035)
#endif
/*
===============
LerpAngle
@ -292,12 +263,6 @@ float LerpAngle (float a2, float a1, float frac)
float anglemod(float a)
{
#if 0
if (a >= 0)
a -= 360*(int)(a/360);
else
a += 360*( 1 + (int)(-a/360) );
#endif
a = (360.0/65536) * ((int)(a*(65536/360.0)) & 65535);
return a;
}
@ -345,7 +310,6 @@ BoxOnPlaneSide
Returns 1, 2, or 1 + 2
==================
*/
#if !id386 || defined __linux__ || defined __FreeBSD__ || defined __sun__
int BoxOnPlaneSide (vec3_t emins, vec3_t emaxs, struct cplane_s *p)
{
float dist1, dist2;
@ -412,240 +376,6 @@ dist2 = p->normal[0]*emaxs[0] + p->normal[1]*emaxs[1] + p->normal[2]*emaxs[2];
return sides;
}
#else
#pragma warning( disable: 4035 )
__declspec( naked ) int BoxOnPlaneSide (vec3_t emins, vec3_t emaxs, struct cplane_s *p)
{
static int bops_initialized;
static int Ljmptab[8];
__asm {
push ebx
cmp bops_initialized, 1
je initialized
mov bops_initialized, 1
mov Ljmptab[0*4], offset Lcase0
mov Ljmptab[1*4], offset Lcase1
mov Ljmptab[2*4], offset Lcase2
mov Ljmptab[3*4], offset Lcase3
mov Ljmptab[4*4], offset Lcase4
mov Ljmptab[5*4], offset Lcase5
mov Ljmptab[6*4], offset Lcase6
mov Ljmptab[7*4], offset Lcase7
initialized:
mov edx,ds:dword ptr[4+12+esp]
mov ecx,ds:dword ptr[4+4+esp]
xor eax,eax
mov ebx,ds:dword ptr[4+8+esp]
mov al,ds:byte ptr[17+edx]
cmp al,8
jge Lerror
fld ds:dword ptr[0+edx]
fld st(0)
jmp dword ptr[Ljmptab+eax*4]
Lcase0:
fmul ds:dword ptr[ebx]
fld ds:dword ptr[0+4+edx]
fxch st(2)
fmul ds:dword ptr[ecx]
fxch st(2)
fld st(0)
fmul ds:dword ptr[4+ebx]
fld ds:dword ptr[0+8+edx]
fxch st(2)
fmul ds:dword ptr[4+ecx]
fxch st(2)
fld st(0)
fmul ds:dword ptr[8+ebx]
fxch st(5)
faddp st(3),st(0)
fmul ds:dword ptr[8+ecx]
fxch st(1)
faddp st(3),st(0)
fxch st(3)
faddp st(2),st(0)
jmp LSetSides
Lcase1:
fmul ds:dword ptr[ecx]
fld ds:dword ptr[0+4+edx]
fxch st(2)
fmul ds:dword ptr[ebx]
fxch st(2)
fld st(0)
fmul ds:dword ptr[4+ebx]
fld ds:dword ptr[0+8+edx]
fxch st(2)
fmul ds:dword ptr[4+ecx]
fxch st(2)
fld st(0)
fmul ds:dword ptr[8+ebx]
fxch st(5)
faddp st(3),st(0)
fmul ds:dword ptr[8+ecx]
fxch st(1)
faddp st(3),st(0)
fxch st(3)
faddp st(2),st(0)
jmp LSetSides
Lcase2:
fmul ds:dword ptr[ebx]
fld ds:dword ptr[0+4+edx]
fxch st(2)
fmul ds:dword ptr[ecx]
fxch st(2)
fld st(0)
fmul ds:dword ptr[4+ecx]
fld ds:dword ptr[0+8+edx]
fxch st(2)
fmul ds:dword ptr[4+ebx]
fxch st(2)
fld st(0)
fmul ds:dword ptr[8+ebx]
fxch st(5)
faddp st(3),st(0)
fmul ds:dword ptr[8+ecx]
fxch st(1)
faddp st(3),st(0)
fxch st(3)
faddp st(2),st(0)
jmp LSetSides
Lcase3:
fmul ds:dword ptr[ecx]
fld ds:dword ptr[0+4+edx]
fxch st(2)
fmul ds:dword ptr[ebx]
fxch st(2)
fld st(0)
fmul ds:dword ptr[4+ecx]
fld ds:dword ptr[0+8+edx]
fxch st(2)
fmul ds:dword ptr[4+ebx]
fxch st(2)
fld st(0)
fmul ds:dword ptr[8+ebx]
fxch st(5)
faddp st(3),st(0)
fmul ds:dword ptr[8+ecx]
fxch st(1)
faddp st(3),st(0)
fxch st(3)
faddp st(2),st(0)
jmp LSetSides
Lcase4:
fmul ds:dword ptr[ebx]
fld ds:dword ptr[0+4+edx]
fxch st(2)
fmul ds:dword ptr[ecx]
fxch st(2)
fld st(0)
fmul ds:dword ptr[4+ebx]
fld ds:dword ptr[0+8+edx]
fxch st(2)
fmul ds:dword ptr[4+ecx]
fxch st(2)
fld st(0)
fmul ds:dword ptr[8+ecx]
fxch st(5)
faddp st(3),st(0)
fmul ds:dword ptr[8+ebx]
fxch st(1)
faddp st(3),st(0)
fxch st(3)
faddp st(2),st(0)
jmp LSetSides
Lcase5:
fmul ds:dword ptr[ecx]
fld ds:dword ptr[0+4+edx]
fxch st(2)
fmul ds:dword ptr[ebx]
fxch st(2)
fld st(0)
fmul ds:dword ptr[4+ebx]
fld ds:dword ptr[0+8+edx]
fxch st(2)
fmul ds:dword ptr[4+ecx]
fxch st(2)
fld st(0)
fmul ds:dword ptr[8+ecx]
fxch st(5)
faddp st(3),st(0)
fmul ds:dword ptr[8+ebx]
fxch st(1)
faddp st(3),st(0)
fxch st(3)
faddp st(2),st(0)
jmp LSetSides
Lcase6:
fmul ds:dword ptr[ebx]
fld ds:dword ptr[0+4+edx]
fxch st(2)
fmul ds:dword ptr[ecx]
fxch st(2)
fld st(0)
fmul ds:dword ptr[4+ecx]
fld ds:dword ptr[0+8+edx]
fxch st(2)
fmul ds:dword ptr[4+ebx]
fxch st(2)
fld st(0)
fmul ds:dword ptr[8+ecx]
fxch st(5)
faddp st(3),st(0)
fmul ds:dword ptr[8+ebx]
fxch st(1)
faddp st(3),st(0)
fxch st(3)
faddp st(2),st(0)
jmp LSetSides
Lcase7:
fmul ds:dword ptr[ecx]
fld ds:dword ptr[0+4+edx]
fxch st(2)
fmul ds:dword ptr[ebx]
fxch st(2)
fld st(0)
fmul ds:dword ptr[4+ecx]
fld ds:dword ptr[0+8+edx]
fxch st(2)
fmul ds:dword ptr[4+ebx]
fxch st(2)
fld st(0)
fmul ds:dword ptr[8+ecx]
fxch st(5)
faddp st(3),st(0)
fmul ds:dword ptr[8+ebx]
fxch st(1)
faddp st(3),st(0)
fxch st(3)
faddp st(2),st(0)
LSetSides:
faddp st(2),st(0)
fcomp ds:dword ptr[12+edx]
xor ecx,ecx
fnstsw ax
fcomp ds:dword ptr[12+edx]
and ah,1
xor ah,1
add cl,ah
fnstsw ax
and ah,1
add ah,ah
add cl,ah
pop ebx
mov eax,ecx
ret
Lerror:
int 3
}
}
#pragma warning( default: 4035 )
#endif
void ClearBounds (vec3_t mins, vec3_t maxs)
{
@ -1140,7 +870,6 @@ skipwhite:
if (len == MAX_TOKEN_CHARS)
{
// Com_Printf ("Token exceeded %i chars, discarded.\n", MAX_TOKEN_CHARS);
len = 0;
}
com_token[len] = 0;
@ -1178,24 +907,10 @@ void Com_PageInMemory (byte *buffer, int size)
/* PATCH: matt */
/* use our own strncasecmp instead of this implementation */
#ifdef sun
#define Q_strncasecmp(s1, s2, n) (strncasecmp(s1, s2, n))
int Q_stricmp (char *s1, char *s2) {
return strcasecmp(s1, s2);
}
#else
// FIXME: replace all Q_stricmp with Q_strcasecmp
int Q_stricmp (char *s1, char *s2)
{
#if defined(WIN32)
return _stricmp (s1, s2);
#else
return strcasecmp (s1, s2);
#endif
}
@ -1224,7 +939,6 @@ int Q_strncasecmp (char *s1, char *s2, int n)
return 0; // strings are equal
}
#endif
int Q_strcasecmp (char *s1, char *s2)
{
@ -1314,7 +1028,6 @@ void Info_RemoveKey (char *s, char *key)
if (strstr (key, "\\"))
{
// Com_Printf ("Can't use a key with a \\\n");
return;
}
@ -1426,6 +1139,3 @@ void Info_SetValueForKey (char *s, char *key, char *value)
*s = 0;
}
//====================================================================

View file

@ -20,18 +20,6 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
// q_shared.h -- included first by ALL program modules
#ifdef _WIN32
// unknown pragmas are SUPPOSED to be ignored, but....
#pragma warning(disable : 4244) // MIPS
#pragma warning(disable : 4136) // X86
#pragma warning(disable : 4051) // ALPHA
#pragma warning(disable : 4018) // signed/unsigned mismatch
#pragma warning(disable : 4305) // truncation from const double to float
#define vsnprintf _vsnprintf
#endif
#include <assert.h>
#include <math.h>
#include <stdio.h>
@ -40,18 +28,6 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#include <stdlib.h>
#include <time.h>
#if (defined _M_IX86 || defined __i386__) && !defined C_ONLY && !defined __sun__
#define id386 1
#else
#define id386 0
#endif
#if defined _M_ALPHA && !defined C_ONLY
#define idaxp 1
#else
#define idaxp 0
#endif
typedef unsigned char byte;
typedef enum {false, true} qboolean;
@ -146,11 +122,7 @@ extern vec3_t vec3_origin;
// microsoft's fabs seems to be ungodly slow...
//float Q_fabs (float f);
//#define fabs(f) Q_fabs(f)
#if defined _WIN32 && !defined C_ONLY
extern long Q_ftol( float f );
#else
#define Q_ftol( f ) ( long ) (f)
#endif
#define DotProduct(x,y) (x[0]*y[0]+x[1]*y[1]+x[2]*y[2])
#define VectorSubtract(a,b,c) (c[0]=a[0]-b[0],c[1]=a[1]-b[1],c[2]=a[2]-b[2])
@ -381,11 +353,6 @@ COLLISION DETECTION
#define SURF_FLOWING 0x40 // scroll towards angle
#define SURF_NODRAW 0x80 // don't bother referencing the texture
#ifdef QMAX
#define SURF_WAVES_1 0x100
#define SURF_WAVES_2 0x200
#endif
// content masks
#define MASK_ALL (-1)
#define MASK_SOLID (CONTENTS_SOLID|CONTENTS_WINDOW)
@ -632,15 +599,6 @@ typedef struct
#define RF_USE_DISGUISE 0x00040000
//ROGUE
#ifdef QMAX
#define RF_TRANS_ADDITIVE 8192
#define RF_MIRRORMODEL 0x00004000
#define RF2_NOSHADOW 0x00000001 //no shadow..
#define RF2_FORCE_SHADOW 0x00000002 //forced shadow...
#define RF2_CAMERAMODEL 0x00000004
#endif
// player_state_t->refdef flags
#define RDF_UNDERWATER 1 // warp the screen as apropriate
#define RDF_NOWORLDMODEL 2 // used for player configuration screen
@ -1072,36 +1030,6 @@ typedef enum
#define DF_NO_SPHERES 0x00100000
//ROGUE
/*
ROGUE - VERSIONS
1234 08/13/1998 Activision
1235 08/14/1998 Id Software
1236 08/15/1998 Steve Tietze
1237 08/15/1998 Phil Dobranski
1238 08/15/1998 John Sheley
1239 08/17/1998 Barrett Alexander
1230 08/17/1998 Brandon Fish
1245 08/17/1998 Don MacAskill
1246 08/17/1998 David "Zoid" Kirsch
1247 08/17/1998 Manu Smith
1248 08/17/1998 Geoff Scully
1249 08/17/1998 Andy Van Fossen
1240 08/20/1998 Activision Build 2
1256 08/20/1998 Ranger Clan
1257 08/20/1998 Ensemble Studios
1258 08/21/1998 Robert Duffy
1259 08/21/1998 Stephen Seachord
1250 08/21/1998 Stephen Heaslip
1267 08/21/1998 Samir Sandesara
1268 08/21/1998 Oliver Wyman
1269 08/21/1998 Steven Marchegiano
1260 08/21/1998 Build #2 for Nihilistic
1278 08/21/1998 Build #2 for Ensemble
9999 08/20/1998 Internal Use
*/
#define ROGUE_VERSION_ID 1278
#define ROGUE_VERSION_STRING "08/21/1998 Beta 2 for Ensemble"
// ROGUE
@ -1239,3 +1167,4 @@ extern int vidref_val;
*/
size_t verify_fread( void *, size_t, size_t, FILE * );
size_t verify_fwrite( void *, size_t, size_t, FILE * );