]> git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
Add new way to automatically generate the entire notifications.cfg file
authorSamual Lenks <samual@xonotic.org>
Thu, 21 Feb 2013 20:00:24 +0000 (15:00 -0500)
committerSamual Lenks <samual@xonotic.org>
Thu, 21 Feb 2013 20:00:24 +0000 (15:00 -0500)
defaultXonotic.cfg
notifications.cfg [new file with mode: 0644]
qcsrc/common/command/generic.qc
qcsrc/common/notifications.qc
qcsrc/common/notifications.qh

index e5bb0f25c632b3ce7125452f953842904007da16..c2697006a58e3a3996268b2d48f0be04c4361cb2 100644 (file)
@@ -1551,6 +1551,7 @@ exec turrets.cfg
 exec vehicles.cfg
 exec crosshairs.cfg
 exec gamemodes.cfg
+exec notifications.cfg
 
 // load console command aliases and settings
 exec commands.cfg
diff --git a/notifications.cfg b/notifications.cfg
new file mode 100644 (file)
index 0000000..8cc07bd
--- /dev/null
@@ -0,0 +1,433 @@
+// ********************************************** //
+// ** WARNING - DO NOT MANUALLY EDIT THIS FILE ** //
+// **                                          ** //
+// **  This file is automatically generated    ** //
+// **  by code with the command 'dumpnotifs'.  ** //
+// **                                          ** //
+// **  If you add a new notification, please   ** //
+// **  regenerate this file with that command  ** //
+// **  making sure that the output matches     ** //
+// **  with the lists and defaults in code.    ** //
+// **                                          ** //
+// ********************************************** //
+
+// Version number to identify mismatches between code and config file...
+// Increment NOTIF_VERSION in common/notifications.qh with any
+// new notifications or other changes to notif cvars/this config.
+set notification_version 1
+
+// MSG_INFO notifications (count = 184):
+seta notification_INFO_CTF_FLAGRETURN_DROPPED_RED 1 "notif string: ^7The ^1RED^7 flag was dropped in the base and returned itself\n"
+seta notification_INFO_CTF_FLAGRETURN_DROPPED_RED 1 "notif string: ^7The ^1RED^7 flag was dropped in the base and returned itself\n"
+seta notification_INFO_CTF_FLAGRETURN_DROPPED_BLUE 1 "notif string: ^7The ^4BLUE^7 flag was dropped in the base and returned itself\n"
+seta notification_INFO_CTF_FLAGRETURN_DAMAGED_RED 1 "notif string: ^7The ^1RED^7 flag was destroyed and returned to base\n"
+seta notification_INFO_CTF_FLAGRETURN_DAMAGED_BLUE 1 "notif string: ^7The ^4BLUE^7 flag was destroyed and returned to base\n"
+seta notification_INFO_CTF_FLAGRETURN_SPEEDRUN_RED 1 "notif string: ^7The ^1RED^7 flag became impatient after ^2%.2f^7 seconds and returned itself\n"
+seta notification_INFO_CTF_FLAGRETURN_SPEEDRUN_BLUE 1 "notif string: ^7The ^4BLUE^7 flag became impatient after ^2%.2f^7 seconds and returned itself\n"
+seta notification_INFO_CTF_FLAGRETURN_NEEDKILL_RED 1 "notif string: ^7The ^1RED^7 flag fell somewhere it couldn't be reached and returned to base\n"
+seta notification_INFO_CTF_FLAGRETURN_NEEDKILL_BLUE 1 "notif string: ^7The ^4BLUE^7 flag fell somewhere it couldn't be reached and returned to base\n"
+seta notification_INFO_CTF_FLAGRETURN_ABORTRUN_RED 1 "notif string: ^7The ^1RED^7 flag was returned to base by its owner\n"
+seta notification_INFO_CTF_FLAGRETURN_ABORTRUN_BLUE 1 "notif string: ^7The ^4BLUE^7 flag was returned to base by its owner\n"
+seta notification_INFO_CTF_FLAGRETURN_TIMEOUT_RED 1 "notif string: ^7The ^1RED^7 flag has returned to the base\n"
+seta notification_INFO_CTF_FLAGRETURN_TIMEOUT_BLUE 1 "notif string: ^7The ^4BLUE^7 flag has returned to the base\n"
+seta notification_INFO_CTF_PICKUP_RED 1 "notif string: ^7%s^7 got the ^1RED^7 flag\n"
+seta notification_INFO_CTF_PICKUP_BLUE 1 "notif string: ^7%s^7 got the ^4BLUE^7 flag\n"
+seta notification_INFO_CTF_RETURN_RED 1 "notif string: ^7%s^7 returned the ^1RED^7 flag\n"
+seta notification_INFO_CTF_RETURN_BLUE 1 "notif string: ^7%s^7 returned the ^4BLUE^7 flag\n"
+seta notification_INFO_CTF_LOST_RED 1 "notif string: ^7%s^7 lost the ^1RED^7 flag\n"
+seta notification_INFO_CTF_LOST_BLUE 1 "notif string: ^7%s^7 lost the ^4BLUE^7 flag\n"
+seta notification_INFO_CTF_CAPTURE_RED 1 "notif string: ^7%s^7 captured the ^1RED^7 flag\n"
+seta notification_INFO_CTF_CAPTURE_BLUE 1 "notif string: ^7%s^7 captured the ^4BLUE^7 flag\n"
+seta notification_INFO_CTF_CAPTURE_TIME_RED 1 "notif string: ^7%s^7 captured the ^1RED^7 flag in ^2%s^7 seconds\n"
+seta notification_INFO_CTF_CAPTURE_TIME_BLUE 1 "notif string: ^7%s^7 captured the ^4BLUE^7 flag in ^2%s^7 seconds\n"
+seta notification_INFO_CTF_CAPTURE_BROKEN_RED 1 "notif string: ^7%s^7 captured the ^1RED^7 flag in ^2%s^7 seconds, breaking ^7%s^7's previous record of ^3%s^7 seconds\n"
+seta notification_INFO_CTF_CAPTURE_BROKEN_BLUE 1 "notif string: ^7%s^7 captured the ^4BLUE^7 flag in ^2%s^7 seconds, breaking ^7%s^7's previous record of ^3%s^7 seconds\n"
+seta notification_INFO_CTF_CAPTURE_UNBROKEN_RED 1 "notif string: ^7%s^7 captured the ^1RED^7 flag in ^3%s^7 seconds, failing to break ^7%s^7's previous record of ^2%s^7 seconds\n"
+seta notification_INFO_CTF_CAPTURE_UNBROKEN_BLUE 1 "notif string: ^7%s^7 captured the ^4BLUE^7 flag in ^3%s^7 seconds, failing to break ^7%s^7's previous record of ^2%s^7 seconds\n"
+seta notification_INFO_DEATH_TEAMKILL_RED 1 "notif string: ^7%s^1 was betrayed by ^7%s^1%s\n"
+seta notification_INFO_DEATH_TEAMKILL_BLUE 1 "notif string: ^7%s^1 was betrayed by ^7%s^1%s\n"
+seta notification_INFO_DEATH_TEAMKILL_YELLOW 1 "notif string: ^7%s^1 was betrayed by ^7%s^1%s\n"
+seta notification_INFO_DEATH_TEAMKILL_PINK 1 "notif string: ^7%s^1 was betrayed by ^7%s^1%s\n"
+seta notification_INFO_DEATH_FIRSTBLOOD 1 "notif string: ^7%s^1 drew first blood\n"
+seta notification_INFO_DEATH_SELF_CUSTOM 1 "notif string: ^7%s^1 %s^1%s\n"
+seta notification_INFO_DEATH_SELF_GENERIC 1 "notif string: ^7%s^1 died%s\n"
+seta notification_INFO_DEATH_SELF_VOID 1 "notif string: ^7%s^1 was in the wrong place%s\n"
+seta notification_INFO_DEATH_SELF_SUICIDE 1 "notif string: ^7%s^1 couldn't take it anymore%s\n"
+seta notification_INFO_DEATH_SELF_NOAMMO 1 "notif string: ^7%s^1 died%s. What's the point of living without ammo?\n"
+seta notification_INFO_DEATH_SELF_ROT 1 "notif string: ^7%s^1 rotted away%s\n"
+seta notification_INFO_DEATH_SELF_CAMP 1 "notif string: ^7%s^1 thought they found a nice camping ground%s\n"
+seta notification_INFO_DEATH_SELF_BETRAYAL 1 "notif string: ^7%s^1 became enemies with the Lord of Teamplay%s\n"
+seta notification_INFO_DEATH_SELF_TEAMCHANGE 1 "notif string: ^7%s^1 switched to the %s\n"
+seta notification_INFO_DEATH_SELF_AUTOTEAMCHANGE 1 "notif string: ^7%s^1 was moved into the %s\n"
+seta notification_INFO_DEATH_SELF_FALL 1 "notif string: ^7%s^1 hit the ground with a crunch%s\n"
+seta notification_INFO_DEATH_SELF_DROWN 1 "notif string: ^7%s^1 couldn't catch their breath%s\n"
+seta notification_INFO_DEATH_SELF_FIRE 1 "notif string: ^7%s^1 became a bit too crispy%s\n"
+seta notification_INFO_DEATH_SELF_LAVA 1 "notif string: ^7%s^1 turned into hot slag%s\n"
+seta notification_INFO_DEATH_SELF_SLIME 1 "notif string: ^7%s^1 was slimed%s\n"
+seta notification_INFO_DEATH_SELF_SHOOTING_STAR 1 "notif string: ^7%s^1 became a shooting star%s\n"
+seta notification_INFO_DEATH_SELF_SWAMP 1 "notif string: ^7%s^1 is now preserved for centuries to come%s\n"
+seta notification_INFO_DEATH_SELF_CHEAT 1 "notif string: ^7%s^1 unfairly eliminated themself%s\n"
+seta notification_INFO_DEATH_SELF_TOUCHEXPLODE 1 "notif string: ^7%s^1 died in an accident%s\n"
+seta notification_INFO_DEATH_SELF_TURRET 1 "notif string: ^7%s^1 ran into a turret%s\n"
+seta notification_INFO_DEATH_SELF_TURRET_EWHEEL 1 "notif string: ^7%s^1 was blasted away by an eWheel turret%s\n"
+seta notification_INFO_DEATH_SELF_TURRET_FLAC 1 "notif string: ^7%s^1 got caught up in the FLAC turret fire%s\n"
+seta notification_INFO_DEATH_SELF_TURRET_MACHINEGUN 1 "notif string: ^7%s^1 was riddled full of holes by a Machinegun turret%s\n"
+seta notification_INFO_DEATH_SELF_TURRET_WALKER_GUN 1 "notif string: ^7%s^1 got served a lead enrichment by a Walker turret%s\n"
+seta notification_INFO_DEATH_SELF_TURRET_WALKER_MEELE 1 "notif string: ^7%s^1 was impaled by a Walker turret%s\n"
+seta notification_INFO_DEATH_SELF_TURRET_WALKER_ROCKET 1 "notif string: ^7%s^1 was blasted away by a Walker turret%s\n"
+seta notification_INFO_DEATH_SELF_TURRET_HELLION 1 "notif string: ^7%s^1 was blasted away by a Hellion turret%s\n"
+seta notification_INFO_DEATH_SELF_TURRET_HK 1 "notif string: ^7%s^1 could not hide from the Hunter turret%s\n"
+seta notification_INFO_DEATH_SELF_TURRET_MLRS 1 "notif string: ^7%s^1 got turned into smoldering gibs by an MLRS turret%s\n"
+seta notification_INFO_DEATH_SELF_TURRET_PLASMA 1 "notif string: ^7%s^1 got served some superheated plasma from a turret%s\n"
+seta notification_INFO_DEATH_SELF_TURRET_PHASER 1 "notif string: ^7%s^1 was phased out by a turret%s\n"
+seta notification_INFO_DEATH_SELF_TURRET_TESLA 1 "notif string: ^7%s^1 was electrocuted by a Tesla turret%s\n"
+seta notification_INFO_DEATH_MURDER_TELEFRAG 1 "notif string: ^7%s^1 was telefragged by ^7%s^1%s\n"
+seta notification_INFO_DEATH_MURDER_FALL 1 "notif string: ^7%s^1 was grounded by ^7%s^1%s\n"
+seta notification_INFO_DEATH_MURDER_DROWN 1 "notif string: ^7%s^1 was drowned by ^7%s^1%s\n"
+seta notification_INFO_DEATH_MURDER_LAVA 1 "notif string: ^7%s^1 was cooked by ^7%s^1%s\n"
+seta notification_INFO_DEATH_MURDER_SLIME 1 "notif string: ^7%s^1 was slimed by ^7%s^1%s\n"
+seta notification_INFO_DEATH_MURDER_SHOOTING_STAR 1 "notif string: ^7%s^1 was shot into space by ^7%s^1%s\n"
+seta notification_INFO_DEATH_MURDER_SWAMP 1 "notif string: ^7%s^1 was preserved by ^7%s^1%s\n"
+seta notification_INFO_DEATH_MURDER_VOID 1 "notif string: ^7%s^1 was thrown into a world of hurt by ^7%s^1%s\n"
+seta notification_INFO_DEATH_MURDER_TOUCHEXPLODE 1 "notif string: ^7%s^1 died in an accident with ^7%s^1%s\n"
+seta notification_INFO_DEATH_MURDER_CHEAT 1 "notif string: ^7%s^1 was unfairly eliminated by ^7%s^1%s\n"
+seta notification_INFO_DEATH_MURDER_FIRE 1 "notif string: ^7%s^1 was burnt up into a crisp by ^7%s^1%s\n"
+seta notification_INFO_DEATH_MURDER_VH_CRUSH 1 "notif string: ^7%s^1 was crushed by ^7%s^1%s\n"
+seta notification_INFO_DEATH_MURDER_VH_SPID_MINIGUN 1 "notif string: ^7%s^1 got shredded by ^7%s^1%s\n"
+seta notification_INFO_DEATH_MURDER_VH_SPID_ROCKET 1 "notif string: ^7%s^1 was blasted to bits by ^7%s^1%s\n"
+seta notification_INFO_DEATH_MURDER_VH_SPID_DEATH 1 "notif string: ^7%s^1 got caught in the blast when ^7%s^1%s\n"
+seta notification_INFO_DEATH_MURDER_VH_WAKI_GUN 1 "notif string: ^7%s^1 was bolted down by ^7%s^1%s\n"
+seta notification_INFO_DEATH_MURDER_VH_WAKI_ROCKET 1 "notif string: ^7%s^1 couldn't find shelter from ^7%s^1%s\n"
+seta notification_INFO_DEATH_MURDER_VH_WAKI_DEATH 1 "notif string: ^7%s^1 got caught in the blast when ^7%s^1%s\n"
+seta notification_INFO_DEATH_MURDER_VH_RAPT_CANNON 1 "notif string: ^7%s^1 couldn't resist ^7%s^1 purple blobs%s\n"
+seta notification_INFO_DEATH_MURDER_VH_RAPT_BOMB 1 "notif string: ^7%s^1 was cluster bombed by ^7%s^1%s\n"
+seta notification_INFO_DEATH_MURDER_VH_RAPT_FRAGMENT 1 "notif string: ^7%s^1 was cluster bombed by ^7%s^1%s\n"
+seta notification_INFO_DEATH_MURDER_VH_RAPT_DEATH 1 "notif string: ^7%s^1 got caught in the blast when ^7%s^1%s\n"
+seta notification_INFO_DEATH_MURDER_VH_BUMB_GUN 1 "notif string: ^7%s^1 foobar by ^7%s^1%s\n"
+seta notification_INFO_DEATH_MURDER_VH_BUMB_RAY 1 "notif string: ^7%s^1 foobar by ^7%s^1%s\n"
+seta notification_INFO_DEATH_MURDER_VH_BUMB_RAY_HEAL 1 "notif string: ^7%s^1 foobar by ^7%s^1%s\n"
+seta notification_INFO_DEATH_MURDER_VH_BUMB_DEATH 1 "notif string: ^7%s^1 foobar by ^7%s^1%s\n"
+seta notification_INFO_FREEZETAG_ROUND_WIN_RED 1 "notif string: ^1RED^7 team wins the round, all other teams were frozen\n"
+seta notification_INFO_FREEZETAG_ROUND_WIN_BLUE 1 "notif string: ^4BLUE^7 team wins the round, all other teams were frozen\n"
+seta notification_INFO_FREEZETAG_ROUND_WIN_YELLOW 1 "notif string: ^3YELLOW^7 team wins the round, all other teams were frozen\n"
+seta notification_INFO_FREEZETAG_ROUND_WIN_PINK 1 "notif string: ^6PINK^7 team wins the round, all other teams were frozen\n"
+seta notification_INFO_FREEZETAG_REVIVE 1 "notif string: ^7%s^4 was revived by ^7%s\n"
+seta notification_INFO_FREEZETAG_FREEZE 1 "notif string: ^7%s^1 was frozen by ^7%s\n"
+seta notification_INFO_FREEZETAG_SELF 1 "notif string: ^7%s^1 froze themself\n"
+seta notification_INFO_GODMODE_OFF 1 "notif string: ^7Godmode saved you %d units of damage, cheater!\n"
+seta notification_INFO_JOIN_CONNECT 1 "notif string: ^7%s^4 connected%s\n"
+seta notification_INFO_JOIN_CONNECT_TEAM_RED 1 "notif string: ^7%s^4 connected and joined the ^1RED\n"
+seta notification_INFO_JOIN_CONNECT_TEAM_BLUE 1 "notif string: ^7%s^4 connected and joined the ^4BLUE\n"
+seta notification_INFO_JOIN_CONNECT_TEAM_YELLOW 1 "notif string: ^7%s^4 connected and joined the ^3YELLOW\n"
+seta notification_INFO_JOIN_CONNECT_TEAM_PINK 1 "notif string: ^7%s^4 connected and joined the ^6PINK\n"
+seta notification_INFO_JOIN_PLAY 1 "notif string: ^7%s^4 is now playing\n"
+seta notification_INFO_KEEPAWAY_DROPPED 1 "notif string: ^7%s^7 has dropped the ball!\n"
+seta notification_INFO_KEEPAWAY_PICKUP 1 "notif string: ^7%s^7 has picked up the ball!\n"
+seta notification_INFO_LMS_NOLIVES 1 "notif string: ^7%s^4 has no more lives left\n"
+seta notification_INFO_LMS_FORFEIT 1 "notif string: ^7%s^4 forfeited\n"
+seta notification_INFO_POWERDOWN_INVISIBILITY 1 "notif string: ^3Invisibility has worn off\n"
+seta notification_INFO_POWERDOWN_SHIELD 1 "notif string: ^3Shield has worn off\n"
+seta notification_INFO_POWERDOWN_SPEED 1 "notif string: ^3Speed has worn off\n"
+seta notification_INFO_POWERDOWN_STRENGTH 1 "notif string: ^3Strength has worn off\n"
+seta notification_INFO_POWERUP_INVISIBILITY 1 "notif string: ^3You are invisible\n"
+seta notification_INFO_POWERUP_SHIELD 1 "notif string: ^3Shield surrounds you\n"
+seta notification_INFO_POWERUP_SPEED 1 "notif string: ^3You are on speed\n"
+seta notification_INFO_POWERUP_STRENGTH 1 "notif string: ^3Strength infuses your weapons with devastating power\n"
+seta notification_INFO_QUIT_DISCONNECT 1 "notif string: ^7%s^4 disconnected\n"
+seta notification_INFO_QUIT_KICK_IDLING 1 "notif string: ^7%s^4 was kicked for idling\n"
+seta notification_INFO_QUIT_KICK_SPECTATING 1 "notif string: ^3You were kicked from the server because you are a spectator and spectators aren't allowed at the moment.\n"
+seta notification_INFO_QUIT_SPECTATE 1 "notif string: ^7%s^4 is now spectating\n"
+seta notification_INFO_RACE_FAIL 1 "notif string: "
+seta notification_INFO_RACE_NEW_RECORD 1 "notif string: "
+seta notification_INFO_RACE_NEW_TIME 1 "notif string: "
+seta notification_INFO_RACE_NEW_RANK 1 "notif string: "
+seta notification_INFO_SCORES_RED 1 "notif string: ^1RED ^7team scores!\n"
+seta notification_INFO_SCORES_BLUE 1 "notif string: ^4BLUE ^7team scores!\n"
+seta notification_INFO_SCORES_YELLOW 1 "notif string: ^3YELLOW ^7team scores!\n"
+seta notification_INFO_SCORES_PINK 1 "notif string: ^6PINK ^7team scores!\n"
+seta notification_INFO_SPECTATE_WARNING 1 "notif string: ^3You have to become a player within the next %d seconds, otherwise you will be kicked, because spectating isn't allowed at this time!\n"
+seta notification_INFO_SUPERWEAPON_BROKEN 1 "notif string: ^3Superweapons have broken down\n"
+seta notification_INFO_SUPERWEAPON_PICKUP 1 "notif string: ^3You now have a superweapon\n"
+seta notification_INFO_SUPERWEAPON_LOST 1 "notif string: ^3Superweapons have been lost\n"
+seta notification_INFO_VERSION_BETA 1 "notif string: \ 1^1NOTE: ^7The server is running ^2Xonotic %s (beta)^7, you have ^3Xonotic %s\n"
+seta notification_INFO_VERSION_OLD 1 "notif string: \ 1^1NOTE: ^7The server is running ^2Xonotic %s^7, you have ^3Xonotic %s\n"
+seta notification_INFO_VERSION_OUTDATED 1 "notif string: \ 1^1NOTE: ^2Xonotic %s^7 is out, and you still have ^3Xonotic %s^7 - get the update from ^4http://www.xonotic.org/^7!\n"
+seta notification_INFO_WATERMARK 1 "notif string: ^4SVQC Build information: ^1%s\n"
+seta notification_INFO_WEAPON_THINKING_WITH_PORTALS 1 "notif string: ^7%s^1 is now thinking with portals%s\n"
+seta notification_INFO_WEAPON_CRYLINK_SUICIDE 1 "notif string: ^7%s^1 felt the strong pull of their Crylink%s\n"
+seta notification_INFO_WEAPON_CRYLINK_MURDER 1 "notif string: ^7%s^1 felt the strong pull of ^7%s^1's Crylink%s\n"
+seta notification_INFO_WEAPON_ELECTRO_SUICIDE_ORBS 1 "notif string: ^7%s^1 could not remember where they put their Electro plasma%s\n"
+seta notification_INFO_WEAPON_ELECTRO_SUICIDE_BOLT 1 "notif string: ^7%s^1 played with Electro plasma%s\n"
+seta notification_INFO_WEAPON_ELECTRO_MURDER_BOLT 1 "notif string: ^7%s^1 was blasted by ^7%s^1's Electro bolt%s\n"
+seta notification_INFO_WEAPON_ELECTRO_MURDER_ORBS 1 "notif string: ^7%s^1 got too close to ^7%s^1's Electro plasma%s\n"
+seta notification_INFO_WEAPON_ELECTRO_MURDER_COMBO 1 "notif string: ^7%s^1 felt the electrifying air of ^7%s^1's Electro combo%s\n"
+seta notification_INFO_WEAPON_FIREBALL_SUICIDE_FIREMINE 1 "notif string: ^7%s^1 forgot about their firemine%s\n"
+seta notification_INFO_WEAPON_FIREBALL_SUICIDE_BLAST 1 "notif string: ^7%s^1 should have used a smaller gun%s\n"
+seta notification_INFO_WEAPON_FIREBALL_MURDER_FIREMINE 1 "notif string: ^7%s^1 got burnt by ^7%s^1's firemine%s\n"
+seta notification_INFO_WEAPON_FIREBALL_MURDER_BLAST 1 "notif string: ^7%s^1 got too close to ^7%s^1's fireball%s\n"
+seta notification_INFO_WEAPON_MORTAR_SUICIDE_EXPLODE 1 "notif string: ^7%s^1 blew themself up with their own Mortar%s\n"
+seta notification_INFO_WEAPON_MORTAR_SUICIDE_BOUNCE 1 "notif string: ^7%s^1 didn't see their own Mortar grenade%s\n"
+seta notification_INFO_WEAPON_MORTAR_MURDER_EXPLODE 1 "notif string: ^7%s^1 ate ^7%s^1's Mortar grenade%s\n"
+seta notification_INFO_WEAPON_MORTAR_MURDER_BOUNCE 1 "notif string: ^7%s^1 got too close to ^7%s^1's Mortar grenade%s\n"
+seta notification_INFO_WEAPON_HAGAR_SUICIDE 1 "notif string: ^7%s^1 played with tiny Hagar rockets%s\n"
+seta notification_INFO_WEAPON_HAGAR_MURDER_BURST 1 "notif string: ^7%s^1 was pummeled by a burst of ^7%s^1's Hagar rockets%s\n"
+seta notification_INFO_WEAPON_HAGAR_MURDER_SPRAY 1 "notif string: ^7%s^1 was pummeled by ^7%s^1's Hagar rockets%s\n"
+seta notification_INFO_WEAPON_HLAC_SUICIDE 1 "notif string: ^7%s^1 got a little jumpy with their HLAC%s\n"
+seta notification_INFO_WEAPON_HLAC_MURDER 1 "notif string: ^7%s^1 was cut down with ^7%s^1's HLAC%s\n"
+seta notification_INFO_WEAPON_HOOK_MURDER 1 "notif string: ^7%s^1 was caught in ^7%s^1's Hook gravity bomb%s\n"
+seta notification_INFO_WEAPON_LASER_SUICIDE 1 "notif string: ^7%s^1 shot themself to hell with their Laser%s\n"
+seta notification_INFO_WEAPON_LASER_MURDER 1 "notif string: ^7%s^1 was shot to death by ^7%s^1's Laser%s\n"
+seta notification_INFO_WEAPON_MINELAYER_SUICIDE 1 "notif string: ^7%s^1 forgot about their mine%s\n"
+seta notification_INFO_WEAPON_MINELAYER_MURDER 1 "notif string: ^7%s^1 got too close to ^7%s^1's mine%s\n"
+seta notification_INFO_WEAPON_MINSTANEX_MURDER 1 "notif string: ^7%s^1 has been vaporized by ^7%s^1's Minstanex%s\n"
+seta notification_INFO_WEAPON_NEX_MURDER 1 "notif string: ^7%s^1 has been vaporized by ^7%s^1's Nex%s\n"
+seta notification_INFO_WEAPON_RIFLE_MURDER_HAIL_PIERCING 1 "notif string: ^7%s^1 failed to hide from ^7%s^1's Rifle bullet hail%s\n"
+seta notification_INFO_WEAPON_RIFLE_MURDER_HAIL 1 "notif string: ^7%s^1 died in ^7%s^1's Rifle bullet hail%s\n"
+seta notification_INFO_WEAPON_RIFLE_MURDER_PIERCING 1 "notif string: ^7%s^1 failed to hide from ^7%s^1's Rifle%s\n"
+seta notification_INFO_WEAPON_RIFLE_MURDER 1 "notif string: ^7%s^1 was sniped with a Rifle by ^7%s^1%s\n"
+seta notification_INFO_WEAPON_RIFLE_MURDER_HEADSHOT 1 "notif string: ^7%s^1 was shot in the head with a Rifle by ^7%s^1%s\n"
+seta notification_INFO_WEAPON_ROCKETLAUNCHER_SUICIDE 1 "notif string: ^7%s^1 blew themself up with their Rocketlauncher%s\n"
+seta notification_INFO_WEAPON_ROCKETLAUNCHER_MURDER_DIRECT 1 "notif string: ^7%s^1 ate ^7%s^1's rocket%s\n"
+seta notification_INFO_WEAPON_ROCKETLAUNCHER_MURDER_SPLASH 1 "notif string: ^7%s^1 got too close ^7%s^1's rocket%s\n"
+seta notification_INFO_WEAPON_SEEKER_SUICIDE 1 "notif string: ^7%s^1 played with tiny Seeker rockets%s\n"
+seta notification_INFO_WEAPON_SEEKER_MURDER_TAG 1 "notif string: ^7%s^1 was tagged by ^7%s^1's Seeker%s\n"
+seta notification_INFO_WEAPON_SEEKER_MURDER_SPRAY 1 "notif string: ^7%s^1 was pummeled by ^7%s^1's Seeker rockets%s\n"
+seta notification_INFO_WEAPON_SHOTGUN_MURDER_SLAP 1 "notif string: ^7%s^1 slapped ^7%s^1 around a bit with a large Shotgun%s\n"
+seta notification_INFO_WEAPON_SHOTGUN_MURDER 1 "notif string: ^7%s^1 was gunned down by ^7%s^1's Shotgun%s\n"
+seta notification_INFO_WEAPON_TUBA_SUICIDE 1 "notif string: ^7%s^1 hurt their own ears with the @!#%%'n Tuba%s\n"
+seta notification_INFO_WEAPON_TUBA_MURDER 1 "notif string: ^7%s^1 died of ^7%s^1's great playing on the @!#%%'n Tuba%s\n"
+seta notification_INFO_WEAPON_ACCORDEON_SUICIDE 1 "notif string: ^7%s^1 hurt their own ears with the @!#%%'n Accordeon%s\n"
+seta notification_INFO_WEAPON_ACCORDEON_MURDER 1 "notif string: ^7%s^1 died of ^7%s^1's great playing on the @!#%%'n Accordeon%s\n"
+seta notification_INFO_WEAPON_KLEINBOTTLE_SUICIDE 1 "notif string: ^7%s^1 hurt their own ears with the @!#%%'n Klein Bottle%s\n"
+seta notification_INFO_WEAPON_KLEINBOTTLE_MURDER 1 "notif string: ^7%s^1 died of ^7%s^1's great playing on the @!#%%'n Klein Bottle%s\n"
+seta notification_INFO_WEAPON_UZI_MURDER_SNIPE 1 "notif string: ^7%s^1 was sniped by ^7%s^1's Machine Gun%s\n"
+
+// MSG_CENTER notifications (count = 90):
+seta notification_CENTER_ASSAULT_ATTACKING 1 "notif string: ^7You are attacking!"
+seta notification_CENTER_ASSAULT_ATTACKING 1 "notif string: ^7You are attacking!"
+seta notification_CENTER_ASSAULT_DEFENDING 1 "notif string: ^7You are defending!"
+seta notification_CENTER_CTF_CAPTURESHIELD_SHIELDED 1 "notif string: ^7You are now ^2shielded^7 from the flag\n^7for ^3too many unsuccessful attempts^7 to capture.\n^7Make some defensive scores before trying again."
+seta notification_CENTER_CTF_CAPTURESHIELD_FREE 1 "notif string: ^7You are now free.\n^7Feel free to ^3try to capture^7 the flag again\n^7if you think you will succeed."
+seta notification_CENTER_CTF_PASS_OTHER_RED 1 "notif string: ^7%s^7 passed the ^1RED^7 flag to %s"
+seta notification_CENTER_CTF_PASS_OTHER_BLUE 1 "notif string: ^7%s^7 passed the ^4BLUE^7 flag to %s"
+seta notification_CENTER_CTF_PASS_SENT_RED 1 "notif string: ^7You passed the ^1RED^7 flag to %s"
+seta notification_CENTER_CTF_PASS_SENT_BLUE 1 "notif string: ^7You passed the ^4BLUE^7 flag to %s"
+seta notification_CENTER_CTF_PASS_RECEIVED_RED 1 "notif string: ^7You received the ^1RED^7 flag from %s"
+seta notification_CENTER_CTF_PASS_RECEIVED_BLUE 1 "notif string: ^7You received the ^4BLUE^7 flag from %s"
+seta notification_CENTER_CTF_PASS_REQUESTING 1 "notif string: ^7Requesting %s^7 to pass you the flag"
+seta notification_CENTER_CTF_PASS_REQUESTED 1 "notif string: ^7%s^7 requests you to pass the flag%s"
+seta notification_CENTER_CTF_RETURN_RED 1 "notif string: ^7You returned the ^1RED^7 flag!"
+seta notification_CENTER_CTF_RETURN_BLUE 1 "notif string: ^7You returned the ^4BLUE^7 flag!"
+seta notification_CENTER_CTF_CAPTURE_RED 1 "notif string: ^7You captured the ^1RED^7 flag!"
+seta notification_CENTER_CTF_CAPTURE_BLUE 1 "notif string: ^7You captured the ^4BLUE^7 flag!"
+seta notification_CENTER_CTF_PICKUP_RED 1 "notif string: ^7You got the ^1RED^7 flag!"
+seta notification_CENTER_CTF_PICKUP_BLUE 1 "notif string: ^7You got the ^4BLUE^7 flag!"
+seta notification_CENTER_CTF_PICKUP_TEAM 1 "notif string: ^7Your %steam mate^7 got the flag! Protect them!"
+seta notification_CENTER_CTF_PICKUP_TEAM_VERBOSE 1 "notif string: ^7Your %steam mate (^7%s%s)^7 got the flag! Protect them!"
+seta notification_CENTER_CTF_PICKUP_ENEMY 1 "notif string: ^7The %senemy^7 got your flag! Retrieve it!"
+seta notification_CENTER_CTF_PICKUP_ENEMY_VERBOSE 1 "notif string: ^7The %senemy (^7%s%s)^7 got your flag! Retrieve it!"
+seta notification_CENTER_CTF_STALEMATE_CARRIER 1 "notif string: ^7Stalemate! Enemies can now see you on radar!"
+seta notification_CENTER_CTF_STALEMATE_OTHER 1 "notif string: ^7Stalemate! Flag carriers can now be seen by enemies on radar!"
+seta notification_CENTER_CTF_FLAG_THROW_PUNISH 1 "notif string: ^7Too many flag throws! Throwing disabled for %d seconds."
+seta notification_CENTER_DEATH_SELF_CUSTOM 1 "notif string: ^1You were %s"
+seta notification_CENTER_DEATH_SELF_GENERIC 1 "notif string: ^1You killed your own dumb self!"
+seta notification_CENTER_DEATH_SELF_VOID 1 "notif string: ^1Watch your step!"
+seta notification_CENTER_DEATH_SELF_SUICIDE 1 "notif string: ^1You committed suicide!"
+seta notification_CENTER_DEATH_SELF_NOAMMO 1 "notif string: ^1You were killed for running out of ammo..."
+seta notification_CENTER_DEATH_SELF_ROT 1 "notif string: ^1You grew too old without taking your medicine"
+seta notification_CENTER_DEATH_SELF_CAMP 1 "notif string: ^1Die camper!"
+seta notification_CENTER_DEATH_SELF_BETRAYAL 1 "notif string: ^1Don't shoot your team mates!"
+seta notification_CENTER_DEATH_SELF_TEAMCHANGE 1 "notif string: ^7You are now on: %s"
+seta notification_CENTER_DEATH_SELF_AUTOTEAMCHANGE 1 "notif string: ^7You have been moved into a different team\nYou are now on: %s"
+seta notification_CENTER_DEATH_SELF_FALL 1 "notif string: ^1You hit the ground with a crunch!"
+seta notification_CENTER_DEATH_SELF_DROWN 1 "notif string: ^1You couldn't catch your breath in time!"
+seta notification_CENTER_DEATH_SELF_FIRE 1 "notif string: ^1You got a little bit too crispy!"
+seta notification_CENTER_DEATH_SELF_LAVA 1 "notif string: ^1You couldn't stand the heat!"
+seta notification_CENTER_DEATH_SELF_SLIME 1 "notif string: ^1You melted away in slime!"
+seta notification_CENTER_DEATH_SELF_SHOOTING_STAR 1 "notif string: ^1You became a shooting star!"
+seta notification_CENTER_DEATH_SELF_SWAMP 1 "notif string: ^1You got stuck in a swamp!"
+seta notification_CENTER_DEATH_SELF_CHEAT 1 "notif string: ^1You unfairly eliminated yourself!"
+seta notification_CENTER_DEATH_SELF_TOUCHEXPLODE 1 "notif string: ^1You died in an accident!"
+seta notification_CENTER_DEATH_SELF_TURRET 1 "notif string: ^1You were fragged by a turret!"
+seta notification_CENTER_DEATH_SELF_TURRET_EWHEEL 1 "notif string: ^1You were fragged by an eWheel turret!"
+seta notification_CENTER_DEATH_SELF_TURRET_WALKER 1 "notif string: ^1You were fragged by a Walker turret!"
+seta notification_CENTER_DEATH_MURDER_FRAG 1 "notif string: ^4%sYou fragged ^7%s"
+seta notification_CENTER_DEATH_MURDER_FRAGGED 1 "notif string: ^1You were fragged by ^7%s"
+seta notification_CENTER_DEATH_MURDER_TYPEFRAG 1 "notif string: ^1%sYou typefragged ^7%s"
+seta notification_CENTER_DEATH_MURDER_TYPEFRAGGED 1 "notif string: ^1You were typefragged by ^7%s"
+seta notification_CENTER_DEATH_MURDER_FRAG_FIRST 1 "notif string: ^4First blood! You fragged ^7%s"
+seta notification_CENTER_DEATH_MURDER_FRAGGED_FIRST 1 "notif string: ^1First victim! You were fragged by ^7%s"
+seta notification_CENTER_DEATH_MURDER_TYPEFRAG_FIRST 1 "notif string: ^1First blood! You typefragged ^7%s"
+seta notification_CENTER_DEATH_MURDER_TYPEFRAGGED_FIRST 1 "notif string: ^1First victim! You were typefragged by ^7%s"
+seta notification_CENTER_DEATH_MURDER_FRAG_VERBOSE 1 "notif string: ^4%sYou fragged ^7%s^7%s"
+seta notification_CENTER_DEATH_MURDER_FRAGGED_VERBOSE 1 "notif string: ^1You were fragged by ^7%s^7%s"
+seta notification_CENTER_DEATH_MURDER_TYPEFRAG_VERBOSE 1 "notif string: ^1%sYou typefragged ^7%s^7%s"
+seta notification_CENTER_DEATH_MURDER_TYPEFRAGGED_VERBOSE 1 "notif string: ^1You were typefragged by ^7%s^7%s"
+seta notification_CENTER_DEATH_MURDER_FRAG_FIRST_VERBOSE 1 "notif string: ^4First blood! You fragged ^7%s"
+seta notification_CENTER_DEATH_MURDER_FRAGGED_FIRST_VERBOSE 1 "notif string: ^1First victim! You were fragged by ^7%s"
+seta notification_CENTER_DEATH_MURDER_TYPEFRAG_FIRST_VERBOSE 1 "notif string: ^1First blood! You typefragged ^7%s"
+seta notification_CENTER_DEATH_MURDER_TYPEFRAGGED_FIRST_VERBOSE 1 "notif string: ^1First victim! You were typefragged by ^7%s"
+seta notification_CENTER_DEATH_TEAMKILL_FRAG 1 "notif string: ^1Moron! You fragged ^7%s^1, a team mate!"
+seta notification_CENTER_DEATH_TEAMKILL_FRAGGED 1 "notif string: ^1You were fragged by ^7%s^1, a team mate"
+seta notification_CENTER_DISCONNECT_IDLING 1 "notif string: ^1Stop idling!\n^7Disconnecting in ^COUNT..."
+seta notification_CENTER_FREEZETAG_ROUND_WIN_RED 1 "notif string: ^1RED^7 team wins the round, all other teams were frozen"
+seta notification_CENTER_FREEZETAG_ROUND_WIN_BLUE 1 "notif string: ^4BLUE^7 team wins the round, all other teams were frozen"
+seta notification_CENTER_FREEZETAG_ROUND_WIN_YELLOW 1 "notif string: ^3YELLOW^7 team wins the round, all other teams were frozen"
+seta notification_CENTER_FREEZETAG_ROUND_WIN_PINK 1 "notif string: ^6PINK^7 team wins the round, all other teams were frozen"
+seta notification_CENTER_FREEZETAG_SPAWN_LATE 1 "notif string: ^1You spawned after the round started, you'll spawn as frozen"
+seta notification_CENTER_FREEZETAG_REVIVE 1 "notif string: ^4You revived ^7%s"
+seta notification_CENTER_FREEZETAG_REVIVED 1 "notif string: ^4You were revived by ^7%s"
+seta notification_CENTER_FREEZETAG_SELF 1 "notif string: ^1You froze yourself"
+seta notification_CENTER_FREEZETAG_FREEZE 1 "notif string: ^4You froze ^7%s"
+seta notification_CENTER_FREEZETAG_FROZEN 1 "notif string: ^1You were frozen by ^7%s"
+seta notification_CENTER_KEEPAWAY_DROPPED 1 "notif string: ^7%s^7 has dropped the ball!"
+seta notification_CENTER_KEEPAWAY_PICKUP 1 "notif string: ^7%s^7 has picked up the ball!"
+seta notification_CENTER_KEEPAWAY_WARN 1 "notif string: ^7Killing people while you don't have the ball gives no points!"
+seta notification_CENTER_LMS_CAMPCHECK 1 "notif string: ^1Don't camp!"
+seta notification_CENTER_JOIN_NOSPAWNS 1 "notif string: ^1No spawnpoints available!\nHope your team can fix it..."
+seta notification_CENTER_JOIN_PREVENT 1 "notif string: ^1You may not join the game at this time.\nThe player limit reached maximum capacity."
+seta notification_CENTER_TEAMCHANGE_RED 1 "notif string: ^7Changing to ^1RED^7 in ^COUNT"
+seta notification_CENTER_TEAMCHANGE_BLUE 1 "notif string: ^7Changing to ^4BLUE^7 in ^COUNT"
+seta notification_CENTER_TEAMCHANGE_YELLOW 1 "notif string: ^7Changing to ^3YELLOW^7 in ^COUNT"
+seta notification_CENTER_TEAMCHANGE_PINK 1 "notif string: ^7Changing to ^6PINK^7 in ^COUNT"
+seta notification_CENTER_TEAMCHANGE_SPECTATE 1 "notif string: ^7Spectating in ^COUNT"
+seta notification_CENTER_TEAMCHANGE_AUTO 1 "notif string: ^7Changing team in ^COUNT"
+seta notification_CENTER_TEAMCHANGE_SUICIDE 1 "notif string: ^1Suicide in ^COUNT"
+
+// MSG_WEAPON notifications (count = 49):
+seta notification_WEAPON_THINKING_WITH_PORTALS 1 "notif string: infoname: INFO_WEAPON_THINKING_WITH_PORTALS, centername: CENTER_DEATH_SELF_GENERIC"
+seta notification_WEAPON_THINKING_WITH_PORTALS 1 "notif string: infoname: INFO_WEAPON_THINKING_WITH_PORTALS, centername: CENTER_DEATH_SELF_GENERIC"
+seta notification_WEAPON_CRYLINK_SUICIDE 1 "notif string: infoname: INFO_WEAPON_CRYLINK_SUICIDE, centername: CENTER_DEATH_SELF_GENERIC"
+seta notification_WEAPON_CRYLINK_MURDER 1 "notif string: infoname: INFO_WEAPON_CRYLINK_MURDER, centername: "
+seta notification_WEAPON_ELECTRO_SUICIDE_ORBS 1 "notif string: infoname: INFO_WEAPON_ELECTRO_SUICIDE_ORBS, centername: CENTER_DEATH_SELF_GENERIC"
+seta notification_WEAPON_ELECTRO_SUICIDE_BOLT 1 "notif string: infoname: INFO_WEAPON_ELECTRO_SUICIDE_BOLT, centername: CENTER_DEATH_SELF_GENERIC"
+seta notification_WEAPON_ELECTRO_MURDER_BOLT 1 "notif string: infoname: INFO_WEAPON_ELECTRO_MURDER_BOLT, centername: "
+seta notification_WEAPON_ELECTRO_MURDER_ORBS 1 "notif string: infoname: INFO_WEAPON_ELECTRO_MURDER_ORBS, centername: "
+seta notification_WEAPON_ELECTRO_MURDER_COMBO 1 "notif string: infoname: INFO_WEAPON_ELECTRO_MURDER_COMBO, centername: "
+seta notification_WEAPON_FIREBALL_SUICIDE_FIREMINE 1 "notif string: infoname: INFO_WEAPON_FIREBALL_SUICIDE_FIREMINE, centername: CENTER_DEATH_SELF_GENERIC"
+seta notification_WEAPON_FIREBALL_SUICIDE_BLAST 1 "notif string: infoname: INFO_WEAPON_FIREBALL_SUICIDE_BLAST, centername: CENTER_DEATH_SELF_GENERIC"
+seta notification_WEAPON_FIREBALL_MURDER_FIREMINE 1 "notif string: infoname: INFO_WEAPON_FIREBALL_MURDER_FIREMINE, centername: "
+seta notification_WEAPON_FIREBALL_MURDER_BLAST 1 "notif string: infoname: INFO_WEAPON_FIREBALL_MURDER_BLAST, centername: "
+seta notification_WEAPON_MORTAR_SUICIDE_EXPLODE 1 "notif string: infoname: INFO_WEAPON_MORTAR_SUICIDE_EXPLODE, centername: CENTER_DEATH_SELF_GENERIC"
+seta notification_WEAPON_MORTAR_SUICIDE_BOUNCE 1 "notif string: infoname: INFO_WEAPON_MORTAR_SUICIDE_BOUNCE, centername: CENTER_DEATH_SELF_GENERIC"
+seta notification_WEAPON_MORTAR_MURDER_EXPLODE 1 "notif string: infoname: INFO_WEAPON_MORTAR_MURDER_EXPLODE, centername: "
+seta notification_WEAPON_MORTAR_MURDER_BOUNCE 1 "notif string: infoname: INFO_WEAPON_MORTAR_MURDER_BOUNCE, centername: "
+seta notification_WEAPON_HAGAR_SUICIDE 1 "notif string: infoname: INFO_WEAPON_HAGAR_SUICIDE, centername: CENTER_DEATH_SELF_GENERIC"
+seta notification_WEAPON_HAGAR_MURDER_BURST 1 "notif string: infoname: INFO_WEAPON_HAGAR_MURDER_BURST, centername: "
+seta notification_WEAPON_HAGAR_MURDER_SPRAY 1 "notif string: infoname: INFO_WEAPON_HAGAR_MURDER_SPRAY, centername: "
+seta notification_WEAPON_HLAC_SUICIDE 1 "notif string: infoname: INFO_WEAPON_HLAC_SUICIDE, centername: CENTER_DEATH_SELF_GENERIC"
+seta notification_WEAPON_HLAC_MURDER 1 "notif string: infoname: INFO_WEAPON_HLAC_MURDER, centername: "
+seta notification_WEAPON_HOOK_MURDER 1 "notif string: infoname: INFO_WEAPON_HOOK_MURDER, centername: "
+seta notification_WEAPON_LASER_SUICIDE 1 "notif string: infoname: INFO_WEAPON_LASER_SUICIDE, centername: CENTER_DEATH_SELF_GENERIC"
+seta notification_WEAPON_LASER_MURDER 1 "notif string: infoname: INFO_WEAPON_LASER_MURDER, centername: "
+seta notification_WEAPON_MINELAYER_SUICIDE 1 "notif string: infoname: INFO_WEAPON_MINELAYER_SUICIDE, centername: CENTER_DEATH_SELF_GENERIC"
+seta notification_WEAPON_MINELAYER_MURDER 1 "notif string: infoname: INFO_WEAPON_MINELAYER_MURDER, centername: "
+seta notification_WEAPON_MINSTANEX_MURDER 1 "notif string: infoname: INFO_WEAPON_MINSTANEX_MURDER, centername: "
+seta notification_WEAPON_NEX_MURDER 1 "notif string: infoname: INFO_WEAPON_NEX_MURDER, centername: "
+seta notification_WEAPON_RIFLE_MURDER_HAIL_PIERCING 1 "notif string: infoname: INFO_WEAPON_RIFLE_MURDER_HAIL_PIERCING, centername: "
+seta notification_WEAPON_RIFLE_MURDER_HAIL 1 "notif string: infoname: INFO_WEAPON_RIFLE_MURDER_HAIL, centername: "
+seta notification_WEAPON_RIFLE_MURDER_PIERCING 1 "notif string: infoname: INFO_WEAPON_RIFLE_MURDER_PIERCING, centername: "
+seta notification_WEAPON_RIFLE_MURDER 1 "notif string: infoname: INFO_WEAPON_RIFLE_MURDER, centername: "
+seta notification_WEAPON_RIFLE_MURDER_HEADSHOT 1 "notif string: infoname: INFO_WEAPON_RIFLE_MURDER_HEADSHOT, centername: "
+seta notification_WEAPON_ROCKETLAUNCHER_SUICIDE 1 "notif string: infoname: INFO_WEAPON_ROCKETLAUNCHER_SUICIDE, centername: CENTER_DEATH_SELF_GENERIC"
+seta notification_WEAPON_ROCKETLAUNCHER_MURDER_DIRECT 1 "notif string: infoname: INFO_WEAPON_ROCKETLAUNCHER_MURDER_DIRECT, centername: "
+seta notification_WEAPON_ROCKETLAUNCHER_MURDER_SPLASH 1 "notif string: infoname: INFO_WEAPON_ROCKETLAUNCHER_MURDER_SPLASH, centername: "
+seta notification_WEAPON_SEEKER_SUICIDE 1 "notif string: infoname: INFO_WEAPON_SEEKER_SUICIDE, centername: CENTER_DEATH_SELF_GENERIC"
+seta notification_WEAPON_SEEKER_MURDER_TAG 1 "notif string: infoname: INFO_WEAPON_SEEKER_MURDER_TAG, centername: "
+seta notification_WEAPON_SEEKER_MURDER_SPRAY 1 "notif string: infoname: INFO_WEAPON_SEEKER_MURDER_SPRAY, centername: "
+seta notification_WEAPON_SHOTGUN_MURDER_SLAP 1 "notif string: infoname: INFO_WEAPON_SHOTGUN_MURDER_SLAP, centername: "
+seta notification_WEAPON_SHOTGUN_MURDER 1 "notif string: infoname: INFO_WEAPON_SHOTGUN_MURDER, centername: "
+seta notification_WEAPON_TUBA_SUICIDE 1 "notif string: infoname: INFO_WEAPON_TUBA_SUICIDE, centername: CENTER_DEATH_SELF_GENERIC"
+seta notification_WEAPON_TUBA_MURDER 1 "notif string: infoname: INFO_WEAPON_TUBA_MURDER, centername: "
+seta notification_WEAPON_ACCORDEON_SUICIDE 1 "notif string: infoname: INFO_WEAPON_ACCORDEON_SUICIDE, centername: CENTER_DEATH_SELF_GENERIC"
+seta notification_WEAPON_ACCORDEON_MURDER 1 "notif string: infoname: INFO_WEAPON_ACCORDEON_MURDER, centername: "
+seta notification_WEAPON_KLEINBOTTLE_SUICIDE 1 "notif string: infoname: INFO_WEAPON_KLEINBOTTLE_SUICIDE, centername: CENTER_DEATH_SELF_GENERIC"
+seta notification_WEAPON_KLEINBOTTLE_MURDER 1 "notif string: infoname: INFO_WEAPON_KLEINBOTTLE_MURDER, centername: "
+seta notification_WEAPON_UZI_MURDER_SNIPE 1 "notif string: infoname: INFO_WEAPON_UZI_MURDER_SNIPE, centername: "
+
+// MSG_DEATH notifications (count = 76):
+seta notification_DEATH_SELF_CUSTOM 1 "notif string: infoname: INFO_DEATH_SELF_GENERIC, centername: CENTER_DEATH_SELF_CUSTOM"
+seta notification_DEATH_SELF_CUSTOM 1 "notif string: infoname: INFO_DEATH_SELF_GENERIC, centername: CENTER_DEATH_SELF_CUSTOM"
+seta notification_DEATH_SELF_GENERIC 1 "notif string: infoname: INFO_DEATH_SELF_GENERIC, centername: CENTER_DEATH_SELF_GENERIC"
+seta notification_DEATH_SELF_VOID 1 "notif string: infoname: INFO_DEATH_SELF_VOID, centername: CENTER_DEATH_SELF_VOID"
+seta notification_DEATH_SELF_SUICIDE 1 "notif string: infoname: INFO_DEATH_SELF_SUICIDE, centername: CENTER_DEATH_SELF_SUICIDE"
+seta notification_DEATH_SELF_NOAMMO 1 "notif string: infoname: INFO_DEATH_SELF_NOAMMO, centername: CENTER_DEATH_SELF_NOAMMO"
+seta notification_DEATH_SELF_ROT 1 "notif string: infoname: INFO_DEATH_SELF_ROT, centername: CENTER_DEATH_SELF_ROT"
+seta notification_DEATH_SELF_CAMP 1 "notif string: infoname: INFO_DEATH_SELF_CAMP, centername: CENTER_DEATH_SELF_CAMP"
+seta notification_DEATH_SELF_BETRAYAL 1 "notif string: infoname: INFO_DEATH_SELF_BETRAYAL, centername: CENTER_DEATH_SELF_BETRAYAL"
+seta notification_DEATH_SELF_TEAMCHANGE 1 "notif string: infoname: INFO_DEATH_SELF_TEAMCHANGE, centername: CENTER_DEATH_SELF_TEAMCHANGE"
+seta notification_DEATH_SELF_AUTOTEAMCHANGE 1 "notif string: infoname: INFO_DEATH_SELF_AUTOTEAMCHANGE, centername: CENTER_DEATH_SELF_AUTOTEAMCHANGE"
+seta notification_DEATH_SELF_FALL 1 "notif string: infoname: INFO_DEATH_SELF_FALL, centername: CENTER_DEATH_SELF_FALL"
+seta notification_DEATH_SELF_DROWN 1 "notif string: infoname: INFO_DEATH_SELF_DROWN, centername: CENTER_DEATH_SELF_DROWN"
+seta notification_DEATH_SELF_FIRE 1 "notif string: infoname: INFO_DEATH_SELF_FIRE, centername: CENTER_DEATH_SELF_FIRE"
+seta notification_DEATH_SELF_LAVA 1 "notif string: infoname: INFO_DEATH_SELF_LAVA, centername: CENTER_DEATH_SELF_LAVA"
+seta notification_DEATH_SELF_SLIME 1 "notif string: infoname: INFO_DEATH_SELF_SLIME, centername: CENTER_DEATH_SELF_SLIME"
+seta notification_DEATH_SELF_SHOOTING_STAR 1 "notif string: infoname: INFO_DEATH_SELF_SHOOTING_STAR, centername: CENTER_DEATH_SELF_SHOOTING_STAR"
+seta notification_DEATH_SELF_SWAMP 1 "notif string: infoname: INFO_DEATH_SELF_SWAMP, centername: CENTER_DEATH_SELF_SWAMP"
+seta notification_DEATH_SELF_CHEAT 1 "notif string: infoname: INFO_DEATH_SELF_CHEAT, centername: CENTER_DEATH_SELF_CHEAT"
+seta notification_DEATH_SELF_TOUCHEXPLODE 1 "notif string: infoname: INFO_DEATH_SELF_TOUCHEXPLODE, centername: CENTER_DEATH_SELF_TOUCHEXPLODE"
+seta notification_DEATH_SELF_TURRET 1 "notif string: infoname: INFO_DEATH_SELF_TURRET, centername: CENTER_DEATH_SELF_TURRET"
+seta notification_DEATH_SELF_TURRET_EWHEEL 1 "notif string: infoname: INFO_DEATH_SELF_TURRET_EWHEEL, centername: CENTER_DEATH_SELF_TURRET_EWHEEL"
+seta notification_DEATH_SELF_TURRET_FLAC 1 "notif string: infoname: INFO_DEATH_SELF_TURRET_FLAC, centername: CENTER_DEATH_SELF_TURRET"
+seta notification_DEATH_SELF_TURRET_MACHINEGUN 1 "notif string: infoname: INFO_DEATH_SELF_TURRET_MACHINEGUN, centername: CENTER_DEATH_SELF_TURRET"
+seta notification_DEATH_SELF_TURRET_WALKER_GUN 1 "notif string: infoname: INFO_DEATH_SELF_TURRET_WALKER_GUN, centername: CENTER_DEATH_SELF_TURRET_WALKER"
+seta notification_DEATH_SELF_TURRET_WALKER_MEELE 1 "notif string: infoname: INFO_DEATH_SELF_TURRET_WALKER_MEELE, centername: CENTER_DEATH_SELF_TURRET_WALKER"
+seta notification_DEATH_SELF_TURRET_WALKER_ROCKET 1 "notif string: infoname: INFO_DEATH_SELF_TURRET_WALKER_ROCKET, centername: CENTER_DEATH_SELF_TURRET_WALKER"
+seta notification_DEATH_SELF_TURRET_HELLION 1 "notif string: infoname: INFO_DEATH_SELF_TURRET_HELLION, centername: CENTER_DEATH_SELF_TURRET"
+seta notification_DEATH_SELF_TURRET_HK 1 "notif string: infoname: INFO_DEATH_SELF_TURRET_HK, centername: CENTER_DEATH_SELF_TURRET"
+seta notification_DEATH_SELF_TURRET_MLRS 1 "notif string: infoname: INFO_DEATH_SELF_TURRET_MLRS, centername: CENTER_DEATH_SELF_TURRET"
+seta notification_DEATH_SELF_TURRET_PLASMA 1 "notif string: infoname: INFO_DEATH_SELF_TURRET_PLASMA, centername: CENTER_DEATH_SELF_TURRET"
+seta notification_DEATH_SELF_TURRET_PHASER 1 "notif string: infoname: INFO_DEATH_SELF_TURRET_PHASER, centername: CENTER_DEATH_SELF_TURRET"
+seta notification_DEATH_SELF_TURRET_TESLA 1 "notif string: infoname: INFO_DEATH_SELF_TURRET_TESLA, centername: CENTER_DEATH_SELF_TURRET"
+seta notification_DEATH_MURDER_TELEFRAG 1 "notif string: infoname: INFO_DEATH_MURDER_TELEFRAG, centername: "
+seta notification_DEATH_MURDER_FALL 1 "notif string: infoname: INFO_DEATH_MURDER_FALL, centername: "
+seta notification_DEATH_MURDER_DROWN 1 "notif string: infoname: INFO_DEATH_MURDER_DROWN, centername: "
+seta notification_DEATH_MURDER_LAVA 1 "notif string: infoname: INFO_DEATH_MURDER_LAVA, centername: "
+seta notification_DEATH_MURDER_SLIME 1 "notif string: infoname: INFO_DEATH_MURDER_SLIME, centername: "
+seta notification_DEATH_MURDER_SHOOTING_STAR 1 "notif string: infoname: INFO_DEATH_MURDER_SHOOTING_STAR, centername: "
+seta notification_DEATH_MURDER_SWAMP 1 "notif string: infoname: INFO_DEATH_MURDER_SWAMP, centername: "
+seta notification_DEATH_MURDER_VOID 1 "notif string: infoname: INFO_DEATH_MURDER_VOID, centername: "
+seta notification_DEATH_MURDER_TOUCHEXPLODE 1 "notif string: infoname: INFO_DEATH_MURDER_TOUCHEXPLODE, centername: "
+seta notification_DEATH_MURDER_CHEAT 1 "notif string: infoname: INFO_DEATH_MURDER_CHEAT, centername: "
+seta notification_DEATH_MURDER_FIRE 1 "notif string: infoname: INFO_DEATH_MURDER_FIRE, centername: "
+seta notification_DEATH_MURDER_VH_CRUSH 1 "notif string: infoname: INFO_DEATH_MURDER_VH_CRUSH, centername: "
+seta notification_DEATH_MURDER_VH_SPID_MINIGUN 1 "notif string: infoname: INFO_DEATH_MURDER_VH_SPID_MINIGUN, centername: "
+seta notification_DEATH_MURDER_VH_SPID_ROCKET 1 "notif string: infoname: INFO_DEATH_MURDER_VH_SPID_ROCKET, centername: "
+seta notification_DEATH_MURDER_VH_SPID_DEATH 1 "notif string: infoname: INFO_DEATH_MURDER_VH_SPID_DEATH, centername: "
+seta notification_DEATH_MURDER_VH_WAKI_GUN 1 "notif string: infoname: INFO_DEATH_MURDER_VH_WAKI_GUN, centername: "
+seta notification_DEATH_MURDER_VH_WAKI_ROCKET 1 "notif string: infoname: INFO_DEATH_MURDER_VH_WAKI_ROCKET, centername: "
+seta notification_DEATH_MURDER_VH_WAKI_DEATH 1 "notif string: infoname: INFO_DEATH_MURDER_VH_WAKI_DEATH, centername: "
+seta notification_DEATH_MURDER_VH_RAPT_CANNON 1 "notif string: infoname: INFO_DEATH_MURDER_VH_RAPT_CANNON, centername: "
+seta notification_DEATH_MURDER_VH_RAPT_BOMB 1 "notif string: infoname: INFO_DEATH_MURDER_VH_RAPT_BOMB, centername: "
+seta notification_DEATH_MURDER_VH_RAPT_FRAGMENT 1 "notif string: infoname: INFO_DEATH_MURDER_VH_RAPT_FRAGMENT, centername: "
+seta notification_DEATH_MURDER_VH_RAPT_DEATH 1 "notif string: infoname: INFO_DEATH_MURDER_VH_RAPT_DEATH, centername: "
+seta notification_DEATH_MURDER_VH_BUMB_GUN 1 "notif string: infoname: INFO_DEATH_MURDER_VH_BUMB_GUN, centername: "
+seta notification_DEATH_MURDER_VH_BUMB_RAY 1 "notif string: infoname: INFO_DEATH_MURDER_VH_BUMB_RAY, centername: "
+seta notification_DEATH_MURDER_VH_BUMB_RAY_HEAL 1 "notif string: infoname: INFO_DEATH_MURDER_VH_BUMB_RAY_HEAL, centername: "
+seta notification_DEATH_MURDER_VH_BUMB_DEATH 1 "notif string: infoname: INFO_DEATH_MURDER_VH_BUMB_DEATH, centername: "
+seta notification_DEATH_MURDER_FRAG 1 "notif string: infoname: , centername: CENTER_DEATH_MURDER_FRAG"
+seta notification_DEATH_MURDER_FRAGGED 1 "notif string: infoname: , centername: CENTER_DEATH_MURDER_FRAGGED"
+seta notification_DEATH_MURDER_TYPEFRAG 1 "notif string: infoname: , centername: CENTER_DEATH_MURDER_TYPEFRAG"
+seta notification_DEATH_MURDER_TYPEFRAGGED 1 "notif string: infoname: , centername: CENTER_DEATH_MURDER_TYPEFRAGGED"
+seta notification_DEATH_MURDER_FRAG_FIRST 1 "notif string: infoname: INFO_DEATH_FIRSTBLOOD, centername: CENTER_DEATH_MURDER_FRAG_FIRST"
+seta notification_DEATH_MURDER_FRAGGED_FIRST 1 "notif string: infoname: , centername: CENTER_DEATH_MURDER_FRAGGED_FIRST"
+seta notification_DEATH_MURDER_TYPEFRAG_FIRST 1 "notif string: infoname: INFO_DEATH_FIRSTBLOOD, centername: CENTER_DEATH_MURDER_TYPEFRAG_FIRST"
+seta notification_DEATH_MURDER_TYPEFRAGGED_FIRST 1 "notif string: infoname: , centername: CENTER_DEATH_MURDER_TYPEFRAGGED_FIRST"
+seta notification_DEATH_MURDER_FRAG_VERBOSE 1 "notif string: infoname: , centername: CENTER_DEATH_MURDER_FRAG_VERBOSE"
+seta notification_DEATH_MURDER_FRAGGED_VERBOSE 1 "notif string: infoname: , centername: CENTER_DEATH_MURDER_FRAGGED_VERBOSE"
+seta notification_DEATH_MURDER_TYPEFRAG_VERBOSE 1 "notif string: infoname: , centername: CENTER_DEATH_MURDER_TYPEFRAG_VERBOSE"
+seta notification_DEATH_MURDER_TYPEFRAGGED_VERBOSE 1 "notif string: infoname: , centername: CENTER_DEATH_MURDER_TYPEFRAGGED_VERBOSE"
+seta notification_DEATH_MURDER_FRAG_FIRST_VERBOSE 1 "notif string: infoname: INFO_DEATH_FIRSTBLOOD, centername: CENTER_DEATH_MURDER_FRAG_FIRST_VERBOSE"
+seta notification_DEATH_MURDER_FRAGGED_FIRST_VERBOSE 1 "notif string: infoname: , centername: CENTER_DEATH_MURDER_FRAGGED_FIRST_VERBOSE"
+seta notification_DEATH_MURDER_TYPEFRAG_FIRST_VERBOSE 1 "notif string: infoname: INFO_DEATH_FIRSTBLOOD, centername: CENTER_DEATH_MURDER_TYPEFRAG_FIRST_VERBOSE"
+seta notification_DEATH_MURDER_TYPEFRAGGED_FIRST_VERBOSE 1 "notif string: infoname: , centername: CENTER_DEATH_MURDER_TYPEFRAGGED_FIRST_VERBOSE"
+seta notification_DEATH_TEAMKILL_FRAG 1 "notif string: infoname: , centername: CENTER_DEATH_TEAMKILL_FRAG"
+
+// HARD CODED notification variables:
+seta notification_errors_are_fatal 1 "If a notification fails upon initialization, cause a Host_Error to stop the program"
+seta notification_ctf_pickup_team_verbose 1 "Show extra information if a team mate picks up a flag"
+seta notification_ctf_pickup_enemy_verbose 1 "Show extra information if an enemy picks up a flag"
+seta notification_ctf_capture_verbose 1 "Show extra information when someone captures a flag"
+seta notification_frag_verbose 1 "Show extra information when you frag someone (or when you are fragged"
+
+// Notification counts (total = 399): MSG_INFO = 184, MSG_CENTER = 90, MSG_WEAPON = 49, MSG_DEATH = 76
index e7fe7771506ad2f13ecf2af2aa9994703748d215..4d3df8e87d66b419eac4325858c45041bcccfa39 100644 (file)
@@ -239,22 +239,20 @@ void GenericCommand_dumpnotifs(float request)
                        
                        if(filename == "")
                        {
-                               filename = "notifications_dump.txt";
+                               filename = "notifications.cfg";
                                alsoprint = FALSE;
                        }
                        else if(filename == "-")
                        {
-                               filename = "notifications_dump.txt";
+                               filename = "notifications.cfg";
                                alsoprint = TRUE;
                        }
                        fh = fopen(filename, FILE_WRITE);
                        
                        if(fh >= 0)
                        {
-                               fputs(fh, "dump of notifications list:\n");
-                               if(alsoprint) { print("dump of notifications list:\n"); }
                                Dump_Notifications(fh, alsoprint);
-                               print(sprintf("File located in ^2data/data/%s^7.\n", filename));
+                               print(sprintf("Dumping notifications... File located in ^2data/data/%s^7.\n", filename));
                                fclose(fh);
                        }
                        else
