ECWolf - Advanced Source Port

Chat on the Original Wolfenstein 3d Game

Moderators: Dean, ronwolf1705, Arielus

Blzut3
DieHard Guard
DieHard Guard
Posts: 214
Joined: Wed Jun 08, 2011 8:59 pm

ECWolf - Advanced Source Port

Post by Blzut3 »

Finally was able to make an account here so this thread will serve to allow me to cross post from the Wolf3D Haven forum.

http://wolf3d.darkbb.com/t2051-ecwolf

To sum the thread up so far: This is a new Wolf3D/Spear of Destiny source port based off of Wolf4SDL and ZDoom. It will support many of the same (or similar) features that ZDoom has. Most importantly this means mods can be created entirely through scripts allowing them to work on any platform that ECWolf does. In addition it will support multiple games with a single binary in much the same way ZDoom does.

Currently I'm working on implementing a text based map format co-designed by Adam Biser. A release is still a fair ways away since I still have many big features to implement (namely the DECORATE code).

http://maniacsvault.net/ecwolf/
► Show Spoiler
User avatar
doomjedi
DieHard Wolfer
DieHard Wolfer
Posts: 3304
Joined: Fri Jul 21, 2006 12:00 pm
Location: Israel

Post by doomjedi »

Welcome to the forum! :)
User avatar
doom44
Bring 'em On
Bring 'em On
Posts: 139
Joined: Thu Jun 23, 2011 4:39 pm
Location: Florida, USA

Post by doom44 »

Sounds like a cool idea man, so it is like ZDoom, except for Wolfenstien 3D?
My Projects
Doom44's Mapset: Cancelled
Mystery Project: Cancelled
Castle Todkrieg: Cancelled
User avatar
RichterBelmont12
DieHard Wolfer
DieHard Wolfer
Posts: 1522
Joined: Sun Aug 15, 2004 2:50 am
Location: New Jersey

Post by RichterBelmont12 »

The DECORATE code O_O

I have very Big ideas For a Future Mod of Mind. I can't wait to see this in Action.
User avatar
doom44
Bring 'em On
Bring 'em On
Posts: 139
Joined: Thu Jun 23, 2011 4:39 pm
Location: Florida, USA

Post by doom44 »

Will it be able to add on enemies like ZDoom does? (Merging them into the main WAD/EXE)
Last edited by doom44 on Wed Jun 29, 2011 3:16 pm, edited 1 time in total.
My Projects
Doom44's Mapset: Cancelled
Mystery Project: Cancelled
Castle Todkrieg: Cancelled
User avatar
RichterBelmont12
DieHard Wolfer
DieHard Wolfer
Posts: 1522
Joined: Sun Aug 15, 2004 2:50 am
Location: New Jersey

Post by RichterBelmont12 »

doom44 wrote:Well it be able to add on enemies like ZDoom does? (Merging them into the main WAD/EXE)
That will be Epic!
Blzut3
DieHard Guard
DieHard Guard
Posts: 214
Joined: Wed Jun 08, 2011 8:59 pm

Post by Blzut3 »

doom44 wrote:Will it be able to add on enemies like ZDoom does? (Merging them into the main WAD/EXE)
Yes. I'm not using the decorate parser from ZDoom itself, but it should be syntactically similar. There are two main differences, namely tics can be in half units (in order to account for Wolf's 70hz instead of 35hz) and two functions can be applied to a frame (with the 2nd function being executed every tic). Otherwise it uses all the same concepts, so custom monsters, decorations, weapons, keys, etc will all be possible.

Here's what's pulled from ZDoom already (in their entirety except where noted): In addition LANGUAGE (I'm considering swapping this out for ZDoom's though) and of course DECORATE are supported although their implementation is my own so some minor differences may apply. In the future I plan on adding support for MAPINFO (although the properties will be different) and pulling in ZDoom's font code.

