ECWolf 1.1.1 - Advanced Wolfenstein 3D Source Port

Blzut3 said:

Are you sure about that? I know the launcher does renaming since it's the same deal for the Super CD, but I would think the default state would be to have the original missions as .sod? I could probably do some magic on my end if that really is the case.

Yeah, I downloaded from Steam again to make sure. By default .sod is Episode 3. (I'd wager that someone went down the list testing to make sure each episode worked, then packed it up without running episode 1 again.)

Share this post


Link to post
BaronOfStuff said:

(Meanwhile, back in Testing Land)

Fixed.. I'm still working on your previous post.

Dragonsbrethren said:

Yeah, I downloaded from Steam again to make sure. By default .sod is Episode 3. (I'd wager that someone went down the list testing to make sure each episode worked, then packed it up without running episode 1 again.)

All right. I'll see if I can make ECWolf reset the files if sd1 files are found.

Share this post


Link to post

Me oh my, more minor stuff!

While I actually prefer ECWolf's current handling of this, it turns out that acquiring a Chaingun in the original would also hand you a free Machinegun!

Of course this can also be interpreted as a bug in the original engine, so I think in this case that having an option for enabling this 2-for-1 oddity would be a nice feature.

Share this post


Link to post
BaronOfStuff said:

Of course this can also be interpreted as a bug in the original engine, so I think in this case that having an option for enabling this 2-for-1 oddity would be a nice feature.

That's not a bug! Something as obvious as that can't be a mistake.

Share this post


Link to post

Yes it's a bug.

Here's the code:

	case	bo_machinegun:
		SD_PlaySound (GETMACHINESND);
		GiveWeapon (wp_machinegun);
		break;
	case	bo_chaingun:
		SD_PlaySound (GETGATLINGSND);
		GiveWeapon (wp_chaingun);

		StatusDrawPic (17,4,GOTGATLINGPIC);
		facecount = 0;
		gotgatgun = 1;
		break;

Notice how case bo_chaingun doesn't include a GiveWeapon (wp_machinegun) line that would illustrate the intent.

Why does it happen? Because Wolf uses a simplistic weapon upgrade system. It does not keep track of which weapons you have; it merely stores the biggest weapon slot you've obtained. It's like if in Doom, picking up the BFG would also give you the plasma rifle, rocket launcher, chaingun, shotguns, and chainsaw.
void GiveWeapon (int weapon)
{
	GiveAmmo (6);

	if (gamestate.bestweapon<weapon)
		gamestate.bestweapon = gamestate.weapon
		= gamestate.chosenweapon = weapon;

	DrawWeapon ();
}

Share this post


Link to post

Maybe it wasn't an oversight on id's behalf, but it's still somewhat odd and would make a good user-option regardless.

It's always felt odd to me, pretty much like how odd it would be to pick up Doom's SSG and also get the regular Shotgun with it. Or the Nailgun alongside the Super Nailgun in Quake. Or the Machinegun with every Chaingun in Quake II.


Forget that, Gez really cleaned up any concern for this issue!

...would still be a nice 'compat' option though.

Share this post


Link to post
Gez said:

Yes it's a bug.

Here's the code:

	case	bo_machinegun:
		SD_PlaySound (GETMACHINESND);
		GiveWeapon (wp_machinegun);
		break;
	case	bo_chaingun:
		SD_PlaySound (GETGATLINGSND);
		GiveWeapon (wp_chaingun);

		StatusDrawPic (17,4,GOTGATLINGPIC);
		facecount = 0;
		gotgatgun = 1;
		break;

Notice how case bo_chaingun doesn't include a GiveWeapon (wp_machinegun) line that would illustrate the intent.

That's what I meant, I was referring to it not being a bug in vanilla!

Share this post


Link to post

This is vanilla code I quoted.

And it is completely a bug, as it is incorrect behavior (picking up weapon A gives you weapon B as well) caused by an incorrect assumption (players will get weapons incrementally, so they aren't going to pick up a chaingun without having already found a machinegun). Mistaken assumptions leading to flawed behavior is pretty much the definition of bugs.

Share this post


Link to post

I don't know how obvious that is considering I don't think it's very often that you would get the chaingun before getting the machinegun unless you go out of your way to do so (or warp). Remember that games were developed much more quickly at the time. ID has been known to glance over "obvious" problems as well, for example the broken BJ breathing animation. :P

I'm not exactly sure how to fix it so I might end up leaving it how it is. Perhaps I can expand the meaning of WeaponGiver or something. Any suggestions? Obviously it would be a matter of swapping out the actor in the map translator.

Share this post


Link to post

How more obvious can you get than E3M9, where you may die repeatedly, and start with a chaingun gift?

Second and better example: E6M10. A player, instead of adventuring to hunt SS (who appear in dangerous mazes), will rather go forward and safely push the secret to the Gatling gun. But since ammo is at a premium here, he'll more likely use the automatically given machine gun.

There's lots of music and grinning that comes up when a Gatling gun is found — a feeling so victorious may only mean that BJ has found all he needs (including the lesser gun) to take out the enemies. Notice how the machinegun triggers a neutral reaction.

Nowhere in Wolfenstein has there been a gameplay scene where you need to choose between the weak pistol and the overly fast chaingun,

Gez said:

And it is completely a bug, as it is incorrect behavior (picking up weapon A gives you weapon B as well) caused by an incorrect assumption (players will get weapons incrementally, so they aren't going to pick up a chaingun without having already found a machinegun). Mistaken assumptions leading to flawed behavior is pretty much the definition of bugs.

You're treating it like it's not a game, but a utility app. Game rules don't have to follow common logic, as long as they're self-consistent. Wolf3d was released with a set of rules; you're only changing them, not fixing anything, by doing that. ZDoom has been doing this, just because past behaviour seemed illogical (even though consistent).

And the vanilla code there looks pretty clear to me that they were only interested to upgrade the gun, not logically add it as a flag. It doesn't look like a programming mistake. Just imagine that the Gatling gun comes together with a small gun. You're just assuming that it was an id Software assumption; it could have been just a "don't care" situation.

Share this post


Link to post

The patcher doesn't work for me. Is it supposed to blink an empty window with no text?

Share this post


Link to post
Scypek2 said:

The patcher doesn't work for me. Is it supposed to blink an empty window with no text?

Run it from the command prompt so you can view the output. Alternatively you can use a batch file to hold the window open until a key is pressed. IIRC the contents of the bat file would be:

patchutil.exe
pause
If it's actually producing no text then you most likely have a modified version of Wolfenstein. If it works, it prints the version you have installed and then every subsequent version as it applies the patch.

Edit: Example output:
Patching: Wolfenstein 3D Registered GT #2 1.4
Patching: Wolfenstein 3D Registered v1.4

Share this post


Link to post

Thanks. What level editor would you recommend for ECwolf mods? I'm using chaos edit to make wolfenstein levels, but I'm not sure how could it handle these bigger than 64x64 levels, for example.

Share this post


Link to post

HWE or WDC are recommended. I know WDC supports up to 180x180, not entirely sure what HWE's features are.

ChaosEdit can be used, but you'll eventually want to use the other two in order to export the maps for proper packaging any ways.

Share this post


Link to post

It seems HWE can do 256x256 maps.

Share this post


Link to post

HWE sounds great. I just have read the wiki, that would be so great if someone would make a map editor supporting all uwmf features! Just one more question, can ECwolf play midis (and possibly other sound formats)?

Share this post


Link to post
Scypek2 said:

Just one more question, can ECwolf play midis (and possibly other sound formats)?

Not at the moment. The sound code rewrite will happen in time for 2.0 though since the Mac wolf has a midi sound track.

Share this post


Link to post

Just one more question. Actors an other aspects are just like in zdoom, but how to define new walls/doors?

Share this post


Link to post

You have to write a custom map translator. Look at the xlat/wolf3d.txt in ecwolf.pk3. Note that there's no particular location you need to put your translator file. In fact, I would recommend not naming it the same as ecwolf.pk3. You'll need to specify the translator to use in mapinfo.

This post I made on the die hard wolfers forum may help a little even though I don't cover walls in particular. Also check out the techdemo's translator for another example.

Share this post


Link to post

Wow, I thought I've read everything:D Thanks again, ECwolf is just great!

Share this post


Link to post

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 account

Sign in

Already have an account? Sign in here.


Sign In Now