Makes oldchat show while goonchat loads, sends preload messages there.

This commit is contained in:
CitadelStationBot
2017-06-22 19:50:15 -05:00
parent 42b910b768
commit 9ee0d6aa6d
3 changed files with 80 additions and 3 deletions

View File

@@ -591,8 +591,8 @@ GLOBAL_LIST(external_rsc_urls)
log_access("Failed Login: [key] [computer_id] [address] - CID randomizer check")
var/url = winget(src, null, "url")
//special javascript to make them reconnect under a new window.
src << browse("<a id='link' href='byond://[url]?token=[token]'>byond://[url]?token=[token]</a><script type='text/javascript'>document.getElementById(\"link\").click();window.location=\"byond://winset?command=.quit\"</script>", "border=0;titlebar=0;size=1x1")
src << browse("<a href='byond://[url]?token=[token]'>You will be automatically taken to the game, if not, click here to be taken manually</a>", "window=browseroutput")
src << browse({"<a id='link' href="byond://[url]?token=[token]">byond://[url]?token=[token]</a><script type="text/javascript">document.getElementById("link").click();window.location="byond://winset?command=.quit"</script>"}, "border=0;titlebar=0;size=1x1;window=redirect")
to_chat(src, {"<a href="byond://[url]?token=[token]">You will be automatically taken to the game, if not, click here to be taken manually</a>"})
/client/proc/note_randomizer_user()
var/const/adminckey = "CID-Error"

View File

@@ -0,0 +1,51 @@
diff a/code/modules/goonchat/browserOutput.dm b/code/modules/goonchat/browserOutput.dm (rejected hunks)
@@ -32,7 +32,7 @@ GLOBAL_DATUM_INIT(iconCache, /savefile, new("data/iconCache.sav")) //Cache of ic
alert(owner.mob, "Updated chat window does not exist. If you are using a custom skin file please allow the game to update.")
return
- if(winget(owner, "browseroutput", "is-disabled") == "false") //Already setup
+ if(winget(owner, "browseroutput", "is-visible") == "true") //Already setup
doneLoading()
else //Not setup
@@ -90,7 +90,10 @@ GLOBAL_DATUM_INIT(iconCache, /savefile, new("data/iconCache.sav")) //Cache of ic
testing("Chat loaded for [owner.ckey]")
loaded = TRUE
- winset(owner, "browseroutput", "is-disabled=false")
+ winset(owner, "output", "is-disabled=true;is-visible=false")
+ winset(owner, "browseroutput", "is-disabled=false;is-visible=true")
+
+
for(var/message in messageQueue)
to_chat(owner, message)
@@ -228,7 +231,7 @@ GLOBAL_DATUM_INIT(iconCache, /savefile, new("data/iconCache.sav")) //Cache of ic
targets = target
if(!targets.len)
return
-
+ var/original_message = message
//Some macros remain in the string even after parsing and fuck up the eventual output
message = replacetext(message, "\improper", "")
message = replacetext(message, "\proper", "")
@@ -241,14 +244,16 @@ GLOBAL_DATUM_INIT(iconCache, /savefile, new("data/iconCache.sav")) //Cache of ic
if (!C)
continue
-
+
if(!C.chatOutput || C.chatOutput.broken) // A player who hasn't updated his skin file.
- C << message
+ C << original_message
return TRUE
-
+
if(!C.chatOutput.loaded)
//Client sucks at loading things, put their messages in a queue
C.chatOutput.messageQueue += message
+ //But also send it to their output window since that shows until goonchat loads
+ C << original_message
return
// url_encode it TWICE, this way any UTF-8 characters are able to be decoded by the Javascript.