Page 1 of 2

Wolfenstein Sprite Fix and Rotation Project for ECWolf

Posted: Wed Oct 08, 2014 23:06
by PSTrooper
This is a collection of minor sprite fixes, optimizations, and added missing rotations for Wolfenstein 3d, Spear of Destiny, and both of the Mission Packs, all combined into a compact pk3 file. Also included is a version that removes all the shadows that were pre-baked into the sprites, for those who want to use the sprites outside of ECWolf as a resource.

The rotation project isn't complete, yet. There is a todo list in the included readme file for anyone that wants to make the other missing rotation sprites.

If you've been following this thread, you might already know about this project, but I'm just going to post about it here too so more folks can see it.

http://www.mediafire.com/download/1mdnh ... ECWolf.zip

Screenshots
Spoiler:

Re: Wolfenstein Sprite Fix and Rotation Project for ECWolf

Posted: Thu Oct 09, 2014 15:47
by filipetolhuizen
Interesting project. Now this would make a huge difference in Wolfenstein 3D Macintosh version. :)

Re: Wolfenstein Sprite Fix and Rotation Project for ECWolf

Posted: Fri Oct 10, 2014 21:39
by PSTrooper
When it gets supported, I will work on adding support for it. I just haven't seen anybody make rotations for Mac Wolf sprites, and I can't make any because I'm not talented enough.

Re: Wolfenstein Sprite Fix and Rotation Project for ECWolf

Posted: Sun Oct 12, 2014 2:24
by filipetolhuizen
That must be damn hard. Even rotations for the 64x64 sprites aren't easy, imagine 128x128. Even the original team might've given up on that. :)

Re: Wolfenstein Sprite Fix and Rotation Project for ECWolf

Posted: Thu Oct 23, 2014 22:11
by PSTrooper
Kind of a minor update. I've made "no shadows" contain only the sprites that had their shadows removed to avoid redundancy, and I added shadows to the custom Fake Hitler rotations. (no shadows still has the shadowless version). As soon as I get rotations for the Lost Officer and all the non-boss pain states made, then I'll bump the version up to 1.2.

I'm going to get some gifs made to show off all the missing rotations in action when I get my internet back on. I've also begun making rotations for Fake Hitler's B and C angles (D is just B duplicated), so it looks animated instead of static like what we have now.

Image

One down, eleven to go.

Re: Wolfenstein Sprite Fix and Rotation Project for ECWolf

Posted: Tue Jan 20, 2015 6:51
by PSTrooper
Pain rotations for all the non-boss enemies are done and added to the project. The brown guard and Lost Mission SS were done by ArmanAhmadi, and the rest by me. I'd like to know what everyone thinks of these and if anything could be done to make them better. I'm trying to make them look as good and close to the source as possible (the source being the original front sprites). Also, Dog and Doberman pain rotations are completely useless, since they die after one hit, but they exist regardless if anyone wants to use them.
I decided to try and finish all the non boss stuff 100% for version 1.2's release. Right now I'm working on doing my own version of BJ rotations, since I wasn't satisfied with the custom ones I've found floating around.
Image

Re: Wolfenstein Sprite Fix and Rotation Project for ECWolf

Posted: Fri Jan 23, 2015 21:33
by Blzut3
The sprites look good, however I must ruin your fun. You see, Wolf3D has two pain states, so you also need rotations for GARDJ0, SSWVI0, MTNTK0 (which might be the same sprite as MTNTJ0), and OFFIJ0. The difference between the two pain states is just if the resulting health after damage is even or odd. These states are not part of the death animation even though they look like they could be. ;) Easiest way to observe the behavior is to just stab with the knife.

I assume the link at the top of this thread is up to date? The lost episode SS's pain rotations seem to be missing in the pk3.

Re: Wolfenstein Sprite Fix and Rotation Project for ECWolf

Posted: Sat Jan 24, 2015 1:08
by PSTrooper
Yeah, I started to notice that when testing them out. I'll start working on them this weekend. Good news is MTNTJ0 & MTNTK0 are exactly the same, so I'll just duplicate the rotations for that.
About the link, yes, I keep that link updated with every set of sprites I get done. I just checked, lost episode SS pain rotations are there. (SSFLH1-8) Both pain sprites are similar in that case, so I guess it could be a bit confusing, but at least that makes it easier on me, since all I got to do is add blood to them.

edit, now that you mention it, I notice Lost SS' 8th pain frame has his strap around his shoulder mirrored. I'll need to fix that first.

Re: Wolfenstein Sprite Fix and Rotation Project for ECWolf

Posted: Sat Jan 24, 2015 1:12
by Blzut3
Could have sworn that I saw SSFLH0 in Slade, but I guess not. Never mind then. :P

Re: Wolfenstein Sprite Fix and Rotation Project for ECWolf

Posted: Sun Jan 25, 2015 8:53
by PSTrooper
Alright. I've updated the Lost SS to fix that shoulder strap error on sprite 8 and a few nitpicks with the other sprites. While I was at it, I also did the second pain rotation. All it is, is just a bloodied version of the first one, so I just added blood to them.

Image

edit: Bat's 2nd pain rotation is done.
Image

edit2: Green Guard's is done.
Image

edit3: ArmanAhmadi sent me these pain rotations for the SS and he also updated frames 2 and 7 on my SS pain rotations to look like he's holding the gun grip and not the clip, like he was before.
Image

