aboutsummaryrefslogtreecommitdiff
path: root/Northstar.Client/mod/scripts/vscripts/_custom_codecallbacks_client.gnut
diff options
context:
space:
mode:
authorRoyalBlue1 <realEmail@veryRealURL.com>2023-01-15 15:59:08 +0100
committerRoyalBlue1 <realEmail@veryRealURL.com>2023-01-15 15:59:08 +0100
commitbb8671eefc562fa76e13559915ae1ad493d06802 (patch)
tree40ac781a3422083ef2358ddf38da43e64462bbd0 /Northstar.Client/mod/scripts/vscripts/_custom_codecallbacks_client.gnut
parentcad416bc967bc4b902ff5808c0ae3281402d4895 (diff)
parent9bbe6832460aaabd96fef18d6e4ebb05779bb71d (diff)
downloadNorthstarMods-bb8671eefc562fa76e13559915ae1ad493d06802.tar.gz
NorthstarMods-bb8671eefc562fa76e13559915ae1ad493d06802.zip
Merge remote-tracking branch 'upsteam/main' into gamemode_fd
Diffstat (limited to 'Northstar.Client/mod/scripts/vscripts/_custom_codecallbacks_client.gnut')
-rw-r--r--Northstar.Client/mod/scripts/vscripts/_custom_codecallbacks_client.gnut42
1 files changed, 30 insertions, 12 deletions
diff --git a/Northstar.Client/mod/scripts/vscripts/_custom_codecallbacks_client.gnut b/Northstar.Client/mod/scripts/vscripts/_custom_codecallbacks_client.gnut
index 66a40cb0..277ed030 100644
--- a/Northstar.Client/mod/scripts/vscripts/_custom_codecallbacks_client.gnut
+++ b/Northstar.Client/mod/scripts/vscripts/_custom_codecallbacks_client.gnut
@@ -1,7 +1,10 @@
untyped
global function AddCallback_OnReceivedSayTextMessage
-global function NSSetupChathooksClient
+
+// this is global due to squirrel bridge v3 making native not be able to find non-global funcs properly
+// temp fix (surely it will get replaced), do not use this function please (although there isnt rly a downside to it?)
+global function CHudChat_ProcessMessageStartThread
global struct ClClient_MessageStruct {
string message
@@ -11,6 +14,7 @@ global struct ClClient_MessageStruct {
bool isDead
bool isWhisper
bool shouldBlock
+ bool noServerTag
}
struct {
@@ -18,6 +22,10 @@ struct {
} NsCustomCallbacksClient
void function OnReceivedMessage(ClClient_MessageStruct localMessage) {
+
+ if ( IsWatchingReplay() )
+ return
+
if (localMessage.player != null)
{
foreach (callbackFunc in NsCustomCallbacksClient.OnReceivedSayTextMessageCallbacks)
@@ -29,6 +37,7 @@ void function OnReceivedMessage(ClClient_MessageStruct localMessage) {
localMessage.isDead = returnStruct.isDead
localMessage.isWhisper = returnStruct.isWhisper
localMessage.shouldBlock = localMessage.shouldBlock || returnStruct.shouldBlock
+ localMessage.noServerTag = returnStruct.noServerTag
}
}
@@ -39,7 +48,13 @@ void function OnReceivedMessage(ClClient_MessageStruct localMessage) {
NSChatWriteRaw(1, "\n")
- if (localMessage.player == null) NSChatWrite(1, "\x1b[95m")
+ if (localMessage.player == null)
+ {
+ if (!localMessage.noServerTag || localMessage.isWhisper)
+ {
+ NSChatWrite(1, "\x1b[95m")
+ }
+ }
else
{
bool isFriendly = localMessage.player.GetTeam() == GetLocalClientPlayer().GetTeam()
@@ -54,15 +69,18 @@ void function OnReceivedMessage(ClClient_MessageStruct localMessage) {
if (localMessage.player == null)
{
- NSChatWriteRaw(1, Localize("#HUD_CHAT_SERVER_PREFIX") + " ")
+ if (!localMessage.noServerTag)
+ {
+ NSChatWriteRaw(1, Localize("#HUD_CHAT_SERVER_PREFIX") + " ")
+ }
}
- else {
+ else
+ {
NSChatWriteRaw(1, localMessage.playerName)
NSChatWriteRaw(1, ": ")
}
- NSChatWrite(1, "\x1b[0m")
-
+ if (localMessage.player != null || !localMessage.noServerTag || localMessage.isWhisper) NSChatWrite(1, "\x1b[0m")
NSChatWrite(1, localMessage.message)
}
@@ -87,16 +105,19 @@ void function CHudChat_OnReceivedSayTextMessageCallback(int fromPlayerIndex, str
fromPlayerName = fromPlayer.GetPlayerNameWithClanTag()
}
+ // Null player + isTeam == true: Server with no tag.
+
if (messageType == 0 || messageType == 1)
{
ClClient_MessageStruct localMessage
localMessage.message = message
localMessage.player = fromPlayer
localMessage.playerName = fromPlayerName
- localMessage.isTeam = isTeam
+ localMessage.isTeam = fromPlayer != null && isTeam
localMessage.isDead = isDead
localMessage.isWhisper = false
localMessage.shouldBlock = false
+ localMessage.noServerTag = fromPlayer == null && isTeam
OnReceivedMessage(localMessage)
return
}
@@ -107,10 +128,11 @@ void function CHudChat_OnReceivedSayTextMessageCallback(int fromPlayerIndex, str
localMessage.message = message
localMessage.player = fromPlayer
localMessage.playerName = fromPlayerName
- localMessage.isTeam = isTeam
+ localMessage.isTeam = fromPlayer != null && isTeam
localMessage.isDead = isDead
localMessage.isWhisper = true
localMessage.shouldBlock = false
+ localMessage.noServerTag = fromPlayer == null && isTeam
OnReceivedMessage(localMessage)
return
}
@@ -120,7 +142,3 @@ void function AddCallback_OnReceivedSayTextMessage( ClClient_MessageStruct funct
{
NsCustomCallbacksClient.OnReceivedSayTextMessageCallbacks.append(callbackFunc)
}
-
-void function NSSetupChathooksClient() {
- getroottable().rawset("CHudChat_ProcessMessageStartThread", CHudChat_ProcessMessageStartThread)
-}