Formatting, remove whitespace
parent
355cd30beb
commit
629ee417a6
|
@ -2,9 +2,7 @@ In the PatrickvL OOVPA_Sorting branch, I'm planning to merge together all versio
|
||||||
|
|
||||||
Each library specific OOVPA database will contain OOVPA registrations for all OOVPA's we have for that library.
|
Each library specific OOVPA database will contain OOVPA registrations for all OOVPA's we have for that library.
|
||||||
|
|
||||||
Each OOVPA registration is done using a macro called REGISTER_OOVPA.
|
Each OOVPA registration is done using a macro called REGISTER_OOVPA. It's arguments are:
|
||||||
It's arguments are:
|
|
||||||
|
|
||||||
* (symbol, version, type).
|
* (symbol, version, type).
|
||||||
|
|
||||||
When all these occurrences are sorted, all symbols end up together, in incremental order of version.
|
When all these occurrences are sorted, all symbols end up together, in incremental order of version.
|
||||||
|
@ -20,23 +18,18 @@ Since their prefixes are the only difference between an OOVPA name and a patch n
|
||||||
|
|
||||||
The version argument must indicate the exact XDK version the OOVPA is based upon.
|
The version argument must indicate the exact XDK version the OOVPA is based upon.
|
||||||
|
|
||||||
Some symbols stay the same across all XDK version, so require only one OOVPA version registration.
|
Some symbols stay the same across all XDK versions, so require only one OOVPA version registration.
|
||||||
|
|
||||||
Other symbols differ between XDK versions and thus require multiple registrations.
|
Other symbols differ between XDK versions and thus require multiple registrations.
|
||||||
|
|
||||||
If a symbol returns to a prior form, use an aliased OOVPA.
|
If a symbol returns to a prior form, use an aliased OOVPA.
|
||||||
|
|
||||||
The type argument forwards the declaration to type-specific macros, currently the possible types are:
|
The type argument forwards the declaration to type-specific macros, currently the possible types are:
|
||||||
|
|
||||||
* `PATCH`, for registering an OOVPA with a patch.
|
* `PATCH`, for registering an OOVPA with a patch.
|
||||||
|
|
||||||
* `LTCG`, for registering a patch that originates from a (D3D) LTCG database.
|
* `LTCG`, for registering a patch that originates from a (D3D) LTCG database.
|
||||||
|
|
||||||
* `XREF`, for registering an OOVPA without a patch.
|
* `XREF`, for registering an OOVPA without a patch.
|
||||||
|
|
||||||
* `DISABLED`, used for experimentally disabling OOVPA xrefs or patches.
|
* `DISABLED`, used for experimentally disabling OOVPA xrefs or patches.
|
||||||
|
* `ALIAS`, for using an alternative OOVPA definition, while keeping the same patch for the mentioned symbol.
|
||||||
* `ALIAS`, for using an alternative OOVPA definition, while keeping the same patch for the mentioned symbol.
|
|
||||||
|
|
||||||
(Registrations of type ALIAS require a fourth argument, being the name of the alternative OOVPA which must have an appendage to the base function name, like FunctionB)
|
(Registrations of type ALIAS require a fourth argument, being the name of the alternative OOVPA which must have an appendage to the base function name, like FunctionB)
|
||||||
|
|
||||||
|
@ -44,28 +37,19 @@ An alias OOVPA registration type is not the same as an OOVPA alias declaration.
|
||||||
|
|
||||||
An OOVPA alias declaration is simply one line, formed like this:
|
An OOVPA alias declaration is simply one line, formed like this:
|
||||||
|
|
||||||
`
|
`#define name_3 name_1`
|
||||||
#define name_3 name_1
|
|
||||||
`
|
|
||||||
|
|
||||||
* Where name is the OOVPA name, like D3D_CreateDevice.
|
* Where name is the OOVPA name, like D3D_CreateDevice.
|
||||||
|
|
||||||
* Where 3 represents the new version for which the OOVPA must be used.
|
* Where 3 represents the new version for which the OOVPA must be used.
|
||||||
|
|
||||||
* Where 1 represents the old OOVPA version to reuse.
|
* Where 1 represents the old OOVPA version to reuse.
|
||||||
|
|
||||||
An example:
|
An example:
|
||||||
|
|
||||||
`
|
`#define OOVPA_D3D_CreateDevice_5788 OOVPA_D3D_CreateDevice_4344`
|
||||||
#define OOVPA_D3D_CreateDevice_5788 OOVPA_D3D_CreateDevice_4344
|
|
||||||
`
|
|
||||||
|
|
||||||
This introduces a new version 5788 OOVPA for D3D_CreateDevice, based on the 4344 version OOVPA for that same function.
|
This introduces a new version 5788 OOVPA for D3D_CreateDevice, based on the 4344 version OOVPA for that same function.
|
||||||
|
|
||||||
Summarizing:
|
Summarizing:
|
||||||
|
|
||||||
* All symbols must use consistent names.
|
* All symbols must use consistent names.
|
||||||
|
|
||||||
* Registrations must be kept sorted.
|
* Registrations must be kept sorted.
|
||||||
|
* Never duplicate OOVPAs. Use aliases instead.
|
||||||
* Never duplicate OOVPAs. Instead, use aliases.
|
|
||||||
|
|
Loading…
Reference in New Issue