ECWolf 1.2.1 2013-06-11 23:57:00
My apologies to the 40 some people who downloaded ECWolf 1.2. A critical bug with saving was identified so a new build is up.
ECWolf 1.2 Released 2013-06-11 01:36:23
ECWolf 1.2 was tagged yesterday and is now available for download on your OS of preference. This is a fairly big release and comes with some mod compatibility issues, so be sure to update your mods! As always I feel the need to remind everyone that ECWolf will not be keeping mod compatibility until 2.0 is released.
The updated techdemo is available from the downloads page and now includes the depth fog feature. An updated version of Executor's port of Gary Ragland's Assassinate Hitler mod is available here as well.
Lets take a look at the highlights for this release:
- ECWolf will now look for *.sd1 files and if it finds them attempt to set SOD back to the original state.
- Command prompt window should now be held until the user dismisses it when an error occurs.
- A map translator can be set in the gameinfo section of mapinfo. Also translators can include the base translator via include "$base".
- Removed depthfog as an option because...
- ECWolf can now partially load RTL and RTC map sets with a little bit of work. What this does mean is some features from the ROTT map format are supported including touch plates, switches, and changing the light level. These features can be used in standard WDC format maps, the ROTT info plane is stored in the 4th plane in that case.
- Support for high resolution floor/ceiling textures (limited to powers of two).
- 1920x1200 and 1600x1200 will aspect correct the menus as well since the scaling factor can be a whole number in both directions.
- Added support for flash states.
- Added WeaponGiver
- Added decorate properties: scale, xscale, yscale, player.viewheight, player.forwardmove, player.sidemove
- Added A_Explode, A_AlertMonsters, A_GunFlash, and A_Light
- Added actor flags WEAPON.NOALERT, WEAPON.ALWAYSGRIN, INVENTORY.ALWAYSPICKUP and RANDOMIZE
- There is now a primitive status bar configuration script LATCHCFG. This is for assisting in porting classic mods to ECWolf, but will be removed once a proper scripting solution is available.
- Fixed issues with fast moving projectiles.
- Fixed mission pack save games could be loaded in normal Spear of Destiny and vice versa.
- Fixed weapon cycling skips on lower frame rates.
- Fixed various minor vanilla fidelity issues regarding animations, sprites, and sounds.
- When using an exit switch in a boss map, go to the next map and not the victory sequence like in vanilla.
- Some items can now always be picked up even if you don't need them like in vanilla. Also the gibs can be used as health like in vanilla as well (as opposed to only the blood pool).
- Fixed issues with deathcam animation and ensured proper delay.
- Fixed high resolution sprite rendering issues.
- Fixed issues with movement bobbing and victory sequences.
- Fixed issues with Mac OS X's case insensitivity.
- Fixed issues with save game versioning.
- Improved joystick support by allowing axes to be bound to any function.
- Weapon is re-raised on level transitions like in Doom (only applies for non-instant switch weapons of course).
- Partial support for loading Macbins.
- Partial SDL2 support (you'll still want to use SDL 1.2 though).
- The SDL directx driver isn't forced on Windows and will now default to windib.
The wiki will be updated with documentation for all of the new features once I get some time. Also if anyone finishes a mod for ECWolf, I'd be happy to host it on this site as well.
To make a quick note on the renderer changes and the directx vs. windib points. It seems like I've been able to the optimize the renderer to be faster while still allowing floor/ceiling textures to change scale. However, on some hardware configurations the windib back end will result in a lower frame rate and on others a higher frame rate. If the directx back end worked for you and you are getting a lower frame rate with ECWolf 1.2, you may set the back end manually through the SDL_VIDEODRIVER environment variable.
What's next for ECWolf? As I've detailed before, I'll be working on porting Super 3D Noah's Ark. There's no schedule set in stone for that yet of course, but given that I want to do releases approximately every 6 months, we'll hopefully see Noah's Ark support within a year.
Super 3D Noah's Ark 2013-05-13 19:46:30
So I wanted to write about this a little while ago, but due to a pending server migration I've been putting it off. With that complete, time to write.
As the title of the post suggests, I would like to take a moment to thank Wisdom Tree for sending over a copy of the game and some loose source files. After ECWolf 1.2 is released (hopefully in the next few weeks) I plan to start adding support for the game. I've already mapped out the entire executable in a disassembler so it should be a fairly straightforward process, but we'll see how long it takes before it becomes a proper port.
Before discussing some of the technical details of the game, let me first review the game as I have taken some time to play through it entirely. To my surprise the game is actually quite fun. In fact, I would even say the game is more fun than Chex Quest since Wisdom Tree didn't tone down the difficulty because the game was for kids. The level design isn't anything spectacular, but a majority of the secrets are marked in some way so it's obvious that some thought was put into the game. The graphic design is questionable in a few places, but overall it's what you would expect from a kid's game. Once you get over any preconceptions over what it is, it really is fun for all ages. At least the DOS version any way. If you're interested, the DOS version of the game is available for purchase from their website.
Now for the part that people come here for: What's new in the Noah's Ark engine (over vanilla Wolf3D)?
- Texture mapped floor/ceiling - Like most of the games based on the engine. Noah's Ark has textured mapped floors and ceilings, but only allow one texture for the entire map (similar to Blake Stone and ROTT). ECWolf already supports this via the defaultfloor/defaultceiling properties. If I recall correctly any way, the texture used is defined in code.
- Automap - Uses an automap similar to that found in the SNES version of Wolf3D (make sense) or ROTT. I know a lot of you are waiting for this.
- MIDI music - This one surprised me. From the loose files it looks like the SNES version of Wolf3D used MIDIs converted to a custom format, so they added native MIDI code to the DOS version. This may be the single feature that holds the full port back from 1.3, but we'll see. Obviously at some point the sound code will be addressed as the Mac version of Wolf3D and ROTT use MIDI as well.
- Projectile weapons - Based loosely on the flame thrower and rocket launcher in the SNES version of Wolf3D. ECWolf supports player missiles, although I may need to check for game play differences.
- Cast call - Uses a zoom-in effect of sorts. Also used for the Game Over screen if I recall correctly.
- SNES like status bar - Basically it includes an item (fruit) counter. Probably would be wise to have status bar scripting ready.
Overall the engine is quite similar to the DOS Wolf3D code. Even the actor states are only slightly modified from the Wolf3D counterparts as they generally only touch the death animation (sleeping) although there are a few exceptions. There may be a few other changes, but those are the ones that are notable. One last comment on the game is that the DOS version is obviously a conversion of the SNES game as monster placement sometimes has monsters facing in odd directions (the graphics are directional in the DOS version unlike the SNES).
Two quick hits to wrap up this post: Doomseeker 0.10b was released a few days ago. I would link to the site, but it's being transitioned to a new server as well at the moment. Secondly, Woolie Wool/Executor has released a port of Gary Ragland's Assassinate Hitler for ECWolf.
Rise of the Triad 2013-02-17 16:08:16
This post probably won't be new to the 5 people who hang out on the IRC channel, but I guess I should probably be posting my ramblings here a bit more often.
First off, I would like to give shout out to Sherbalex for his donation. With it I finally got to play Rise of the Triad. I have played a few level from the shareware before, but having the retail game gave me an excuse to actually sit down and play through the game. In some ways the engine is both more impressive and less impressive than I thought it would be. For example, I never noticed that the game had a primitive dynamic lighting system in it. On the other hand, collisions with push walls is often lacking and it's quite easy to get stuck inside a wall.
Linking this story to ECWolf, I've taken the opportunity to do a little more research on how things work in ROTT. I was a bit surprised to see that ROTT only allows one floor/ceiling texture for the whole map, but I was more interested in how the switches and semi-scripted actions work. Turns out that they're using the 3rd map plane to assign tags. In all, it appears that the system works somewhat in reverse to how Doom does things. In Doom a switch is given an action to perform on a tagged object, where as in ROTT the object is assigned the action and then linked to the activating switch. There's still more for me to examine here, but given that I plan to support ROTT in the future, I hope to enable a 4th map plane in ECWolf which behaves identically to ROTT's 3rd plane. Unless something gets in the way, this should appear in version 1.2.
I've said that the next game I plan to support in ECWolf is the Mac version of Wolfenstein. I've found all the information I needed to read Mac binary files (for those who may be looking for how read these files, my resources were: Macbin spec, Resource file format). While it was probably determined to be the wrong way to do things since Apple is effectively deprecating the resource fork, it is kind of interesting how this meant that Mac Wolf could get mod loading for free. It simply loaded the scenario's resource fork over the main binary's fork and that allowed graphics, maps, etc to be replaced at the OS level.
With that research done, I believe it is safe announce that ECWolf will be fully compatible with all Mac scenarios. All the user needs to provide is a macbin of the game executable (technically only the resource fork is needed) and a macbin of the scenario files. There's a lot of work to do here, so while I've already written the code to load the macbin files ECWolf is still a far ways off from being able to play the Mac stuff.
I may have lied a bit about Mac Wolf being the next game to be supported. That may actually end up being Super 3D Noah's Ark. I've been in contact with Wisdom Tree Games and they have the source. Currently waiting for them to send it, but some external issues have been dragging the process out. I'll be sure to post an update when I receive the game and source to announce the plan going forwards.