diff --git a/docs/rh-log.txt b/docs/rh-log.txt index ab36f01d4..3b9ca4052 100644 --- a/docs/rh-log.txt +++ b/docs/rh-log.txt @@ -1,4 +1,10 @@ July 13, 2006 (Changes by Graf Zahl) +- Removed the game filter check from addplayerclass. If a player class is added + here the game filter is irrelevant and there's nothing that should prevent + the HereticPlayer being added to a Hexen game, for example. +- Changed: The addplayerclass CCMD was far too paranoid and needlessly aborted + the game for any error being encountered. Since an empty player class list + is checked for elsewhere outputting the messages to the console is sufficient. - Generalized Hexen's class-based spawning to be a property of the player class so now it is available in all games. - Replaced the call to A_FlameSnd in the HereticPlayer's burn death sequence diff --git a/src/p_user.cpp b/src/p_user.cpp index d6b09bf00..a71eb5dbd 100644 --- a/src/p_user.cpp +++ b/src/p_user.cpp @@ -142,18 +142,17 @@ CCMD (addplayerclass) if (!ti) { - I_FatalError ("Unknown player class '%s'", argv[1]); + Printf ("Unknown player class '%s'", argv[1]); } else if (!ti->IsDescendantOf (RUNTIME_CLASS (APlayerPawn))) { - I_FatalError ("Invalid player class '%s'", argv[1]); + Printf ("Invalid player class '%s'", argv[1]); } else if (ti->Meta.GetMetaString (APMETA_DisplayName) == NULL) { - I_FatalError ("Missing displayname for player class '%s'", argv[1]); + Printf ("Missing displayname for player class '%s'", argv[1]); } - else if (ti->ActorInfo->GameFilter == GAME_Any || - gameinfo.gametype & ti->ActorInfo->GameFilter) + else { FPlayerClass newclass; @@ -169,7 +168,7 @@ CCMD (addplayerclass) } else { - I_FatalError ("Unknown flag '%s' for player class '%s'", argv[arg], argv[1]); + Printf ("Unknown flag '%s' for player class '%s'", argv[arg], argv[1]); } arg++;