In addition the text based map format is basically based off the UDMF standard, and once I get ACC++ working I plan on rolling out an ACS VM for ECWolf.
User avatar
doom44
Bring 'em On
Bring 'em On
Posts: 139
Joined: Thu Jun 23, 2011 4:39 pm
Location: Florida, USA

Post by doom44 »

Great, now if somebody would take the time to make them enemy wads to merge into the main wad...
My Projects
Doom44's Mapset: Cancelled
Mystery Project: Cancelled
Castle Todkrieg: Cancelled
Blzut3
DieHard Guard
DieHard Guard
Posts: 214
Joined: Wed Jun 08, 2011 8:59 pm

ECWolf - Advanced Source Port

Post by Blzut3 »

Announced something fairly significant in my weblog today: http://maniacsvault.net/entry48

The DECORATE parser is basically done and I've now moved on to actually implementing the various properties, flags, and functions. Custom monsters are possible now and in fact most of A_WolfAttack is supported (no bullet puffs yet). Working on the Inventory system now which once finished should make ECWolf playable again.

Of course if anyone wants to take a look at the DECORATE scripts in ecwolf.pk3 they are available here: https://bitbucket.org/Blzut3/ecwolf/src ... ic/actors/

Hopefully I should be able to get a public build by the end of the year.
User avatar
RichterBelmont12
DieHard Wolfer
DieHard Wolfer
Posts: 1522
Joined: Sun Aug 15, 2004 2:50 am
Location: New Jersey

Post by RichterBelmont12 »

VERY NICE....I c an't wait to Check This out....I have Alot of Modding Ideas for this...
User avatar
RichterBelmont12
DieHard Wolfer
DieHard Wolfer
Posts: 1522
Joined: Sun Aug 15, 2004 2:50 am
Location: New Jersey

Post by RichterBelmont12 »

Project: X 3 (A.K.A Project: X Ultimatum) Will use this ECWolf thing..... Project: X 3 Wont be planned till its done soo I'll wait because I really love the Look of ECWolf here....
User avatar
Hair Machine
DieHard SS
DieHard SS
Posts: 427
Joined: Mon Nov 24, 2003 8:15 pm
Location: editing my profile

Post by Hair Machine »

I agree with Richter wholeheartedly. This sounds amazing - Zdoom Decorate I always thought was pretty great. I've had a version of my constantly in development-hell project Super Blitzkrieg in Zdoom for a couple of years now; the amount you can do with it in such a short space of time is really liberating for me. Seeing something similar in Wolfenstein would be awesome.
Rar rar fiddle di dee
User avatar
doomjedi
DieHard Wolfer
DieHard Wolfer
Posts: 3304
Joined: Fri Jul 21, 2006 12:00 pm
Location: Israel

Post by doomjedi »

I hope ACS-parallel will be implemented in the future as well...
Blzut3
DieHard Guard
DieHard Guard
Posts: 214
Joined: Wed Jun 08, 2011 8:59 pm

Post by Blzut3 »

doomjedi wrote:I hope ACS-parallel will be implemented in the future as well...
If I'm able to complete ACC++ I will be trying to implement a VM for it in ECWolf.
User avatar
doom44
Bring 'em On
Bring 'em On
Posts: 139
Joined: Thu Jun 23, 2011 4:39 pm
Location: Florida, USA

Post by doom44 »

I think I might make Operation Feuersturm with ECwolf sometime in the future.
My Projects
Doom44's Mapset: Cancelled
Mystery Project: Cancelled
Castle Todkrieg: Cancelled
Blzut3
DieHard Guard
DieHard Guard
Posts: 214
Joined: Wed Jun 08, 2011 8:59 pm

ECWolf - Advanced Source Port

Post by Blzut3 »

Just thought I'd stop by to say things are moving along again! Can't say for sure if I'll make my deadline of "playable by the end of this year," but I'm certainly trying.

Right now the only thing I have to show is a screen shot: http://maniacsvault.net/decweaps.png

