Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Official 5.1 Beta Release Thread
Version 5.0.904 is posted. This one is mainly a Jarvis update, though it also includes an improvement to the Sonos Zone Player driver, to allow you to query the favorites list instead of having to manually configure them in client logic.

The Jarvis changes are to strip down the grammar to improve recognition accuracy. It seems to have worked. The same commands are available, but a lot of the 'decorative' parts of the phrases have been removed. It's less 'southern gentleman' mode now, but ultimately the important thing is accuracy. For my testing, most all commands were at 85 to 90% confidence, which is way up from where it was typically before. Of course slurred speech and other factors can still occasionally cause it to not do as well.

Anyhoo, lets just see what the general consensus is wrt to how much this improved accuracy.

  • Update the Sonos ZP (proprietary) driver to support a new text value query. The values ListQuery/FavsList will get you a quoted comma list of the names of the current favorites. You can pass this to a list browser for display and use the text upon selection to play that favorite.
  • It also now caches the favorites list for much quicker and lighter weight retrieval of the list or invocation of a favorite.
  • Get the new CMLBinBase methods (added in the previous drop) into the HTML docs.
  • Drastically reduce the complexity of the Jarvis grammar, by getting rid of niceities and less likely options. This has reduced the number of possible phrases to probably 10% or less of what it was before, which should significantly improve accuracy, at the cost of some naturalness of interactions.
  • Update Jarvis so that the debugging output is no longer just in the development build, and put a checkbox on the main window to enable that output for in the field debugging purposes.
  • Start getting some Jarvis documentation done, including a 'phrase list' so that folks know exactly what phrases are supported.
Dean Roddey
Explorans limites defectum
Version 5.0.905 is posted. It fixes some (more) issues with volume knob widgets, and adds a parser for multi-part MIME messages to the CML HTML client class.

It also starts the conversion process for Denon AVR drivers to a new 'universal' driver framework, starting with drivers for the X4000 and X4300 drivers, in serial and IP variants. The former replaces the previous one, and should be a super-set of the functionality it provided since original one was purely V2 stuff, whereas this one also provides some other non-V2 functionality. The latter is a new driver.

This new framework should allow the addition of a new model with fairly minimal effort, and vastly less redundancy, at least within those models that are reasonably consistent in their protocol implementation.

  • Add a new Split method to the CML Float4/Float8 classes. It splits out the integral and fractional bits. The fraction is returned and the integral part is put into an output parameter. This will make it easier to do some things and avoid CML level busy work code.
  • Add a new ParseMultiPartMIME method to the CML HTTP client class. This will do a basic parse of a multi-part MIME document, and return information about of the each of the parts, including of course the raw databuffer and size of each of them, so that you can find the ones you want and parse out the content of those parts.
  • The volume knob is no longer working correctly at viewing time, because the 'active update' flag got accidentally removed during the 5.x changes. So it is never getting told a value to represent, and so never gets out of error state. Static ones will do ok, since they don't depend on that.
  • The volume knob widget's position indicator image doesn't get set back up if you undo cutting or deleting one. When the cut gets undone and the widget gets put back, the image is empty and causes an error when the widget tries to draw.
  • Create a new 'Universal' Denon A/V Receiver driver. It's not actually universal, but uses a common base class that does 95% of the work. A new model just requires doing a small derived class that provides the base class with information, and can in some special cases override some methods to deal with inconsistencies. This will bring down the amount of effort to support a new model enormously, and reduce the amount of redundancy we currently have even more.
  • Implement two inaugural Denon AVR models via the new universal base class, the X4000 and X4300. The latter is new, while the former replaces the previously existing one. Since the base class support serial or IP, we can easily make them both available now in either form, so do that.
Dean Roddey
Explorans limites defectum
Version 5.0.906 is posted. This version takes a big step forward on the Jarvis front. It gets rid of the need to use the Kinect if you don't want to. It will use whatever is set as the default recording device in the control panel, at least as long as it can provide audio in the format required, which I think most any would or it will be converted to such by the system. If you aren't using the Kinect, you don't have to install the Kinect runtime libraries.

Though you can use a non-array style mic, that will only likely be very useful for up close work. You can also of course now use other mic array products as well, as long as they show up as a recording device in Windows.

* If you do use the Kinect, not that it will no longer light up when in use, because this style of using it apparently doesn't make that bit of it come alive.