@@ -271,7 +269,7 @@ void GenericCommand_dumpnotifs(float request)
                case CMD_REQUEST_USAGE:
                {
                        print(strcat("\nUsage:^3 ", GetProgramCommandPrefix(), " dumpnotifs [filename]"));
-                       print("  Where 'filename' is the file to write (default is notifications_dump.txt),\n");
+                       print("  Where 'filename' is the file to write (default is notifications.cfg),\n");
                        print("  if supplied with '-' output to console as well as default,\n");
                        print("  if left blank, it will only write to default.\n");
                        return;
index 6bf8938358296599e9dfe5d5d51bacd4dae16fbb..7facf30d5ac27fdf9f17142e405fd6eba6507a43 100644 (file)
@@ -23,37 +23,86 @@ entity Get_Notif_Ent(float net_type, float net_name)
 
 void Dump_Notifications(float fh, float alsoprint)
 {
-       #define NOTIF_WRITE(type,name,text) { \
-               notif_msg = sprintf("seta %s 1 // %s - %s\n", name, #type, strreplace("\n", "\\n", text)); \
-               fputs(fh, notif_msg); \
-               if(alsoprint) { print(strreplace("^", "^^", notif_msg)); } }
+       #define NOTIF_WRITE(a,b) { \
+               fputs(fh, a); \
+               if(alsoprint) \
+               { \
+                       if(b != "") { print(b); } \
+                       else { print(a); } \
+               } }
+       #define NOTIF_WRITE_SETA(name,text) { \
+               notif_msg = sprintf("seta notification_%s 1 \"notif string: %s\"\n", name, strreplace("\n", "\\n", text)); \
+               NOTIF_WRITE(notif_msg, strreplace("^", "^^", notif_msg)) }
 
        string notif_msg;
        float i;
        entity e;
 
