From: Mario Date: Sun, 7 Apr 2013 21:45:38 +0000 (+1000) Subject: Add a new model for the ogre X-Git-Tag: xonotic-v0.8.0~241^2^2~427 X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=7731856a08e8e61b121cb3e361ea52f128281eef;p=xonotic%2Fxonotic-data.pk3dir.git Add a new model for the ogre --- diff --git a/models/monsters/ogre.dpm b/models/monsters/ogre.dpm new file mode 100644 index 000000000..0f9b30eba Binary files /dev/null and b/models/monsters/ogre.dpm differ diff --git a/models/monsters/ogre.dpm.framegroups b/models/monsters/ogre.dpm.framegroups new file mode 100644 index 000000000..03dd229d0 --- /dev/null +++ b/models/monsters/ogre.dpm.framegroups @@ -0,0 +1,11 @@ +/* +Generated framegroups file for ogre +Used by DarkPlaces to simulate frame groups in DPM models. +*/ + +1 31 60 1 // ogre idle +32 31 60 1 // ogre walk +63 31 120 1 // ogre walk +94 31 60 1 // ogre pain +125 101 60 1 // ogre swing +226 76 60 0 // ogre die diff --git a/models/monsters/ogre.mdl b/models/monsters/ogre.mdl deleted file mode 100644 index a0cd4d7c7..000000000 Binary files a/models/monsters/ogre.mdl and /dev/null differ diff --git a/models/monsters/ogre.mdl.framegroups b/models/monsters/ogre.mdl.framegroups deleted file mode 100644 index 0d6938607..000000000 --- a/models/monsters/ogre.mdl.framegroups +++ /dev/null @@ -1 +0,0 @@ -1 8 10 1 // ogre stand 10 15 10 1 // ogre walk 26 7 10 1 // ogre run 34 13 10 1 // ogre swing 48 13 10 1 // ogre smash 62 5 10 1 // ogre shoot 68 4 10 0 // ogre pain1 73 2 10 0 // ogre pain2 76 5 10 0 // ogre pain3 82 15 10 0 // ogre pain4 98 14 10 0 // ogre pain5 113 13 10 0 // ogre death1 127 9 10 0 // ogre death2 137 10 10 0 // ogre pull \ No newline at end of file diff --git a/qcsrc/server/monsters/monster/ogre.qc b/qcsrc/server/monsters/monster/ogre.qc index ffa3aab05..35a6a378a 100644 --- a/qcsrc/server/monsters/monster/ogre.qc +++ b/qcsrc/server/monsters/monster/ogre.qc @@ -11,20 +11,12 @@ float autocvar_g_monster_ogre_speed_run; float autocvar_g_monster_ogre_attack_uzi_bullets; // animations -#define ogre_anim_stand 0 +#define ogre_anim_idle 0 #define ogre_anim_walk 1 #define ogre_anim_run 2 -#define ogre_anim_swing 3 -#define ogre_anim_smash 4 -#define ogre_anim_shoot 5 -#define ogre_anim_pain1 6 -#define ogre_anim_pain2 7 -#define ogre_anim_pain3 8 -#define ogre_anim_pain4 9 -#define ogre_anim_pain5 10 -#define ogre_anim_death1 11 -#define ogre_anim_death2 12 -#define ogre_anim_pull 13 +#define ogre_anim_pain 3 +#define ogre_anim_swing 4 +#define ogre_anim_die 5 void chainsaw (float side) { @@ -45,7 +37,7 @@ void ogre_think () if(self.delay != -1) self.nextthink = self.delay; - monster_move(autocvar_g_monster_ogre_speed_run, autocvar_g_monster_ogre_speed_walk, 300, ogre_anim_run, ogre_anim_walk, ogre_anim_stand); + monster_move(autocvar_g_monster_ogre_speed_run, autocvar_g_monster_ogre_speed_walk, 300, ogre_anim_run, ogre_anim_walk, ogre_anim_idle); } .float ogre_cycles; @@ -87,7 +79,7 @@ void ogre_uzi_fire () void ogre_uzi () { - self.frame = ogre_anim_shoot; + self.frame = ogre_anim_pain; self.attack_finished_single = time + 0.8; self.delay = time + 0.1; self.monster_delayedattack = ogre_uzi_fire; @@ -96,7 +88,7 @@ void ogre_uzi () void ogre_gl () { W_Grenade_Attack2(); - self.frame = ogre_anim_shoot; + self.frame = ogre_anim_pain; self.attack_finished_single = time + 0.8; } @@ -132,11 +124,7 @@ void ogre_die() self.nextthink = time + 2.1; self.movetype = MOVETYPE_TOSS; self.think = Monster_Fade; - - if (random() < 0.5) - self.frame = ogre_anim_death1; - else - self.frame = ogre_anim_death2; + self.frame = ogre_anim_die; monster_hook_death(); // for post-death mods } @@ -150,9 +138,9 @@ void ogre_spawn () self.classname = "monster_ogre"; self.checkattack = GenericCheckAttack; self.attack_melee = ogre_melee; - self.frame = ogre_anim_pull; + self.frame = ogre_anim_idle; self.attack_ranged = ogre_missile; - self.nextthink = time + 1; + self.nextthink = time + 0.1; self.think = ogre_think; self.sprite_height = 40; self.weapon = WEP_GRENADE_LAUNCHER; @@ -178,7 +166,7 @@ void spawnfunc_monster_ogre () if not (monster_initialize( "Ogre", - "models/monsters/ogre.mdl", + "models/monsters/ogre.dpm", OGRE_MIN, OGRE_MAX, FALSE, ogre_die, ogre_spawn)) diff --git a/scripts/ogre.shader b/scripts/ogre.shader new file mode 100644 index 000000000..195e5f17a --- /dev/null +++ b/scripts/ogre.shader @@ -0,0 +1,8 @@ +textures/berzerker_texture +{ + cull none + + { + map textures/ogre + } +} diff --git a/scripts/shaderlist.txt b/scripts/shaderlist.txt index 5f2d09872..b779627c5 100644 --- a/scripts/shaderlist.txt +++ b/scripts/shaderlist.txt @@ -18,3 +18,4 @@ mage barricade spider cerberus +ogre diff --git a/textures/ogre.png b/textures/ogre.png new file mode 100644 index 000000000..4bb8be23a Binary files /dev/null and b/textures/ogre.png differ diff --git a/textures/ogre_pants.png b/textures/ogre_pants.png new file mode 100644 index 000000000..bf9665d32 Binary files /dev/null and b/textures/ogre_pants.png differ