It also changes the form of clarification phrases, so check the phrase list documentation in the HTML help (Big Picture/Jarvis) for that information. This should get us to the point where the possible ambiguities are pretty small, which helps accuracy.

I think I may have had a small error in the old Kinect based audio data processing that might have been adding some noise to the data, I'm not sure. This new stuff seems quicker responding and more accurate, though maybe I'm fooling myself.

There are also some CMLBin improvements as well.

  • Add some more info to the just added new QueryInBodyCont() method of the CML CMLBin base class. We need to get the content type and potential boundary string available to them, in addition to the encoding that is already passed. Update the SetInBodyContent() method as well to allow the same info to be faked in for testing.
  • Though painful, go through and break out the speech recognition separately from the Kinect, and vastly improve the whole structure of that (recently and somewhat naively implemented) code. Allow us to take input from whatever is configured as the default input for recording, and leave open the possibility to take input from anything else in the future, which will allow for various things potentially such as phone driven commands. You no longer need to install the Kinect runtime unless you are going to use the Kinect for voice input, so update the installer and docs accordingly.
Dean Roddey
Explorans limites defectum
Version 5.0.907 is posted. This one makes a small but crucial improvement in the incoming audio buffering in the code that feeds the speech recognition engine. It's now very fast and the accuracy is another incremental notch up. I think that before there was occasional dropping of data, which would degrade the engine's ability to accurate translate the audio to text. And the way the buffering was done could slow it down. It's now very snappy.

  • Improve the speech recognition engine's audio buffering to make it significantly more responsive and insure no dropping of audio.
Dean Roddey
Explorans limites defectum
Version 5.0.908 is posted. This one has a number of small fixes and improvements.

Jarvis Visual Replies

It also introduces 'visual replies' to Jarvis, to make it more accessible to the hearing impaired. It allows Jarvis to display his replies as text in a separate window. You can do just visual or just spoken or both. 

If doing both, then a red indicator is displayed under the text while Jarvis is speaking, to let the reader know that he has to wait before giving another command, since Jarvis won't be listening while he is talking. If only visual replies are enabled, then Jarvis just displays the text and immediately starts listening again.

Jarvis Reminders
And it introduces a new reminder system to Jarvis. You can do things like this:

Jarvis, remind me in 15 minutes to take out the garbage

The things to be reminded of must be predefined of course, since Jarvis uses a fixed grammar. Currently there is just a set of system defined ones. I didn't have time yet to set up the stuff for you to add your own. The system defined ones are pretty useful, and of course suggest others if they would be super-common and we can add those. See the reminder phrase comments in the phrase list for what is available.

You can also do these:

Jarvis, cancel all reminders
Jarvis, cancel the last reminder

If you add a reminder and a (single) one of that type already is in the list, it will ask if you want to update that one, or add a new one, so you can adjust the time of one in that way if needed. If there are already multiples of that type, it just assumes you want to add another one.

When the time comes, and you are not in a conversation with Jarvis, it will announce any reminders that have come due.

These are not persistent, so if you cycle Jarvis any outstanding ones are lost. It's just for on the fly reminders.

Currently we can only do 'in x minutes' we can't do specific times. That will require a bit of fancy grammar work to support.

Denon X4300 Manifest Fix

