Reordering and renaming for cleaner code

This commit is contained in:
PatrickvL 2017-02-09 15:41:45 +01:00
parent 3296fc9b2f
commit 0a0d9f569a
3 changed files with 20 additions and 20 deletions

View File

@ -335,10 +335,11 @@ enum XRefDataBaseOffset
// XREF_XFreeSectionByHandle,
XREF_COUNT // XREF_COUNT must always be last.
// Also, if XREF_COUNT > sizeof(byte), enlarge struct OOVPA.XRefSaveIndex (and Value somehow)
// Also, if XREF_COUNT > sizeof(uint16), enlarge struct OOVPA.XRefSaveIndex (and Value somehow)
};
#define XREF_UNKNOWN -1
#define XREF_ADDR_UNDETERMINED -1
#define XREF_ADDR_NOT_FOUND ((xbaddr)nullptr)
// ******************************************************************
// * XRefDataBase

View File

@ -177,7 +177,7 @@ void EmuHLEIntercept(Xbe::Header *pXbeHeader)
bXRefFirstPass = true; // Set to false for search speed optimization
memset((void*)XRefDataBase, XREF_UNKNOWN, sizeof(XRefDataBase));
memset((void*)XRefDataBase, XREF_ADDR_UNDETERMINED, sizeof(XRefDataBase));
for(int p=0;UnResolvedXRefs < LastUnResolvedXRefs;p++)
@ -653,7 +653,7 @@ static xbaddr EmuLocateFunction(OOVPA *Oovpa, xbaddr lower, xbaddr upper)
xbaddr XRefValue = XRefDataBase[XRef];
// unknown XRef cannot be checked yet
if (XRefValue == XREF_UNKNOWN)
if (XRefValue == XREF_ADDR_UNDETERMINED)
break;
xbaddr RealValue = *(xbaddr*)(cur + Offset);
@ -684,7 +684,7 @@ static xbaddr EmuLocateFunction(OOVPA *Oovpa, xbaddr lower, xbaddr upper)
if (Oovpa->XRefSaveIndex != XRefNoSaveIndex)
{
// is the XRef not saved yet?
if (XRefDataBase[Oovpa->XRefSaveIndex] == XREF_UNKNOWN)
if (XRefDataBase[Oovpa->XRefSaveIndex] == XREF_ADDR_UNDETERMINED)
{
// save and count the found address
UnResolvedXRefs--;

View File

@ -60,17 +60,12 @@ template <class BaseClass, typename MFT> inline void *MFPtoFP(MFT pMemFunc)
// ******************************************************************
struct OOVPA
{
// This OOVPA field (uint16 Count) indicates the number of
// This OOVPA field (uint08 Count) indicates the number of
// {Offset, Value}-pairs present in the Lovp array,
// available after casting this OOVPA to LOOVPA.
// (This Count INCLUDES optional leading {Offset, XREF_*-enum}-
// pairs - see comment at XRefCount.)
uint16 Count : 15;
// This OOVPA field (uint08 XRefSaveIndex) contains either an
// XREF_* enum value, or the XRefNoSaveIndex marker when there's
// no XREF_* enum defined for this OOVPA.
uint08 XRefSaveIndex;
uint08 Count;
// This OOVPA field (uint08 XRefCount) contains the number of
// {Offset, XREF_*-enum}-pairs that come before all other
@ -79,6 +74,11 @@ struct OOVPA
// (Also, see comments at XRefZero and XRefOne.)
uint08 XRefCount;
// This OOVPA field (uint16 XRefSaveIndex) contains either an
// XREF_* enum value, or the XRefNoSaveIndex marker when there's
// no XREF_* enum defined for this OOVPA.
uint16 XRefSaveIndex;
// Define LOVP here to reduce type definition complexity.
// (Otherwise, if defined in the template classes, that would mean
// that for each template instance, the type is redefined. Let's
@ -92,11 +92,6 @@ struct OOVPA
};
};
// This XRefNoSaveIndex constant, when set in the OOVPA.XRefSaveIndex
// field, functions as a marker indicating there's no XREF_* enum
// defined for the OOVPA.
const uint08 XRefNoSaveIndex = (uint08)-1;
// This XRefZero constant, when set in the OOVPA.XRefCount field,
// indicates there are no {offset, XREF_*-enum} present in the OOVPA.
const uint08 XRefZero = (uint08)0;
@ -105,9 +100,13 @@ const uint08 XRefZero = (uint08)0;
// indicates the OOVPA contains one (1) {offset, XREF_* enum} pair.
const uint08 XRefOne = (uint08)1;
// Note : Theoretically, there can be more than one {offset, XREF_*-enum}
// Note : Theoretically, there can be more than one {Offset, XREF_*-enum}
// pair at the start of the OOVPA's, but there are no examples of that yet.
// (Also, EmuLocateFunction might not cater for this well enough?)
// This XRefNoSaveIndex constant, when set in the OOVPA.XRefSaveIndex
// field, functions as a marker indicating there's no XREF_* enum
// defined for the OOVPA.
const uint16 XRefNoSaveIndex = (uint16)-1;
// Macro used for storing an XRef {Offset, XRef}-Pair.
//
@ -136,7 +135,7 @@ template <uint16 COUNT> struct LOOVPA
};
#define OOVPA_XREF(Name, Version, Count, XRefSaveIndex, XRefCount) \
LOOVPA<Count> Name##_##Version = { { Count, XRefSaveIndex, XRefCount }, {
LOOVPA<Count> Name##_##Version = { { Count, XRefCount, XRefSaveIndex }, {
#define OOVPA_NO_XREF(Name, Version, Count) \
OOVPA_XREF(Name, Version, Count, XRefNoSaveIndex, XRefZero)