4 HLE v2 Database Method
Margen67 edited this page 2021-06-11 13:19:38 -10:00

Creating an OOVPA

See here.

The OOVPA method itself has not changed.

Maintenance

Once an OOVPA has been added, replaced, or removed, the HLE v2 database needs to be updated.

This is a requirement in order to compile properly.

  • Any time an OOVPA has been lowered, the OOVPA itself must be moved into a specific revision database file.
  • If a new OOVPA is replaced with a better OOVPA, please comment the whole obsolete OOVPA section for preservation purposes with a comment stating "replaced with _version_".
  • Whenever you find a specific OOVPA is causing 100% false detection please comment it out, and create a correct OOVPA signature for it.
  • There are high chances of ability to make generic OOVPAs. When you discover a preexisting OOVPA or OOVPA you made is indeed generic and does match correctly the highest XDK version which is 5849, please add a comment stating "Generic OOVPA as of _XDK_version_ and newer". Also check with lower XDK titles to be sure if it's possible to add at starting point of the XDK version.

Method for HLE Database v2

REGISTER_OOVPAS(/*Name of OOVPA*/, /*documentation flag*/, /*XDK versions*/, ...),

Documentation flag should only be used for either XREF, PATCH, or UNPATCHED.

  • XREF defined as XREF purpose with no patch necessary.
  • PATCH define as using with a patch. (It's okay if a patch has an xref included.)
  • UNPATCHED should only be used when a patch is no longer necessary. (Usually a result of Hybrid LLE, or certain low level APIs are patched and is able to be emulated properly.)

Register new OOVPA

Once you are done with creating an OOVPA, manually add or update it's existing register in respective v2 database.

For example:

REGISTER_OOVPAS(XAudioCalculatePitch, XREF, 3911, 4039),

If you don't understand how REGISTER_OOVPAS work, please use the search bar then choose the "code" tab to understand how it works.

Recommendation

  • Keep notes on what hasn't been verified in the HLE v2 database file.
  • Use specific version title if you are able to discover almost to full compiled library. (Doing this way does speed up add all missing OOVPAs detection.)
  • Please do add library version and title's name to the note to keep track of known title might or does contain almost to full library compiled.