The original binary has strings that were used as literal strings stored in a particular section of the binary. To achieve 100% via reccmp-reccmp, we need to invoke STRUCT_RESOLVER like so:
MACRO_STRUCT_RESOLVER(char const[], false, (Address::SHC_3BB0A8C1_0x005A6CC4)) pWAV;
assert *pWAV::ptr == ".wav";
This is a shortcoming of reccmp-reccmp, it could easily check if the string from the source code is the same as the string in the original binary, and then consider the match 100%.
See example:

If this is addresssed, the address enum file can be reduced as it doesn't need addresses of literal strings anymore.
Further thoughts:
This doesn't work either, the reccmp isn't happy.
char const* const WAV = ".wav";
So currently, reccmp is only happy about the STRUCT_RESOLVER method.
It does get 100% if this is used:
// STRING: STRONGHOLDCRUSADER 0x005A6CC4
char const* const WAV = ".wav";
Which leaves us with the conundrum of naming the strings.
The original binary has strings that were used as literal strings stored in a particular section of the binary. To achieve 100% via
reccmp-reccmp, we need to invokeSTRUCT_RESOLVERlike so:This is a shortcoming of
reccmp-reccmp, it could easily check if the string from the source code is the same as the string in the original binary, and then consider the match 100%.See example:

If this is addresssed, the address enum file can be reduced as it doesn't need addresses of literal strings anymore.
Further thoughts:
This doesn't work either, the reccmp isn't happy.
So currently, reccmp is only happy about the STRUCT_RESOLVER method.
It does get 100% if this is used:
Which leaves us with the conundrum of naming the strings.