Project

Profile

Help

Builds » History » Sprint/Milestone 32

Vincent Le Goff, 06/30/2023 03:03 PM

1 1 Vincent Le Goff
h1. What's new in recent builds
2
3
This page describes the new features added and changes made to each build.  You can browse through each build using headings.
4
5 31 Vincent Le Goff
h2. Build 51
6
7 32 Vincent Le Goff
*   Add a logger which writes your sessions' text (and the output you give) into a file on disk.  The logger is on by default, but it can be turned off for all sessions (see the logging preferences).  It can also be turned on and off for individual sessions (see the *Game* menu).
8
*   Add the @#pause@ functions in SharpScript, to add a pause in your script between actions (like commands) to send to the MUD.  As usual, this is usable in aliases, macros or triggers.  You can add the @#pause@ function directly from the interface.
9 31 Vincent Le Goff
*   Add the variable functionality to SharpScript.  SharpScript variables can retain information while the session is running (variables will remain if you reconnect to the same session).  Variables can store contextual information which can be used later.
10
11 32 Vincent Le Goff
    To add a variable, you can use the @#writevar@ SharpScript function (once again, you can add it directly from the interface, have it set on aliases, macros or triggers).  On a MUD with spacecrafts, for instance, you might want to create a variable @curship@ which contains the name of your current ship.  You would set it through an alias (add an alias @curship *@ that does @#writevar curship $1@, that is, what's after the space will be set in the @curship@ variable).  You can then use it later very simply in all your SharpScript, like @#send {openhatch $curship}@.  If you have to perform a lot of operations on a ship, this could save time.
12 31 Vincent Le Goff
13 32 Vincent Le Goff
    You also have access to the @#checkvar@ SharpScript function which checks that the variable exists.  If it does not, @#checkvar@ can send you a message and will stop the script right there.  This is very useful in some contexts to make sure varibles exist before proceeding.
