Mostly done using the following Ruby script:
(Dir.glob('**/*.cpp') + Dir.glob('**/*.h')).each do |file|
s = File.read(file, encoding: 'iso8859-1')
t = s.gsub(/(([\w_.\[\]]+)\s*=\s*new\s+\S+?\[[^\]]+?\](?!\())([^\{\}]*?)\n\s+memset\(\s*\2\s*,\s*0\s*,[^;]*;/m, '\1()\3')
if t != s
File.open(file, 'w') { |io| io.write(t) }
end
end
The movies for Crusader: No Remorse have a unique decoder which is not too hard
to implement. Unfortunately, they don't properly implement the "compression"
FourCC, and instead put their ID in the "Stream Handler". Since supporting
them requires a change to the existing Image API, I thought I should make a
pull request for comments.
With this change, the movies in Crusader can all be played nicely.
Truemotion uses its own demuxer and seems to follow its own AVI rules. Work around it by coercing the video's dimensions to use the codec's internal dimensions.