I did it! 3 source modifications required
TODO make this more efficient.
This is why the GPL requires that the build mechanism be included as part of the source. But, it works:
Download MSVC Express
Edit files to fix errors, and take care of a missing header file:
diff -w -r -x '*obj' -x build.bat -x resources.res -x EVNEW.exe original/CRLEResource.cpp fixed/CRLEResource.cpp
< if(pInput >= (char *)m_vData1.end())
if(pInput >= (char *)&*m_vData1.end())
< char *pExtension = strrchr(szFilename, '.');
const char *pExtension = strrchr(szFilename, '.');
diff -w -r -x '*obj' -x build.bat -x resources.res -x EVNEW.exe original/Resources.rc fixed/Resources.rc
#define IDC_STATIC (-1)
< #include "afxres.h"
< "#include ""afxres.h""\r\n"
< CTEXT "Created by Adam Rosenfield",IDC_ABOUT_TEXT3,8,80,144,8,
CTEXT "Created by Adam Rosenfield, modified by NC",IDC_ABOUT_TEXT3,8,80,144,8,
< CTEXT "v1.0.4",IDC_ABOUT_TEXT4,8,62,144,8,SS_CENTERIMAGE |
CTEXT "v1.0.5",IDC_ABOUT_TEXT4,8,62,144,8,SS_CENTERIMAGE |
Commands to compile:
call "C:\Program Files\Microsoft Visual Studio 9.0\VC\vcvarsall.bat"
cl /EHsc /I"C:\Program Files\QuickTime SDK\CIncludes" EVNEW.cpp c*.cpp utils.cpp resources.res /link /LIBPATH:"C:\Program Files\QuickTime SDK\Libraries" advapi32.lib comctl32.lib comdlg32.lib gdi32.lib user32.lib qtmlClient.lib
Now, I intend to fix the rle8 en/decoding issue.
I also recall at some point that one of the alt texts was wrong. Does anyone know of any small changes that need to be make for EVNEW?
Interestingly, the exe file produced by this procedure is significantly smaller than the original binary. (1,310,208 vs 3,158,088)