Skip to content

Commit

Permalink
Merge branch 'development' into MUSHclient
Browse files Browse the repository at this point in the history
  • Loading branch information
fiendish committed Feb 20, 2018
2 parents 1532161 + 157ceae commit 51d24f1
Show file tree
Hide file tree
Showing 78 changed files with 4,153 additions and 339 deletions.
8 changes: 7 additions & 1 deletion MUSHclient/AardwolfPackageChanges.txt
Original file line number Diff line number Diff line change
@@ -1,7 +1,13 @@
Aardwolf Client Package Major Changes List

r1960 snapshot
- bug fix: work around possible gmcp char status inconsistency at login in prompt fixer, ascii map, and chat echo plugins by switching connection checks to telopts instead.
- bug fix: The aard_Copy_Colour_Codes plugin should now work with extended ascii and the utf8 map characters.
- misc change: A few unnecessary status messages have been removed in the non-visual edition.
- new feature: Pwar's soundpack and review buffers plugins are now included in the package (and loaded by default on a brand new install of the non-visual edition).

r1956 snapshot
- bug fix: A latent memory access bug in all prior versions of MUSHclient could randomly lead to crashes or other client errors.
- bug fix: A latent memory access bug in all prior versions of MUSHclient could randomly lead to crashes or other client errors.

r1955 snapshot
- misc change: A lot of plugin variables will save more immediately now, which should prevent some configuration loss in the event of a crash.
Expand Down
Binary file modified MUSHclient/MUSHclient.exe
Binary file not shown.
2 changes: 1 addition & 1 deletion MUSHclient/lua/aard_lua_extras.lua
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ function PackageVersionExtended()
end
else
succ = true
msg = "You are currently using Aardwolf MUSHclient Package version: r"..PackageVersionFull()
msg = "You are using Aardwolf MUSHclient Package version: r"..version..(aard_req_novisuals_mode and "\nIf someone asked you to report your version to them, consider also telling them that it's the no-visuals edition if you think that it might be useful information." or "")
end

