by Gez » Fri Mar 06, 2009 4:21 pm
Try this instead. I think it should work.
Code: Select all
--- src/c_cmds.cpp (revision 1463)
+++ src/c_cmds.cpp (working copy)
@@ -73,6 +73,7 @@ extern FILE *Logfile;
extern bool insave;
CVAR (Bool, sv_cheats, false, CVAR_SERVERINFO | CVAR_LATCH)
+ CVAR (Bool, sv_unlimited_pickup, false, CVAR_ARCHIVE | CVAR_SERVERINFO)
CCMD (toggleconsole)
{
--- src/d_main.cpp (revision 1463)
+++ src/d_main.cpp (working copy)
@@ -143,6 +143,7 @@ EXTERN_CVAR (Bool, invertmouse)
EXTERN_CVAR (Bool, lookstrafe)
EXTERN_CVAR (Int, screenblocks)
EXTERN_CVAR (Bool, sv_cheats)
+ EXTERN_CVAR (Bool, sv_unlimited_pickup)
extern gameinfo_t SharewareGameInfo;
extern gameinfo_t RegisteredGameInfo;
@@ -2381,6 +2382,7 @@ void D_DoomMain (void)
if (Args->CheckParm ("-nomonsters")) flags |= DF_NO_MONSTERS;
if (Args->CheckParm ("-respawn")) flags |= DF_MONSTERS_RESPAWN;
if (Args->CheckParm ("-fast")) flags |= DF_FAST_MONSTERS;
+ if (Args->CheckParm("-ulp")) sv_unlimited_pickup = true;
devparm = !!Args->CheckParm ("-devparm");
--- src/g_shared/a_pickups.cpp (revision 1463)
+++ src/g_shared/a_pickups.cpp (working copy)
@@ -67,13 +67,14 @@ const PClass *AAmmo::GetParentAmmo () const
// AAmmo :: HandlePickup
//
//===========================================================================
+ EXTERN_CVAR(Bool, sv_unlimited_pickup)
bool AAmmo::HandlePickup (AInventory *item)
{
if (GetClass() == item->GetClass() ||
(item->IsKindOf (RUNTIME_CLASS(AAmmo)) && static_cast<AAmmo*>(item)->GetParentAmmo() == GetClass()))
{
- if (Amount < MaxAmount)
+ if (Amount < MaxAmount || sv_unlimited_pickup)
{
int receiving = item->Amount;
@@ -84,7 +85,7 @@ bool AAmmo::HandlePickup (AInventory *item)
int oldamount = Amount;
Amount += receiving;
- if (Amount > MaxAmount)
+ if (Amount > MaxAmount && !sv_unlimited_pickup)
{
Amount = MaxAmount;
}
--- src/g_shared/a_weapons.cpp (revision 1463)
+++ src/g_shared/a_weapons.cpp (working copy)
@@ -326,10 +326,11 @@ AAmmo *AWeapon::AddAmmo (AActor *other, const PClass *ammotype, int amount)
// Give the owner some more ammo he already has.
//
//===========================================================================
+ EXTERN_CVAR(Bool, sv_unlimited_pickup)
bool AWeapon::AddExistingAmmo (AAmmo *ammo, int amount)
{
- if (ammo != NULL && ammo->Amount < ammo->MaxAmount)
+ if (ammo != NULL && (ammo->Amount < ammo->MaxAmount || sv_unlimited_pickup))
{
// extra ammo in baby mode and nightmare mode
if (!(ItemFlags&IF_IGNORESKILL))
@@ -337,7 +338,7 @@ bool AWeapon::AddExistingAmmo (AAmmo *ammo, int amount)
amount = FixedMul(amount, G_SkillProperty(SKILLP_AmmoFactor));
}
ammo->Amount += amount;
- if (ammo->Amount > ammo->MaxAmount)
+ if (ammo->Amount > ammo->MaxAmount && !sv_unlimited_pickup)
{
ammo->Amount = ammo->MaxAmount;
}
Try this instead. I think it should work.
[code]--- src/c_cmds.cpp (revision 1463)
+++ src/c_cmds.cpp (working copy)
@@ -73,6 +73,7 @@ extern FILE *Logfile;
extern bool insave;
CVAR (Bool, sv_cheats, false, CVAR_SERVERINFO | CVAR_LATCH)
+ CVAR (Bool, sv_unlimited_pickup, false, CVAR_ARCHIVE | CVAR_SERVERINFO)
CCMD (toggleconsole)
{
--- src/d_main.cpp (revision 1463)
+++ src/d_main.cpp (working copy)
@@ -143,6 +143,7 @@ EXTERN_CVAR (Bool, invertmouse)
EXTERN_CVAR (Bool, lookstrafe)
EXTERN_CVAR (Int, screenblocks)
EXTERN_CVAR (Bool, sv_cheats)
+ EXTERN_CVAR (Bool, sv_unlimited_pickup)
extern gameinfo_t SharewareGameInfo;
extern gameinfo_t RegisteredGameInfo;
@@ -2381,6 +2382,7 @@ void D_DoomMain (void)
if (Args->CheckParm ("-nomonsters")) flags |= DF_NO_MONSTERS;
if (Args->CheckParm ("-respawn")) flags |= DF_MONSTERS_RESPAWN;
if (Args->CheckParm ("-fast")) flags |= DF_FAST_MONSTERS;
+ if (Args->CheckParm("-ulp")) sv_unlimited_pickup = true;
devparm = !!Args->CheckParm ("-devparm");
--- src/g_shared/a_pickups.cpp (revision 1463)
+++ src/g_shared/a_pickups.cpp (working copy)
@@ -67,13 +67,14 @@ const PClass *AAmmo::GetParentAmmo () const
// AAmmo :: HandlePickup
//
//===========================================================================
+ EXTERN_CVAR(Bool, sv_unlimited_pickup)
bool AAmmo::HandlePickup (AInventory *item)
{
if (GetClass() == item->GetClass() ||
(item->IsKindOf (RUNTIME_CLASS(AAmmo)) && static_cast<AAmmo*>(item)->GetParentAmmo() == GetClass()))
{
- if (Amount < MaxAmount)
+ if (Amount < MaxAmount || sv_unlimited_pickup)
{
int receiving = item->Amount;
@@ -84,7 +85,7 @@ bool AAmmo::HandlePickup (AInventory *item)
int oldamount = Amount;
Amount += receiving;
- if (Amount > MaxAmount)
+ if (Amount > MaxAmount && !sv_unlimited_pickup)
{
Amount = MaxAmount;
}
--- src/g_shared/a_weapons.cpp (revision 1463)
+++ src/g_shared/a_weapons.cpp (working copy)
@@ -326,10 +326,11 @@ AAmmo *AWeapon::AddAmmo (AActor *other, const PClass *ammotype, int amount)
// Give the owner some more ammo he already has.
//
//===========================================================================
+ EXTERN_CVAR(Bool, sv_unlimited_pickup)
bool AWeapon::AddExistingAmmo (AAmmo *ammo, int amount)
{
- if (ammo != NULL && ammo->Amount < ammo->MaxAmount)
+ if (ammo != NULL && (ammo->Amount < ammo->MaxAmount || sv_unlimited_pickup))
{
// extra ammo in baby mode and nightmare mode
if (!(ItemFlags&IF_IGNORESKILL))
@@ -337,7 +338,7 @@ bool AWeapon::AddExistingAmmo (AAmmo *ammo, int amount)
amount = FixedMul(amount, G_SkillProperty(SKILLP_AmmoFactor));
}
ammo->Amount += amount;
- if (ammo->Amount > ammo->MaxAmount)
+ if (ammo->Amount > ammo->MaxAmount && !sv_unlimited_pickup)
{
ammo->Amount = ammo->MaxAmount;
}
[/code]