Re: Wolfenstein Sprite Fix and Rotation Project for ECWolf

Posted: Fri Mar 13, 2015 18:44
by PSTrooper
I've finally been able to test out the mac version of my Sprite Fixing Project. After testing it, it seems the sprites appear bigger than they're supposed to when the mod is used. What would be the best way to fix this?
Spoiler:

Re: Wolfenstein Sprite Fix and Rotation Project for ECWolf

Posted: Fri Mar 13, 2015 18:51
by Blzut3
Heh. I think the hires/ directory will work just fine since you're likely not changing the dimensions of the sprites. Otherwise a little bit of grind work is needed to process every sprite through TEXTURES. I could write and run a script to generate said TEXTURES definitions quickly.

Re: Wolfenstein Sprite Fix and Rotation Project for ECWolf

Posted: Fri Mar 13, 2015 19:03
by PSTrooper
Sounds good.

Re: Wolfenstein Sprite Fix and Rotation Project for ECWolf

Posted: Fri Mar 13, 2015 19:36
by Blzut3
Here's the bash script:

Code: Select all

#!/bin/bash
for i in `ls *.png 640/*.png`
do
	dname=`dirname $i`
	fname=`basename $i .png`
	info=`file $i`
	width=`echo "$info" | sed 's/.*image data, \([0-9]*\).*/\1/'`
	height=`echo "$info" | sed 's/.*image data, [0-9]* x \([0-9]*\).*/\1/'`
	if [ -f $dname/$fname.txt ]
	then
		xofs=`sed 's/.*LeftOffset:\([0-9\-]*\).*/\1/;tx;d;:x' $dname/$fname.txt`
		yofs=`sed 's/.*TopOffset:\([0-9\-]*\).*/\1/;tx;d;:x' $dname/$fname.txt`
		echo "sprite \"$fname\", $width, $height { offset $xofs, $yofs xscale 2 yscale 2 patch \"$fname\", 0, 0 }"
	else
		if [[ $fname == WALL* ]]
		then
			echo "flat \"$fname\", $width, $height { xscale 2 yscale 2 patch \"$fname\", 0, 0 }" 
		fi
	fi
done
Names may need to be updated:
[spoiler]

Code: Select all