What we have here is sprites taken from Doom with no modifications other than they were converted to PNG. Of course the wolf sprites are normally loaded as is by default. So what we get from this is high resolution weapon sprites are supported and properly aspect corrected too.

However, I must note that I'm now drawing player sprites almost identically to how ZDoom draws them. This means that while we get all the benefits of non uniform sized images, high resolution, widescreen, and what not, the stock sprites aren't drawn exactly like they are in vanilla due to precision issues. I don't think anyone will notice unless they do a side by side comparison as you lose about 1 pixel from the bottom of the weapon when viewed with the normal vanilla screen size.

Other than that, the new weapon code is coming along fairly smoothly. I just pulled the weapon slot code from ZDoom so ECWolf now has 10 weapon slots and it allows multiple weapons to be assigned to a single slot like Doom. And of course all this can be done by the mod author without touching the executable. :) Oh yeah did I mention that Doom style weapon raising/lowering is supported out of the box already as well? Movebob shouldn't be too hard to add, but it's not a priority at this time.
User avatar
doomjedi
DieHard Wolfer
DieHard Wolfer
Posts: 3304
Joined: Fri Jul 21, 2006 12:00 pm
Location: Israel

Post by doomjedi »

Sounds most exciting :)

Is multiplayer planned?
Blzut3
DieHard Guard
DieHard Guard
Posts: 214
Joined: Wed Jun 08, 2011 8:59 pm

Post by Blzut3 »

doomjedi wrote:Is multiplayer planned?
Of course, but it will be some time before I get to the point where I can implement it. It probably will only work well on LAN since I don't think I'll ever have the time to write a proper net code. That said someone did offer to write it for me once, so we'll see. I'm taking steps to ensure that adding multiplayer won't be as difficult (that is getting the score and what not through players[0]).
User avatar
doomjedi
DieHard Wolfer
DieHard Wolfer
Posts: 3304
Joined: Fri Jul 21, 2006 12:00 pm
Location: Israel

Post by doomjedi »

Blzut3 wrote: Of course, but it will be some time before I get to the point where I can implement it.
Well....you use simular code to zDoom? Skulltag is based on zDoom code as well...and has very advanced multiplayer.
That said someone did offer to write it for me once, so we'll see.
Just think of the possibilites :) We can make community Wolf3D multiplayer nights...clans etc... :)
With game modes and such :)
People will make dm levels....just like Skulltag community...we can bring this thing to life. SkullWolf :)
User avatar
RichterBelmont12
DieHard Wolfer
DieHard Wolfer
Posts: 1522
Joined: Sun Aug 15, 2004 2:50 am
Location: New Jersey

Re: ECWolf - Advanced Source Port

Post by RichterBelmont12 »

Blzut3 wrote:Just thought I'd stop by to say things are moving along again! Can't say for sure if I'll make my deadline of "playable by the end of this year," but I'm certainly trying.

Right now the only thing I have to show is a screen shot: http://maniacsvault.net/decweaps.png

What we have here is sprites taken from Doom with no modifications other than they were converted to PNG. Of course the wolf sprites are normally loaded as is by default. So what we get from this is high resolution weapon sprites are supported and properly aspect corrected too.

However, I must note that I'm now drawing player sprites almost identically to how ZDoom draws them. This means that while we get all the benefits of non uniform sized images, high resolution, widescreen, and what not, the stock sprites aren't drawn exactly like they are in vanilla due to precision issues. I don't think anyone will notice unless they do a side by side comparison as you lose about 1 pixel from the bottom of the weapon when viewed with the normal vanilla screen size.

Other than that, the new weapon code is coming along fairly smoothly. I just pulled the weapon slot code from ZDoom so ECWolf now has 10 weapon slots and it allows multiple weapons to be assigned to a single slot like Doom. And of course all this can be done by the mod author without touching the executable. :) Oh yeah did I mention that Doom style weapon raising/lowering is supported out of the box already as well? Movebob shouldn't be too hard to add, but it's not a priority at this time.
I have to say..You really out done yourself...I'll Be Using this For my Next Mod But I like to do some Custom Weapons Test to see any Limits Like Bullet Casing coming out the Gun and Scattering Shots like a Shotgun and Reloading.....That is all I'm Worried about...
Blzut3
DieHard Guard
DieHard Guard
Posts: 214
Joined: Wed Jun 08, 2011 8:59 pm

