Lately I've been working on some major changes to ShowEQ. These changes are very pervasive and aim to both clean up a lot of the code and add new/improved features. When I am done (or at least decide to declare victory) we will have ShowEQ 5.0. I have decided to do this development in a seperate branch within CVS to insulate the regular users from these changes until they stabilize. Once certain milestones are achieved and certain features stabilize I will be releasing beta versions.
Some of the changes related to this development have already been included in (4.3.17, 4.3.17.1, and 4.3.18).
Here are other changes that have already been completed or are nearing completion, but won't be released in 4.3.x:
- Added zone safepoint support to ZoneMgr
- Some dependency cleanups.
- Fix to support people running EQ under winex.
- Switch to using QRegExp for filter pattern matching.
- Major cleanup/revamp of Filter handling (stage 1), filters are now stored in their own sub-directories, and now uses an XML format.
- Created a perl script filter2xml.pl which can be used to convert existing filter conf files to the new XML format.
- More major cleanup of packet handling (stage 2). Migrated opcode,implicitlen and dispatch handling to an XML based system (see worldopcodes.xml and zoneopcodes.xml).
- Modified logging of decoded world/zone packets to include which packet in the opcode DB they matched, when the entry was updated, and information about the type that is supposed to be in the payload.
- Fixed the spawn logger to log the adjusted x/y/z values for zone/new spawns..
- Slight improvement in map loading speeds.
- Properly support seperation of user data from distributed program data, including support for a .showeq directory or the like
- Migrated SEQWindow to be based off of QDockWindow so that all classes derived from it could take advantage of Qt's native dockable window support.
Here is what I currently see as the TODO list for 5.0 (this list will change with items being added and removed):[list][*]Packet handling:[list=1][*]Add support for an EQPacketSession concept that will support one SEQ process to monitor N EQ clients.[*]Organized packet capture display with the ability to filter in/out different
packets. [*]More general packet cleanup.[/list=1][*]Better support for running with SetUID.[*]Move all non-GUI related stuff out of EQInterface[*]Move terminal UI to its own class[*]Move eqstr_{}.txt handling to its own class[*]Improved filtering system[*]Map:
- Support multiple user configurable icons (for spawns, pc's, items, etc...)
- Support display of zone safepoint (from zone packet)
- Support more map editing capabilities.
- Support simple map optimization
- Support rescaling the Z for a whole map to allow migration of old/borked maps.[/list=1]
- Move maps, filters, spawnpoints, and logs to their own subdirectories.
- New message storage, filtering, and UI.
- Support for LoY guild information capture/display.
- Redo the base UI so that it is loaded from a QT .ui file to make it easier for the users to reconfigure/add stuff.
- Seperate UI from data storage/handling in Combat Window and Experience Window
- Create new and improved item db support.
- Improved group/guild/raid support.
If people have specific feature requests I am willing to entertain them (or at least be entertained by them). Also, if people wish to volunteer to contribute to this effort it would be greatly appreciated.
Going forward my 4.3.x work will be limited to opcode and structure changes to keep up with EQLive as well as the occasional bug fix.
Thanks and Enjoy,
Zaphod (dohpaZ)