There was a mistake in the Denon X4300 driver manifests. I failed to give them each unique model names. So I had to change them. If you have that driver loaded, it is going to fail to load properly after you upgrade. Just remove it and add it again to get it back happy. Sorry about that.

  • You can change serial port settings even if the manifest says it's not allowed.
  • Add a Z-Wave device info file for the EcoTilt tilt sensor module. This was done by eye, but it's pretty straightforward and should work. We'll see.
  • Oops a change in the HTTPClient CML class caused a few drivers to stop working because suddenly they had an ambiguous type name (I added a StrList type to the public interface of HTTPClient.) It was the Roku, the Yamaha 2050, Yamaha YNCAV, and MyroAir drivers. That has been fixed.
  • Add a new help shortcut section to the /Help area of the Admin Interface's browser for voice control stuff.
  • I failed to correctly set the model names of the new X4300 Denon driver. The IP and serial versions have the same model name in the manifest, which is not allowed. So I had to change them. That means that, once you upgrade, the driver will fail to load. You'll have to remove it and reload it again. Sorry about that.
  • The security server is depending on clients not to create new user accounts that have the same spelling but different case as an existing account name. Make the 'does this login exist' check that clients do be case insensitive, and also, as a backup, have the server reject new accounts based on a case insensitive check. Otherwise, we want them to be treated case sensitively for more security.
  • Because there was such a laxity wrt to case in login names in the installer wrt to the Jarvis login account, add some code to remove such case insensitive dups upon load of the acount data, to get rid of the dups. After this they shouldn't be able to happen again.
  • The installer is not removing the auto-start for Jarvis if you uninstall it, because the task deletion is looking for the wrong name to remove.
  • The uninstaller also suffered from the same issue as above, so it would not correctly remove the Jarvis auto-start task.
  • The dialog that pops up if a client cannot connect to the back end has an issue that, if the failure causes an exception, then the throttling normally gotten by the wait for connection on each round doesn't happen, and therefore the loop runs pretty much wild.
  • Add a new 'Remind me in x minutes to y" command to Jarvis. There is a reasonable set of pre-defined Y's. Later you will be able to define a set of custom ones as well in the room config, to add to the predefined ones, but that's not done yet. It currently only can understand x minutes, not a specific time. We can do that later. These are not persistent. If you cycle Jarvis they are lost. They are just for on the fly reminders. You can also do "cancel all reminders" or "cancel the last reminder".
  • Add a bit more 'speech synthesis' markup to make Jarvis' replies more natural sounding. A big one is that it tries to look for phrases and does a pause between them, sometimes not optimally. These can be removed fairly easily. This will be an ongoing process.
  • Add a new 'reply style' installation option for Jarvis. The purpose of this is to make Jarvis more accessible to the hearing impaired. They can speak the commands, but need a way to know what the replies are. You can now select Spoken, Visual, or Spoken and Visual. If Visual is one of the options, then Jarvis will create a new window and keep it up. All spoken text will be sent to it and it will display that text, until the user replies, something else needs to be said, or Jarvis is dismissed. If also speaking, then an indicator will display until the spoken reply is completed, letting the reader know when Jarvis is listening again for a reply.
  • Add an 'import' option for image scopes, as an alternative to drag and drop to get images into CQC.
Dean Roddey
Explorans limites defectum
Version 5.0.909 is posted. It has a number of smaller fixes and improvements, and lots of documentation updates.

It also fixes an issue with the installer that was introduced in 907 presumably, which prevented 5.0.908 from installing. The installer thought there was no valid current version installed.

It includes new Denon 3808CI and X6200W drivers. The latter has not been tested yet, but it was already there so its included. It may just work as is but hopefully I'll get to test it here soon.

  • There is an error in the V2 helper class for loading AV processor field. The parameter to optionally set the 'set audio mode' field write always (typically you would) was actually being used to set it on the current audio mode, which had not effect since it's read only.
  • The new Denon driver should be using the same sort of write only flag as mentioned above, for the switcher and AVProc related fields it creates, otherwise you can't select the same input you previously set (which you might want to do if the source or audio mode was changed outside of CQC.) The field is read only only to let you see back what you last wrote to it, it doesn't get set from the current source, so a change of the source outside the driver wouldn't update the field.
  • And a few more issues fixed in the new Denon driver, just small things but important for proper functioning.
  • There are a number of outstanding issues in the IR/RF/Trigger driver client side interface stuff that have now been fixed. Various things left over from the 5.x GUI conversion.
  • All of the IR model files have the old style device category with the EDevCat_ prefix which causes all of them to import with a type of Miscelleneous because they don't map to any correct category.
  • The combo box wrapper class has an error if you remove an item and ask it to automatically select another one and there's only one thing to begin with. It tries to select another one when there's nothing left to select.
  • Update the documentation compiler to support generating alternate indices and to deal with cases where a single driver underlies multiple make/model combinations that we want to show as separate things (such as the blaster/receiver drivers or Lutron RA2/HW/Caseta driver.) This is going to be painful and really requires turning it almost inside-out relative to how we do things now. But worth it long term.
  • Do a new V2 driver for the Denon 3808CI AVR. There is an old V1 driver, but this one is done via the new 'Universal' driver and is V2 compatible.
  • Have Jarvis eat any recognition events that are already there when he comes back from asking if there's anything else. Sometimes the user gets a command in but Jarvis starts talking just before the recognition event gets seen, so he then replies to that command afterwards because the recognition event is there queued up. It would be more natural to just ignore such commands, and let the user repeat it, as would happen in a normal conversation.
  • Add a new PowerMon device category, for things like the Brultech. This category will likely get more important moving forward so it's good to get them out of the Miscellaneous category into something that makes them more easily located.
  • Also add a new Irrigation device category, so that we can get things like the Rain8 and IrrigationCaddy and other future irrigation oriented drivers into their own category to make them easier to find.
  • Do a model class for the new Denon'Universal' driver, to support the AVR-X6200W model. Haven't had a chance to test it yet though.
  • A mistake was made in the installation version file in the previous drop. The new 'spoken vs. visual' Jarvis setting was added to it, but it wasn't written out despite the fact that the file's format version was. So, the next time the installer runs, it tries to read that new value in, but it's not there, so it causes an error.
