- Added a new WIF_NO_AUTO_SWITCH flag for weapons that should never be

switched to automatically when the player picks them up.


SVN r457 (trunk)
This commit is contained in:
Randy Heit 2007-01-22 22:15:50 +00:00
parent d0c910fca6
commit b4390308df
5 changed files with 143 additions and 2 deletions

View file

@ -1,3 +1,7 @@
January 22, 2007
- Added a new WIF_NO_AUTO_SWITCH flag for weapons that should never be
switched to automatically when the player picks them up.
January 18, 2007 January 18, 2007
- Added D3DCREATE_FPU_PRESERVE to the IDirect3D9::CreateDevice() call. - Added D3DCREATE_FPU_PRESERVE to the IDirect3D9::CreateDevice() call.
Normally Direct3D sets the FPU to single precision. We don't want that, Normally Direct3D sets the FPU to single precision. We don't want that,

View file

@ -264,7 +264,7 @@ enum
WIF_WIMPY_WEAPON = 0x00000200, // change away when ammo for another weapon is replenished WIF_WIMPY_WEAPON = 0x00000200, // change away when ammo for another weapon is replenished
WIF_POWERED_UP = 0x00000400, // this is a tome-of-power'ed version of its sister WIF_POWERED_UP = 0x00000400, // this is a tome-of-power'ed version of its sister
WIF_EXTREME_DEATH = 0x00000800, // weapon always causes an extreme death WIF_EXTREME_DEATH = 0x00000800, // weapon always causes an extreme death
WIF_NO_AUTO_SWITCH = 0x00001000, // never switch to this weapon when it's picked up
WIF_STAFF2_KICKBACK = 0x00002000, // the powered-up Heretic staff has special kickback WIF_STAFF2_KICKBACK = 0x00002000, // the powered-up Heretic staff has special kickback
WIF_CHEATNOTWEAPON = 1<<27, // Give cheat considers this not a weapon (used by Sigil) WIF_CHEATNOTWEAPON = 1<<27, // Give cheat considers this not a weapon (used by Sigil)

View file

@ -221,7 +221,7 @@ void AWeapon::AttachToOwner (AActor *other)
SisterWeapon = AddWeapon (SisterWeaponType); SisterWeapon = AddWeapon (SisterWeaponType);
if (Owner->player != NULL) if (Owner->player != NULL)
{ {
if (!Owner->player->userinfo.neverswitch) if (!Owner->player->userinfo.neverswitch && !(WeaponFlags & WIF_NO_AUTO_SWITCH))
{ {
Owner->player->PendingWeapon = this; Owner->player->PendingWeapon = this;
} }

View file

@ -268,6 +268,7 @@ static flagdef WeaponFlags[] =
DEFINE_FLAG2(WIF_BOT_MELEE, MELEEWEAPON, AWeapon, WeaponFlags), DEFINE_FLAG2(WIF_BOT_MELEE, MELEEWEAPON, AWeapon, WeaponFlags),
DEFINE_FLAG(WIF_BOT, BFG, AWeapon, WeaponFlags), DEFINE_FLAG(WIF_BOT, BFG, AWeapon, WeaponFlags),
DEFINE_FLAG(WIF, CHEATNOTWEAPON, AWeapon, WeaponFlags), DEFINE_FLAG(WIF, CHEATNOTWEAPON, AWeapon, WeaponFlags),
DEFINE_FLAG(WIF, NO_AUTO_SWITCH, AWeapon, WeaponFlags),
//WIF_BOT_REACTION_SKILL_THING = 1<<31, // I don't understand this //WIF_BOT_REACTION_SKILL_THING = 1<<31, // I don't understand this
}; };

View file

