Skip to content

Handle literal strings better #52

@gynt

Description

@gynt

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:
Image

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions