I decided to rewrite WhackEd for the second time, this time around in Python + wxWidgets. Features (compared to WhackEd 2, ignoring 3):

- State filtering for things, weapons, or unused states (with proper detection this time).
- Undo.
- Copy and pasting of things and states.
- Sprite dialog filtering.
- Instead of just a Boom and Ultimate Doom table, WhackEd 4 includes tables for Doom 2 1.9 and MBF as well. Tables are now big JSON files, so they can be edited with any text editor.
- State highlighting based on sprite index.
- Editor window positions and sizes are stored inbetween sessions.
- Multiple PWADs can be loaded.
- IWAD, PWAD and window positions are stored separately from the Dehacked file.

Screenshots and downloads at http://teamhellspawn.com/exl/whacked4/

2 people like this

Share this post


Link to post

Bombs out with an error. I had to create a AppData/Roaming/whacked4 folder manually to get around it.

Traceback (most recent call last):
File "c:\python27\lib\site-packages\cx_Freeze\initscripts\Console.py",
line 27, in <module>
File "src/app/main.py", line 20, in <module>
IOError: [Errno 2] No such file or directory:
'C:\\Users\\randy\\AppData\\Roaming/whacked4/log.txt'

Share this post


Link to post

Same here -- I'd actually found myself reverting back to 2 after I found that 3 wouldn't work on this machine for some reason. Seems that won't be an issue at all in the near future. Good to see you're back in the game. ;)

Share this post


Link to post

This news is pretty interesting, I hope it's easy to build. Is it open source?

Share this post


Link to post
printz said:

This news is pretty interesting, I hope it's easy to build. Is it open source?


As I mentioned, it's pure Python 2.7 + wxWidgets. The UI is designed using wxFormBuilder. Once it's reached 1.0 I'll probably put out the source as well. It should theoretically run on Linux flavours and OSX, but I have no experience developing for those platforms.

Share this post


Link to post

Very cool indeed! Like Xaser, I went back to 2 after some of the bugs in 3 made life harder than it needed to be. Too bad most of Supplice's deh work is already done now :P

I'll give this a download and a whirl soon. Maybe I'll have some feedback for you exl :)

Share this post


Link to post

Are there any changes which us source port authors need to be aware of? For example, previous versions of WhackEd added a few new property values to the patch format.

Share this post


Link to post
DaniJ said:

Are there any changes which us source port authors need to be aware of? For example, previous versions of WhackEd added a few new property values to the patch format.


You mean the "IWAD", "Data WAD" and "Engine config" values? They're gone. That plus other patch details are stored in a file separate from the patch itself.

Share this post


Link to post

So long as it generates said separate file if it can't be found (i.e. opening a patch that wasn't originally made with WhackEd4), that's definitely a big improvement. ;)

Share this post


Link to post

Excellent news! Great to see it's not been forgotten. I'll check it out later. Will the source code be released with this as well may I ask?

Share this post


Link to post
Springy said:

Excellent news! Great to see it's not been forgotten. I'll check it out later. Will the source code be released with this as well may I ask?


It's still not done, but go nuts: https://github.com/GitExl/WhackEd4

Share this post


Link to post

Certainly liking this so far; I've been wanting to make a vanilla/Chocolate-compatible DeHackEd-based mod for a while, and this couldn't have come at a better time.

Share this post


Link to post

Updated to 0.9.1 beta. All the missing editors are finished, and some more polish added.

Newer screenshots:
http://www.teamhellspawn.com/exl/whacked4/files/whacked4_screen_04.png
http://www.teamhellspawn.com/exl/whacked4/files/whacked4_screen_05.png
http://www.teamhellspawn.com/exl/whacked4/files/whacked4_screen_06.png

Setup executable: http://www.teamhellspawn.com/exl/whacked4/files/whacked4-setup-0.9.1-beta.exe
Standalone 7zip: http://www.teamhellspawn.com/exl/whacked4/files/whacked4-0.9.1-beta.7z (right-click and save as)
Source code: https://github.com/GitExl/WhackEd4

Since this is a beta, bugs probably still exist, but it is entirely feature complete. Any feature requests are welcome. Bug reports are even more welcome! You can also find me in #zdoom if you'd like to complain in person.

Share this post


Link to post

On unpacking the 7-zip archive and starting Whacked4:

Traceback (most recent call last):
  File "whacked4/main.py", line 46, in <module>
  File "whacked4\whacked4\ui\mainwindow.py", line 91, in __init__
  File "whacked4\whacked4\ui\dialogs\aboutdialog.py", line 20, in __init__
IOError: [Errno 2] No such file or directory: 'LICENSE'
After creating a dummy LICENSE file:
text is cut off in some places http://imgur.com/fhgJj4a,FKm9WQL#0 (about box, sprite names in bold in Things window)
Silently refuses to open BLESSED.DEH for The Sky May Be:
Traceback (most recent call last):
  File "whacked4\whacked4\ui\mainwindow.py", line 717, in file_open
  File "whacked4\whacked4\ui\mainwindow.py", line 174, in open_file_dialog
  File "whacked4\whacked4\ui\mainwindow.py", line 193, in open_file
  File "whacked4\whacked4\dehacked\patch.py", line 370, in analyze_patch
whacked4.dehacked.patch.DehackedVersionError: C:\some\path\BLESSED.DEH with engine version 16 does not match any supported engine version.

Share this post


Link to post
tempun said:

On unpacking the 7-zip archive and starting Whacked4:[/B]
...


The Sky Maybe was made for Doom 1.6, which WhackEd does not support. But it shouldn'tve failed silently. Thanks for the bug reports.

Share this post


Link to post

Refuses to open Cyber110.deh from Cyberdreams:

Traceback (most recent call last):
  File "whacked4\whacked4\ui\mainwindow.py", line 717, in file_open
  File "whacked4\whacked4\ui\mainwindow.py", line 174, in open_file_dialog
  File "whacked4\whacked4\ui\mainwindow.py", line 218, in open_file
  File "whacked4\whacked4\dehacked\patch.py", line 643, in read_dehacked
  File "whacked4\whacked4\dehacked\engine.py", line 402, in get_key_from_patchkey
LookupError: Cannot find patch key Ammo & Keys
And cheat names appear all mixed up: http://imgur.com/t2hcEoO

Share this post


Link to post

Whacked4 seems to be working quite nicely for my current purposes so far, except for two troubling issues:

1. Sometimes, the program will refuse to save; saving produces an eternal hourglass cursor while the program seems to soft-lock. I can still manipulate other aspects of the program and even try to quit, but if I answer "yes" to the save-and-quit prompt, the program again gives an eternal hourglass and won't quit because it's not done "saving."

2. I can't seem to add pointers to states that do not already have a pointer on them. This gets worse, too: if I remove a pointer from a state that has one (by setting it to the blank entry at the top of the drop-down list), I then cannot change it to anything else, as the drop-down box is greyed out the next time that state is selected. For the record, my patch is in Doom 1.9 format.

Share this post


Link to post
tempun said:

Refuses to open Cyber110.deh from Cyberdreams:[code]Traceback (most recent call last):
...
And cheat names appear all mixed up: http://imgur.com/t2hcEoO


Fixed both of them, thanks!

WildWeasel said:

1. Sometimes, the program will refuse to save; saving produces an eternal hourglass cursor ...

2. I can't seem to add pointers to states that do not already have a pointer on them. ... For the record, my patch is in Doom 1.9 format.


1. WhackEd isn't displaying exceptions for some reason, which is why it hangs at that point. I've updated the download links with version 0.9.1 which should spit out an error dialog when you try to save the patch. The contents of that dialog should be more helpful to me.
2. In (Ultimate) Doom 1.9 patches you cannot add an action to a state that originally had none. The other weird behaviour was a bug though.

Share this post


Link to post