sprite "BJ00", 131, 142 { offset 0, 0 xscale 2 yscale 2 patch "BJ00", 0, 0 }
sprite "BJ01", 131, 142 { offset 0, 0 xscale 2 yscale 2 patch "BJ01", 0, 0 }
sprite "BJ02", 131, 142 { offset 0, 0 xscale 2 yscale 2 patch "BJ02", 0, 0 }
sprite "HUD00", 48, 64 { offset 0, 0 xscale 2 yscale 2 patch "HUD00", 0, 0 }
sprite "HUD01", 48, 64 { offset 0, 0 xscale 2 yscale 2 patch "HUD01", 0, 0 }
sprite "HUD02", 48, 64 { offset 0, 0 xscale 2 yscale 2 patch "HUD02", 0, 0 }
sprite "HUD03", 48, 64 { offset 0, 0 xscale 2 yscale 2 patch "HUD03", 0, 0 }
sprite "HUD04", 48, 64 { offset 0, 0 xscale 2 yscale 2 patch "HUD04", 0, 0 }
sprite "HUD05", 48, 64 { offset 0, 0 xscale 2 yscale 2 patch "HUD05", 0, 0 }
sprite "HUD06", 48, 64 { offset 0, 0 xscale 2 yscale 2 patch "HUD06", 0, 0 }
sprite "HUD07", 48, 64 { offset 0, 0 xscale 2 yscale 2 patch "HUD07", 0, 0 }
sprite "HUD08", 48, 64 { offset 0, 0 xscale 2 yscale 2 patch "HUD08", 0, 0 }
sprite "HUD09", 48, 64 { offset 0, 0 xscale 2 yscale 2 patch "HUD09", 0, 0 }
sprite "HUD10", 12, 22 { offset 0, 0 xscale 2 yscale 2 patch "HUD10", 0, 0 }
sprite "HUD11", 12, 22 { offset 0, 0 xscale 2 yscale 2 patch "HUD11", 0, 0 }
sprite "HUD12", 40, 36 { offset -62, -92 xscale 2 yscale 2 patch "HUD12", 0, 0 }
sprite "HUD13", 62, 56 { offset -54, -72 xscale 2 yscale 2 patch "HUD13", 0, 0 }
sprite "HUD14", 67, 60 { offset -55, -68 xscale 2 yscale 2 patch "HUD14", 0, 0 }
sprite "HUD15", 79, 77 { offset -46, -51 xscale 2 yscale 2 patch "HUD15", 0, 0 }
sprite "HUD16", 60, 69 { offset -28, -59 xscale 2 yscale 2 patch "HUD16", 0, 0 }
sprite "HUD17", 88, 96 { offset -15, -32 xscale 2 yscale 2 patch "HUD17", 0, 0 }
sprite "HUD18", 88, 115 { offset -14, -13 xscale 2 yscale 2 patch "HUD18", 0, 0 }
sprite "HUD19", 86, 128 { offset -14, 0 xscale 2 yscale 2 patch "HUD19", 0, 0 }
sprite "HUD20", 50, 56 { offset -39, -72 xscale 2 yscale 2 patch "HUD20", 0, 0 }
sprite "HUD21", 60, 72 { offset -34, -56 xscale 2 yscale 2 patch "HUD21", 0, 0 }
sprite "HUD22", 60, 97 { offset -34, -31 xscale 2 yscale 2 patch "HUD22", 0, 0 }
sprite "HUD23", 60, 70 { offset -34, -58 xscale 2 yscale 2 patch "HUD23", 0, 0 }
sprite "HUD24", 82, 50 { offset -24, -78 xscale 2 yscale 2 patch "HUD24", 0, 0 }
sprite "HUD25", 94, 62 { offset -18, -66 xscale 2 yscale 2 patch "HUD25", 0, 0 }
sprite "HUD26", 100, 93 { offset -14, -35 xscale 2 yscale 2 patch "HUD26", 0, 0 }
sprite "HUD27", 98, 101 { offset -16, -27 xscale 2 yscale 2 patch "HUD27", 0, 0 }
sprite "HUD28", 16, 25 { offset -58, -103 xscale 2 yscale 2 patch "HUD28", 0, 0 }
sprite "HUD29", 42, 33 { offset -44, -95 xscale 2 yscale 2 patch "HUD29", 0, 0 }
sprite "HUD30", 53, 55 { offset -39, -73 xscale 2 yscale 2 patch "HUD30", 0, 0 }
sprite "HUD31", 58, 69 { offset -37, -59 xscale 2 yscale 2 patch "HUD31", 0, 0 }
sprite "HUD32", 51, 34 { offset -40, -94 xscale 2 yscale 2 patch "HUD32", 0, 0 }
sprite "HUD33", 45, 39 { offset -43, -89 xscale 2 yscale 2 patch "HUD33", 0, 0 }
sprite "HUD34", 58, 71 { offset -37, -57 xscale 2 yscale 2 patch "HUD34", 0, 0 }
sprite "HUD35", 49, 44 { offset -39, -84 xscale 2 yscale 2 patch "HUD35", 0, 0 }
sprite "HUD36", 16, 32 { offset 0, 0 xscale 2 yscale 2 patch "HUD36", 0, 0 }
sprite "HUD37", 16, 32 { offset 0, 0 xscale 2 yscale 2 patch "HUD37", 0, 0 }
sprite "HUD38", 16, 32 { offset 0, 0 xscale 2 yscale 2 patch "HUD38", 0, 0 }
sprite "HUD39", 16, 32 { offset 0, 0 xscale 2 yscale 2 patch "HUD39", 0, 0 }
sprite "HUD40", 16, 32 { offset 0, 0 xscale 2 yscale 2 patch "HUD40", 0, 0 }
sprite "HUD41", 16, 32 { offset 0, 0 xscale 2 yscale 2 patch "HUD41", 0, 0 }
sprite "HUD42", 16, 32 { offset 0, 0 xscale 2 yscale 2 patch "HUD42", 0, 0 }
sprite "HUD43", 16, 32 { offset 0, 0 xscale 2 yscale 2 patch "HUD43", 0, 0 }
sprite "HUD44", 16, 32 { offset 0, 0 xscale 2 yscale 2 patch "HUD44", 0, 0 }
sprite "HUD45", 16, 32 { offset 0, 0 xscale 2 yscale 2 patch "HUD45", 0, 0 }
sprite "HUD46", 640, 80 { offset 0, 0 xscale 2 yscale 2 patch "HUD46", 0, 0 }
sprite "ALPOA0", 32, 17 { offset 16, 19 xscale 2 yscale 2 patch "ALPOA0", 0, 0 }
sprite "AMMOA0", 74, 36 { offset 37, 42 xscale 2 yscale 2 patch "AMMOA0", 0, 0 }
sprite "ARMRA0", 80, 126 { offset 40, 126 xscale 2 yscale 2 patch "ARMRA0", 0, 0 }
sprite "BARLA0", 92, 67 { offset 46, 67 xscale 2 yscale 2 patch "BARLA0", 0, 0 }
sprite "BASKA0", 47, 30 { offset 23, 32 xscale 2 yscale 2 patch "BASKA0", 0, 0 }
sprite "BLKYA0", 93, 126 { offset 46, 127 xscale 2 yscale 2 patch "BLKYA0", 0, 0 }
sprite "BON1A0", 113, 30 { offset 56, 31 xscale 2 yscale 2 patch "BON1A0", 0, 0 }
sprite "BOOMA0", 56, 55 { offset 28, 76 xscale 2 yscale 2 patch "BOOMA0", 0, 0 }
sprite "BOOMB0", 79, 68 { offset 39, 86 xscale 2 yscale 2 patch "BOOMB0", 0, 0 }
sprite "BPAKA0", 57, 50 { offset 28, 54 xscale 2 yscale 2 patch "BPAKA0", 0, 0 }
sprite "BPNTA0", 75, 97 { offset 37, 97 xscale 2 yscale 2 patch "BPNTA0", 0, 0 }
sprite "BR00A0", 31, 28 { offset 15, 62 xscale 2 yscale 2 patch "BR00A0", 0, 0 }
sprite "BR01A0", 82, 81 { offset 41, 88 xscale 2 yscale 2 patch "BR01A0", 0, 0 }
sprite "BROKA0", 68, 42 { offset 34, 42 xscale 2 yscale 2 patch "BROKA0", 0, 0 }
sprite "CAG1A0", 47, 92 { offset 23, 128 xscale 2 yscale 2 patch "CAG1A0", 0, 0 }
sprite "CGUNA0", 79, 39 { offset 39, 39 xscale 2 yscale 2 patch "CGUNA0", 0, 0 }
sprite "CHALA0", 42, 30 { offset 21, 32 xscale 2 yscale 2 patch "CHALA0", 0, 0 }
sprite "CHANA0", 41, 32 { offset 20, 128 xscale 2 yscale 2 patch "CHANA0", 0, 0 }
sprite "CLIPA0", 24, 18 { offset 12, 20 xscale 2 yscale 2 patch "CLIPA0", 0, 0 }
sprite "COL2A0", 90, 128 { offset 45, 128 xscale 2 yscale 2 patch "COL2A0", 0, 0 }
sprite "CROSA0", 38, 38 { offset 19, 38 xscale 2 yscale 2 patch "CROSA0", 0, 0 }
sprite "CRWNA0", 44, 36 { offset 22, 36 xscale 2 yscale 2 patch "CRWNA0", 0, 0 }
sprite "DKNTA0", 124, 126 { offset 62, 126 xscale 2 yscale 2 patch "DKNTA0", 0, 0 }
sprite "DKNTB0", 124, 126 { offset 62, 128 xscale 2 yscale 2 patch "DKNTB0", 0, 0 }
sprite "DKNTC0", 124, 127 { offset 62, 127 xscale 2 yscale 2 patch "DKNTC0", 0, 0 }
sprite "DKNTD0", 124, 127 { offset 62, 128 xscale 2 yscale 2 patch "DKNTD0", 0, 0 }
sprite "DKNTE0", 124, 126 { offset 62, 126 xscale 2 yscale 2 patch "DKNTE0", 0, 0 }
sprite "DKNTF0", 126, 126 { offset 63, 126 xscale 2 yscale 2 patch "DKNTF0", 0, 0 }
sprite "DKNTG0", 128, 126 { offset 64, 126 xscale 2 yscale 2 patch "DKNTG0", 0, 0 }
sprite "DKNTH0", 127, 126 { offset 63, 126 xscale 2 yscale 2 patch "DKNTH0", 0, 0 }
sprite "DKNTI0", 124, 118 { offset 62, 122 xscale 2 yscale 2 patch "DKNTI0", 0, 0 }
sprite "DKNTJ0", 124, 95 { offset 62, 96 xscale 2 yscale 2 patch "DKNTJ0", 0, 0 }
sprite "DKNTK0", 125, 45 { offset 62, 45 xscale 2 yscale 2 patch "DKNTK0", 0, 0 }
sprite "DOGYA0", 28, 62 { offset 14, 66 xscale 2 yscale 2 patch "DOGYA0", 0, 0 }
sprite "DOGYB0", 28, 58 { offset 14, 66 xscale 2 yscale 2 patch "DOGYB0", 0, 0 }
sprite "DOGYC0", 28, 60 { offset 14, 60 xscale 2 yscale 2 patch "DOGYC0", 0, 0 }
sprite "DOGYD0", 32, 56 { offset 16, 62 xscale 2 yscale 2 patch "DOGYD0", 0, 0 }
sprite "DOGYE0", 38, 78 { offset 19, 82 xscale 2 yscale 2 patch "DOGYE0", 0, 0 }
sprite "DOGYF0", 42, 85 { offset 21, 89 xscale 2 yscale 2 patch "DOGYF0", 0, 0 }
sprite "DOGYG0", 50, 84 { offset 25, 88 xscale 2 yscale 2 patch "DOGYG0", 0, 0 }
sprite "DOGYH0", 95, 70 { offset 47, 78 xscale 2 yscale 2 patch "DOGYH0", 0, 0 }
sprite "DOGYI0", 112, 67 { offset 56, 69 xscale 2 yscale 2 patch "DOGYI0", 0, 0 }
sprite "DOGYJ0", 109, 26 { offset 54, 26 xscale 2 yscale 2 patch "DOGYJ0", 0, 0 }
sprite "DRUMA0", 81, 64 { offset 40, 64 xscale 2 yscale 2 patch "DRUMA0", 0, 0 }
sprite "FLAGA0", 76, 121 { offset 38, 122 xscale 2 yscale 2 patch "FLAGA0", 0, 0 }
sprite "FLMPA0", 73, 80 { offset 36, 80 xscale 2 yscale 2 patch "FLMPA0", 0, 0 }
sprite "FNKYA0", 94, 127 { offset 47, 127 xscale 2 yscale 2 patch "FNKYA0", 0, 0 }
sprite "FOODA0", 62, 18 { offset 31, 18 xscale 2 yscale 2 patch "FOODA0", 0, 0 }
sprite "FTHRA0", 98, 36 { offset 49, 36 xscale 2 yscale 2 patch "FTHRA0", 0, 0 }
sprite "GARDA0", 47, 96 { offset 23, 96 xscale 2 yscale 2 patch "GARDA0", 0, 0 }
sprite "GARDB0", 38, 93 { offset 19, 93 xscale 2 yscale 2 patch "GARDB0", 0, 0 }
sprite "GARDC0", 47, 96 { offset 23, 96 xscale 2 yscale 2 patch "GARDC0", 0, 0 }
sprite "GARDD0", 38, 93 { offset 19, 93 xscale 2 yscale 2 patch "GARDD0", 0, 0 }
sprite "GARDE0", 52, 97 { offset 26, 97 xscale 2 yscale 2 patch "GARDE0", 0, 0 }
sprite "GARDF0", 48, 92 { offset 24, 92 xscale 2 yscale 2 patch "GARDF0", 0, 0 }
sprite "GARDG0", 48, 92 { offset 24, 92 xscale 2 yscale 2 patch "GARDG0", 0, 0 }
sprite "GARDH0", 52, 92 { offset 26, 92 xscale 2 yscale 2 patch "GARDH0", 0, 0 }
sprite "GARDI0", 64, 71 { offset 32, 89 xscale 2 yscale 2 patch "GARDI0", 0, 0 }
sprite "GARDJ0", 70, 50 { offset 35, 60 xscale 2 yscale 2 patch "GARDJ0", 0, 0 }
sprite "GARDK0", 84, 29 { offset 42, 29 xscale 2 yscale 2 patch "GARDK0", 0, 0 }
sprite "GKEYA0", 54, 20 { offset 27, 22 xscale 2 yscale 2 patch "GKEYA0", 0, 0 }
sprite "GLMPA0", 40, 20 { offset 20, 128 xscale 2 yscale 2 patch "GLMPA0", 0, 0 }
sprite "GMOVA0", 122, 64 { offset 61, 101 xscale 2 yscale 2 patch "GMOVA0", 0, 0 }
sprite "HANSA0", 105, 124 { offset 52, 124 xscale 2 yscale 2 patch "HANSA0", 0, 0 }
sprite "HANSB0", 122, 125 { offset 61, 127 xscale 2 yscale 2 patch "HANSB0", 0, 0 }
sprite "HANSC0", 105, 124 { offset 52, 124 xscale 2 yscale 2 patch "HANSC0", 0, 0 }
sprite "HANSD0", 122, 125 { offset 61, 127 xscale 2 yscale 2 patch "HANSD0", 0, 0 }
sprite "HANSE0", 116, 123 { offset 58, 123 xscale 2 yscale 2 patch "HANSE0", 0, 0 }
sprite "HANSF0", 118, 122 { offset 59, 122 xscale 2 yscale 2 patch "HANSF0", 0, 0 }
sprite "HANSG0", 116, 123 { offset 58, 123 xscale 2 yscale 2 patch "HANSG0", 0, 0 }
sprite "HANSH0", 108, 118 { offset 54, 122 xscale 2 yscale 2 patch "HANSH0", 0, 0 }
sprite "HANSI0", 115, 84 { offset 57, 85 xscale 2 yscale 2 patch "HANSI0", 0, 0 }
sprite "HANSJ0", 113, 38 { offset 56, 38 xscale 2 yscale 2 patch "HANSJ0", 0, 0 }
sprite "HTLRA0", 92, 106 { offset 46, 106 xscale 2 yscale 2 patch "HTLRA0", 0, 0 }
sprite "HTLRB0", 85, 108 { offset 42, 110 xscale 2 yscale 2 patch "HTLRB0", 0, 0 }
sprite "HTLRC0", 92, 104 { offset 46, 104 xscale 2 yscale 2 patch "HTLRC0", 0, 0 }
sprite "HTLRD0", 85, 108 { offset 42, 110 xscale 2 yscale 2 patch "HTLRD0", 0, 0 }
sprite "HTLRE0", 90, 105 { offset 45, 105 xscale 2 yscale 2 patch "HTLRE0", 0, 0 }
sprite "HTLRF0", 95, 104 { offset 47, 104 xscale 2 yscale 2 patch "HTLRF0", 0, 0 }
sprite "HTLRG0", 100, 105 { offset 50, 105 xscale 2 yscale 2 patch "HTLRG0", 0, 0 }
sprite "HTLRH0", 89, 110 { offset 44, 112 xscale 2 yscale 2 patch "HTLRH0", 0, 0 }
sprite "HTLRI0", 114, 89 { offset 57, 89 xscale 2 yscale 2 patch "HTLRI0", 0, 0 }
sprite "HTLRJ0", 119, 45 { offset 59, 45 xscale 2 yscale 2 patch "HTLRJ0", 0, 0 }
sprite "HYPOA0", 17, 25 { offset 8, 76 xscale 2 yscale 2 patch "HYPOA0", 0, 0 }
sprite "INKYA0", 92, 126 { offset 46, 127 xscale 2 yscale 2 patch "INKYA0", 0, 0 }
sprite "JEWLA0", 56, 26 { offset 28, 26 xscale 2 yscale 2 patch "JEWLA0", 0, 0 }
sprite "KNKYA0", 92, 126 { offset 46, 127 xscale 2 yscale 2 patch "KNKYA0", 0, 0 }
sprite "LAUNA0", 106, 39 { offset 53, 39 xscale 2 yscale 2 patch "LAUNA0", 0, 0 }
sprite "MECHA0", 122, 124 { offset 61, 124 xscale 2 yscale 2 patch "MECHA0", 0, 0 }
sprite "MECHB0", 122, 122 { offset 61, 122 xscale 2 yscale 2 patch "MECHB0", 0, 0 }
sprite "MECHC0", 122, 124 { offset 61, 126 xscale 2 yscale 2 patch "MECHC0", 0, 0 }
sprite "MECHD0", 122, 122 { offset 61, 122 xscale 2 yscale 2 patch "MECHD0", 0, 0 }
sprite "MECHE0", 122, 120 { offset 61, 120 xscale 2 yscale 2 patch "MECHE0", 0, 0 }
sprite "MECHF0", 127, 120 { offset 63, 120 xscale 2 yscale 2 patch "MECHF0", 0, 0 }
sprite "MECHG0", 125, 120 { offset 62, 120 xscale 2 yscale 2 patch "MECHG0", 0, 0 }
sprite "MECHH0", 123, 123 { offset 61, 123 xscale 2 yscale 2 patch "MECHH0", 0, 0 }
sprite "MECHI0", 120, 117 { offset 60, 117 xscale 2 yscale 2 patch "MECHI0", 0, 0 }
sprite "MECHJ0", 121, 106 { offset 60, 106 xscale 2 yscale 2 patch "MECHJ0", 0, 0 }
sprite "MECHK0", 121, 30 { offset 60, 30 xscale 2 yscale 2 patch "MECHK0", 0, 0 }
sprite "MEDIA0", 70, 20 { offset 35, 20 xscale 2 yscale 2 patch "MEDIA0", 0, 0 }
sprite "MGUNA0", 88, 34 { offset 44, 34 xscale 2 yscale 2 patch "MGUNA0", 0, 0 }
sprite "MTNTA0", 50, 90 { offset 25, 92 xscale 2 yscale 2 patch "MTNTA0", 0, 0 }
sprite "MTNTB0", 46, 90 { offset 23, 90 xscale 2 yscale 2 patch "MTNTB0", 0, 0 }
sprite "MTNTC0", 50, 90 { offset 25, 92 xscale 2 yscale 2 patch "MTNTC0", 0, 0 }
sprite "MTNTD0", 46, 90 { offset 23, 90 xscale 2 yscale 2 patch "MTNTD0", 0, 0 }
sprite "MTNTE0", 60, 88 { offset 30, 88 xscale 2 yscale 2 patch "MTNTE0", 0, 0 }
sprite "MTNTF0", 52, 118 { offset 26, 118 xscale 2 yscale 2 patch "MTNTF0", 0, 0 }
sprite "MTNTG0", 52, 118 { offset 26, 118 xscale 2 yscale 2 patch "MTNTG0", 0, 0 }
sprite "MTNTH0", 50, 79 { offset 25, 79 xscale 2 yscale 2 patch "MTNTH0", 0, 0 }
sprite "MTNTI0", 92, 67 { offset 46, 69 xscale 2 yscale 2 patch "MTNTI0", 0, 0 }
sprite "MTNTJ0", 89, 54 { offset 44, 58 xscale 2 yscale 2 patch "MTNTJ0", 0, 0 }
sprite "MTNTK0", 90, 24 { offset 45, 26 xscale 2 yscale 2 patch "MTNTK0", 0, 0 }
sprite "OFFIA0", 51, 93 { offset 25, 95 xscale 2 yscale 2 patch "OFFIA0", 0, 0 }
sprite "OFFIB0", 42, 91 { offset 21, 91 xscale 2 yscale 2 patch "OFFIB0", 0, 0 }
sprite "OFFIC0", 51, 93 { offset 25, 95 xscale 2 yscale 2 patch "OFFIC0", 0, 0 }
sprite "OFFID0", 42, 91 { offset 21, 91 xscale 2 yscale 2 patch "OFFID0", 0, 0 }
sprite "OFFIE0", 54, 99 { offset 27, 99 xscale 2 yscale 2 patch "OFFIE0", 0, 0 }
sprite "OFFIF0", 41, 93 { offset 20, 93 xscale 2 yscale 2 patch "OFFIF0", 0, 0 }
sprite "OFFIG0", 41, 91 { offset 20, 91 xscale 2 yscale 2 patch "OFFIG0", 0, 0 }
sprite "OFFIH0", 60, 97 { offset 30, 97 xscale 2 yscale 2 patch "OFFIH0", 0, 0 }
sprite "OFFII0", 62, 83 { offset 31, 91 xscale 2 yscale 2 patch "OFFII0", 0, 0 }
sprite "OFFIJ0", 64, 66 { offset 32, 72 xscale 2 yscale 2 patch "OFFIJ0", 0, 0 }
sprite "OFFIK0", 79, 28 { offset 39, 30 xscale 2 yscale 2 patch "OFFIK0", 0, 0 }
sprite "ONUPA0", 52, 59 { offset 26, 59 xscale 2 yscale 2 patch "ONUPA0", 0, 0 }
sprite "PLNTA0", 83, 107 { offset 41, 107 xscale 2 yscale 2 patch "PLNTA0", 0, 0 }
sprite "ROCKA0", 23, 26 { offset 11, 96 xscale 2 yscale 2 patch "ROCKA0", 0, 0 }
sprite "SHABA0", 89, 117 { offset 44, 117 xscale 2 yscale 2 patch "SHABA0", 0, 0 }
sprite "SHABB0", 94, 119 { offset 47, 121 xscale 2 yscale 2 patch "SHABB0", 0, 0 }
sprite "SHABC0", 84, 117 { offset 42, 117 xscale 2 yscale 2 patch "SHABC0", 0, 0 }
sprite "SHABD0", 94, 119 { offset 47, 121 xscale 2 yscale 2 patch "SHABD0", 0, 0 }
sprite "SHABE0", 73, 117 { offset 36, 117 xscale 2 yscale 2 patch "SHABE0", 0, 0 }
sprite "SHABF0", 83, 114 { offset 41, 114 xscale 2 yscale 2 patch "SHABF0", 0, 0 }
sprite "SHABG0", 88, 120 { offset 44, 120 xscale 2 yscale 2 patch "SHABG0", 0, 0 }
sprite "SHABH0", 83, 73 { offset 41, 77 xscale 2 yscale 2 patch "SHABH0", 0, 0 }
sprite "SHABI0", 99, 33 { offset 49, 37 xscale 2 yscale 2 patch "SHABI0", 0, 0 }
sprite "SKEYA0", 54, 20 { offset 27, 22 xscale 2 yscale 2 patch "SKEYA0", 0, 0 }
sprite "SSWVA0", 56, 106 { offset 28, 110 xscale 2 yscale 2 patch "SSWVA0", 0, 0 }
sprite "SSWVB0", 58, 107 { offset 29, 107 xscale 2 yscale 2 patch "SSWVB0", 0, 0 }
sprite "SSWVC0", 56, 106 { offset 28, 110 xscale 2 yscale 2 patch "SSWVC0", 0, 0 }
sprite "SSWVD0", 50, 105 { offset 25, 105 xscale 2 yscale 2 patch "SSWVD0", 0, 0 }
sprite "SSWVE0", 55, 103 { offset 27, 103 xscale 2 yscale 2 patch "SSWVE0", 0, 0 }
sprite "SSWVF0", 50, 104 { offset 25, 104 xscale 2 yscale 2 patch "SSWVF0", 0, 0 }
sprite "SSWVG0", 51, 102 { offset 25, 102 xscale 2 yscale 2 patch "SSWVG0", 0, 0 }
sprite "SSWVH0", 58, 109 { offset 29, 109 xscale 2 yscale 2 patch "SSWVH0", 0, 0 }
sprite "SSWVI0", 81, 73 { offset 40, 75 xscale 2 yscale 2 patch "SSWVI0", 0, 0 }
sprite "SSWVJ0", 82, 60 { offset 41, 62 xscale 2 yscale 2 patch "SSWVJ0", 0, 0 }
sprite "SSWVK0", 96, 32 { offset 48, 32 xscale 2 yscale 2 patch "SSWVK0", 0, 0 }
sprite "TABLA0", 80, 53 { offset 40, 53 xscale 2 yscale 2 patch "TABLA0", 0, 0 }
sprite "TANKA0", 52, 43 { offset 26, 43 xscale 2 yscale 2 patch "TANKA0", 0, 0 }
sprite "TRNSA0", 122, 124 { offset 61, 124 xscale 2 yscale 2 patch "TRNSA0", 0, 0 }
sprite "TRNSB0", 124, 124 { offset 62, 126 xscale 2 yscale 2 patch "TRNSB0", 0, 0 }
sprite "TRNSC0", 124, 124 { offset 62, 124 xscale 2 yscale 2 patch "TRNSC0", 0, 0 }
sprite "TRNSD0", 124, 124 { offset 62, 126 xscale 2 yscale 2 patch "TRNSD0", 0, 0 }
sprite "TRNSE0", 124, 126 { offset 62, 126 xscale 2 yscale 2 patch "TRNSE0", 0, 0 }
sprite "TRNSF0", 124, 126 { offset 62, 126 xscale 2 yscale 2 patch "TRNSF0", 0, 0 }
sprite "TRNSG0", 124, 122 { offset 62, 122 xscale 2 yscale 2 patch "TRNSG0", 0, 0 }
sprite "TRNSH0", 124, 122 { offset 62, 122 xscale 2 yscale 2 patch "TRNSH0", 0, 0 }
sprite "TRNSI0", 124, 85 { offset 62, 87 xscale 2 yscale 2 patch "TRNSI0", 0, 0 }
sprite "TRNSJ0", 124, 41 { offset 62, 41 xscale 2 yscale 2 patch "TRNSJ0", 0, 0 }
sprite "UBERA0", 99, 126 { offset 49, 126 xscale 2 yscale 2 patch "UBERA0", 0, 0 }
sprite "UBERB0", 113, 124 { offset 56, 126 xscale 2 yscale 2 patch "UBERB0", 0, 0 }
sprite "UBERC0", 98, 126 { offset 49, 126 xscale 2 yscale 2 patch "UBERC0", 0, 0 }
sprite "UBERD0", 113, 125 { offset 56, 127 xscale 2 yscale 2 patch "UBERD0", 0, 0 }
sprite "UBERE0", 110, 128 { offset 55, 128 xscale 2 yscale 2 patch "UBERE0", 0, 0 }
sprite "UBERF0", 122, 121 { offset 61, 121 xscale 2 yscale 2 patch "UBERF0", 0, 0 }
sprite "UBERG0", 118, 128 { offset 59, 128 xscale 2 yscale 2 patch "UBERG0", 0, 0 }
sprite "UBERH0", 120, 120 { offset 60, 120 xscale 2 yscale 2 patch "UBERH0", 0, 0 }
sprite "UBERI0", 115, 123 { offset 57, 127 xscale 2 yscale 2 patch "UBERI0", 0, 0 }
sprite "UBERJ0", 112, 94 { offset 56, 108 xscale 2 yscale 2 patch "UBERJ0", 0, 0 }
sprite "UBERK0", 110, 48 { offset 55, 48 xscale 2 yscale 2 patch "UBERK0", 0, 0 }
sprite "VASEA0", 74, 62 { offset 37, 62 xscale 2 yscale 2 patch "VASEA0", 0, 0 }
flat "WALL012C", 128, 128 { xscale 2 yscale 2 patch "WALL012C", 0, 0 }
flat "WALL012D", 128, 128 { xscale 2 yscale 2 patch "WALL012D", 0, 0 }
flat "WALL012E", 128, 128 { xscale 2 yscale 2 patch "WALL012E", 0, 0 }
flat "WALL012F", 128, 128 { xscale 2 yscale 2 patch "WALL012F", 0, 0 }
flat "WALL0130", 128, 128 { xscale 2 yscale 2 patch "WALL0130", 0, 0 }
flat "WALL0131", 128, 128 { xscale 2 yscale 2 patch "WALL0131", 0, 0 }
flat "WALL0132", 128, 128 { xscale 2 yscale 2 patch "WALL0132", 0, 0 }
flat "WALL0133", 128, 128 { xscale 2 yscale 2 patch "WALL0133", 0, 0 }
flat "WALL0134", 128, 128 { xscale 2 yscale 2 patch "WALL0134", 0, 0 }
flat "WALL0135", 128, 128 { xscale 2 yscale 2 patch "WALL0135", 0, 0 }
flat "WALL0136", 128, 128 { xscale 2 yscale 2 patch "WALL0136", 0, 0 }
flat "WALL0137", 128, 128 { xscale 2 yscale 2 patch "WALL0137", 0, 0 }
flat "WALL0138", 128, 128 { xscale 2 yscale 2 patch "WALL0138", 0, 0 }
flat "WALL0139", 128, 128 { xscale 2 yscale 2 patch "WALL0139", 0, 0 }
flat "WALL013A", 128, 128 { xscale 2 yscale 2 patch "WALL013A", 0, 0 }
flat "WALL013B", 128, 128 { xscale 2 yscale 2 patch "WALL013B", 0, 0 }
flat "WALL013C", 128, 128 { xscale 2 yscale 2 patch "WALL013C", 0, 0 }
flat "WALL013D", 128, 128 { xscale 2 yscale 2 patch "WALL013D", 0, 0 }
flat "WALL013E", 128, 128 { xscale 2 yscale 2 patch "WALL013E", 0, 0 }
flat "WALL013F", 128, 128 { xscale 2 yscale 2 patch "WALL013F", 0, 0 }
flat "WALL0140", 128, 128 { xscale 2 yscale 2 patch "WALL0140", 0, 0 }
flat "WALL0141", 128, 128 { xscale 2 yscale 2 patch "WALL0141", 0, 0 }
flat "WALL0142", 128, 128 { xscale 2 yscale 2 patch "WALL0142", 0, 0 }
flat "WALL0143", 128, 128 { xscale 2 yscale 2 patch "WALL0143", 0, 0 }
flat "WALL0144", 128, 128 { xscale 2 yscale 2 patch "WALL0144", 0, 0 }
flat "WALL0145", 128, 128 { xscale 2 yscale 2 patch "WALL0145", 0, 0 }
flat "WALL0146", 128, 128 { xscale 2 yscale 2 patch "WALL0146", 0, 0 }
flat "WALL0147", 128, 128 { xscale 2 yscale 2 patch "WALL0147", 0, 0 }
flat "WALL0148", 128, 128 { xscale 2 yscale 2 patch "WALL0148", 0, 0 }
flat "WALL0149", 128, 128 { xscale 2 yscale 2 patch "WALL0149", 0, 0 }
flat "WALL014A", 128, 128 { xscale 2 yscale 2 patch "WALL014A", 0, 0 }
flat "WALL014B", 128, 128 { xscale 2 yscale 2 patch "WALL014B", 0, 0 }
flat "WALL014C", 128, 128 { xscale 2 yscale 2 patch "WALL014C", 0, 0 }
flat "WALL014D", 128, 128 { xscale 2 yscale 2 patch "WALL014D", 0, 0 }
flat "WALL014E", 128, 128 { xscale 2 yscale 2 patch "WALL014E", 0, 0 }
flat "WALL014F", 128, 128 { xscale 2 yscale 2 patch "WALL014F", 0, 0 }
sprite "WATRA0", 94, 12 { offset 47, 12 xscale 2 yscale 2 patch "WATRA0", 0, 0 }
sprite "WEL1A0", 108, 50 { offset 54, 50 xscale 2 yscale 2 patch "WEL1A0", 0, 0 }
sprite "YWINA0", 98, 36 { offset 49, 83 xscale 2 yscale 2 patch "YWINA0", 0, 0 }
[/spoiler]

Re: Wolfenstein Sprite Fix and Rotation Project for ECWolf

Posted: Mon Mar 16, 2015 16:46
by PSTrooper
Here is the Mac Version of the Sprite Fixing Project. I want to thank Blzut3 for sending me the sprites and helping out with a few other things. A lot of work had to be done to get them in the state they're in now. Mac Wolf's sprite format is just so different from what I'm used to. I was able to find some errors in the sprites, mostly in the firing animation offsets, which I fixed based on how they appear in the pc version. I'm going to get some gifs made to show the fixes off when I have some free time later this week. If anyone spots any missed errors in the sprites, let me know. If you don't have Mac Wolf, it's still a good resource for getting all the Mac version's sprites; all sprites are included cropped for optimization in ECWolf. I know it's hard enough to get the sprites as it is (well for me at least). No rotations exist for Mac Wolf's sprites. Yet. Hopefully, we'll get some done now.

Download