+       // Note: This warning only applies to the notifications.cfg file that is output...
+
+       // You ARE supposed to manually edit this function to add i.e. hard coded
+       // notification variables for mutators or game modes or such and then
+       // regenerate the notifications.cfg file from the new code.
+
+       NOTIF_WRITE("// ********************************************** //\n", "");
+       NOTIF_WRITE("// ** WARNING - DO NOT MANUALLY EDIT THIS FILE ** //\n", "");
+       NOTIF_WRITE("// **                                          ** //\n", "");
+       NOTIF_WRITE("// **  This file is automatically generated    ** //\n", "");
+       NOTIF_WRITE("// **  by code with the command 'dumpnotifs'.  ** //\n", "");
+       NOTIF_WRITE("// **                                          ** //\n", "");
+       NOTIF_WRITE("// **  If you add a new notification, please   ** //\n", "");
+       NOTIF_WRITE("// **  regenerate this file with that command  ** //\n", "");
+       NOTIF_WRITE("// **  making sure that the output matches     ** //\n", "");
+       NOTIF_WRITE("// **  with the lists and defaults in code.    ** //\n", "");
+       NOTIF_WRITE("// **                                          ** //\n", "");
+       NOTIF_WRITE("// ********************************************** //\n", "");
+
+       NOTIF_WRITE("\n// Version number to identify mismatches between code and config file...\n", "");
+       NOTIF_WRITE("// Increment NOTIF_VERSION in common/notifications.qh with any\n", "");
+       NOTIF_WRITE("// new notifications or other changes to notif cvars/this config.\n", "");
+       
+       NOTIF_WRITE(sprintf("set notification_version %d\n", NOTIF_VERSION), "");
+
+       // These notifications will also append their string as a comment...
+       // This is not necessary, and does not matter if they vary between config versions,
+       // it is just a semi-helpful tool for those who want to manually change their user settings.
+
+       NOTIF_WRITE(sprintf("\n// MSG_INFO notifications (count = %d):\n", NOTIF_INFO_COUNT), "");
        for(i = 0; i < NOTIF_INFO_COUNT; ++i) {
                e = Get_Notif_Ent(MSG_INFO, i);
-               NOTIF_WRITE(MSG_INFO, e.nent_name, e.nent_string); }
-               
+               NOTIF_WRITE_SETA(e.nent_name, e.nent_string); }
+
+       NOTIF_WRITE(sprintf("\n// MSG_CENTER notifications (count = %d):\n", NOTIF_CENTER_COUNT), "");
        for(i = 0; i < NOTIF_CENTER_COUNT; ++i) {
                e = Get_Notif_Ent(MSG_CENTER, i);
-               NOTIF_WRITE(MSG_CENTER, e.nent_name, e.nent_string); }
-       
+               NOTIF_WRITE_SETA(e.nent_name, e.nent_string); }
+
+       NOTIF_WRITE(sprintf("\n// MSG_WEAPON notifications (count = %d):\n", NOTIF_WEAPON_COUNT), "");
        for(i = 0; i < NOTIF_WEAPON_COUNT; ++i) {
                e = Get_Notif_Ent(MSG_WEAPON, i);
-               NOTIF_WRITE(MSG_WEAPON, e.nent_name, sprintf("infoname: %s, centername: %s",
+               NOTIF_WRITE_SETA(e.nent_name, sprintf("infoname: %s, centername: %s",
                        e.nent_msginfo.nent_name, e.nent_msgcenter.nent_name)); }
-               
+
+       NOTIF_WRITE(sprintf("\n// MSG_DEATH notifications (count = %d):\n", NOTIF_DEATH_COUNT), "");
        for(i = 0; i < NOTIF_DEATH_COUNT; ++i) {
                e = Get_Notif_Ent(MSG_DEATH, i);
-               NOTIF_WRITE(MSG_DEATH, e.nent_name, sprintf("infoname: %s, centername: %s",
+               NOTIF_WRITE_SETA(e.nent_name, sprintf("infoname: %s, centername: %s",
                        e.nent_msginfo.nent_name, e.nent_msgcenter.nent_name)); }
 
-       print(sprintf("Notification counts: MSG_INFO = %d, MSG_CENTER = %d, MSG_WEAPON = %d, MSG_DEATH = %d\n",
-               NOTIF_INFO_COUNT, NOTIF_CENTER_COUNT, NOTIF_WEAPON_COUNT, NOTIF_DEATH_COUNT));
+       // edit these to match whichever cvars are used for specific notification options
+       NOTIF_WRITE("\n// HARD CODED notification variables:\n", "");
+       NOTIF_WRITE("seta notification_errors_are_fatal 1 \"If a notification fails upon initialization, cause a Host_Error to stop the program\"\n", "");
+       NOTIF_WRITE("seta notification_ctf_pickup_team_verbose 1 \"Show extra information if a team mate picks up a flag\"\n", "");
+       NOTIF_WRITE("seta notification_ctf_pickup_enemy_verbose 1 \"Show extra information if an enemy picks up a flag\"\n", "");
+       NOTIF_WRITE("seta notification_ctf_capture_verbose 1 \"Show extra information when someone captures a flag\"\n", "");
+       NOTIF_WRITE("seta notification_frag_verbose 1 \"Show extra information when you frag someone (or when you are fragged\"\n", "");
+
+       NOTIF_WRITE(sprintf("\n// Notification counts (total = %d): MSG_INFO = %d, MSG_CENTER = %d, MSG_WEAPON = %d, MSG_DEATH = %d\n",
+               (NOTIF_INFO_COUNT + NOTIF_CENTER_COUNT + NOTIF_WEAPON_COUNT + NOTIF_DEATH_COUNT), 
+               NOTIF_INFO_COUNT, NOTIF_CENTER_COUNT, NOTIF_WEAPON_COUNT, NOTIF_DEATH_COUNT), "");
        
        return;
+       #undef NOTIF_WRITE_SETA
        #undef NOTIF_WRITE
 }
 
index 016a2e54e659ca53aaa2f11a68471f163f24709c..eeb9cabc403e53d4a06665fb69358e757ff9137a 100644 (file)
@@ -9,6 +9,12 @@
 #define MSG_WEAPON 3 // "Personal" weapon messages (like "You got the Nex", sent to weapon notify panel)
 #define MSG_DEATH 4 // "Personal" AND "Global" death messages 
 
+// Current version number of the configuration file for notifications...
+// This is used to check matches between the config file and the code,
+// and should be incremented any time you add a new/remove or edit an notification
+// or any time you change default values or add/edit/remove a special cvar.
+#define NOTIF_VERSION 1
+
 #define NO_MSG -12345 
 
 // ping of bots defined for extra frag message notification information
@@ -665,7 +671,7 @@ string Process_Notif_Args(float is_hudargs, string args, string notiftype, strin
 
        return args;
 }
-#define ADD_AUTOCVAR(name) var float autocvar_notification_##name = TRUE;
+#define ADD_AUTOCVAR(name,default) var float autocvar_notification_##name = default;
 
 #define CREATE_NOTIF_ENTITY(type,name,infoname,centername,strnum,flnum,args,hudargs,icon,cpid,durcnt,normal,gentle,check_newline,subcalls) \
        notif_error = FALSE; \
@@ -715,7 +721,7 @@ string Process_Notif_Args(float is_hudargs, string args, string notiftype, strin
        }
        
 #define MSG_INFO_NOTIF(name,strnum,flnum,args,hudargs,icon,normal,gentle) \
-       ADD_AUTOCVAR(name) \
+       ADD_AUTOCVAR(name, TRUE) \
        float name; \
        void RegisterNotification_##name() \
        { \
@@ -741,7 +747,7 @@ string Process_Notif_Args(float is_hudargs, string args, string notiftype, strin
        ACCUMULATE_FUNCTION(RegisterNotifications, RegisterNotification_##name)
 
 #define MSG_CENTER_NOTIF(name,strnum,flnum,args,cpid,durcnt,normal,gentle) \
-       ADD_AUTOCVAR(name) \
+       ADD_AUTOCVAR(name, TRUE) \
        float name; \
        float cpid; \
        void RegisterNotification_##name() \
@@ -769,7 +775,7 @@ string Process_Notif_Args(float is_hudargs, string args, string notiftype, strin
        ACCUMULATE_FUNCTION(RegisterNotifications, RegisterNotification_##name)
 
 #define MSG_WEAPON_NOTIF(name,infoname,centername) \
-       ADD_AUTOCVAR(name) \
+       ADD_AUTOCVAR(name, TRUE) \
        float name; \
        void RegisterNotification_##name() \
        { \
@@ -795,7 +801,7 @@ string Process_Notif_Args(float is_hudargs, string args, string notiftype, strin
        ACCUMULATE_FUNCTION(RegisterNotifications, RegisterNotification_##name)
 
 #define MSG_DEATH_NOTIF(name,infoname,centername) \
-       ADD_AUTOCVAR(name) \
+       ADD_AUTOCVAR(name, TRUE) \
        float name; \
        void RegisterNotification_##name() \
        { \