14 31 Vincent Le Goff
15 32 Vincent Le Goff
> Note: these features are used from the SharpScript interface.  They have been tested in different contexts.  Few users have played with Python in SharpScript.  If you are one of them, though, know that additional documentation and better code is currently being written to support more intuitive Python code inside the SharpScript engine.
16 31 Vincent Le Goff
17 30 Vincent Le Goff
h2. Build 50
18
19
* Add a feature to prevent some games from disconnecting you based on "idle out" (#157).  This simply sends empty commands randomly to the server.  Notice that most game servers forbid this kind of automatic playing.
20
* Add the @#randplay@ function, to randomly play a sound from a list of files (#118).
21
* CocoMUD now recognizes and act according to the Telnet Go-Ahead (#130).  In non-technical terms, users should see an improvement in CocoMUD's behavior when receiving long blocks of text that used to be cut in the middle.
22
* Add the first version of delays in CocoMUD, paving the way for timers, speed walking and such (#156).
23
* The notepad dialog, used to write/read notes in CocoMUD, doesn't hide the client window anymore (#158).  It is possible to have them both open at once.
24
* CocoMUD now correctly handles the action to repeat the last entered command in the history (#151).  This means you can configure a @!@ alias to repeat the last command.
25
* Fix a bug to use macros using the minus of the numeric keypad (#154).
26
* Fix a bug preventing importing a world from a file (#152).
27
* Fix a bug with macros using the combination @ALT + X@ or @ALT + Shift + X@ (#149).
28
* Creating a new character is only the default choice if no character exists in this world (#147).
29
* Fix a bug where CocoMUD crashed on opening the SharpScript console (#146).
30
* Complete optimization of the output window (#133).  Unfortunately, some users are still complaining about strange sluggishness, but as it is, no better solution has been found, except clearing the output window.
31
* Add an updater to make sure future releases don't break compatibility with CocoMUD (#153).
32
33 29 Vincent Le Goff
h2. Build 49
34
35
* CocoMUD is now available in Spanish!  Many thanks to the contributor who helped in translating CocoMUD in this language and offered additional help during this build.
36
* CocoMUD now runs on Python 3, instead of Python 2 (#128).  Some minor errors with compatibility may still exist, please report if you find any.
37
* Macros and other scripting configuration shouldn't run in the wrong window, resulting in conflicting game play when running the same world in different tabs (#136).
38
* CocoMUD now supports playing audio files in .mp3, .wav and .ogg formats.  The old dependency on @Pygame@ was replaced with a much lighter and more efficient library (#134).
39
* The console window is now hidden whenever updating (#135).  This is still a work in progress in designing a better updating system.
40
* The Python console was removed from the *File* menu.  A new menu named *Tools* was added to support more advanced tools.
41
* A SharpScript console was added in the *Tools* menu.  If you have been using CocoMUD for a long time, you may remember one could enter SharpScript commands (like @#say@) directly in the client.  This was removed as it created issues.  Now you can enter your custom configuration in this SharpScript console (#138).
42
* CocoMUD now takes an optional command-line argument to run a different configuration directory.  That is, you can run CocoMUD's version but give it a different directory than the current directory.  This feature is not likely to be used by many but it now exists (#139).  For instance: @cocomud.exe --config-dir=D:\CocoMUD@
43
* The notification counter used to increase even with messages that were interpreted by mute triggers.  This is now fixed (#127).
44
* CocoMUD used to crash on opening if no Internet connection was available.  This is now fixed (#132).
45
* A regression problem was fixed, which prevented to load and run characters (#141).  Also note that your world and character configuration (mainly your @config.set@ files for the time being) will be converted to the utf-8 encoding from now on, since this encoding is much more appropriate to the international spreading of CocoMUD.
46
* Errors in the Python console weren't displayed correctly.  This is now fixed (#142).
47
* Colors in game weren't always displayed.  This is now fixed (#144).
48
* Note for developers: CocoMUD now runs and build with @pipenv@, which makes it much easier to develop and support all CocoMUD's dependencies.  Some additional documentation will shortly be posted.
49
50 28 Vincent Le Goff
h2. Build 48
51
52
* A new option in the menu bar (*Game* -> *Channels*) allows to edit channels.  You will find the [[Channels|documentation on channels here]] (#120).
53
* A new sharp script function @#randplay@ has been added, to play a random sound in a list.  This function is usable but not yet present in the graphical user interface.
54
* Some work has been done on general configuration.  This will be available on the next update.
55
* One can now clear the output window through the menu *Game* -> * Clear the output window* (#64).
56
* Several fixes on importing worlds from the website (#123).
57
* Fixes the error in changing preferences (#125).
58
59 27 Vincent Le Goff
h2. Build 47
60
61
* You can now easily export a world in a ZIP archive, choosing what you want to export (*File* -> *Export this world*).  You can share this file and others can import it through *File* -> *Import a world* (#86).
62
* CocoMUD better handles the clipboard and pasting, particularly under Linux (#106).  It also provides a checkbox to disable auto send when pasting text (#91).
63
* CocoMUD now supports and displays both *wav* and *OGG* files for playing sounds (#112).
64
* Rich-text was disabled by default to offer a better user experience with fewer bugs (#114).
65
* Several bug fixes and improvements under Linux (#105, #106).
66
* CocoMUD now opens and correctly closes preferences when the user language isn't supported (#108).
67
* Importing a world from the website doesn't generate encoding errors anymore (#117).
68
* CocoMUD now displays text using a more appropriate font, thank you again, sighted contributors.
69
* Note: for compatibility reasons, file encoding was updated.  CocoMUD should support older versions of configuration files and convert them at startup, but there might be issues with some heavily modified configuration with special characters.
70
71 26 Vincent Le Goff
h2. Build 46
72
73
* Command stacking is now working again and systematically checked (#98).
74
* Command stacking now supports special characters (#99).
75
* CocoMUD better handles variables if their value contains special characters (#93).
76
77 25 Vincent Le Goff
h2. Build 45
78
79
* CocoMUD no longer makes the screen reader freeze (#96).
80
* CocoMUD now supports the SSL protocol, to encrypt the telnet connection (#94).
81
  SSL is not supported by all games, and is usually set on a different port than the plain telnet protocol.
82
* Add a new menu item to disable trigger sounds (#89).
83
84 24 Vincent Le Goff
h2. Build 44
85
86
* Add a SharpScript action to repeat the last command (#85):
87
  This action, called @#repeat@, can be used to repeat the last entered command or send a command multiple times.  It can easily be connected to a macro.
88
* When pressing a shortcut to a macro, go to the end of the window (#80).
89
* Fix several conflicts when opening the same world in different tabs (#90).
90
91 23 Vincent Le Goff
h2. Build 43
92
93
* Add a documentation file to [[Download|download and install CocoMUD]].
94
* Add shortcut keys to add, edit or remove in all dialog boxes (#87).
95
96 22 Vincent Le Goff
h2. Build 42
97
98
* Add the triggers with substitution (#79):
99
  Triggers can now handle substitution, that is replace one or more lines in the client.
100
* Update proper colors with the rich-text setting.
101
* Fix a bug with the cursor moving a bit randomly when several tabs were opened (#53).
102
103 21 Vincent Le Goff
h2. Build 41
104
105
* Add default characters (#77):
106
  In the character dialog, one can now specify that a character should be loaded by default.  When selecting a world in the connection list, the default character of this world (if any) is automatically selected.  This saves time if you often login to the same character of a world, and doesn't prevent login on others.
107
* When creating a new character with special characters (like accents), CocoMUD doesn't crash at startup (#78).
108
* When CocoMUD loses connection, it will attempt to reconnect and enter the username / password if a character is set (#67):
109
  This fix is not perfect, it remains difficult to handle connection errors.
110
* When no update is available, the message is correctly displayed (#75).
111
112 20 Vincent Le Goff
h2. Build 40
113
114
* Add a setting to disable rich text control (#82).
115
  You will find this setting in the menu bar, *File* -> *Preferences*, *Accessibility* tab.  Disabling the rich text control can be useful for accessibility, although it removes colors from the client.
116
* Creating a new world and closing the dialog does not lead to an error (#69).
117
* Fix a bug when closing all tabs in the client.
118
119 19 Vincent Le Goff
h2. Build 39
120
121
* Add a button to import a world right in the connection window (#60):
122
  It is now possible to import a world before connecting (which makes more sense in most cases).  Simply click on the *Import*  button in the connection window and select whether you want to import a world online or on disk.
123
* Display a dialog box to announce the world was correctly installed (#63).
124
* Installing a world with channels doesn't create "popup" windows (#81).
125
* Restarting CocoMUD after installing a new world isn't required anymore.
126
127 18 Vincent Le Goff
h2. Build 38
128
129
* Add notepads for each world and characters (#62):
130
  CocoMUD now keeps track of separate files, where you can store any information, like exploring landmarks, quest reminders and so on.  You have a specific notepad for each world, which can be opened through the menu bar -> *Game* -> *Notepad* -> *For this world...* menu.  Simply type in your text, press Escape when you want to close it and save it.  The same system holds true for character-specific notepads, which you can open in the menu bar, *Game* -> *Notepad* -> *For this character...* menu.  This second notepad will not be accessible through other characters of this world.
131
* Add a documentation for [[Macros|macros]].
132
* Add the mark triggers in the trigger dialog (#30).
133
* Allow triggers without action (most useful for mark triggers).
134
* Fix several visual errors in the interface.
135
136 17 Vincent Le Goff
h2. Build 37
137
138
* Add the ability to configure characters in worlds (#61):
139
  This feature allows to create several characters per world.  Characters can contain more specific configuration (like aliases, macros or triggers), but also login information.  A character will store the information in an encrypted file, to login more quickly.
140
  To create a character, choose a world from the list in the connection area, then press tab and select "any" (the default choice).  Press RETURN or click the *connect* button.  You have opened a random character associated with this world.  To now save it, go to the menu bar, *game* -> *Change this character's setting...*.  In this dialog, enter a name for the newly-created character, a username (or a list of commands to be sent before the password), the password itself and then a list of commands to be sent after the password (if any).  Click *OK* to save in an encrypted file.  The next time you connect, you should see this character in the available list (select the world, then press Tab to find this character).  CocoMUD will enter the commands you have provided, and will do so if you ask to be reconnected as well.
141
* Fix a bug when trying to create a new world (#66).
142
* Add the crash report dialog:
143
  This dialog appears when an error occurs during a given task.  It will provide you with additional information about the bug, and will explain you how to report this bug to the team of developers.
144
145 16 Vincent Le Goff
h2. Build 36
146
147
* Add the marked trigger (#30).
148
  Marked triggers can ask to move the cursor to a specific line.  For instance, if one receives a message, the cursor can be moved right on this message.  This can also help to explore, to move the cursor on the list of exits, for instance.
149
* Update the client's design and window.
150
* Add support for handling colors (#65).
151
152 15 Vincent Le Goff
h2. Build 35
153
154
* Add the feature to import a world, from a file or online (#60).
155
  There is now a new menu, "import", in the menu bar -> *file* menu.  In it are two options, one to import a world from a file, the other to import one online.  The second option tries to find the worlds already configured on the project's website.  One can download and install them directly.
156
157 14 Vincent Le Goff
h2. Build 34
158
159
* Add the system of channels (#50):
160
Channels can keep track of a list of events.  They are particularly useful to log communication channels on the MUD.  Through the trigger system, users can feed a channel.  Through a macro or alias, this channel can be displayed in a list, in a separate dialog box.
161
* In the preferences dialog, *accessibility* tab, users now can set whether the TTS is interrupted or not (#40).
162
* When changing the TTS options in the preferences, the options are taken into account immediately (#55).
163
* Fix some bugs in the SharpScript engine.
164
165 13 Vincent Le Goff
h2. Build 33
166
167
* Multiline aliases/macros/triggers do not bug anymore (#63).
168
* One can now enter SharpScript in macros (#59).
169
* Variables are now described in the [[Alias|alias]] documentation.
170
* The title of the window with several open tabs is now accurately updated (#51).
171
172 12 Vincent Le Goff
h2. Build 32
173
174
* Add a syntax to write variables in SharpScript:
175
  The syntax is @$variable@.  Variables have been added to aliases (#45) and triggers (#44).
176
* Fix a minor bug in command stacking.
177
* Add mute triggers, which will be useful to support audio prompts.
178
179 11 Vincent Le Goff
h2. Build 31
180
181
* Improve the debug logging system.
182
* Restructure the catalogs for translation (#41).
183
184 10 Vincent Le Goff
h2. Build 30
185
186
* Add a logging system to debug events.
187
188 9 Vincent Le Goff
h2. Build 29
189
190
* Attempt to fix a bug using the @#play@ function while several worlds are opened (#48).
191
192 8 Vincent Le Goff
h2. Build 28
193
194
* Add [[CommandStacking|command stacking]], to send multiple commands at once, using the semicolon or another character (#32).
195
196 6 Vincent Le Goff
h2. Build 27
197
198
* Open multiple worlds in tabs (#42):
199
  It is now possible to open several worlds in tabs, or even a world several times in tabs.  In the file menu are three new options, to create a new world, open a world in a different tab and close the current tab.  One can navigate between tabs using Ctrl + tab or Ctrl + Shift + tab as usual.
200
  The feature to change the window's title when unread messages are received (#20) now takes into account the selected tab only.
201
* New menus to disconnect and reconnect from a world (#43):
202
  A new menu item in the menu bar, named connection, has been added.  In it are options to disconnect from the current world, and reconnect to it.
203 7 Vincent Le Goff
* The client doesn't lag if connection to a distant server takes some time (#21).
204 6 Vincent Le Goff
205 5 Vincent Le Goff
h2. Build 26
206
207
* When outside of the window, if messages are received, the window title changes to let the user know notifications are waiting on the client (#20).
208
209 4 Vincent Le Goff
h2. Build 25
210
211
* Add the command history
212
  The command history remembers all commands you have entered.  You can use it by pressing CTRL + up or down to go up or down into your list of commands.  Alternatively, you can use command history in lock mode, by pressing Escape, then navigating in the history using the arrow keys.  You can leave lock mode by pressing Escape again.
213
* One can now paste several lines to send multiple commands (#27).
214
215 2 Vincent Le Goff
h2. Build 24
216
217 3 Vincent Le Goff
* Update the documentation of the basic features (#36).
218
* Remove the obsolete settings based on an input and output field (#35).
219
* When tabbing to tab-complete, the TTS speaks (and displays) the found result.
220 1 Vincent Le Goff
221
h2. Build 23
222
223 3 Vincent Le Goff
* Add the tab-completion (#34):
224 1 Vincent Le Goff
  When the client receives messages from the server, it stores all words by frequency.  When you begin typing a letter or more and then press tab, the client will try to finish the word you were typing.  If you're not satisfied with this choice, you can press tab again and the client will display another result.