return succ, version, msg
Expand Down
Binary file modified MUSHclient/mushclient_prefs.sqlite
Binary file not shown.
Binary file added MUSHclient/sounds/aarch_prof.wav
Binary file not shown.
Binary file added MUSHclient/sounds/answer.wav
Binary file not shown.
Binary file added MUSHclient/sounds/auction.wav
Binary file not shown.
Binary file added MUSHclient/sounds/barter.wav
Binary file not shown.
Binary file modified MUSHclient/sounds/beep-01.wav
Binary file not shown.
Binary file added MUSHclient/sounds/channel_off.wav
Binary file not shown.
Binary file added MUSHclient/sounds/channel_on.wav
Binary file not shown.
Binary file added MUSHclient/sounds/claninfo.wav
Binary file not shown.
Binary file added MUSHclient/sounds/clantalk.wav
Binary file not shown.
Binary file added MUSHclient/sounds/correct_quest_mob.wav
Binary file not shown.
Binary file added MUSHclient/sounds/cp_mob_dead.wav
Binary file not shown.
Binary file added MUSHclient/sounds/curse.wav
Binary file not shown.
Binary file added MUSHclient/sounds/death.wav
Binary file not shown.
Binary file added MUSHclient/sounds/debate.wav
Binary file not shown.
Binary file added MUSHclient/sounds/double_end.wav
Binary file not shown.
Binary file added MUSHclient/sounds/double_exp.wav
Binary file not shown.
Binary file added MUSHclient/sounds/ftalk.wav
Binary file not shown.
Binary file added MUSHclient/sounds/gametalk.wav
Binary file not shown.
Binary file added MUSHclient/sounds/gclan.wav
Binary file not shown.
Binary file added MUSHclient/sounds/global_quest.wav
Binary file not shown.
Binary file added MUSHclient/sounds/gossip.wav
Binary file not shown.
Binary file added MUSHclient/sounds/gq_mob_dead.wav
Binary file not shown.
Binary file added MUSHclient/sounds/gq_win.wav
Binary file not shown.
Binary file added MUSHclient/sounds/grats.wav
Binary file not shown.
Binary file added MUSHclient/sounds/group.wav
Binary file not shown.
Binary file added MUSHclient/sounds/gsocial.wav
Binary file not shown.
Binary file added MUSHclient/sounds/gtell.wav
Binary file not shown.
Binary file added MUSHclient/sounds/helper.wav
Binary file not shown.
Binary file added MUSHclient/sounds/immtalk.wav
Binary file not shown.
Binary file added MUSHclient/sounds/info.wav
Binary file not shown.
Binary file added MUSHclient/sounds/level_up.wav
Binary file not shown.
Binary file added MUSHclient/sounds/level_up_sh.wav
Binary file not shown.
Binary file added MUSHclient/sounds/ltalk.wav
Binary file not shown.
Binary file added MUSHclient/sounds/market.wav
Binary file not shown.
Binary file added MUSHclient/sounds/music.wav
Binary file not shown.
Binary file added MUSHclient/sounds/newbie.wav
Binary file not shown.
Binary file added MUSHclient/sounds/nobletalk.wav
Binary file not shown.
Binary file added MUSHclient/sounds/personal_note.wav
Binary file not shown.
Binary file added MUSHclient/sounds/pokerinfo.wav
Binary file not shown.
Binary file added MUSHclient/sounds/quest_complete.wav
Binary file not shown.
Binary file added MUSHclient/sounds/quest_ready.wav
Binary file not shown.
Binary file added MUSHclient/sounds/quest_start.wav
Binary file not shown.
Binary file added MUSHclient/sounds/quest_target_found.wav
Binary file not shown.
Binary file added MUSHclient/sounds/quest_target_killed.wav
Binary file not shown.
Binary file added MUSHclient/sounds/quest_warning.wav
Binary file not shown.
Binary file added MUSHclient/sounds/question.wav
Binary file not shown.
Binary file added MUSHclient/sounds/rauction.wav
Binary file not shown.
Binary file added MUSHclient/sounds/restore.wav
Binary file not shown.
Binary file added MUSHclient/sounds/say.wav
Binary file not shown.
Binary file added MUSHclient/sounds/scry.wav
Binary file not shown.
Binary file added MUSHclient/sounds/special_find.wav
Binary file not shown.
Binary file added MUSHclient/sounds/spouse.wav
Binary file not shown.
Binary file added MUSHclient/sounds/tech.wav
Binary file not shown.
Binary file added MUSHclient/sounds/tell.wav
Binary file not shown.
Binary file added MUSHclient/sounds/tiertalk.wav
Binary file not shown.
Binary file added MUSHclient/sounds/wangrp.wav
Binary file not shown.
Binary file added MUSHclient/sounds/warfare.wav
Binary file not shown.
Binary file added MUSHclient/sounds/whisper.wav
Binary file not shown.
Binary file added MUSHclient/sounds/yell.wav
Binary file not shown.
Binary file added MUSHclient/sounds/zone_repop.wav
Binary file not shown.
1 change: 1 addition & 0 deletions MUSHclient/worlds/Aardwolf.mcl
Original file line number Diff line number Diff line change
Expand Up @@ -478,6 +478,7 @@ ColourNote ("white", "green", "Added trigger to match on '%1', sending '%2'")
<include name="aard_prompt_fixer.xml" plugin="y" />
<include name="aard_chat_echo.xml" plugin="y" />
<include name="aard_channels_fiendish.xml" plugin="y" />
<include name="aard_soundpack.xml" plugin="y" />
<include name="aard_GMCP_handler.xml" plugin="y" />
<include name="aard_miniwindow_z_order_monitor.xml" plugin="y" />
<include name="aard_layout.xml" plugin="y" />
Expand Down
2 changes: 2 additions & 0 deletions MUSHclient/worlds/Aardwolf_no_visuals.mcl
Original file line number Diff line number Diff line change
Expand Up @@ -478,6 +478,8 @@ ColourNote ("white", "green", "Added trigger to match on '%1', sending '%2'")
<include name="aard_prompt_fixer.xml" plugin="y" />
<include name="aard_chat_echo.xml" plugin="y" />
<include name="aard_VI_command_output.xml" plugin="y" />
<include name="aard_vi_review_buffers.xml" plugin="y" />
<include name="aard_soundpack.xml" plugin="y" />
<include name="aard_GMCP_handler.xml" plugin="y" />
<include name="aard_miniwindow_z_order_monitor.xml" plugin="y" />
<include name="aard_Copy_Colour_Codes.xml" plugin="y" />
Expand Down
43 changes: 24 additions & 19 deletions MUSHclient/worlds/plugins/aard_ASCII_map.xml
Original file line number Diff line number Diff line change
Expand Up @@ -229,7 +229,7 @@ starty = ""
posx = ""
posy = ""
hotspot_id = ""
page_built = false
requested_since_empty = false
always_echo_rooms = {
-- "A Garden" via FT2 Gardener's Brain Control Room
Expand Down Expand Up @@ -257,6 +257,7 @@ requesting = false
function request_new_map()
if GetTimerOption("activity_timer", "enabled") == 1 and can_request_map and not requesting and kinda_busy == 0 then
requesting = true
requested_since_empty = true
SendNoEcho("map")
EnableTriggerGroup("end_gag", true)
end
Expand All @@ -270,7 +271,6 @@ function map_redirect (name, line, wildcards, styles)
map_lines = {} --reset ready for new map
elseif name == "map_end" then
EnableTrigger ("multi_line_map", false) -- no more lines to go
page_built = true
requesting = false
DisplayMapPage () --end of map from MUD, display the window
Expand Down Expand Up @@ -407,7 +407,7 @@ function DisplayMapPage()
txt = "Right-click here to pick another."
txtlen = WindowTextWidth(win,font_id,txt)
WindowText (win, font_id, txt, (width-txtlen)/2, height/2+line, 0, 0, 0xeeeeee)
elseif not page_built then
elseif not requested_since_empty then
line = -font_height-5
txt = "Map will appear here"
txtlen = WindowTextWidth(win,font_id,txt)
Expand Down Expand Up @@ -583,6 +583,22 @@ function right_click_menu ()
end
end -- right_click_menu
char_state_hexcodes = {
['6403'] = 3,
['640B'] = 11
}
function OnPluginTelnetOption(data)
char_state = char_state_hexcodes[utils.tohex(data)]
can_request_map = ((char_state == 3) or (char_state == 11))
if (char_state == 11) and (myhp == 1) and not died then
-- the mud doesn't send a map update when you die (part2)
died = true
requested_since_empty = false
end
if not requested_since_empty then
request_new_map()
end
end
--=================================================================================
-- Called when plugin receives telnet data - main entry point for actually running
Expand All @@ -594,7 +610,7 @@ function OnPluginBroadcast (msg, id, name, text)
if (id == '3e7dedbe37e44942dd46d264') then
if (text == 'reload') then
-- invalidate current data
page_built = false
requested_since_empty = false
can_request_map = true
return
end
Expand All @@ -606,7 +622,7 @@ function OnPluginBroadcast (msg, id, name, text)
if (show_coords == 1) then
process_coords()
end
if page_built == false and (GetOption("enable_triggers") == 1) then
if (not requested_since_empty) and (GetOption("enable_triggers") == 1) then
request_new_map()
end
elseif (text == "comm.repop") then
Expand All @@ -615,24 +631,13 @@ function OnPluginBroadcast (msg, id, name, text)
-- the mud doesn't send a map update when you die (part1)
myhp = tonumber(gmcp("char.vitals.hp"))
if myhp == 1 then
if char_state == 11 and not died then
if (char_state == 11) and not died then
died = true
request_new_map()
end
else
died = false
end
elseif (text == "char.status") then
char_state = tonumber(gmcp("char.status.state"))
can_request_map = (char_state == 3 or char_state == 11)
if char_state == 11 and myhp == 1 and not died then
-- the mud doesn't send a map update when you die (part2)
died = true
page_built = false
end
if not page_built then
request_new_map()
end
end
elseif (id == "462b665ecb569efbf261422f" and msg==996 and text == "re-register z") then
CallPlugin("462b665ecb569efbf261422f", "registerMiniwindow", win)
Expand Down Expand Up @@ -792,13 +797,13 @@ function LeftClickOnly(flags, hotspot_id, win)
end
function OnPluginConnect()
page_built = false
requested_since_empty = false
Send_GMCP_Packet("tags on")
TelnetOptionOn(TELOPT_MAP)
TelnetOptionOff(TELOPT_SHORTMAP)
TelnetOptionOn(TELOPT_ROOM_NAMES)
TelnetOptionOn(TELOPT_EXIT_NAMES)
TelnetOptionOn(TELOPT_ROOMDESC_TAGS)
Send_GMCP_Packet("tags on")
TelnetOptionOn(TELOPT_AUTOMAP) -- does this do anything?
Send_GMCP_Packet("maptype "..maptype)
Send_GMCP_Packet("request char")
Expand Down
1 change: 0 additions & 1 deletion MUSHclient/worlds/plugins/aard_GMCP_handler.xml
Original file line number Diff line number Diff line change
Expand Up @@ -215,7 +215,6 @@ function OnPluginTelnetRequest (msg_type, data)
end -- if
if msg_type == GMCP and data == "SENT_DO" then
Note ("Enabling GMCP.")
-- This hard-coded block may need to be made into a config table as we add more message types.
GMCP_send (
string.format ('Core.Hello { "client": "MUSHclient", "version": "%s" }',
Expand Down
6 changes: 4 additions & 2 deletions MUSHclient/worlds/plugins/aard_GMCP_mapper.xml
Original file line number Diff line number Diff line change
Expand Up @@ -790,7 +790,7 @@ window_hidden = ((GetVariable("window_hidden") or "0") == "1") -- default false
use_compression = tonumber(GetVariable("use_compression") or 0)
quick_mode = ((GetVariable("quick_mode") or "1") == "1") -- default true
shownotes = ((GetVariable("shownotes") or "1") == "1") -- default true
quiet_backups = (GetVariable("quiet_backups") == "1") -- default false
quiet_backups = true -- just at the beginning
local rooms = {}
local areas = {}
local environments = {}
Expand Down Expand Up @@ -2636,7 +2636,7 @@ function checkDatabaseIntegrity(full_check, second_run)
end
function maybe_Note(msg, force)
if not quiet_backups or force then
if (not quiet_backups) or force then
Note(msg)
end
end
Expand Down Expand Up @@ -2970,6 +2970,7 @@ function OnPluginInstall ()
else
after_update_check()
end
quiet_backups = (GetVariable("quiet_backups") == "1") -- default false
end
function update_db_schema(db_user_version)
Expand Down Expand Up @@ -4632,6 +4633,7 @@ end
function OnPluginListChanged ()
dofile "lua/aard_requirements.lua"
if aard_req_novisuals_mode then
quiet_backups = true
Execute("mapper hide")
end
end
Expand Down
1 change: 1 addition & 0 deletions MUSHclient/worlds/plugins/aard_channels_fiendish.xml
Original file line number Diff line number Diff line change
Expand Up @@ -241,6 +241,7 @@ end
win = GetPluginID()
function OnPluginListChanged ()
dofile "lua/aard_requirements.lua"
-- let aard_chat_echo hide things
CallPlugin ("55616ea13339bc68e963e1f8", "enable_hiding", true, GetPluginID())
end
Expand Down
76 changes: 43 additions & 33 deletions MUSHclient/worlds/plugins/aard_chat_echo.xml
Original file line number Diff line number Diff line change
Expand Up @@ -154,6 +154,7 @@ echo_donations = GetVariable("echo_donations_2") ~= "0"
echo_warfare = GetVariable("echo_warfare_2") ~= "0"
-- only hide echoes if at least one capture window is active
-- use CallPlugin ("55616ea13339bc68e963e1f8", "enable_hiding", true, GetPluginID())
never_hide = true
list_of_filter_enablers = {}
function enable_hiding(true_false, enabler_id)
Expand Down Expand Up @@ -183,11 +184,6 @@ end
enable_hiding(false, GetPluginID())
compact_uncheckable_states = {[""]=true, ["1"]=true, ["2"]=true, ["4"]=true, ["5"]=true, ["6"]=true, ["7"]=true, ["8"]=true}
function can_check_compact()
return not compact_uncheckable_states[gmcp("char.status.state")]
end
function hideEchos(info, global_quest, remort_auction, donations, warfare)
if info ~= nil then
EnableTrigger("info", info)
Expand Down Expand Up @@ -275,6 +271,31 @@ function OnPluginListChanged ()
end
end
char_state_hexcodes = {
['6403'] = 3,
['6405'] = 5,
['6409'] = 9,
['640B'] = 11
}
function OnPluginTelnetOption(data)
local hexdata = utils.tohex(data)
char_state = char_state_hexcodes[hexdata]
-- after MOTD
if (not done_init) and char_state and (char_state ~= 5) then
done_init = true
Send_GMCP_Packet("config compact")
end
if char_state ~= 5 then -- show messages that were buffered while in note mode
if #msg_buffer > 0 then
Note("Replaying all channel messages received while in note writing mode...")
for i,v in ipairs(msg_buffer) do
echo_msg(v)
end
msg_buffer = {}
end
end
end
msg_buffer = {}
function OnPluginBroadcast (msg, id, name, text)
Expand All @@ -283,7 +304,6 @@ function OnPluginBroadcast (msg, id, name, text)
if (text == "config") then
compact_mode = gmcp("config.compact")
elseif (text == "comm.channel") then
char_state = gmcp("char.status.state")
gmcp_comm = gmcp("comm.channel")
msg = gmcp_comm.msg or ""
chan = gmcp_comm.chan or ""
Expand All @@ -296,30 +316,13 @@ function OnPluginBroadcast (msg, id, name, text)
addNewChannel(chan)
end
if never_hide or channels_table[chan]["echo"] then
if char_state ~= "5" then
if char_state ~= 5 then
echo_msg(msg)
else
table.insert(msg_buffer, msg)
end
end
end
elseif text == "char.status" then
char_state = gmcp("char.status.state")
-- some gmcp messages get sent with the MOTD and we want this to happen after
if not done_init and can_check_compact() then
done_init = true
Note("Checking compact setting.")
Send_GMCP_Packet("config compact")
end
if char_state ~= "5" then -- show messages that were buffered while in note mode
if #msg_buffer > 0 then
Note("Replaying all channel messages received while in note writing mode...")
end
for i,v in ipairs(msg_buffer) do
echo_msg(v)
end
msg_buffer = {}
end
end
end
end
Expand All @@ -328,6 +331,14 @@ function untagged_info (name, line, wildcards, styles)
EnableTriggerGroup("end_gag", true) -- gags trailing blank line
end
function rejection_message()
Note()
ColourNote ("yellow", "", "You can't hide messages with \"chats echo on\" or \"chats echo custom\" unless you have at least one secondary capture plugin active.")
ColourNote ("yellow", "", "If you want to disable certain channels, do it with the available in-game commands.")
ColourNote ("yellow", "", [[Otherwise you must have at least one plugin which uses the following line of code before disabling chat display in the client is allowed: CallPlugin("55616ea13339bc68e963e1f8", "enable_hiding", true, GetPluginID())]])
Note()
end
function chat_echo (toggle)
if toggle == "" then
ColourNote("yellow", "", "Current channel echo status: ")
Expand All @@ -340,17 +351,23 @@ function chat_echo (toggle)
for k,v in pairs(channels_table) do
channels_table[k]["echo"] = true
end
ColourNote ("yellow", "", "All chats are now SHOWN in the main window.")
ColourNote ("yellow", "", "All chats are now", "lime", "", " shown ", "yellow", "", "in the main window.")
ColourNote ("yellow", "", "Note: This does not affect \"other\" (non-channel) messages, which must be toggled manually.")
Note("")
elseif toggle == "off" then
if never_hide then
return rejection_message()
end
for k,v in pairs(channels_table) do
channels_table[k]["echo"] = nil
end
ColourNote ("yellow", "", "All chats are now HIDDEN in the main window.")
ColourNote ("yellow", "", "All chats are now", "red", "", " hidden ", "yellow", "", "in the main window.")
ColourNote ("yellow", "", "Note: This does not affect \"other\" (non-channel) messages, which must be toggled manually.")
Note("")
elseif toggle == "custom" then
if never_hide then
return rejection_message()
end
local tbl = {}
local defaults = {}
local i = 1
Expand Down Expand Up @@ -404,18 +421,11 @@ dofile (GetPluginInfo (GetPluginID(), 20) .. "telnet_options.lua")
function OnPluginDisable()
if IsConnected() then
TelnetOptionOff(TELOPT_CHANNELS)
TelnetOptionOff(TELOPT_TELLS)
TelnetOptionOff(TELOPT_SAYS)
Send_GMCP_Packet("gmcpchannels off")
end
end
function OnPluginConnect()
TelnetOptionOn(TELOPT_CHANNELS)
TelnetOptionOn(TELOPT_TELLS)
TelnetOptionOn(TELOPT_SAYS)
Send_GMCP_Packet("tags on")
Send_GMCP_Packet("gmcpchannels on")
Send_GMCP_Packet("request char")
end
Expand Down
11 changes: 6 additions & 5 deletions MUSHclient/worlds/plugins/aard_new_connection.xml
Original file line number Diff line number Diff line change
Expand Up @@ -54,12 +54,13 @@ function OnPluginSaveState ()
SetVariable("showGreeting2", showGreeting2)
end -- OnPluginSaveState
function OnPluginInstall()
end
loaded = false
function OnPluginListChanged()
dofile "lua/aard_requirements.lua"
if aard_req_novisuals_mode then
LoadPlugin(GetPluginInfo(GetPluginID(), 20).."aard_new_connection_no_UI.xml")
return
end
if not loaded then
showGreeting2 = tonumber(GetVariable("showGreeting2")) or showGreeting2
if (showGreeting2 == 1) then
Expand All @@ -73,12 +74,12 @@ end
function hyperlink_close ()
WindowShow (win, false)
SaveState()
Connect()
end -- hyperlink_close
function vi_close()
showGreeting2 = 0
SaveState()
ShowGreeting(false)
hyperlink_close()
end
Expand Down Expand Up @@ -156,7 +157,7 @@ function ShowGreeting(firstTime, highlight_url)
if (firstTime) then
Note("")
Note("Screen reader users: To bypass the welcome screen and connect to the game, type \"connect to aardwolf\" without the quotation marks and then press enter.\nFor more information about the package be sure to check out http://tinyurl.com/aardclientmanual")
Note("Screen reader users: The non-visual package version at https://fiendish.github.io/aardwolfclientpackage/ comes pre-configured for screen reader text to speech. This version does not. Otherwise, to bypass this welcome screen and connect to the game, type \"connect to aardwolf\" without the quotation marks.")
Note("")
-- make the window to get font info
Expand Down

0 comments on commit 51d24f1

Please sign in to comment.