- Trying to open chex.deh (with any engine setting) produces a long stream of error messages. I understand why it does; the problem is that the only option is to click "OK" over and over. Would be nice to have "cancel" (which would return to engine selection dialog and allow to change engine) or "show no more errors" button or combine the error messages of same type.
- Once engine for the patch is set, it cannot be changed from View->Patch settings, only from respective .whacked file.
- PRCP.deh is for Final Doom and it's strange to have to open it as Boom patch.

Share this post


Link to post
tempun said:

- Trying to open chex.deh (with any engine setting) produces a long stream of error messages. I understand why it does; the problem is that the only option is to click "OK" over and over. Would be nice to have "cancel" (which would return to engine selection dialog and allow to change engine) or "show no more errors" button or combine the error messages of same type.
- Once engine for the patch is set, it cannot be changed from View->Patch settings, only from respective .whacked file.
- PRCP.deh is for Final Doom and it's strange to have to open it as Boom patch.


1. Noted, thanks.
2. There's a technical reason why a patch engine can't be modified when it's loaded. But thats where the File > Open as... option comes in. This will always display the patch settings dialog before opening, and allow you to change the engine.
3. Patches that do not use extended features can be opened by extended engines such as Boom. Some string replacements might be lost, but all other functionality (including string replacements that exist as Boom mneomonics) will be kept. Maybe it is better to show a non-extended engine as the default choice when opening a patch?

Share this post


Link to post

Slight observation while tooling around with my patch some more:

The "Raise" and "Lower" pointers are backwards! (Either that, or the Weapons panel's "Raise" and "Lower" frame indexes are swapped.)

Share this post


Link to post
WildWeasel said:

Slight observation while tooling around with my patch some more:

The "Raise" and "Lower" pointers are backwards! (Either that, or the Weapons panel's "Raise" and "Lower" frame indexes are swapped.)


WhackEd3 has no differences in Raise and Lower actions, but maybe it's an old bug that I've copied over when making the engine config files... Can someone verify this?

Share this post


Link to post

InsanityBringer verified it on IRC, see this relevant (trimmed) log (with working links):

08[14:28:57] <@wildweasel> okay, having transitioned to boom-format dehacked does seem to help a lot with the project
08[14:29:38] <@wildweasel> http://i.imgur.com/0YKU04v.png
08[14:30:02] <@wildweasel> nothing seems out of place here, but selecting the fist lowers the pistol and the player becomes stuck with no weapon
08[14:30:14] <@wildweasel> currently testing with prboomplus 2.5.1.3
08[14:30:47] <@wildweasel> can upload a test wad too, might as well do that
08[14:31:31] <@wildweasel> https://dl.dropbox.com/u/76650/project%20files/ww-oldie-test1.7z
[14:35:17] <InsanityBringer> hmm I have no idea what to say at all
[14:35:49] <InsanityBringer> unless...
[14:35:53] <InsanityBringer> for the love of...
[14:36:00] <InsanityBringer> does whacked STILL have Raise and Lower mixed up
08[14:36:08] <@wildweasel> wait fuck really
08[14:36:46] <@wildweasel> i'll have to test that theory later
08[14:36:50] <@wildweasel> i'm getting into a game with bro
[14:36:52] <InsanityBringer> I'll test it right now!
[14:37:58] <InsanityBringer> seems like this might be the case
[14:38:07] <InsanityBringer> swap the select and deselect frames
[14:38:13] <InsanityBringer> and the fist works fine
[14:38:46] <InsanityBringer> curiously enough though they're mixed up in the [CODEPTR] frame also... hrm
[14:40:17] <InsanityBringer> not sure entirely what to say here... does the bex standard have them mixed up entirely?
[14:40:37] <InsanityBringer> all I can confirm is that swapping the raise and lower states on my machine worked fine

Share this post


Link to post

Alright, I swapped the Raise and Lower states around. Thanks. This one must've been there for quite a while, possibly even in WhackEd2.

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