From 646949cbbd4c3c945e766e1e38c0a2a6efd0c5bd Mon Sep 17 00:00:00 2001 From: Mario Date: Thu, 15 Dec 2016 06:26:53 +1000 Subject: [PATCH] Add some mutator hooks to clear out another gamemode reference --- qcsrc/client/hud/panel/infomessages.qc | 2 ++ qcsrc/client/mutators/events.qh | 3 +++ qcsrc/server/command/vote.qc | 3 +-- qcsrc/server/mutators/events.qh | 3 +++ qcsrc/server/mutators/mutator/gamemode_assault.qc | 6 ++++++ 5 files changed, 15 insertions(+), 2 deletions(-) diff --git a/qcsrc/client/hud/panel/infomessages.qc b/qcsrc/client/hud/panel/infomessages.qc index db102e60e..ad2886d53 100644 --- a/qcsrc/client/hud/panel/infomessages.qc +++ b/qcsrc/client/hud/panel/infomessages.qc @@ -114,6 +114,8 @@ void HUD_InfoMessages() InfoMessage(s); } + MUTATOR_CALLHOOK(DrawInfoMessages); + if(!warmup_stage && gametype == MAPINFO_TYPE_LMS) { entity sk; diff --git a/qcsrc/client/mutators/events.qh b/qcsrc/client/mutators/events.qh index 74090e14d..12f04fdfb 100644 --- a/qcsrc/client/mutators/events.qh +++ b/qcsrc/client/mutators/events.qh @@ -157,3 +157,6 @@ MUTATOR_HOOKABLE(DrawCrosshair, EV_NO_ARGS); /** Return true to not draw scoreboard */ MUTATOR_HOOKABLE(DrawScoreboard, EV_NO_ARGS); + +/** Called when drawing info messages, allows adding new info messages */ +MUTATOR_HOOKABLE(DrawInfoMessages, EV_NO_ARGS); diff --git a/qcsrc/server/command/vote.qc b/qcsrc/server/command/vote.qc index 44b8acb8e..b91a8f4df 100644 --- a/qcsrc/server/command/vote.qc +++ b/qcsrc/server/command/vote.qc @@ -464,8 +464,7 @@ void ReadyRestart_force() void ReadyRestart() { - // no assault support yet... - if (g_assault || gameover || race_completing) localcmd("restart\n"); + if (MUTATOR_CALLHOOK(ReadyRestart_Deny) || gameover || race_completing) localcmd("restart\n"); else localcmd("\nsv_hook_gamerestart\n"); // Reset ALL scores, but only do that at the beginning of the countdown if sv_ready_restart_after_countdown is off! diff --git a/qcsrc/server/mutators/events.qh b/qcsrc/server/mutators/events.qh index 1ba2c785c..09e1cf70b 100644 --- a/qcsrc/server/mutators/events.qh +++ b/qcsrc/server/mutators/events.qh @@ -914,3 +914,6 @@ MUTATOR_HOOKABLE(ChatMessage, EV_ChatMessage); /** sender */ i(entity, MUTATOR_ARGV_1_entity) \ /**/ MUTATOR_HOOKABLE(ChatMessageTo, EV_ChatMessageTo); + +/** return true to just restart the match, for modes that don't support readyrestart */ +MUTATOR_HOOKABLE(ReadyRestart_Deny, EV_NO_ARGS); diff --git a/qcsrc/server/mutators/mutator/gamemode_assault.qc b/qcsrc/server/mutators/mutator/gamemode_assault.qc index 2e2326424..399874143 100644 --- a/qcsrc/server/mutators/mutator/gamemode_assault.qc +++ b/qcsrc/server/mutators/mutator/gamemode_assault.qc @@ -608,6 +608,12 @@ MUTATOR_HOOKFUNCTION(as, OnEntityPreSpawn) } } +MUTATOR_HOOKFUNCTION(as, ReadyRestart_Deny) +{ + // readyrestart not supported (yet) + return true; +} + // scoreboard setup void assault_ScoreRules() { -- 2.39.2