Post by Blzut3 »

doomjedi wrote:Well....you use simular code to zDoom? Skulltag is based on zDoom code as well...and has very advanced multiplayer.
While I pull a large amount of code from ZDoom, most of the stuff I use directly are just resource loading or container classes. All the actor handling and stuff I have to rewrite due to engine and gameplay differences (although I do try to use a similar API). Besides the fact that Skulltag's net code is completely inseparable, the net code from ZDoom or Skulltag won't just drop into ECWolf.

Edit:
Richter Belmont wrote:I have to say..You really out done yourself...I'll Be Using this For my Next Mod But I like to do some Custom Weapons Test to see any Limits Like Bullet Casing coming out the Gun and Scattering Shots like a Shotgun and Reloading.....That is all I'm Worried about...
While all of that should be possible eventually, it probably won't be in the first release since the goal is to just have SoD and Wolf3D running on the same exe. Once that's done I can look to emulating ZDoom action functions and what not.
Blzut3
DieHard Guard
DieHard Guard
Posts: 214
Joined: Wed Jun 08, 2011 8:59 pm

Post by Blzut3 »

Well, as I kind of predicted, I missed my deadline of end of the year by quite a bit. At the moment I'm working on getting the Wolf3D shareware to load along side the full version so there's some definite progress, but still a bit of work to do. Off the top of my head here's a list of vital elements:
  • Check and fix aspect ratio correction on signon, intermission, high scores, and end screens. (Not really that hard to do, but some of the old code is a mess.)
  • Implement keys. (This should be fairly easy as I think I can just pull ZDoom's LOCKDEFS stuff and be done for the most part.)
  • Reimplement remaining action functions. (This includes custom projectiles and some actor specific stuff.)
  • Fix the transfer of inventory between levels.
  • Finish some key elements of SNDINFO, namely random sounds.
  • Probably need to get a MAPINFO equivalent done. (I could hack it together to work fine without this, but I think it would be more impressive to release with it.)
  • Make secrets tally work again.
  • Reimplement the save game feature. (I'm looking at pulling ZDoom's code again, but I'll likely have to go with heavily inspired code here.)
  • Merge Spear of Destiny code.
  • Compile on Windows and Mac OS X.
I think that's it. While all of these are crucial for a playable release, there are only a few things on here I view as particularly time consuming. It's just a matter of not being distracted by other things. (Of course Christmas provided me with plenty of new distractions.)

In the mean time enjoy some screen shots of proper aspect ratio handling: In game In menus
User avatar
doomjedi
DieHard Wolfer
DieHard Wolfer
Posts: 3304
Joined: Fri Jul 21, 2006 12:00 pm
Location: Israel

Post by doomjedi »

Great :)
I keep following this project with interest.

If you'll need art help - just ask :)
User avatar
RichterBelmont12
DieHard Wolfer
DieHard Wolfer
Posts: 1522
Joined: Sun Aug 15, 2004 2:50 am
Location: New Jersey

Post by RichterBelmont12 »

Take your Time....I'm REALLY looking forward to this!

Keep up the Good work :)
Blzut3
DieHard Guard
DieHard Guard
Posts: 214
Joined: Wed Jun 08, 2011 8:59 pm

Post by Blzut3 »

So today I stumbled across the Hitler fireball glitch. You know, where T_Projectile was accidentally used as an action function instead of a thinker function. Anyhow, the question is how should ECWolf handle this? My initial reaction was to set the fireballs to the slow speed (1.5 in decorate) since I assume this is what most people will remember, however given that it's technically supposed to be 9 I'm considering fixing the problem (probably would be better for game play any ways). ECWolf will obviously not change the speed of the fireballs by the frame rate since that would lead to many problems down the road (especially with multiplayer).
User avatar
Dugtrio17
Code Master
Code Master
Posts: 902
Joined: Wed Mar 12, 2003 1:15 am
Location: Seattle

