Remove EmuPatch from OOVPA Tables as it is no longer used
This commit is contained in:
parent
ae1a6de393
commit
b0da79321b
|
@ -936,30 +936,6 @@ void VerifyHLEOOVPA(HLEVerifyContext *context, OOVPA *oovpa)
|
||||||
|
|
||||||
void VerifyHLEDataEntry(HLEVerifyContext *context, const OOVPATable *table, uint32 index, uint32 count)
|
void VerifyHLEDataEntry(HLEVerifyContext *context, const OOVPATable *table, uint32 index, uint32 count)
|
||||||
{
|
{
|
||||||
if (context->against == nullptr) {
|
|
||||||
context->main_index = index;
|
|
||||||
// does this entry specify a redirection (patch)?
|
|
||||||
void * entry_redirect = table[index].emuPatch;
|
|
||||||
if (entry_redirect != nullptr) {
|
|
||||||
if (table[index].Oovpa == nullptr) {
|
|
||||||
HLEError(context, "Patch without an OOVPA at index %d",
|
|
||||||
index);
|
|
||||||
} else
|
|
||||||
// check no patch occurs twice in this table
|
|
||||||
for (uint32 t = index + 1; t < count; t++) {
|
|
||||||
if (entry_redirect == table[t].emuPatch) {
|
|
||||||
if (table[index].Oovpa == table[t].Oovpa) {
|
|
||||||
HLEError(context, "Patch registered again (with same OOVPA) at index %d",
|
|
||||||
t);
|
|
||||||
} else {
|
|
||||||
HLEError(context, "Patch also used for another OOVPA at index %d",
|
|
||||||
t);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
context->against_index = index;
|
context->against_index = index;
|
||||||
|
|
||||||
// verify the OOVPA of this entry
|
// verify the OOVPA of this entry
|
||||||
|
|
|
@ -36,23 +36,6 @@
|
||||||
|
|
||||||
#include "Cxbx.h"
|
#include "Cxbx.h"
|
||||||
|
|
||||||
// ******************************************************************
|
|
||||||
// * Take THIS C++ !!
|
|
||||||
// ******************************************************************
|
|
||||||
template <class BaseClass, typename MFT> inline void *MFPtoFP(MFT pMemFunc)
|
|
||||||
{
|
|
||||||
union
|
|
||||||
{
|
|
||||||
MFT pMemFunc;
|
|
||||||
void(*pFunc)();
|
|
||||||
}
|
|
||||||
ThisConv;
|
|
||||||
|
|
||||||
ThisConv.pMemFunc = pMemFunc;
|
|
||||||
|
|
||||||
return ThisConv.pFunc;
|
|
||||||
}
|
|
||||||
|
|
||||||
#pragma pack(1)
|
#pragma pack(1)
|
||||||
|
|
||||||
// ******************************************************************
|
// ******************************************************************
|
||||||
|
@ -150,7 +133,6 @@ OOVPA_XREF(Name, Version, Count, XRefNoSaveIndex, XRefZero)
|
||||||
struct OOVPATable
|
struct OOVPATable
|
||||||
{
|
{
|
||||||
OOVPA *Oovpa;
|
OOVPA *Oovpa;
|
||||||
void *emuPatch;
|
|
||||||
char *szFuncName;
|
char *szFuncName;
|
||||||
uint16_t Version : 13; // 2^13 = 8192, enough to store lowest and higest possible Library Version number in
|
uint16_t Version : 13; // 2^13 = 8192, enough to store lowest and higest possible Library Version number in
|
||||||
uint16_t Flags : 3;
|
uint16_t Flags : 3;
|
||||||
|
@ -160,8 +142,8 @@ const uint16_t Flag_DontScan = 1; // Indicates an entry that's currently disable
|
||||||
const uint16_t Flag_XRef = 2; // Indicates that an entry is an X-Ref
|
const uint16_t Flag_XRef = 2; // Indicates that an entry is an X-Ref
|
||||||
const uint16_t Flag_Reserved = 4;
|
const uint16_t Flag_Reserved = 4;
|
||||||
|
|
||||||
#define OOVPA_TABLE_ENTRY_FULL(Oovpa, Patch, DebugName, Version, Flags) \
|
#define OOVPA_TABLE_ENTRY_FULL(Oovpa, DebugName, Version, Flags) \
|
||||||
{ & Oovpa ## _ ## Version.Header, Patch, DebugName, Version, Flags }
|
{ & Oovpa ## _ ## Version.Header, DebugName, Version, Flags }
|
||||||
|
|
||||||
// REGISTER_OOVPA is the ONLY allowed macro for registrations.
|
// REGISTER_OOVPA is the ONLY allowed macro for registrations.
|
||||||
// Registrations MUST stay sorted to prevent duplicates and maintain overview.
|
// Registrations MUST stay sorted to prevent duplicates and maintain overview.
|
||||||
|
@ -174,19 +156,19 @@ const uint16_t Flag_Reserved = 4;
|
||||||
|
|
||||||
#define PATCH /* most common registration, Symbol indicates both an OOVPA and Patch */
|
#define PATCH /* most common registration, Symbol indicates both an OOVPA and Patch */
|
||||||
#define REGISTER_OOVPA_PATCH(Symbol, Version, ...) \
|
#define REGISTER_OOVPA_PATCH(Symbol, Version, ...) \
|
||||||
OOVPA_TABLE_ENTRY_FULL(Symbol, XTL::EMUPATCH(Symbol), #Symbol ##, Version, 0)
|
OOVPA_TABLE_ENTRY_FULL(Symbol, #Symbol ##, Version, 0)
|
||||||
|
|
||||||
#define XREF /* registration of an XRef-only OOVPA, for which no Patch is present */
|
#define XREF /* registration of an XRef-only OOVPA, for which no Patch is present */
|
||||||
#define REGISTER_OOVPA_XREF(Symbol, Version, ...) \
|
#define REGISTER_OOVPA_XREF(Symbol, Version, ...) \
|
||||||
OOVPA_TABLE_ENTRY_FULL(Symbol, nullptr, #Symbol ##, Version, Flag_XRef)
|
OOVPA_TABLE_ENTRY_FULL(Symbol, #Symbol ##, Version, Flag_XRef)
|
||||||
|
|
||||||
#define ALIAS /* registration of a Patch using an alternatively named OOVPA */
|
#define ALIAS /* registration of a Patch using an alternatively named OOVPA */
|
||||||
#define REGISTER_OOVPA_ALIAS(Symbol, Version, AliasOovpa) \
|
#define REGISTER_OOVPA_ALIAS(Symbol, Version, AliasOovpa) \
|
||||||
OOVPA_TABLE_ENTRY_FULL(AliasOovpa, XTL::EMUPATCH(Symbol), #Symbol ##, Version, 0)
|
OOVPA_TABLE_ENTRY_FULL(AliasOovpa, #Symbol ##, Version, 0)
|
||||||
|
|
||||||
#define DISABLED /* registration is (temporarily) disabled by a flag */
|
#define DISABLED /* registration is (temporarily) disabled by a flag */
|
||||||
#define REGISTER_OOVPA_DISABLED(Symbol, Version, ...) \
|
#define REGISTER_OOVPA_DISABLED(Symbol, Version, ...) \
|
||||||
OOVPA_TABLE_ENTRY_FULL(Symbol, nullptr, #Symbol ##, Version, Flag_DontScan)
|
OOVPA_TABLE_ENTRY_FULL(Symbol, #Symbol ##, Version, Flag_DontScan)
|
||||||
|
|
||||||
|
|
||||||
#pragma pack()
|
#pragma pack()
|
||||||
|
|
Loading…
Reference in New Issue