deaths_soul Posted July 6 Posted July 6 (edited) MWEdit is an open source replacement for the Morrowind Construction set that was originally written by Dave Humphrey about twenty years and has since been updated by rfuzzo and NimrodPSI I picked up the torch a few months ago and started doing work on it myself and my fork is hosted here while ongoing dev discussion has been occurring here My primary focus initially is on cleaning up the code and modernizing it. With it being twenty years old, there are a lot of areas of it that can be improved based on current C++ practices and the current standard. Other areas of interest are on making it work cross-platform and general improvements. One such goal is I hope to eventually transition the GUI over to gtkmm, which will help with the cross-platform aim. That said, we now have a release! After close to twenty years, I've just bundled up version 0.6.3, which includes various changes from all four projects that haven't been released thus far. Here's the full changelog: - Fix some encoding issues [deathssoul] - Fix some special characters in Functions.dat and customfunctions.dat [deathssoul] - Reformat the code for better consistency [deathssoul] - Set up build automation on GitHub [deathssoul] - Update README.md [deathssoul] - Convert Features.txt to Markdown [deathssoul] - Correct line endings [deathssoul] - Windows API updates [rfuzzo] - Update project to newer Visual Studio versions [rfuzzo, NimrodPSI] - Fixed a bug in the magic effect's RGB data [NimrodPSI] - Added missing magic effects from Bloodmoon and fixed Tribunal's effect [NimrodPSI] As always, I welcome assistance! Any help would be appreciated but, in particular, my deficiencies lie in documentation, release engineering, and Windows development but, again, all are more than welcome Discord: https://discord.gg/AAAnesEgJe Edited July 13 by deaths_soul lmstearn 1
deaths_soul Posted July 13 Author Posted July 13 Just set up a Discord server for the project: https://discord.gg/AAAnesEgJe
deaths_soul Posted September 2 Author Posted September 2 Been busy cleaning things up, as seen by the commit log. I've also attempted to implement a Meson build file. VS is still needed currently (support for other compilers will come in time) but it definitely needs testing. If anyone wants to give it a whirl and report back, it would be much appreciated Both the build command and the install command could use testing. It's my first time working with Meson so there's a good chance something wasn't done properly. Setting up a build script will make it much easier to manage the project and sets things up for future changes
deaths_soul Posted October 1 Author Posted October 1 Work continues on overhauling the code. I've removed support for legacy systems and compilers (MSDOS, Borland, Windows CE, and Turbo C) and also updated the syntax of many of the preprocessor directives for the modern era. Right now, I'm working on fixing the #include paths, making sure the cases are consistent, and updating the file names to follow the general practice that's used throughout the codebase. The file names and directory structure may change down the line but all this needs to be done first as it'll be easier to update things once the build script is fully set up It's also another step towards getting the program compatible with cross-compilers towards the eventual goal of a cross-platform program.
deaths_soul Posted October 10 Author Posted October 10 Hey everyone, If you've been watching the commit logs, you'll have noticed that progress is still being made on the Meson build script. During test runs using the CI, it became apparent that the old VS project file was using some switches to suppress some compatibility issues between the twenty year old code-base and modern APIs as the Meson script doesn't apply these by default. In lieu of suppressing them, work is currently being done to fix the issues for greater compatibility. Notably, these issues lie in changes to the MFC API and stuff that's changed in the C++ standard since the code was originally written twenty years back as I've set the standard to compile against to C++20. C++20 is much stricter than previous standards so it's helping to bring other stuff to light. It's a bit slow going as the MFC is foreign to me, however. Once everything is properly set up, I'll be flipping on all of the warnings to help bring even more stuff to light as it's hard to catch everything with inspection in such a large code-base. DayDreamer 1
deaths_soul Posted October 27 Author Posted October 27 (edited) Time for an update? Time for an update! The code is now updated to C++20. Additionally, we now have a working build script. The project is currently set up with CMake as I realized that Meson was lacking features and was generally cumbersome to do stuff that wasn't relatively basic even if it is cleaner. That could very well change in the future after I review other projects that use Meson, such as the GNOME family of projects Still working on the build infrastructure: GitHub's packaging script makes you keep the directory structure so I'm looking into getting an install script written. And now for a big surprise: during the build script creation, it became apparent that MWEdit was bundling an incompatible 32-bit version of DevIL for 64-bit programs. The project is currently being updated to use a non-bundled version of the library. In fact, the CI script is set to grab the 64-bit version. What does this mean? We now have a 64-bit version of MWEdit with all the benefits that enables. So, once things are cleaned up I'll go ahead and do a release and bump the version to 0.7.0 as it's a pretty big change Edited October 27 by deaths_soul
deaths_soul Posted October 30 Author Posted October 30 (edited) If anyone wants to give it a whirl, here's the link: You'll need a GitHub account, though. It's still listed as 0.6.3 as there are still a few cleanup tasks that need doing and I want to test the MSI update functionality Once all is complete, it'll be merged into the main repo Edit: Removed the link for now as it's not yet functional. Will keep at it! Edited October 30 by deaths_soul
deaths_soul Posted Tuesday at 09:08 AM Author Posted Tuesday at 09:08 AM (edited) I am pleased to announced that MWEdit 0.7.0 has been released. Most of the changes are behind the scenes but the biggest user facing change is 64-bit support and all the benefits that brings. The build system has been completely overhauled to work with CMake with an MSI file produced automatically and the code has been made C++20 compliant. Here's the full changelog: Add a CMake build script [deathssoul] Update the GitHub CI to use CMake and CPack with WiX [deathssoul] Update code for C++20 compatibility [deathssoul] Update some includes [deathssoul] Remove old project files [deathssoul] Updates for Windows API changes [deathssoul] Remove the bundled DevIL files [deathssoul] Enable 64-bit builds [deathssoul] Update readme for new build infrastructure [deathssoul] I am currently unsure what the status is of Unicode support so any test reports regarding that would be greatly appreciated. As always, you can post feedback, suggestions, and bug reports to the following sites: OpenMW AFK Mods GitHub Nexus Mods Stearn Vault Or even the Discord server And development assistance is always appreciated if anyone would like to join in Edited Tuesday at 09:24 AM by deaths_soul
deaths_soul Posted Thursday at 07:01 AM Author Posted Thursday at 07:01 AM It became apparent that 0.7.0 was crashing after trying to open a file (its loading is weird and likely broke when I had to update the Windows API) so I went ahead and pulled it for now. You can still download it from the automated builds if you have a GitHub account from here but there's a good chance it won't work. I'd recommend sticking with 0.6.3 for now. I'll continue to overhaul the code but releases are probably on hold until more progress is made due to how unwieldy the current state of the code is. Automated builds will still be created, however, for those that want to give the bleeding edge a test run. Overhauling the code will take a while as I'm just one person with limitations but bear with me
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now