Post by Dugtrio17 »

I'm all in favor of just fixing it. It's a pretty small element anyway, and honestly I wouldn't be surprised if it was some sort of [Censored] up on id's part.

Depending on how strongly you want to preserve the original behavior, I reckon you could add a compatibility option to either make the projectiles move slow like before or even just make a separate movement routine that can be called. Don't know how feasible the latter is without junking up the code too much, though. Seems like a lot of work for a relatively minor element anyhow.
Image
Blzut3
DieHard Guard
DieHard Guard
Posts: 214
Joined: Wed Jun 08, 2011 8:59 pm

Post by Blzut3 »

I actually decided to go ahead and fix it. In terms of compatibility I think I have one advantage here that, unlike ZDoom, I don't really have to concern myself too much with vanilla mods. Besides those mods would have the speed changing behavior themselves any ways.

So I guess I should mention that the latest hiatus is because of my classes being a bit time consuming and Doomseeker has needed my immediate attention recently as well. IIRC I have some unfinished work on my tablet that I'm hopefully able to recover (I tried to install Android on it as a demonstration and that may have had some complications, I think I just need to reinstall the boot loader though).
Blzut3
DieHard Guard
DieHard Guard
Posts: 214
Joined: Wed Jun 08, 2011 8:59 pm

Post by Blzut3 »

Blzut3 wrote:IIRC I have some unfinished work on my tablet that I'm hopefully able to recover
And I finally finished and committed that.

So quick update so you guys don't think I'm dead. Finals are next week and then development should resume shortly after that (if I don't decide to do more work while waiting around all day during finals week).
User avatar
gerolf
DieHard Wolfer
DieHard Wolfer
Posts: 1219
Joined: Fri Jan 29, 2010 1:47 am
Location: USA

Post by gerolf »

This actually sounds really cool!
Blzut3
DieHard Guard
DieHard Guard
Posts: 214
Joined: Wed Jun 08, 2011 8:59 pm

Post by Blzut3 »

Blzut3 wrote:
  • Check and fix aspect ratio correction on signon, intermission, high scores, and end screens. (Not really that hard to do, but some of the old code is a mess.) Mostly done, the only thing I can think of off hand is that the cheat code messages aren't corrected.
  • Implement keys. (This should be fairly easy as I think I can just pull ZDoom's LOCKDEFS stuff and be done for the most part.)
  • Reimplement remaining action functions. (This includes custom projectiles and some actor specific stuff.) Only one left is T_BJJump, but also the deathcam needs to be reimplemented. In other words the game works fine as long as you don't mind not being able to finish the last level.
  • Fix the transfer of inventory between levels.
  • Finish some key elements of SNDINFO, namely random sounds.
  • Probably need to get a MAPINFO equivalent done. (I could hack it together to work fine without this, but I think it would be more impressive to release with it.) Done more or less, but still changing things as I go. Mostly just SOD support here.
  • Make secrets tally work again.
  • Reimplement the save game feature. (I'm looking at pulling ZDoom's code again, but I'll likely have to go with heavily inspired code here.)
  • Merge Spear of Destiny code.
  • Compile on Windows and Mac OS X.
Things are happening. ;)

One thing to note is I've finally settled on using the Activision release of Wolf3D as the only supported version (mostly because this is what people will get when they purchase the game from Steam). The "Read This" has been restored however so this shouldn't be a big deal since I'll have the patching utility for those who have older versions.

Earliest estimate I have is end of this month, but much more likely I should have something by end of June. Once that list is done I'll be sending binary to a few people I know in order to get a tech demo prepared (as well as fix the most obvious bugs). Obviously if any of you are running Linux you can go ahead and mess with it now.