Dean Roddey
Explorans limites defectum
This drop is mostly Jarvis updates. Based on things learned and feedback, this takes Jarvis up another pretty good notch. We now have much better information regarding the confidence levels of the various parts of the recognized phrases. This should prevent bogus triggers from the TV or people talking, completely I believe. And it allows for better driving of clarifications and such.

It also now allows you to dismiss Jarvis by saying "Thank you, [keyword]". This is a natural response for most folks when they are done, and it's easy to say and seems to be accurately recognized. You can still say the other versions as well, e.g. "That will be all", "That's all for now", etc...

The most easily bogusly matched phrases were the 'what is the date' and 'what is the time' phrases, because they are so short and have lots of fairly generic syllables. So these were changed to require a 'current', so 'what is the current date' and 'what is the current time'. That makes makes them vastly less likely to be matched.

There's a new "play the next [track | song | playlist item]" to move to the next song in the music renderer's playlist.

Auto-starting Jarvis now includes a 30 second delay, so that it gives the system time to get fully up before Jarvis tries to start. Some folks have had some issues with it coming up too quickly, before the underlying recognition stuff was ready apparently. So we can see if this takes care of that.

  • Update the timed field write action command to allow for minutes and seconds for the delay time, from ten seconds to to the previous upper limit of 24 hours. The command can now be formatted as 5 (just minutes for backwards compatibility), 1:20 (minutes plus seconds) and 0:10 or :10 (just seconds.)
  • Add a startup delay option to the Jarvis command line, and in the scheduled task that auto-starts it, use that to set a 30 seconds delay. See if this gets rid of issues where Jarvis comes up before the underlying functionality is in place. When starting it by hand, it doesn't really matter.
  • Get the Denon X6200 driver basically tested out against a real unit. It shipped in the previous drop but hadn't been actually tested, and it did have a couple issues.
  • The debug output checkbox on the Jarvis window isn't set up to response to auto-size so it can get hidden behind the list window.
  • Add another option on the Jarvis main window. Debugging can be enabled, and verbose output can be enabled. In verbose mode it will dump all events reported. Else, it will only report those that are confident enough that they might be reacted to, thus reducing noise when debugging.
  • Bump up the number of audio buffers in the speech recognition engine a bit more, just to see if any issues are related to the audio processing getting behind and dropping audio. It's still a trivial amount of memory so there's not really much reason not to do it just in case. Less (CPU) powerful machines may benefit from it, so lets see.
  • Make a big change in the speech reco engine, so that we can have a way to set the confidence levels of the semantic values from the related rules that drove them. This is not programmatically possible, so we will use the semantic values itself to provide a generic mapping mechanism. This provides us with vastly better confidence information while still working purely at the semantic level, a huge step forward.
  • Now that we have much better confidence info in Jarvis, go through and make sure we are making appropriate use of it to do clarifications and such.
  • Get rid of the Jarvis phrase: [keyword], what is the date? This is too easy to match and can be spontaneously triggered from TV or conversation. Keep the other two options: "what is the current date" or "what is today's date". And make the 'current' in "what is the current time' non-optional as well for the same reason.
  • Have Jarvis use the semantic values to remember the heat/cool set point name actually spoken by the user (since it can have multiple forms) and use that in the spoken response. That sounds more natural to the user. This also needs to be extended to the implied subject followup commands as well, so store that spoken value in the behavior tree context for later use in those commands.
  • When Jarvis is responding to an implied target lighting state command, speak the name of the light being affected in the ack response, so that the user is sure he got the right one, given that it is an implied target operation and he doesn't speak the name literally in that case.
  • Add a new Jarvis dismissal option, in the form "Thank you, [keyword]". This is a fairly obvious and unambiguous way to do it, and easier to say than the other current dismissal options.
  • Add a new Jarvis command "play the next [song | track | playlist item]", to move to the next song in the music playlist.
