ECWolf 1.3.3 Released 2016-10-01 18:47:47
After a lot of unnecessary hesitation and delay, I'm announcing the availability of ECWolf 1.3.3. Please note that this is just a patch release, but it includes a lot of critical fixes that I really should have made available months ago. I only have myself to blame for the delay though as it has gotten to the point where I don't really even recall why I've been delaying. (I guess I'll find out soon enough though!) I do expect that this will be the last patch release for the 1.3 series unless something critical requires an immediate fix.
- Windows build is now built with Visual Studio 2015 fixing issue with the 64-bit builds crashing on some Haswell systems.
- 32-bit Windows build is now done with SDL 2.0. Windows 98/Me/NT4/2000 support is now relegated to a special build for legacy systems. Until ECWolf 1.5 these will remain first class supported operating systems.
- The GOG versions of Wolf3D and Spear are now detected automatically if installed.
- Font system updated from ZDoom to support graceful handling of accent marks.
- Implemented missing secret god mode cheat (TAB+G+F10 for Spear and JIM for Noah)
- Removed console window on Windows since it was blocking Steam broadcasting (use --console to get it back for mod debugging)
- Removed F12 to release mouse capture since it got in the way with default Steam binding. Use scroll lock instead.
- Elevators force close their doors to prevent them from being jammed by corpses rendering levels unbeatable.
- Redefining an intermission sequence (such as the demo loop) now properly replaces the old one instead of appending.
- ECWolf now handles the special case of ChaosEdit reusing plane 2 for plane 3's data if the map doesn't use plane 3.
- Fixed hint on question 62 in S3DNA.
- Fixed wrong ceiling color in floor 8 of Spear.
- Fixed wrong par time on E6L8 of Wolf3D.
- Fixed timing errors in S3DNA hand feeding and small feed launcher.
- Fixed missing death sound on some enemies in the Spear of Destiny mission pack secret levels.
- Fixed issue with animated textures pausing if menus were entered for a significant amount of time.
- Fixed missing sounds at the destination point of an elevator.
- Fixed loss of inventory on level transition after loading a saved game.
- Fixed dropped data when loading embedded data files in zips.
- Fixed crash with saves with active elevators.
- Fixed immediate crash on Android.
- Fixed various other crashes.
As the font system upgrade would suggest, I was planning on improving translation support for this release, but time constraints are putting a damper on that for this round. So "Hyeron" if you're reading this update, I haven't forgotten about your translation submission and am still planning on integrating that.
The road to modern C++ 2016-02-29 02:08:12
A few weeks ago ZDoom 2.8 was released. The release was prompted by both the desire to merge Randi's scripting work, the wall portals submission, as well as general interest in making linked portals work. In other words the code base is going through major changes going forward so it made sense to cut a release. With it we have finally decided that it was time to move onto using C++11/14.
Both ZDoom and ECWolf have been using Visual Studio 2005 as the primary compiler for Windows. There were a few reasons for this but much of it was because newer versions of Visual Studio dropped support for newer operating systems. So far, throughout the life of the ZDoom project, the only platforms that we have dropped was Windows 95 and DOS (DOS support went away fairly early on). Even though VS2005 doesn't officially support targeting 95, ZDoom had a hack for awhile to make it work, but support broke for unrelated reasons that went unnoticed for a long time. Some people have been pretty critical of the fact that Windows 9x was still a supported platform, but, besides offering a better user experience, one of the advantage of rolling our own platform abstraction layer with native back ends is that there was never really any pressing reason to drop support for the old platforms. The DirectDraw code works just as well now as it did back then with little maintenance needed, so for the most part the only difference supporting 9x makes is that a few more Windows API calls need to be made optional by resolving the symbols at run time. A task which thanks to C++ templates can be made fairly unobtrusive and with C++11 can be made nearly transparent. (Vista also expanded the Win32 API significantly enough that we have a few cases where this needs to be done for XP as well.)
Times do eventually change though for even the most stubborn people. FMOD Ex unintentionally dropped compatibility for pre-XP systems (asked about it in an email and Firelight wasn't really aware that they dropped the platforms when they switched to using the VS2010 compilers) and it has been deprecated in favor of FMOD Studio. Even though ZDoom does have the ability to be compiled with OpenAL now, FMOD remains the only first class sound back end so our days of being able to use the preferred middleware and continue to run on the older operating systems is drawing to a close. To put it another way, it is only know that supporting old operating system is actually becoming a problem for us.
The question that I'm trying to answer here is "what does this mean for ECWolf?" Obviously I want to continue to share code with ZDoom so this does mean that ECWolf will need to make the jump as well. Windows 98 machines are more common in the Wolf3D community due to compatibility with DOS mods, but it is clear that keeping 9x as a first class citizen is going to be a problem going forward. Thus ECWolf 1.4.x will be the last series to do so and starting with 1.5 a C++11/14 compiler will be required.
Of course this doesn't spell the end of either ECWolf nor ZDoom on these older platforms. It is possible to compile C++14 programs for them using MinGW (vanilla MinGW as mingw-w64 requires XP or later as well), and so I will at least be providing a version of ECWolf for legacy systems until further notice. This actually is something I was debating doing regardless for awhile now as 32-bit users could benefit from SDL2 regardless, but this makes the decision easier. There are multiple factors on if ZDoom will as well that I can't predict right now, but it will possible for some time to roll 9x compatible binaries with a properly configured compiler. One thing is for sure though, due to some quirks with MinGW these binaries will not be able to provide nearly the same experience as the VS ones (delay loaded libraries and exception interoperability being notable missing features).
For the two people still using PowerPC Macs, I don't believe there's anything to worry about. GCC 5.3 seems to work just fine on them so I believe I can still provide binaries. There are some quirks with using a new compiler such as structures getting extra padding on the ends which breaks some file IO code that utilizes commonly exploited undefined behavior as well as a bug with C++ exceptions in Objective-C++ code (it's in the GCC bug tracker, but don't have a link on hand). These are fairly trivial issues to work around though. For ZDoom, however, providing binaries will depend on how long FMOD Ex is supported in ZDoom. Once that is dropped then PowerPC ZDoom binaries will only be available through unofficial channels thanks to OpenAL. (On a related note to pre-XP being dropped in FMOD Ex, I think G3 processor support got dropped accidentally in the 4.24 series as the fact that Apple's gcc-4.2 forces targeting the G4 or later is not well documented. Of course compiling your own GCC allows you to target the G3.)
S3DNA, Blake Stone, and Rise of the Triad in one bundle?! 2015-12-10 04:51:23
This is a historic moment for me. Piko Interactive got Super 3D Noah's Ark in a bundle with Blake Stone and Rise of the Triad. Get it all for $4.99 while time lasts!
For those who started thinking I was dead, full time jobs do a good time at sucking away time. An issue only made worse by relocating at the same time. I'm definitely still around and motivated to work on my various projects as time allows. I have done some experiments with ECWolf which need some cleaning up to be merged. I do appreciate the messages of concern though.
ECWolf 1.3.2 released 2015-06-19 06:47:21
As announced in the previous posting, ECWolf 1.3.2 is released technically the revision that got tagged as 1.3.2 was made a few minutes after midnight, but whatever I'll call it the 18th any how. :P
Here's the changelog for this version:
- Support for SDL2 is working and is used on Windows for 64-bit builds.
- Maximum resolution increased to 5K.
- Fixed more issues with path finding with non-Latin user names on Windows.
- Added joystick sensitivity and dead zone configuration among other joystick support improvements.
- Fixed some instances of residual input being carried over between lives.
- Music is now properly restored if main menu is entered in a dialog.
- Improvements to OS X 10.4/10.5 support.
- Enemy projectiles are now blocked by decorations like in vanilla.
- Fixed inaccuracies with Super 3D Noah's Ark plus detection for Steam version. This includes par time fixes, fixed watermelon damage, and antelope drop the large feed launcher if needed.
- Added fastmonsters and mustconfirm for skill levels in MAPINFO.