@ -375,10 +375,34 @@
<Filter <Filter
Name="Doom" Name="Doom"
> >
<File
RelativePath=".\decorate\doom\arachnotron.txt"
>
</File>
<File
RelativePath=".\decorate\doom\archvile.txt"
>
</File>
<File
RelativePath=".\decorate\doom\bruiser.txt"
>
</File>
<File
RelativePath=".\decorate\doom\cacodemon.txt"
>
</File>
<File
RelativePath=".\decorate\doom\cyberdemon.txt"
>
</File>
<File <File
RelativePath=".\decorate\doom\deadthings.txt" RelativePath=".\decorate\doom\deadthings.txt"
> >
</File> </File>
<File
RelativePath=".\decorate\doom\demon.txt"
>
</File>
<File <File
RelativePath=".\decorate\doom\doomammo.txt" RelativePath=".\decorate\doom\doomammo.txt"
> >
@ -399,10 +423,50 @@
RelativePath=".\decorate\doom\doomhealth.txt" RelativePath=".\decorate\doom\doomhealth.txt"
> >
</File> </File>
<File
RelativePath=".\decorate\doom\doomimp.txt"
>
</File>
<File <File
RelativePath=".\decorate\doom\doomkeys.txt" RelativePath=".\decorate\doom\doomkeys.txt"
> >
</File> </File>
<File
RelativePath=".\decorate\doom\doommisc.txt"
>
</File>
<File
RelativePath=".\decorate\doom\doomplayer.txt"
>
</File>
<File
RelativePath=".\decorate\doom\fatso.txt"
>
</File>
<File
RelativePath=".\decorate\doom\keen.txt"
>
</File>
<File
RelativePath=".\decorate\doom\lostsoul.txt"
>
</File>
<File
RelativePath=".\decorate\doom\painelemental.txt"
>
</File>
<File
RelativePath=".\decorate\doom\possessed.txt"
>
</File>
<File
RelativePath=".\decorate\doom\revenant.txt"
>
</File>
<File
RelativePath=".\decorate\doom\spidermaster.txt"
>
</File>
<File <File
RelativePath=".\decorate\doom\stealthmonsters.txt" RelativePath=".\decorate\doom\stealthmonsters.txt"
> >
@ -411,6 +475,14 @@
<Filter <Filter
Name="Heretic" Name="Heretic"
> >
<File
RelativePath=".\decorate\heretic\beast.txt"
>
</File>
<File
RelativePath=".\decorate\heretic\clink.txt"
>
</File>
<File <File
RelativePath=".\decorate\heretic\hereticammo.txt" RelativePath=".\decorate\heretic\hereticammo.txt"
> >
@ -431,10 +503,42 @@
RelativePath=".\decorate\heretic\heretickeys.txt" RelativePath=".\decorate\heretic\heretickeys.txt"
> >
</File> </File>
<File
RelativePath=".\decorate\heretic\hereticplayer.txt"
>
</File>
<File
RelativePath=".\decorate\heretic\mummy.txt"
>
</File>
<File
RelativePath=".\decorate\heretic\snake.txt"
>
</File>
</Filter> </Filter>
<Filter <Filter
Name="Hexen" Name="Hexen"
> >
<File
RelativePath=".\decorate\hexen\centaur.txt"
>
</File>
<File
RelativePath=".\decorate\hexen\clericplayer.txt"
>
</File>
<File
RelativePath=".\decorate\hexen\demons.txt"
>
</File>
<File
RelativePath=".\decorate\hexen\ettin.txt"
>
</File>
<File
RelativePath=".\decorate\hexen\fighterplayer.txt"
>
</File>
<File <File
RelativePath=".\decorate\hexen\flame.txt" RelativePath=".\decorate\hexen\flame.txt"
> >
@ -455,6 +559,10 @@
RelativePath=".\decorate\hexen\hexenspecialdecs.txt" RelativePath=".\decorate\hexen\hexenspecialdecs.txt"
> >
</File> </File>
<File
RelativePath=".\decorate\hexen\mageplayer.txt"
>
</File>
<File <File
RelativePath=".\decorate\hexen\mana.txt" RelativePath=".\decorate\hexen\mana.txt"
> >
@ -503,6 +611,10 @@
RelativePath=".\decorate\strife\strifearmor.txt" RelativePath=".\decorate\strife\strifearmor.txt"
> >
</File> </File>
<File
RelativePath=".\decorate\strife\strifebishop.txt"
>
</File>
<File <File
RelativePath=".\decorate\strife\strifeitems.txt" RelativePath=".\decorate\strife\strifeitems.txt"
> >
@ -511,6 +623,10 @@
RelativePath=".\decorate\strife\strifekeys.txt" RelativePath=".\decorate\strife\strifekeys.txt"
> >
</File> </File>
<File
RelativePath=".\decorate\strife\strifeplayer.txt"
>
</File>
<File <File
RelativePath=".\decorate\strife\strifestuff.txt" RelativePath=".\decorate\strife\strifestuff.txt"
> >
@ -523,6 +639,14 @@
<Filter <Filter
Name="Raven" Name="Raven"
> >
<File
RelativePath=".\decorate\raven\artiegg.txt"
>
</File>
<File
RelativePath=".\decorate\raven\ravenambient.txt"
>
</File>
<File <File
RelativePath=".\decorate\raven\ravenartifacts.txt" RelativePath=".\decorate\raven\ravenartifacts.txt"
> >
@ -547,10 +671,22 @@
RelativePath=".\decorate\shared\debris.txt" RelativePath=".\decorate\shared\debris.txt"
> >
</File> </File>
<File
RelativePath=".\decorate\shared\fountain.txt"
>
</File>
<File <File
RelativePath=".\decorate\shared\pickups.txt" RelativePath=".\decorate\shared\pickups.txt"
> >
</File> </File>
<File
RelativePath=".\decorate\shared\sharedmisc.txt"
>
</File>
<File
RelativePath=".\decorate\shared\soundsequence.txt"
>
</File>
<File <File
RelativePath=".\decorate\shared\splashes.txt" RelativePath=".\decorate\shared\splashes.txt"
> >