Dean Roddey
Explorans limites defectum
Version 5.0.911 is posted. It's basically just a bunch of small fixes of things reported or found recently, to move us closer to a release. The only new features are new drivers for the Marantz SR5011 and SR7011 (the later hasn't been tested yet but it likely good, and of course any wee issues can be quickly taken care of if someone actually has one to put it to use.)

  • In the CQSL media repo manager, if you assign a collection to a new title set, that title set doesn't get added to the main title list when you save those collection edits. Also, make sure that the newly selected parent title set gets selected.
  • If you assign a new title set to a collection in the CQSL repo manager, and it leaves the original title set empty, ask if they want to delete it and do so if they say yes.
  • Have the installer set the working directory of the vairous start menu programs to be the user's app data directory instead of down in the program files area.
  • Jarvis was not terminating the speech reco engine when asked to reload, so when it subsequently tried to initialize, i twas getting an already initialized error.
  • Put back "Hello, [keyword]" as an option for waking up Jarvis without an initial command. There is also "Wake up, [Keyword]" and "Help me, [keyword]" to do the same thing.
  • Add a time stamp to the Jarvis debug output window, to show the time of each event.
  • Take the new web site concept up another big notch, and fix some issues on IE10/11 were it wasn't correctly sizing some flexbox contained elements.
  • Add new drivers for the Marantz SR5011 and SR7011 models.
  • The very sad protocol for the Marantz/Denon boxes doesn't send any reply if you write a value to a setting that is already in that state. This is stupid, but this is what happens. Since we have separate read/write fields for some things, like sources, we don't get the usual short-circuiting that would normally happen with a single field (where writes of the same value are just treated as successes, unless the field is marked 'write always').
  • Radio buttons are not redrawing themselves correctly, when using double buffered redrawing, as we mostly do in our GUI apps for smooth resizing. The actual state changes, but they don't visually reflect that unless the window is resized which forces a full redraw.
  • When radio buttons are in auto-check mode, we have to ignore attempts to uncheck the currently checked on. That could leave none of them checked. This is when clicked and when using the space bar.
  • I updated the timed field write stuff to support sub-minute resolution. For actions, I was able to do it all backwards compatible-like. But for CML (in the simple field I/O class) I added a 2 version of the method that takes separate minutes and seconds, leaving the original to take minutes. But, I failed to multiply the incoming minutes by 60 (as is now required since the underlying C++ version uses seconds now.) So it was treating the incoming value as seconds.
Dean Roddey
Explorans limites defectum
Version 5.0.912 is posted. This one is a number of fixes moving towards a 5.1 release, and also a new 'Web Camera' widget. See the widget documentation for details of how to set it up, but it basically uses the VLC player's media engine. So you must have VLC (32 bit) installed, and you must set up the system PATH variable to point to the VLC directory.

I've tested it with a HooToo camera using RTSP to stream the content, and that is working fine. I'm assuming most everyone will use RTSP, but other options are possible. That would be driven by the URL you use, and as long as VLC supports it, we should be able to. So you might try streaming it directly to the VLC player first to make sure you have the URL right.

