Skip to content

Commit

Permalink
HacX|Fixed: Buzzer moves much faster than it should
Browse files Browse the repository at this point in the history
Disabled the -fast mode manipulation of the Thing definitions when
playing HacX and Chex Quest. These games use different values than
those used by Doom.

Todo: Implement a mechanism to handle this properly...
  • Loading branch information
danij-deng committed Feb 6, 2012
1 parent 0b4130e commit 4d8b131
Showing 1 changed file with 38 additions and 34 deletions.
72 changes: 38 additions & 34 deletions doomsday/plugins/common/src/g_game.c
Expand Up @@ -2596,50 +2596,54 @@ void G_InitNew(skillmode_t skill, uint episode, uint map)
respawnMonsters = cfg.respawnMonstersNightmare;
#endif

//// \kludge Doom/Heretic Fast Monters/Missiles
#if __JDOOM__ || __JDOOM64__
// Fast monsters?
if(fastParm
# if __JDOOM__
|| (skill == SM_NIGHTMARE && gameSkill != SM_NIGHTMARE)
# endif
)
// Disabled in Chex and HacX because this messes with the original games' values.
if(gameMode != doom2_hacx && gameMode != doom_chex)
{
for(i = S_SARG_RUN1; i <= S_SARG_RUN8; ++i)
STATES[i].tics = 1;
for(i = S_SARG_ATK1; i <= S_SARG_ATK3; ++i)
STATES[i].tics = 4;
for(i = S_SARG_PAIN; i <= S_SARG_PAIN2; ++i)
STATES[i].tics = 1;
}
else
{
for(i = S_SARG_RUN1; i <= S_SARG_RUN8; ++i)
STATES[i].tics = 2;
for(i = S_SARG_ATK1; i <= S_SARG_ATK3; ++i)
STATES[i].tics = 8;
for(i = S_SARG_PAIN; i <= S_SARG_PAIN2; ++i)
STATES[i].tics = 2;
}
/// @kludge Doom/Heretic Fast Monters/Missiles
#if __JDOOM__ || __JDOOM64__
// Fast monsters?
if(fastParm
# if __JDOOM__
|| (skill == SM_NIGHTMARE && gameSkill != SM_NIGHTMARE)
# endif
)
{
for(i = S_SARG_RUN1; i <= S_SARG_RUN8; ++i)
STATES[i].tics = 1;
for(i = S_SARG_ATK1; i <= S_SARG_ATK3; ++i)
STATES[i].tics = 4;
for(i = S_SARG_PAIN; i <= S_SARG_PAIN2; ++i)
STATES[i].tics = 1;
}
else
{
for(i = S_SARG_RUN1; i <= S_SARG_RUN8; ++i)
STATES[i].tics = 2;
for(i = S_SARG_ATK1; i <= S_SARG_ATK3; ++i)
STATES[i].tics = 8;
for(i = S_SARG_PAIN; i <= S_SARG_PAIN2; ++i)
STATES[i].tics = 2;
}
#endif

// Fast missiles?
// Fast missiles?
#if __JDOOM__ || __JHERETIC__ || __JDOOM64__
# if __JDOOM64__
speed = fastParm;
speed = fastParm;
# elif __JDOOM__
speed = (fastParm || (skill == SM_NIGHTMARE && gameSkill != SM_NIGHTMARE));
speed = (fastParm || (skill == SM_NIGHTMARE && gameSkill != SM_NIGHTMARE));
# else
speed = skill == SM_NIGHTMARE;
speed = skill == SM_NIGHTMARE;
# endif

for(i = 0; MonsterMissileInfo[i].type != -1; ++i)
{
MOBJINFO[MonsterMissileInfo[i].type].speed =
MonsterMissileInfo[i].speed[speed];
}
for(i = 0; MonsterMissileInfo[i].type != -1; ++i)
{
MOBJINFO[MonsterMissileInfo[i].type].speed =
MonsterMissileInfo[i].speed[speed];
}
#endif
// <-- KLUDGE
// <-- KLUDGE
}

if(!IS_CLIENT)
{
Expand Down

0 comments on commit 4d8b131

Please sign in to comment.