We can also accept a set of 'parameters' that could be used to set various attributes within the VLC engine, but currently none are defined because none are known to be needed. But we can add some as required if your camera happens to need it.

  • The 'create new field' dialog in the logic server config isn't setting the cancel button to the standard cancel id, so hitting escape doesn't exit the dialog.
  • The remote browser framework is incorrectly setting the 'can edit' flag on user scopes. This means that, when you right click on a user scope in the admin interface, the Edit option is available, when it should not be. Selecting it by mistake creates an unrecoverable situation.
  • The driver browser handler should be checking to see if a driver is opened before allowing the user to delete the driver. Else the tab stays open but has no associated entry in the browser, and that causes problems.
  • Since all the recent improvements to Jarvis have made a big difference, and since some of the previous issues were almost certainly with dropped audio samples causing distortion and not with grammar complexity, at least let's put back the optional 'please' prefix for commands (as opposed to queries) since it's such a natural thing to do. So it can now be things like "Jarvis, cancel all reminders" or "Jarvis, please cancel all reminders".
  • In the off/on clarification, since we require them to say "I said turn it off|on", not just off|on, update the message spoken to say it like that as well, to make it clearer.
  • Get the Polk Xrt12 driver working again. It barely works to begin with, but it has begun returning an invalid command error to any attempt to get the signal strength, and that was preventing it from connection. Just set that field to error state until such time as it ever gets a good value, and add a couple other safety mechanisms, to help it at least limp along.
  • Before 5.x, daily scheduled events had the calendar that let you select a starting time, i.e. the first available time after which a next scheduled time could be calculated. That was done away with for dailies in 5.x. But, we failed to replace that first available time (which was defaulted to now) with something else. Instead the calculated next run time was passed, so that it would then calculate a day further out, and the next time a day beyond that. Not until the actual running event server got caught up would it start running again. So now we pass in today, at the selected hour/minute, as the first available time. That makes it come out right. If we aren't past that time, it'll be scheduled for today, else for tomorrow.
  • The items in the action editor's drop down menu that shows the commands for a given target are not sorted by command name.
  • The new Denon Universal should be using the V2 tuner device class if the derived class indicates tuner support. Currently it's just creating a generic field for that. Update the X4300 and 3808 drivers to reflect the changes. None of the other models based on this generic driver base have enabled tuner preset support so far. It looks like the Marantz SR5011 and 7011 could enable it, but I'd want to have access to one to test it.
  • Implement a new 'Web Camera' widget in the interface system. As with the web browser widget, it uses an external program. It depends on the VLC player's media engine for video display. See the widget documentation for requirements and how to set up VLC appropriately for CQC's use.
Dean Roddey
Explorans limites defectum
Version 5.0.913 is posted. This adds a new Denon AVR model, and some improvements to the new cam widget, and to Jarvis.

  • Add a new Denon AVR-2112 model to the 'universal' driver.
  • Change the Denon 'universal' driver to do send and pray on the input mode, because some models just ignore the request and don't send any return value. Sucky protocol.
  • In the new web cam widget, add a parameter value in the form of a "AR=x:y" key/value pair, to set a custom aspect ratio.
  • Add new Jarvis commands in the form "Kill the xyz light" and "Bring up the xyz light", as alternatives to the regular off and on commands, which for some people are hard to invoke as reliably as would be preferred.
  • For now, turn off the dynamic enabling/disabling of Jarvis' grammar rules, to see if it is causing issues for some folks.
  • Have Jarvis show in his debug output window when speech recognition is being enabled and disabled.
  • Add some more standard reminder options to Jarvis. See the phrase list for details.
  • The installer is failing to stop the Jarvis tray application if it finds it running.
Dean Roddey
Explorans limites defectum

Possibly Related Threads…
Thread Author Replies Views Last Post
  5.5 Beta Discussions Thread Dean Roddey 150 15,605 04-18-2020, 06:27 AM
Last Post: Dean Roddey
  Official 5.5 Beta Release Thread Dean Roddey 15 3,083 03-27-2020, 10:58 AM
Last Post: Dean Roddey
  Official 5.4 Beta Discussion Thread Dean Roddey 441 80,343 06-15-2019, 02:33 AM
Last Post: Bugman
  Official 5.4 Beta Release Thread Dean Roddey 55 15,427 06-07-2019, 07:02 PM
Last Post: Dean Roddey
  Official 5.3 Beta Discussion Thread Dean Roddey 815 213,382 07-05-2018, 12:44 PM
Last Post: Dean Roddey
  Official 5.3 Release Thread Dean Roddey 27 12,252 07-05-2018, 12:44 PM
Last Post: Dean Roddey
  Official 5.2 Beta Discussion Thread Dean Roddey 244 107,443 10-14-2017, 07:57 PM
Last Post: Dean Roddey
  Official 5.2 Beta Release Thread Dean Roddey 13 10,639 10-09-2017, 06:49 PM
Last Post: Dean Roddey
  Official 5.1 Beta Discussion Thread Dean Roddey 453 229,116 05-16-2017, 03:45 PM
Last Post: Dean Roddey
  Official 5.0 Beta Discussions Dean Roddey 2,019 560,029 11-09-2016, 04:34 PM
Last Post: Dean Roddey

Forum Jump:

Users browsing this thread: 1 Guest(s)