diff --git a/include/libXbSymbolDatabase.h b/include/libXbSymbolDatabase.h index f2fe1fd3..9c4019b9 100644 --- a/include/libXbSymbolDatabase.h +++ b/include/libXbSymbolDatabase.h @@ -94,758 +94,6 @@ extern "C" { | XbSymbolLib_XONLINES) // clang-format on -// ****************************************************************** -// * XRefDatabaseOffset -// ****************************************************************** -typedef enum _XRefDatabaseOffset { - // BEGIN - DO NOT REARRANGE (kernel thunk) - XREF_KT_FUNC_AvGetSavedDataAddress = 1, // 0x0001 (001) - XREF_KT_FUNC_AvSendTVEncoderOption, // 0x0002 (002) - XREF_KT_FUNC_AvSetDisplayMode, // 0x0003 (003) - XREF_KT_FUNC_AvSetSavedDataAddress, // 0x0004 (004) - XREF_KT_FUNC_DbgBreakPoint, // 0x0005 (005) - XREF_KT_FUNC_DbgBreakPointWithStatus, // 0x0006 (006) - XREF_KT_FUNC_DbgLoadImageSymbols, // 0x0007 (007) DEVKIT - XREF_KT_FUNC_DbgPrint, // 0x0008 (008) - XREF_KT_FUNC_HalReadSMCTrayState, // 0x0009 (009) - XREF_KT_FUNC_DbgPrompt, // 0x000A (010) - XREF_KT_FUNC_DbgUnLoadImageSymbols, // 0x000B (011) DEVKIT - XREF_KT_FUNC_ExAcquireReadWriteLockExclusive, // 0x000C (012) - XREF_KT_FUNC_ExAcquireReadWriteLockShared, // 0x000D (013) - XREF_KT_FUNC_ExAllocatePool, // 0x000E (014) - XREF_KT_FUNC_ExAllocatePoolWithTag, // 0x000F (015) - XREF_KT_VAR__ExEventObjectType, // 0x0010 (016) - XREF_KT_FUNC_ExFreePool, // 0x0011 (017) - XREF_KT_FUNC_ExInitializeReadWriteLock, // 0x0012 (018) - XREF_KT_FUNC_ExInterlockedAddLargeInteger, // 0x0013 (019) - XREF_KT_FUNC_ExInterlockedAddLargeStatistic, // 0x0014 (020) - XREF_KT_FUNC_ExInterlockedCompareExchange64, // 0x0015 (021) - XREF_KT_VAR__ExMutantObjectType, // 0x0016 (022) - XREF_KT_FUNC_ExQueryPoolBlockSize, // 0x0017 (023) - XREF_KT_FUNC_ExQueryNonVolatileSetting, // 0x0018 (024) - XREF_KT_FUNC_ExReadWriteRefurbInfo, // 0x0019 (025) - XREF_KT_FUNC_ExRaiseException, // 0x001A (026) - XREF_KT_FUNC_ExRaiseStatus, // 0x001B (027) - XREF_KT_FUNC_ExReleaseReadWriteLock, // 0x001C (028) - XREF_KT_FUNC_ExSaveNonVolatileSetting, // 0x001D (029) - XREF_KT_VAR__ExSemaphoreObjectType, // 0x001E (030) - XREF_KT_VAR__ExTimerObjectType, // 0x001F (031) - XREF_KT_FUNC_ExfInterlockedInsertHeadList, // 0x0020 (032) - XREF_KT_FUNC_ExfInterlockedInsertTailList, // 0x0021 (033) - XREF_KT_FUNC_ExfInterlockedRemoveHeadList, // 0x0022 (034) - XREF_KT_FUNC_FscGetCacheSize, // 0x0023 (035) - XREF_KT_FUNC_FscInvalidateIdleBlocks, // 0x0024 (036) - XREF_KT_FUNC_FscSetCacheSize, // 0x0025 (037) - XREF_KT_FUNC_HalClearSoftwareInterrupt, // 0x0026 (038) - XREF_KT_FUNC_HalDisableSystemInterrupt, // 0x0027 (039) - XREF_KT_VAR__HalDiskCachePartitionCount, // 0x0028 (040) - XREF_KT_VAR__HalDiskModelNumber, // 0x0029 (041) - XREF_KT_VAR__HalDiskSerialNumber, // 0x002A (042) - XREF_KT_FUNC_HalEnableSystemInterrupt, // 0x002B (043) - XREF_KT_FUNC_HalGetInterruptVector, // 0x002C (044) - XREF_KT_FUNC_HalReadSMBusValue, // 0x002D (045) - XREF_KT_FUNC_HalReadWritePCISpace, // 0x002E (046) - XREF_KT_FUNC_HalRegisterShutdownNotification, // 0x002F (047) - XREF_KT_FUNC_HalRequestSoftwareInterrupt, // 0x0030 (048) - XREF_KT_FUNC_HalReturnToFirmware, // 0x0031 (049) - XREF_KT_FUNC_HalWriteSMBusValue, // 0x0032 (050) - XREF_KT_FUNC_InterlockedCompareExchange, // 0x0033 (051) - XREF_KT_FUNC_InterlockedDecrement, // 0x0034 (052) - XREF_KT_FUNC_InterlockedIncrement, // 0x0035 (053) - XREF_KT_FUNC_InterlockedExchange, // 0x0036 (054) - XREF_KT_FUNC_InterlockedExchangeAdd, // 0x0037 (055) - XREF_KT_FUNC_InterlockedFlushSList, // 0x0038 (056) - XREF_KT_FUNC_InterlockedPopEntrySList, // 0x0039 (057) - XREF_KT_FUNC_InterlockedPushEntrySList, // 0x003A (058) - XREF_KT_FUNC_IoAllocateIrp, // 0x003B (059) - XREF_KT_FUNC_IoBuildAsynchronousFsdRequest, // 0x003C (060) - XREF_KT_FUNC_IoBuildDeviceIoControlRequest, // 0x003D (061) - XREF_KT_FUNC_IoBuildSynchronousFsdRequest, // 0x003E (062) - XREF_KT_FUNC_IoCheckShareAccess, // 0x003F (063) - XREF_KT_VAR__IoCompletionObjectType, // 0x0040 (064) - XREF_KT_FUNC_IoCreateDevice, // 0x0041 (065) - XREF_KT_FUNC_IoCreateFile, // 0x0042 (066) - XREF_KT_FUNC_IoCreateSymbolicLink, // 0x0043 (067) - XREF_KT_FUNC_IoDeleteDevice, // 0x0044 (068) - XREF_KT_FUNC_IoDeleteSymbolicLink, // 0x0045 (069) - XREF_KT_VAR__IoDeviceObjectType, // 0x0046 (070) - XREF_KT_VAR__IoFileObjectType, // 0x0047 (071) - XREF_KT_FUNC_IoFreeIrp, // 0x0048 (072) - XREF_KT_FUNC_IoInitializeIrp, // 0x0049 (073) - XREF_KT_FUNC_IoInvalidDeviceRequest, // 0x004A (074) - XREF_KT_FUNC_IoQueryFileInformation, // 0x004B (075) - XREF_KT_FUNC_IoQueryVolumeInformation, // 0x004C (076) - XREF_KT_FUNC_IoQueueThreadIrp, // 0x004D (077) - XREF_KT_FUNC_IoRemoveShareAccess, // 0x004E (078) - XREF_KT_FUNC_IoSetIoCompletion, // 0x004F (079) - XREF_KT_FUNC_IoSetShareAccess, // 0x0050 (080) - XREF_KT_FUNC_IoStartNextPacket, // 0x0051 (081) - XREF_KT_FUNC_IoStartNextPacketByKey, // 0x0052 (082) - XREF_KT_FUNC_IoStartPacket, // 0x0053 (083) - XREF_KT_FUNC_IoSynchronousDeviceIoControlRequest, // 0x0054 (084) - XREF_KT_FUNC_IoSynchronousFsdRequest, // 0x0055 (085) - XREF_KT_FUNC_IofCallDriver, // 0x0056 (086) - XREF_KT_FUNC_IofCompleteRequest, // 0x0057 (087) - XREF_KT_VAR__KdDebuggerEnabled, // 0x0058 (088) - XREF_KT_VAR__KdDebuggerNotPresent, // 0x0059 (089) - XREF_KT_FUNC_IoDismountVolume, // 0x005A (090) - XREF_KT_FUNC_IoDismountVolumeByName, // 0x005B (091) - XREF_KT_FUNC_KeAlertResumeThread, // 0x005C (092) - XREF_KT_FUNC_KeAlertThread, // 0x005D (093) - XREF_KT_FUNC_KeBoostPriorityThread, // 0x005E (094) - XREF_KT_FUNC_KeBugCheck, // 0x005F (095) - XREF_KT_FUNC_KeBugCheckEx, // 0x0060 (096) - XREF_KT_FUNC_KeCancelTimer, // 0x0061 (097) - XREF_KT_FUNC_KeConnectInterrupt, // 0x0062 (098) - XREF_KT_FUNC_KeDelayExecutionThread, // 0x0063 (099) - XREF_KT_FUNC_KeDisconnectInterrupt, // 0x0064 (100) - XREF_KT_FUNC_KeEnterCriticalRegion, // 0x0065 (101) - XREF_KT_VAR__MmGlobalData, // 0x0066 (102) - XREF_KT_FUNC_KeGetCurrentIrql, // 0x0067 (103) - XREF_KT_FUNC_KeGetCurrentThread, // 0x0068 (104) - XREF_KT_FUNC_KeInitializeApc, // 0x0069 (105) - XREF_KT_FUNC_KeInitializeDeviceQueue, // 0x006A (106) - XREF_KT_FUNC_KeInitializeDpc, // 0x006B (107) - XREF_KT_FUNC_KeInitializeEvent, // 0x006C (108) - XREF_KT_FUNC_KeInitializeInterrupt, // 0x006D (109) - XREF_KT_FUNC_KeInitializeMutant, // 0x006E (110) - XREF_KT_FUNC_KeInitializeQueue, // 0x006F (111) - XREF_KT_FUNC_KeInitializeSemaphore, // 0x0070 (112) - XREF_KT_FUNC_KeInitializeTimerEx, // 0x0071 (113) - XREF_KT_FUNC_KeInsertByKeyDeviceQueue, // 0x0072 (114) - XREF_KT_FUNC_KeInsertDeviceQueue, // 0x0073 (115) - XREF_KT_FUNC_KeInsertHeadQueue, // 0x0074 (116) - XREF_KT_FUNC_KeInsertQueue, // 0x0075 (117) - XREF_KT_FUNC_KeInsertQueueApc, // 0x0076 (118) - XREF_KT_FUNC_KeInsertQueueDpc, // 0x0077 (119) - XREF_KT_VAR__KeInterruptTime, // 0x0078 (120) - XREF_KT_FUNC_KeIsExecutingDpc, // 0x0079 (121) - XREF_KT_FUNC_KeLeaveCriticalRegion, // 0x007A (122) - XREF_KT_FUNC_KePulseEvent, // 0x007B (123) - XREF_KT_FUNC_KeQueryBasePriorityThread, // 0x007C (124) - XREF_KT_FUNC_KeQueryInterruptTime, // 0x007D (125) - XREF_KT_FUNC_KeQueryPerformanceCounter, // 0x007E (126) - XREF_KT_FUNC_KeQueryPerformanceFrequency, // 0x007F (127) - XREF_KT_FUNC_KeQuerySystemTime, // 0x0080 (128) - XREF_KT_FUNC_KeRaiseIrqlToDpcLevel, // 0x0081 (129) - XREF_KT_FUNC_KeRaiseIrqlToSynchLevel, // 0x0082 (130) - XREF_KT_FUNC_KeReleaseMutant, // 0x0083 (131) - XREF_KT_FUNC_KeReleaseSemaphore, // 0x0084 (132) - XREF_KT_FUNC_KeRemoveByKeyDeviceQueue, // 0x0085 (133) - XREF_KT_FUNC_KeRemoveDeviceQueue, // 0x0086 (134) - XREF_KT_FUNC_KeRemoveEntryDeviceQueue, // 0x0087 (135) - XREF_KT_FUNC_KeRemoveQueue, // 0x0088 (136) - XREF_KT_FUNC_KeRemoveQueueDpc, // 0x0089 (137) - XREF_KT_FUNC_KeResetEvent, // 0x008A (138) - XREF_KT_FUNC_KeRestoreFloatingPointState, // 0x008B (139) - XREF_KT_FUNC_KeResumeThread, // 0x008C (140) - XREF_KT_FUNC_KeRundownQueue, // 0x008D (141) - XREF_KT_FUNC_KeSaveFloatingPointState, // 0x008E (142) - XREF_KT_FUNC_KeSetBasePriorityThread, // 0x008F (143) - XREF_KT_FUNC_KeSetDisableBoostThread, // 0x0090 (144) - XREF_KT_FUNC_KeSetEvent, // 0x0091 (145) - XREF_KT_FUNC_KeSetEventBoostPriority, // 0x0092 (146) - XREF_KT_FUNC_KeSetPriorityProcess, // 0x0093 (147) - XREF_KT_FUNC_KeSetPriorityThread, // 0x0094 (148) - XREF_KT_FUNC_KeSetTimer, // 0x0095 (149) - XREF_KT_FUNC_KeSetTimerEx, // 0x0096 (150) - XREF_KT_FUNC_KeStallExecutionProcessor, // 0x0097 (151) - XREF_KT_FUNC_KeSuspendThread, // 0x0098 (152) - XREF_KT_FUNC_KeSynchronizeExecution, // 0x0099 (153) - XREF_KT_VAR__KeSystemTime, // 0x009A (154) - XREF_KT_FUNC_KeTestAlertThread, // 0x009B (155) - XREF_KT_VAR__KeTickCount, // 0x009C (156) - XREF_KT_VAR__KeTimeIncrement, // 0x009D (157) - XREF_KT_FUNC_KeWaitForMultipleObjects, // 0x009E (158) - XREF_KT_FUNC_KeWaitForSingleObject, // 0x009F (159) - XREF_KT_FUNC_KfRaiseIrql, // 0x00A0 (160) - XREF_KT_FUNC_KfLowerIrql, // 0x00A1 (161) - XREF_KT_VAR__KiBugCheckData, // 0x00A2 (162) - XREF_KT_FUNC_KiUnlockDispatcherDatabase, // 0x00A3 (163) - XREF_KT_VAR__LaunchDataPage, // 0x00A4 (164) - XREF_KT_FUNC_MmAllocateContiguousMemory, // 0x00A5 (165) - XREF_KT_FUNC_MmAllocateContiguousMemoryEx, // 0x00A6 (166) - XREF_KT_FUNC_MmAllocateSystemMemory, // 0x00A7 (167) - XREF_KT_FUNC_MmClaimGpuInstanceMemory, // 0x00A8 (168) - XREF_KT_FUNC_MmCreateKernelStack, // 0x00A9 (169) - XREF_KT_FUNC_MmDeleteKernelStack, // 0x00AA (170) - XREF_KT_FUNC_MmFreeContiguousMemory, // 0x00AB (171) - XREF_KT_FUNC_MmFreeSystemMemory, // 0x00AC (172) - XREF_KT_FUNC_MmGetPhysicalAddress, // 0x00AD (173) - XREF_KT_FUNC_MmIsAddressValid, // 0x00AE (174) - XREF_KT_FUNC_MmLockUnlockBufferPages, // 0x00AF (175) - XREF_KT_FUNC_MmLockUnlockPhysicalPage, // 0x00B0 (176) - XREF_KT_FUNC_MmMapIoSpace, // 0x00B1 (177) - XREF_KT_FUNC_MmPersistContiguousMemory, // 0x00B2 (178) - XREF_KT_FUNC_MmQueryAddressProtect, // 0x00B3 (179) - XREF_KT_FUNC_MmQueryAllocationSize, // 0x00B4 (180) - XREF_KT_FUNC_MmQueryStatistics, // 0x00B5 (181) - XREF_KT_FUNC_MmSetAddressProtect, // 0x00B6 (182) - XREF_KT_FUNC_MmUnmapIoSpace, // 0x00B7 (183) - XREF_KT_FUNC_NtAllocateVirtualMemory, // 0x00B8 (184) - XREF_KT_FUNC_NtCancelTimer, // 0x00B9 (185) - XREF_KT_FUNC_NtClearEvent, // 0x00BA (186) - XREF_KT_FUNC_NtClose, // 0x00BB (187) - XREF_KT_FUNC_NtCreateDirectoryObject, // 0x00BC (188) - XREF_KT_FUNC_NtCreateEvent, // 0x00BD (189) - XREF_KT_FUNC_NtCreateFile, // 0x00BE (190) - XREF_KT_FUNC_NtCreateIoCompletion, // 0x00BF (191) - XREF_KT_FUNC_NtCreateMutant, // 0x00C0 (192) - XREF_KT_FUNC_NtCreateSemaphore, // 0x00C1 (193) - XREF_KT_FUNC_NtCreateTimer, // 0x00C2 (194) - XREF_KT_FUNC_NtDeleteFile, // 0x00C3 (195) - XREF_KT_FUNC_NtDeviceIoControlFile, // 0x00C4 (196) - XREF_KT_FUNC_NtDuplicateObject, // 0x00C5 (197) - XREF_KT_FUNC_NtFlushBuffersFile, // 0x00C6 (198) - XREF_KT_FUNC_NtFreeVirtualMemory, // 0x00C7 (199) - XREF_KT_FUNC_NtFsControlFile, // 0x00C8 (200) - XREF_KT_FUNC_NtOpenDirectoryObject, // 0x00C9 (201) - XREF_KT_FUNC_NtOpenFile, // 0x00CA (202) - XREF_KT_FUNC_NtOpenSymbolicLinkObject, // 0x00CB (203) - XREF_KT_FUNC_NtProtectVirtualMemory, // 0x00CC (204) - XREF_KT_FUNC_NtPulseEvent, // 0x00CD (205) - XREF_KT_FUNC_NtQueueApcThread, // 0x00CE (206) - XREF_KT_FUNC_NtQueryDirectoryFile, // 0x00CF (207) - XREF_KT_FUNC_NtQueryDirectoryObject, // 0x00D0 (208) - XREF_KT_FUNC_NtQueryEvent, // 0x00D1 (209) - XREF_KT_FUNC_NtQueryFullAttributesFile, // 0x00D2 (210) - XREF_KT_FUNC_NtQueryInformationFile, // 0x00D3 (211) - XREF_KT_FUNC_NtQueryIoCompletion, // 0x00D4 (212) - XREF_KT_FUNC_NtQueryMutant, // 0x00D5 (213) - XREF_KT_FUNC_NtQuerySemaphore, // 0x00D6 (214) - XREF_KT_FUNC_NtQuerySymbolicLinkObject, // 0x00D7 (215) - XREF_KT_FUNC_NtQueryTimer, // 0x00D8 (216) - XREF_KT_FUNC_NtQueryVirtualMemory, // 0x00D9 (217) - XREF_KT_FUNC_NtQueryVolumeInformationFile, // 0x00DA (218) - XREF_KT_FUNC_NtReadFile, // 0x00DB (219) - XREF_KT_FUNC_NtReadFileScatter, // 0x00DC (220) - XREF_KT_FUNC_NtReleaseMutant, // 0x00DD (221) - XREF_KT_FUNC_NtReleaseSemaphore, // 0x00DE (222) - XREF_KT_FUNC_NtRemoveIoCompletion, // 0x00DF (223) - XREF_KT_FUNC_NtResumeThread, // 0x00E0 (224) - XREF_KT_FUNC_NtSetEvent, // 0x00E1 (225) - XREF_KT_FUNC_NtSetInformationFile, // 0x00E2 (226) - XREF_KT_FUNC_NtSetIoCompletion, // 0x00E3 (227) - XREF_KT_FUNC_NtSetSystemTime, // 0x00E4 (228) - XREF_KT_FUNC_NtSetTimerEx, // 0x00E5 (229) - XREF_KT_FUNC_NtSignalAndWaitForSingleObjectEx, // 0x00E6 (230) - XREF_KT_FUNC_NtSuspendThread, // 0x00E7 (231) - XREF_KT_FUNC_NtUserIoApcDispatcher, // 0x00E8 (232) - XREF_KT_FUNC_NtWaitForSingleObject, // 0x00E9 (233) - XREF_KT_FUNC_NtWaitForSingleObjectEx, // 0x00EA (234) - XREF_KT_FUNC_NtWaitForMultipleObjectsEx, // 0x00EB (235) - XREF_KT_FUNC_NtWriteFile, // 0x00EC (236) - XREF_KT_FUNC_NtWriteFileGather, // 0x00ED (237) - XREF_KT_FUNC_NtYieldExecution, // 0x00EE (238) - XREF_KT_FUNC_ObCreateObject, // 0x00EF (239) - XREF_KT_VAR__ObDirectoryObjectType, // 0x00F0 (240) - XREF_KT_FUNC_ObInsertObject, // 0x00F1 (241) - XREF_KT_FUNC_ObMakeTemporaryObject, // 0x00F2 (242) - XREF_KT_FUNC_ObOpenObjectByName, // 0x00F3 (243) - XREF_KT_FUNC_ObOpenObjectByPointer, // 0x00F4 (244) - XREF_KT_VAR__ObpObjectHandleTable, // 0x00F5 (245) - XREF_KT_FUNC_ObReferenceObjectByHandle, // 0x00F6 (246) - XREF_KT_FUNC_ObReferenceObjectByName, // 0x00F7 (247) - XREF_KT_FUNC_ObReferenceObjectByPointer, // 0x00F8 (248) - XREF_KT_VAR__ObSymbolicLinkObjectType, // 0x00F9 (249) - XREF_KT_FUNC_ObfDereferenceObject, // 0x00FA (250) - XREF_KT_FUNC_ObfReferenceObject, // 0x00FB (251) - XREF_KT_FUNC_PhyGetLinkState, // 0x00FC (252) - XREF_KT_FUNC_PhyInitialize, // 0x00FD (253) - XREF_KT_FUNC_PsCreateSystemThread, // 0x00FE (254) - XREF_KT_FUNC_PsCreateSystemThreadEx, // 0x00FF (255) - XREF_KT_FUNC_PsQueryStatistics, // 0x0100 (256) - XREF_KT_FUNC_PsSetCreateThreadNotifyRoutine, // 0x0101 (257) - XREF_KT_FUNC_PsTerminateSystemThread, // 0x0102 (258) - XREF_KT_VAR__PsThreadObjectType, // 0x0103 (259) - XREF_KT_FUNC_RtlAnsiStringToUnicodeString, // 0x0104 (260) - XREF_KT_FUNC_RtlAppendStringToString, // 0x0105 (261) - XREF_KT_FUNC_RtlAppendUnicodeStringToString, // 0x0106 (262) - XREF_KT_FUNC_RtlAppendUnicodeToString, // 0x0107 (263) - XREF_KT_FUNC_RtlAssert, // 0x0108 (264) - XREF_KT_FUNC_RtlCaptureContext, // 0x0109 (265) - XREF_KT_FUNC_RtlCaptureStackBackTrace, // 0x010A (266) - XREF_KT_FUNC_RtlCharToInteger, // 0x010B (267) - XREF_KT_FUNC_RtlCompareMemory, // 0x010C (268) - XREF_KT_FUNC_RtlCompareMemoryUlong, // 0x010D (269) - XREF_KT_FUNC_RtlCompareString, // 0x010E (270) - XREF_KT_FUNC_RtlCompareUnicodeString, // 0x010F (271) - XREF_KT_FUNC_RtlCopyString, // 0x0110 (272) - XREF_KT_FUNC_RtlCopyUnicodeString, // 0x0111 (273) - XREF_KT_FUNC_RtlCreateUnicodeString, // 0x0112 (274) - XREF_KT_FUNC_RtlDowncaseUnicodeChar, // 0x0113 (275) - XREF_KT_FUNC_RtlDowncaseUnicodeString, // 0x0114 (276) - XREF_KT_FUNC_RtlEnterCriticalSection, // 0x0115 (277) - XREF_KT_FUNC_RtlEnterCriticalSectionAndRegion, // 0x0116 (278) - XREF_KT_FUNC_RtlEqualString, // 0x0117 (279) - XREF_KT_FUNC_RtlEqualUnicodeString, // 0x0118 (280) - XREF_KT_FUNC_RtlExtendedIntegerMultiply, // 0x0119 (281) - XREF_KT_FUNC_RtlExtendedLargeIntegerDivide, // 0x011A (282) - XREF_KT_FUNC_RtlExtendedMagicDivide, // 0x011B (283) - XREF_KT_FUNC_RtlFillMemory, // 0x011C (284) - XREF_KT_FUNC_RtlFillMemoryUlong, // 0x011D (285) - XREF_KT_FUNC_RtlFreeAnsiString, // 0x011E (286) - XREF_KT_FUNC_RtlFreeUnicodeString, // 0x011F (287) - XREF_KT_FUNC_RtlGetCallersAddress, // 0x0120 (288) - XREF_KT_FUNC_RtlInitAnsiString, // 0x0121 (289) - XREF_KT_FUNC_RtlInitUnicodeString, // 0x0122 (290) - XREF_KT_FUNC_RtlInitializeCriticalSection, // 0x0123 (291) - XREF_KT_FUNC_RtlIntegerToChar, // 0x0124 (292) - XREF_KT_FUNC_RtlIntegerToUnicodeString, // 0x0125 (293) - XREF_KT_FUNC_RtlLeaveCriticalSection, // 0x0126 (294) - XREF_KT_FUNC_RtlLeaveCriticalSectionAndRegion, // 0x0127 (295) - XREF_KT_FUNC_RtlLowerChar, // 0x0128 (296) - XREF_KT_FUNC_RtlMapGenericMask, // 0x0129 (297) - XREF_KT_FUNC_RtlMoveMemory, // 0x012A (298) - XREF_KT_FUNC_RtlMultiByteToUnicodeN, // 0x012B (299) - XREF_KT_FUNC_RtlMultiByteToUnicodeSize, // 0x012C (300) - XREF_KT_FUNC_RtlNtStatusToDosError, // 0x012D (301) - XREF_KT_FUNC_RtlRaiseException, // 0x012E (302) - XREF_KT_FUNC_RtlRaiseStatus, // 0x012F (303) - XREF_KT_FUNC_RtlTimeFieldsToTime, // 0x0130 (304) - XREF_KT_FUNC_RtlTimeToTimeFields, // 0x0131 (305) - XREF_KT_FUNC_RtlTryEnterCriticalSection, // 0x0132 (306) - XREF_KT_FUNC_RtlUlongByteSwap, // 0x0133 (307) - XREF_KT_FUNC_RtlUnicodeStringToAnsiString, // 0x0134 (308) - XREF_KT_FUNC_RtlUnicodeStringToInteger, // 0x0135 (309) - XREF_KT_FUNC_RtlUnicodeToMultiByteN, // 0x0136 (310) - XREF_KT_FUNC_RtlUnicodeToMultiByteSize, // 0x0137 (311) - XREF_KT_FUNC_RtlUnwind, // 0x0138 (312) - XREF_KT_FUNC_RtlUpcaseUnicodeChar, // 0x0139 (313) - XREF_KT_FUNC_RtlUpcaseUnicodeString, // 0x013A (314) - XREF_KT_FUNC_RtlUpcaseUnicodeToMultiByteN, // 0x013B (315) - XREF_KT_FUNC_RtlUpperChar, // 0x013C (316) - XREF_KT_FUNC_RtlUpperString, // 0x013D (317) - XREF_KT_FUNC_RtlUshortByteSwap, // 0x013E (318) - XREF_KT_FUNC_RtlWalkFrameChain, // 0x013F (319) - XREF_KT_FUNC_RtlZeroMemory, // 0x0140 (320) - XREF_KT_VAR__XboxEEPROMKey, // 0x0141 (321) - XREF_KT_VAR__XboxHardwareInfo, // 0x0142 (322) - XREF_KT_VAR__XboxHDKey, // 0x0143 (323) - XREF_KT_VAR__XboxKrnlVersion, // 0x0144 (324) - XREF_KT_VAR__XboxSignatureKey, // 0x0145 (325) - XREF_KT_VAR__XeImageFileName, // 0x0146 (326) - XREF_KT_FUNC_XeLoadSection, // 0x0147 (327) - XREF_KT_FUNC_XeUnloadSection, // 0x0148 (328) - XREF_KT_FUNC_PortBufferRead_uint8, // 0x0149 (329) - XREF_KT_FUNC_PortBufferRead_uint16, // 0x014A (330) - XREF_KT_FUNC_PortBufferRead_uint32, // 0x014B (331) - XREF_KT_FUNC_PortBufferWrite_uint8, // 0x014C (332) - XREF_KT_FUNC_PortBufferWrite_uint16, // 0x014D (333) - XREF_KT_FUNC_PortBufferWrite_uint32, // 0x014E (334) - XREF_KT_FUNC_XcSHAInit, // 0x014F (335) - XREF_KT_FUNC_XcSHAUpdate, // 0x0150 (336) - XREF_KT_FUNC_XcSHAFinal, // 0x0151 (337) - XREF_KT_FUNC_XcRC4Key, // 0x0152 (338) - XREF_KT_FUNC_XcRC4Crypt, // 0x0153 (339) - XREF_KT_FUNC_XcHMAC, // 0x0154 (340) - XREF_KT_FUNC_XcPKEncPublic, // 0x0155 (341) - XREF_KT_FUNC_XcPKDecPrivate, // 0x0156 (342) - XREF_KT_FUNC_XcPKGetKeyLen, // 0x0157 (343) - XREF_KT_FUNC_XcVerifyPKCS1Signature, // 0x0158 (344) - XREF_KT_FUNC_XcModExp, // 0x0159 (345) - XREF_KT_FUNC_XcDESKeyParity, // 0x015A (346) - XREF_KT_FUNC_XcKeyTable, // 0x015B (347) - XREF_KT_FUNC_XcBlockCrypt, // 0x015C (348) - XREF_KT_FUNC_XcBlockCryptCBC, // 0x015D (349) - XREF_KT_FUNC_XcCryptService, // 0x015E (350) - XREF_KT_FUNC_XcUpdateCrypto, // 0x015F (351) - XREF_KT_FUNC_RtlRip, // 0x0160 (352) - XREF_KT_VAR__XboxLANKey, // 0x0161 (353) - XREF_KT_VAR__XboxAlternateSignatureKeys, // 0x0162 (354) - XREF_KT_VAR__XePublicKeyData, // 0x0163 (355) - XREF_KT_VAR__HalBootSMCVideoMode, // 0x0164 (356) - XREF_KT_VAR__IdexChannelObject, // 0x0165 (357) - XREF_KT_FUNC_HalIsResetOrShutdownPending, // 0x0166 (358) - XREF_KT_FUNC_IoMarkIrpMustComplete, // 0x0167 (359) - XREF_KT_FUNC_HalInitiateShutdown, // 0x0168 (360) - XREF_KT_FUNC_RtlSnprintf, // 0x0169 (361) - XREF_KT_FUNC_RtlSprintf, // 0x016A (362) - XREF_KT_FUNC_RtlVsnprintf, // 0x016B (363) - XREF_KT_FUNC_RtlVsprintf, // 0x016C (364) - XREF_KT_FUNC_HalEnableSecureTrayEject, // 0x016D (365) - XREF_KT_FUNC_HalWriteSMCScratchRegister, // 0x016E (366) - XREF_KT_FUNC_UnknownAPI367, // 0x016F (367) - XREF_KT_FUNC_UnknownAPI368, // 0x0170 (368) - XREF_KT_FUNC_UnknownAPI369, // 0x0171 (369) - XREF_KT_FUNC_XProfpControl, // 0x0172 (370) PROFILING - XREF_KT_FUNC_XProfpGetData, // 0x0173 (371) PROFILING - XREF_KT_FUNC_IrtClientInitFast, // 0x0174 (372) PROFILING - XREF_KT_FUNC_IrtSweep, // 0x0175 (373) PROFILING - XREF_KT_FUNC_MmDbgAllocateMemory, // 0x0176 (374) DEVKIT ONLY! - XREF_KT_FUNC_MmDbgFreeMemory, // 0x0177 (375) DEVKIT ONLY! - XREF_KT_FUNC_MmDbgQueryAvailablePages, // 0x0178 (376) DEVKIT ONLY! - XREF_KT_FUNC_MmDbgReleaseAddress, // 0x0179 (377) DEVKIT ONLY! - XREF_KT_FUNC_MmDbgWriteCheck, // 0x017A (378) DEVKIT ONLY! - XREF_KT_COUNT, - // END - DO NOT REARRANGE (kernel thunk) - // D3D variable addresses - XREF_D3DDEVICE = XREF_KT_COUNT, // initially set to XREF_ADDR_DERIVE // TODO : Rename to XREF_D3D__PDEVICE or something? // NOTE: There is such thing as D3D__DEVICE except it is at different address. - XREF_D3DRS_CULLMODE, // initially set to XREF_ADDR_DERIVE - //XREF_D3DRS_MULTISAMPLEMODE, // Avoid; It replaced to X_D3DRS_MULTISAMPLETYPE around XDK 4361 - XREF_D3DRS_MULTISAMPLERENDERTARGETMODE, // initially set to XREF_ADDR_DERIVE - XREF_D3DRS_ROPZCMPALWAYSREAD, // initially set to XREF_ADDR_DERIVE - XREF_D3DRS_ROPZREAD, // initially set to XREF_ADDR_DERIVE - XREF_D3DRS_DONOTCULLUNCOMPRESSED, // initially set to XREF_ADDR_DERIVE - XREF_D3DRS_STENCILCULLENABLE, // initially set to XREF_ADDR_DERIVE - XREF_D3DTSS_TEXCOORDINDEX, // initially set to XREF_ADDR_DERIVE - XREF_G_STREAM, // initially set to XREF_ADDR_DERIVE - // Offsets : - XREF_OFFSET_D3DDEVICE_M_PIXELSHADER, // initially set to XREF_ADDR_DERIVE - XREF_OFFSET_D3DDEVICE_M_TEXTURES, // initially set to XREF_ADDR_DERIVE - XREF_OFFSET_D3DDEVICE_M_PALETTES, // initially set to XREF_ADDR_DERIVE - XREF_OFFSET_D3DDEVICE_M_RENDERTARGET, // initially set to XREF_ADDR_DERIVE - XREF_OFFSET_D3DDEVICE_M_DEPTHSTENCIL, // initially set to XREF_ADDR_DERIVE - XREF_OFFSET_D3DDEVICE_M_VERTICALBLANKEVENT, // initially set to XREF_ADDR_DERIVE - XREF_OFFSET_D3DDEVICE_M_SWAPCALLBACK, // initially set to XREF_ADDR_DERIVE - XREF_OFFSET_D3DDEVICE_M_VBLANKCALLBACK, // initially set to XREF_ADDR_DERIVE - XREF_OFFSET_D3DDEVICE_M_VERTEXSHADER, // initially set to XREF_ADDR_DERIVE - // DSOUND variable addresses - XREF_DSS_VOICE_VTABLE, - XREF_DSS_STREAM_VTABLE, - // Functions - XREF_D3DDevice_SetRenderState_CullMode, - XREF_D3DRS_STENCILENABLE, - XREF_D3DRS_TWOSIDEDLIGHTING, - XREF_D3DRS_BACKFILLMODE, - XREF_D3DRS_FILLMODE, - XREF_D3DRS_ZBIAS, - XREF_D3DRS_LOGICOP, - XREF_D3DRS_MULTISAMPLEANTIALIAS, - XREF_D3DRS_SAMPLEALPHA, - XREF_D3DRS_LINEWIDTH, - XREF_D3DRS_MULTISAMPLEMASK, - XREF_D3DRS_DXT1NOISEENABLE, - XREF_D3DRS_YUVENABLE, - XREF_D3DRS_OCCLUSIONCULLENABLE, - XREF_D3DRS_MULTISAMPLEMODE, - XREF_D3DDevice_SetLight, - XREF_D3DDevice_LazySetStateVB, - XREF_D3D_BlockOnResource, - XREF_D3D_BlockOnTime, - XREF_D3D_CreateStandAloneSurface, - XREF_D3D_DestroyResource, - XREF_D3D_UpdateProjectionViewportTransform, - XREF_D3D_SetFence, - XREF_D3D_SetTileNoWait, - XREF_D3D_KickOffAndWaitForIdle, - XREF_D3D_MakeRequestedSpace, - XREF_D3D_CDevice_KickOff, - XREF_D3D_CDevice_MakeSpace, - XREF_D3DPalette_Lock2, - XREF_D3DTexture_GetSurfaceLevel2, - XREF_D3DDevice_BlockUntilVerticalBlank, - XREF_D3DDevice_CreatePalette2, - XREF_D3DDevice_CreateIndexBuffer2, - XREF_D3DDevice_CreateTexture2, - XREF_D3DDevice_CreateVertexBuffer2, - XREF_D3DDevice_GetBackBuffer2, - XREF_D3DDevice_GetDepthStencilSurface2, - XREF_D3DDevice_GetRenderTarget2, - XREF_D3DDevice_SetRenderTarget, - XREF_D3DDevice_MakeSpace, - XREF_D3DDevice_SetRenderState_Simple, - XREF_D3DDevice_SetRenderStateNotInline, - XREF_D3DDevice_SetVertexShaderConstant1, - XREF_D3DDevice_SetVertexShaderConstant4, - XREF_D3DResource_AddRef, - XREF_D3DVertexBuffer_Lock2, - XREF_XMETAL_StartPush, - XREF_XnInit, - XREF_XID_fCloseDevice, - XREF_D3D_ClearStateBlockFlags, - XREF_D3D_RecordStateBlock, - XREF_Lock2DSurface, - XREF_Lock3DSurface, - // DSOUND - XREF_CDirectSound3DCalculator_Calculate3D, - XREF_CDirectSound3DCalculator_GetMixBinVolumes, - XREF_CDirectSound3DCalculator_GetPanData, - XREF_CDirectSound3DCalculator_GetVoiceData, - XREF_CDirectSoundBuffer_GetCurrentPosition, - XREF_CDirectSoundBuffer_GetStatus, - XREF_CDirectSoundBuffer_GetVoiceProperties, - XREF_CDirectSoundBuffer_Lock, - XREF_CDirectSoundBuffer_Pause, - XREF_CDirectSoundBuffer_PauseEx, - XREF_CDirectSoundBuffer_Play, - XREF_CDirectSoundBuffer_PlayEx, - XREF_CDirectSoundBuffer_Set3DVoiceData, - XREF_CDirectSoundBuffer_SetAllParameters, - XREF_CDirectSoundBuffer_SetBufferData, - XREF_CDirectSoundBuffer_SetConeAngles, - XREF_CDirectSoundBuffer_SetConeOrientation, - XREF_CDirectSoundBuffer_SetConeOutsideVolume, - XREF_CDirectSoundBuffer_SetCurrentPosition, - XREF_CDirectSoundBuffer_SetDistanceFactor, - XREF_CDirectSoundBuffer_SetDopplerFactor, - XREF_CDirectSoundBuffer_SetEG, - XREF_CDirectSoundBuffer_SetFilter, - XREF_CDirectSoundBuffer_SetFormat, - XREF_CDirectSoundBuffer_SetFrequency, - XREF_CDirectSoundBuffer_SetHeadroom, - XREF_CDirectSoundBuffer_SetI3DL2Source, - XREF_CDirectSoundBuffer_SetLFO, - XREF_CDirectSoundBuffer_SetLoopRegion, - XREF_CDirectSoundBuffer_SetMaxDistance, - XREF_CDirectSoundBuffer_SetMinDistance, - XREF_CDirectSoundBuffer_SetMixBins, - XREF_CDirectSoundBuffer_SetMixBinVolumes, - XREF_CDirectSoundBuffer_SetMode, - XREF_CDirectSoundBuffer_SetNotificationPositions, - XREF_CDirectSoundBuffer_SetOutputBuffer, - XREF_CDirectSoundBuffer_SetPitch, - XREF_CDirectSoundBuffer_SetPlayRegion, - XREF_CDirectSoundBuffer_SetPosition, - XREF_CDirectSoundBuffer_SetRolloffCurve, - XREF_CDirectSoundBuffer_SetRolloffFactor, - XREF_CDirectSoundBuffer_SetVelocity, - XREF_CDirectSoundBuffer_SetVolume, - XREF_CDirectSoundBuffer_Stop, - XREF_CDirectSoundBuffer_StopEx, - XREF_CDirectSoundBuffer_Use3DVoiceData, - XREF_CDirectSoundStream_AddRef, - XREF_CDirectSoundStream_Constructor, - XREF_CDirectSoundStream_FlushEx, - XREF_CDirectSoundStream_GetVoiceProperties, - XREF_CDirectSoundStream_Pause, - XREF_CDirectSoundStream_PauseEx, - XREF_CDirectSoundStream_Release, - XREF_CDirectSoundStream_Set3DVoiceData, - XREF_CDirectSoundStream_SetAllParameters, - XREF_CDirectSoundStream_SetConeAngles, - XREF_CDirectSoundStream_SetConeOrientation, - XREF_CDirectSoundStream_SetConeOutsideVolume, - XREF_CDirectSoundStream_SetDistanceFactor, - XREF_CDirectSoundStream_SetDopplerFactor, - XREF_CDirectSoundStream_SetEG, - XREF_CDirectSoundStream_SetFilter, - XREF_CDirectSoundStream_SetFormat, - XREF_CDirectSoundStream_SetFrequency, - XREF_CDirectSoundStream_SetHeadroom, - XREF_CDirectSoundStream_SetI3DL2Source, - XREF_CDirectSoundStream_SetLFO, - XREF_CDirectSoundStream_SetMaxDistance, - XREF_CDirectSoundStream_SetMinDistance, - XREF_CDirectSoundStream_SetMixBins, - XREF_CDirectSoundStream_SetMixBinVolumes_12, - XREF_CDirectSoundStream_SetMixBinVolumes_8, - XREF_CDirectSoundStream_SetMode, - XREF_CDirectSoundStream_SetOutputBuffer, - XREF_CDirectSoundStream_SetPitch, - XREF_CDirectSoundStream_SetPosition, - XREF_CDirectSoundStream_SetRolloffCurve, - XREF_CDirectSoundStream_SetRolloffFactor, - XREF_CDirectSoundStream_SetVelocity, - XREF_CDirectSoundStream_SetVolume, - XREF_CDirectSoundStream_Use3DVoiceData, - XREF_CDirectSoundVoiceSettings_SetMixBins, - XREF_CDirectSoundVoiceSettings_SetMixBinVolumes, - XREF_CDirectSoundVoice_CommitDeferredSettings, - XREF_CDirectSoundVoice_GetVoiceProperties, - XREF_CDirectSoundVoice_Set3DVoiceData, - XREF_CDirectSoundVoice_SetAllParameters, - XREF_CDirectSoundVoice_SetConeAngles, - XREF_CDirectSoundVoice_SetConeOrientation, - XREF_CDirectSoundVoice_SetConeOutsideVolume, - XREF_CDirectSoundVoice_SetDistanceFactor, - XREF_CDirectSoundVoice_SetDopplerFactor, - XREF_CDirectSoundVoice_SetEG, - XREF_CDirectSoundVoice_SetFilter, - XREF_CDirectSoundVoice_SetFormat, - XREF_CDirectSoundVoice_SetFrequency, - XREF_CDirectSoundVoice_SetHeadroom, - XREF_CDirectSoundVoice_SetI3DL2Source, - XREF_CDirectSoundVoice_SetLFO, - XREF_CDirectSoundVoice_SetMaxDistance, - XREF_CDirectSoundVoice_SetMinDistance, - XREF_CDirectSoundVoice_SetMixBins, - XREF_CDirectSoundVoice_SetMixBinVolumes, - XREF_CDirectSoundVoice_SetMode, - XREF_CDirectSoundVoice_SetOutputBuffer, - XREF_CDirectSoundVoice_SetPitch, - XREF_CDirectSoundVoice_SetPosition, - XREF_CDirectSoundVoice_SetRolloffCurve, - XREF_CDirectSoundVoice_SetRolloffFactor, - XREF_CDirectSoundVoice_SetVelocity, - XREF_CDirectSoundVoice_SetVolume, - XREF_CDirectSoundVoice_Use3DVoiceData, - XREF_CDirectSound_CommitDeferredSettings, - XREF_CDirectSound_CommitEffectData, - XREF_CDirectSound_CreateSoundBuffer, - XREF_CDirectSound_CreateSoundStream, - XREF_CDirectSound_DownloadEffectsImage, - XREF_CDirectSound_DoWork, - XREF_CDirectSound_EnableHeadphones, - XREF_CDirectSound_GetCaps, - XREF_CDirectSound_GetEffectData, - XREF_CDirectSound_GetOutputLevels, - XREF_CDirectSound_GetSpeakerConfig, - XREF_CDirectSound_GetTime, - XREF_CDirectSound_MapBufferData, - XREF_CDirectSound_SetAllParameters, - XREF_CDirectSound_SetDistanceFactor, - XREF_CDirectSound_SetDopplerFactor, - XREF_CDirectSound_SetEffectData, - XREF_CDirectSound_SetI3DL2Listener, - XREF_CDirectSound_SetMixBinHeadroom, - XREF_CDirectSound_SetOrientation, - XREF_CDirectSound_SetPosition, - XREF_CDirectSound_SetRolloffFactor, - XREF_CDirectSound_SetVelocity, - XREF_CDirectSound_SynchPlayback, - XREF_CDirectSound_UnmapBufferData, - XREF_CFullHRTFSource_GetCenterVolume, - XREF_CLightHRTFSource_GetCenterVolume, - XREF_CFullHrtfSource_GetHrtfFilterPair, - XREF_CHrtfSource_SetAlgorithm_FullHrtf, - XREF_CHrtfSource_SetAlgorithm_LightHrtf, - XREF_CHRTFSource_SetFullHRTF4Channel, - XREF_CHRTFSource_SetFullHRTF5Channel, - XREF_CHRTFSource_SetLightHRTF4Channel, - XREF_CHRTFSource_SetLightHRTF5Channel, - XREF_CLightHrtfSource_GetHrtfFilterPair, - XREF_CMcpxAPU_Commit3dSettings, - XREF_CMcpxAPU_ServiceDeferredCommandsLow, - XREF_CMcpxAPU_Set3dDistanceFactor, - XREF_CMcpxAPU_Set3dDopplerFactor, - XREF_CMcpxAPU_Set3dParameters, - XREF_CMcpxAPU_Set3dPosition, - XREF_CMcpxAPU_Set3dRolloffFactor, - XREF_CMcpxAPU_Set3dVelocity, - XREF_CMcpxAPU_SetI3DL2Listener, - XREF_CMcpxAPU_SetMixBinHeadroom, - XREF_CMcpxAPU_SynchPlayback, - XREF_CDirectSoundBufferSettings_SetBufferData, - XREF_CMcpxBuffer_GetCurrentPosition, - XREF_CMcpxBuffer_GetStatus, - XREF_CMcpxBuffer_Pause, - XREF_CMcpxBuffer_Pause_Ex, - XREF_CMcpxBuffer_Play, - XREF_CMcpxBuffer_Play_Ex, - XREF_CMcpxBuffer_SetBufferData, - XREF_CMcpxBuffer_SetCurrentPosition, - XREF_CMcpxBuffer_Stop, - XREF_CMcpxBuffer_Stop_Ex, - XREF_CMcpxStream_Discontinuity, - XREF_CMcpxStream_Flush, - XREF_CMcpxStream_GetStatus, - XREF_CMcpxStream_Pause, - XREF_CMcpxStream_Pause_Ex, - XREF_CMcpxStream_Stop, - XREF_CMcpxStream_Stop_Ex, - XREF_CMcpxVoiceClient_Commit3dSettings, - XREF_CMcpxVoiceClient_GetVoiceProperties, - XREF_CMcpxVoiceClient_Set3dConeOrientation, - XREF_CMcpxVoiceClient_Set3dConeOutsideVolume, - XREF_CMcpxVoiceClient_Set3dMaxDistance, - XREF_CMcpxVoiceClient_Set3dMinDistance, - XREF_CMcpxVoiceClient_Set3dMode, - XREF_CMcpxVoiceClient_Set3dParameters, - XREF_CMcpxVoiceClient_Set3dPosition, - XREF_CMcpxVoiceClient_Set3dVelocity, - XREF_CMcpxVoiceClient_SetEG, - XREF_CMcpxVoiceClient_SetFilter, - XREF_CMcpxVoiceClient_SetI3DL2Source, - XREF_CMcpxVoiceClient_SetLFO, - XREF_CMcpxVoiceClient_SetMixBins, - XREF_CMcpxVoiceClient_SetPitch, - XREF_CMcpxVoiceClient_SetVolume, - XREF_CSensaura3d_GetFullHRTFFilterPair, - XREF_CSensaura3d_GetLiteHRTFFilterPair, - XREF_D3D_CommonSetRenderTarget, - XREF_DirectSoundEnterCriticalSection, - XREF_DSound_CRefCount_AddRef, - XREF_DSound_CRefCount_Release, - XREF_IDirectSound_CreateSoundBuffer, - XREF_IDirectSound_CreateSoundStream, - XREF_WaveFormat_CreateXboxAdpcmFormat, - XREF_XAudioCalculatePitch, - // XACT - // +s - XREF_XACT_CEngine_RegisterWaveBank, - XREF_XACT_CEngine_RegisterStreamedWaveBank, - XREF_XACT_CEngine_CreateSoundBank, - XREF_XACT_CEngine_DownloadEffectsImage, - XREF_XACT_CEngine_CreateSoundSource, - XREF_XACT_CSoundBank_GetSoundCueIndexFromFriendlyName, - XREF_XACT_CSoundBank_Play, - XREF_XACT_CEngine_RegisterNotification, - XREF_XACT_CEngine_GetNotification, - XREF_XACT_CEngine_UnRegisterWaveBank, - // XONLINE - // +s - XREF_XoUpdateLaunchNewImageInternal, - XREF_CXo_XOnlineLogon, - XREF_CXo_XOnlineMatchSearch, - XREF_CXo_XOnlineMatchSearchResultsLen, - XREF_CXo_XOnlineMatchSearchGetResults, - XREF_CXo_XOnlineMatchSessionUpdate, - XREF_CXo_XOnlineMatchSessionCreate, - - // XAPI - // derive - XREF_g_DeviceType_MU, - XREF_g_XapiCurrentTopLevelFilter, - XREF_g_XapiMountedMUs, - // Variables - XREF_XAPI__tls_array, // initially set to XREF_ADDR_DERIVE - XREF_XAPI__tls_index, // initially set to XREF_ADDR_DERIVE - // Offsets - XREF_OFFSET_XapiCurrentFiber, // initially set to XREF_ADDR_DERIVE - XREF_OFFSET_XapiLastErrorCode, // initially set to XREF_ADDR_DERIVE - XREF_OFFSET_XapiThreadFiberData, // initially set to XREF_ADDR_DERIVE - // Functions - XREF_IUsbInit_GetMaxDeviceTypeCount, - XREF_MU_Init, - XREF_XAPI__cinit, - XREF_XAPI__rtinit, - XREF_XAPI_mainXapiStartup, - XREF_XAPI_CreateThread, - XREF_XAPI_GetLastError, - XREF_XAPI_GetTypeInformation, - XREF_XAPI_OutputDebugStringA, - XREF_XAPI_SetLastError, - XREF_XAPI_UnhandledExceptionFilter, - XREF_XapiBootToDash, - XREF_XapiCallThreadNotifyRoutines, - XREF_XapiFormatObjectAttributes, - XREF_XapiMapLetterToDirectory, - XREF_XapiSelectCachePartition, - XREF_XapiSetLastNTError, - XREF_XapiThreadNotifyRoutineList, // initially set to XREF_ADDR_DERIVE - XREF_XapiThreadStartup, - XREF_XGetSectionSize, // initially set to XREF_ADDR_DERIVE - XREF_XLaunchNewImageA, - XREF_XUnmountAlternateTitleA, - - // JVS - XREF_JVS_SendCommand_String, - XREF_JvsBACKUP_Read_String, - XREF_JvsBACKUP_Write_String, - XREF_JvsEEPROM_Read_String, - XREF_JvsEEPROM_Write_String, - XREF_JvsFirmwareDownload_String, - XREF_JvsFirmwareUpload_String, - XREF_JvsNodeReceivePacket_String, - XREF_JvsNodeSendPacket_String, - XREF_JvsRTC_Read_String, - XREF_JvsRTC_Write_String, - XREF_JvsScFirmwareDownload_String, - XREF_JvsScFirmwareUpload_String, - XREF_JvsScReceiveMidi_String, - XREF_JvsScReceiveRs323c_String, - XREF_JvsScSendMidi_String, - XREF_JvsScSendRs323c_String, - - XREF_COUNT // XREF_COUNT must always be last. - // Also, if XREF_COUNT > sizeof(uint16), enlarge struct OOVPA.XRefSaveIndex (and Value somehow) -} XRefDatabaseOffset; - -#define XREF_ADDR_UNDETERMINED -1 -#define XREF_ADDR_NOT_FOUND ((void*)0) -#define XREF_ADDR_DERIVE 1 - typedef enum _xb_output_message { XB_OUTPUT_MESSAGE_DEBUG = 0, XB_OUTPUT_MESSAGE_INFO, diff --git a/projects/libXbSymbolDatabase/CMakeLists.txt b/projects/libXbSymbolDatabase/CMakeLists.txt index c646550e..abd3263a 100644 --- a/projects/libXbSymbolDatabase/CMakeLists.txt +++ b/projects/libXbSymbolDatabase/CMakeLists.txt @@ -11,6 +11,28 @@ file(GLOB INCLUDES source_group(TREE ${XBSDB_ROOT_DIR} FILES ${INCLUDES}) file(GLOB HEADERS + "${XBSDB_ROOT_DIR}/src/xref/list_xref.h" + "${XBSDB_ROOT_DIR}/src/xref/d3d8.def" + "${XBSDB_ROOT_DIR}/src/xref/d3d8ltcg.def" +# "${XBSDB_ROOT_DIR}/src/xref/d3dx8.def" # do we need this? + "${XBSDB_ROOT_DIR}/src/xref/dsound.def" + "${XBSDB_ROOT_DIR}/src/xref/jvs.def" + "${XBSDB_ROOT_DIR}/src/xref/xacteng.def" + "${XBSDB_ROOT_DIR}/src/xref/xapilib.def" + "${XBSDB_ROOT_DIR}/src/xref/xgraphic.def" + "${XBSDB_ROOT_DIR}/src/xref/xnet.def" +# "${XBSDB_ROOT_DIR}/src/xref/xnetn.def" # do we need this? +# "${XBSDB_ROOT_DIR}/src/xref/xnets.def" # do we need this? + "${XBSDB_ROOT_DIR}/src/xref/xonline.def" +# "${XBSDB_ROOT_DIR}/src/xref/xonlines.def" # do we need this? + + "${XBSDB_ROOT_DIR}/src/lib/internal_db_version.h" + "${XBSDB_ROOT_DIR}/src/lib/internal_functions.h" + "${XBSDB_ROOT_DIR}/src/lib/internal_tests.h" + "${XBSDB_ROOT_DIR}/src/lib/manual_custom.h" + "${XBSDB_ROOT_DIR}/src/lib/manual_d3d8__ltcg.h" + "${XBSDB_ROOT_DIR}/src/lib/manual_dsound.h" + "${XBSDB_ROOT_DIR}/src/lib/manual_xapilib.h" "${XBSDB_ROOT_DIR}/src/OOVPADatabase/OOVPA.h" ) source_group(TREE ${XBSDB_ROOT_DIR}/src PREFIX header FILES ${HEADERS}) @@ -28,6 +50,7 @@ add_library (${PROJECT_NAME} ${INCLUDES} ${HEADERS} ${SOURCES}) target_include_directories(${PROJECT_NAME} PUBLIC "${XBSDB_ROOT_DIR}/include" PRIVATE "${XBSDB_ROOT_DIR}/src/OOVPADatabase" + PRIVATE "${XBSDB_ROOT_DIR}/src/xref" ) target_compile_definitions(${PROJECT_NAME} PRIVATE _CRT_SECURE_NO_WARNINGS) diff --git a/src/OOVPADatabase/D3D8/3911.inl b/src/OOVPADatabase/D3D8/3911.inl index 287ffecd..3b82b644 100644 --- a/src/OOVPADatabase/D3D8/3911.inl +++ b/src/OOVPADatabase/D3D8/3911.inl @@ -34,8 +34,6 @@ // this OOVPA itself is not a symbol. OOVPA_SIG_HEADER_XREF_DETECT(D3DDevice__m_VerticalBlankEvent__ManualFindGeneric, 3911, - - XRefNoSaveIndex, XRefTwo, DetectFirst) OOVPA_SIG_MATCH( @@ -109,8 +107,6 @@ OOVPA_NO_XREF(D3DDevice_GetTexture2, 3911, 23) { #else OOVPA_XREF(D3DDevice_GetTexture2, 3911, 1 + 23, // Also for 3948, ?4361? - - XRefNoSaveIndex, XRefOne) { @@ -152,9 +148,9 @@ OOVPA_END; OOVPA_NO_XREF(D3DDevice_SetTexture, 3911, 28) { #else -OOVPA_XREF(D3DDevice_SetTexture, 3911, 1 + 28, - - XRefNoSaveIndex, +OOVPA_XREF(D3DDevice_SetTexture, + 3911, + 1 + 28, XRefOne) { @@ -392,9 +388,9 @@ OOVPA_SIG_MATCH( OOVPA_NO_XREF(D3DDevice_GetDepthStencilSurface, 3911, 18) { #else -OOVPA_XREF(D3DDevice_GetDepthStencilSurface, 3911, 1 + 18, - - XRefNoSaveIndex, +OOVPA_XREF(D3DDevice_GetDepthStencilSurface, + 3911, + 1 + 18, XRefOne) { @@ -457,8 +453,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 3911 and newer. OOVPA_SIG_HEADER_XREF(D3D_DestroyResource, 3911, - - XREF_D3D_DestroyResource, XRefOne) OOVPA_SIG_MATCH( @@ -515,8 +509,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(D3DDevice_LightEnable, 3911, // valid upto at least 4627, next known difference is from 5344 onwards - - XRefNoSaveIndex, XRefTwo) OOVPA_SIG_MATCH( @@ -572,8 +564,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(D3DDevice_GetLightEnable, 3911, // valid upto at least 5233, next known difference is from 5344 onwards - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -618,11 +608,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * D3D_ClearStateBlockFlags // ****************************************************************** -OOVPA_SIG_HEADER_XREF(D3D_ClearStateBlockFlags, - 3911, - - XREF_D3D_ClearStateBlockFlags, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(D3D_ClearStateBlockFlags, + 3911) OOVPA_SIG_MATCH( { 0x01, 0x15 }, @@ -648,8 +635,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(D3DDevice_BeginStateBlock, 3911, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -671,11 +656,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * D3D_RecordStateBlock // ****************************************************************** -OOVPA_SIG_HEADER_XREF(D3D_RecordStateBlock, - 3911, - - XREF_D3D_RecordStateBlock, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(D3D_RecordStateBlock, + 3911) OOVPA_SIG_MATCH( { 0x00, 0x55 }, @@ -707,8 +689,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(D3DDevice_EndStateBlock, 3911, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -964,11 +944,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * Lock3DSurface // ****************************************************************** -OOVPA_SIG_HEADER_XREF(Lock3DSurface, - 3911, - - XREF_Lock3DSurface, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(Lock3DSurface, + 3911) OOVPA_SIG_MATCH( // D3D::PixelJar::Lock3DSurface + 0x00: sub esp, 8 @@ -998,7 +975,7 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * D3D::CDevice::SetStateUP // ****************************************************************** -OOVPA_SIG_HEADER_NO_XREF(D3DDevice_SetStateUP, +OOVPA_SIG_HEADER_NO_XREF(CDevice_SetStateUP, 3911) OOVPA_SIG_MATCH( @@ -1027,7 +1004,7 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * D3D::CDevice::SetStateVB // ****************************************************************** -OOVPA_SIG_HEADER_NO_XREF(D3DDevice_SetStateVB, +OOVPA_SIG_HEADER_NO_XREF(CDevice_SetStateVB, 3911) OOVPA_SIG_MATCH( @@ -1183,8 +1160,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(D3DDevice_SetTextureState_TexCoordIndex, 3911, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -1219,8 +1194,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(D3DDevice_SetRenderState_CullMode, 3911, - - XRefNoSaveIndex, XRefTwo) OOVPA_SIG_MATCH( @@ -1446,11 +1419,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * D3D::CDevice::KickOff // ****************************************************************** -OOVPA_SIG_HEADER_XREF(D3DDevice_KickOff, - 3911, - - XREF_D3D_CDevice_KickOff, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CDevice_KickOff, + 3911) OOVPA_SIG_MATCH( { 0x01, 0xA1 }, @@ -1532,8 +1502,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 3911 and newer. OOVPA_SIG_HEADER_XREF(D3DDevice_BlockUntilVerticalBlank, 3911, - - XREF_D3DDevice_BlockUntilVerticalBlank, XRefTwo) OOVPA_SIG_MATCH( @@ -1573,8 +1541,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 3911 and newer. OOVPA_SIG_HEADER_XREF(D3DDevice_SetVerticalBlankCallback, 3911, - - XRefNoSaveIndex, XRefTwo) OOVPA_SIG_MATCH( @@ -1601,15 +1567,12 @@ OOVPA_SIG_MATCH( // ****************************************************************** // NOTE: Signature is not compatible with LTCG #ifndef WIP_LessVertexPatching -OOVPA_XREF(D3DDevice_SetRenderTarget, 3911, 11, - - XREF_D3DDevice_SetRenderTarget, - XRefZero) +OOVPA_NO_XREF(D3DDevice_SetRenderTarget, 3911, 11) { #else -OOVPA_XREF(D3DDevice_SetRenderTarget, 3911, 1 + 11, - - XREF_D3DDevice_SetRenderTarget, +OOVPA_XREF(D3DDevice_SetRenderTarget, + 3911, + 1 + 11, XRefOne) { @@ -1706,8 +1669,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(D3DDevice_SetStreamSource, 3911, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -1741,8 +1702,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(D3DDevice_SetVertexShader, 3911, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -1810,9 +1769,9 @@ OOVPA_SIG_MATCH( OOVPA_NO_XREF(D3DDevice_SetPixelShader, 3911, 11) { #else -OOVPA_XREF(D3DDevice_SetPixelShader, 3911, 1 + 11, - - XRefNoSaveIndex, +OOVPA_XREF(D3DDevice_SetPixelShader, + 3911, + 1 + 11, XRefOne) { @@ -2178,9 +2137,9 @@ OOVPA_SIG_MATCH( OOVPA_NO_XREF(D3DDevice_SetPalette, 3911, 12) { #else -OOVPA_XREF(D3DDevice_SetPalette, 3911, 1 + 12, - - XRefNoSaveIndex, +OOVPA_XREF(D3DDevice_SetPalette, + 3911, + 1 + 12, XRefOne) { @@ -2534,10 +2493,8 @@ OOVPA_SIG_MATCH( // * D3DDevice_SetRenderState_Simple // ****************************************************************** // Generic OOVPA as of 3911 and newer. -OOVPA_SIG_HEADER_XREF(D3DDevice_SetRenderState_Simple, - 3911, - XREF_D3DDevice_SetRenderState_Simple, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(D3DDevice_SetRenderState_Simple, + 3911) OOVPA_SIG_MATCH( // D3DDevice_SetRenderState_Simple+0x00 : mov eax, [D3D__DEVICE] @@ -2599,8 +2556,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(D3D_UpdateProjectionViewportTransform, 3911, - - XREF_D3D_UpdateProjectionViewportTransform, XRefOne) OOVPA_SIG_MATCH( // mov e??, XREF_D3DDEVICE @@ -2927,15 +2882,15 @@ OOVPA_SIG_MATCH( // * D3DDevice_GetRenderTarget // ****************************************************************** #ifndef WIP_LessVertexPatching -OOVPA_XREF(D3DDevice_GetRenderTarget, 3911, 1 + 19, - - XRefNoSaveIndex, +OOVPA_XREF(D3DDevice_GetRenderTarget, + 3911, + 1 + 19, XRefOne) { #else -OOVPA_XREF(D3DDevice_GetRenderTarget, 3911, 2 + 19, - - XRefNoSaveIndex, +OOVPA_XREF(D3DDevice_GetRenderTarget, + 3911, + 2 + 19, XRefTwo) { @@ -3123,11 +3078,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * D3DResource_AddRef // ****************************************************************** -OOVPA_SIG_HEADER_XREF(D3DResource_AddRef, - 3911, - - XREF_D3DResource_AddRef, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(D3DResource_AddRef, + 3911) OOVPA_SIG_MATCH( // D3DResource_AddRef+0x00 : push esi @@ -3294,12 +3246,10 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(D3DVolumeTexture_LockBox, 3911, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( - XREF_ENTRY(0x01, XREF_Lock3DSurface), + XREF_ENTRY(0x01, XREF_D3D8_Lock3DSurface), { 0x00, 0xE9 }, // @@ -3310,12 +3260,10 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(D3DCubeTexture_LockRect, 3911, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( - XREF_ENTRY(0x01, XREF_Lock2DSurface), + XREF_ENTRY(0x01, XREF_D3D8_Lock2DSurface), { 0x00, 0xE9 }, // @@ -3360,11 +3308,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * Lock2DSurface // ****************************************************************** -OOVPA_SIG_HEADER_XREF(Lock2DSurface, - 3911, - - XREF_Lock2DSurface, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(Lock2DSurface, + 3911) OOVPA_SIG_MATCH( { 0x00, 0x51 }, @@ -3877,8 +3822,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(D3DDevice_PersistDisplay, 3911, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -4000,8 +3943,6 @@ OOVPA_SIG_MATCH( // except for the offset references. OOVPA_SIG_HEADER_XREF(D3DDevice_SetRenderState_OcclusionCullEnable, 3911, - - XRefNoSaveIndex, XRefTwo) OOVPA_SIG_MATCH( @@ -4036,8 +3977,6 @@ OOVPA_SIG_MATCH( // except for the offset references. OOVPA_SIG_HEADER_XREF(D3DDevice_SetRenderState_StencilCullEnable, 3911, - - XRefNoSaveIndex, XRefTwo) OOVPA_SIG_MATCH( @@ -4070,8 +4009,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(D3DDevice_DrawVerticesUP, 3911, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -4102,8 +4039,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(D3DDevice_DrawIndexedVerticesUP, 3911, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -4331,11 +4266,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * D3DDevice_SetLight // ****************************************************************** -OOVPA_SIG_HEADER_XREF(D3DDevice_SetLight, - 3911, - - XREF_D3DDevice_SetLight, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(D3DDevice_SetLight, + 3911) OOVPA_SIG_MATCH( { 0x00, 0x83 }, @@ -4551,11 +4483,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * This is for the real D3D::KickOffAndWaitForIdle // ****************************************************************** -OOVPA_SIG_HEADER_XREF(D3D_KickOffAndWaitForIdle, - 3911, - - XREF_D3D_KickOffAndWaitForIdle, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(D3D_KickOffAndWaitForIdle, + 3911) OOVPA_SIG_MATCH( { 0x00, 0xA1 }, @@ -4772,8 +4701,6 @@ OOVPA_SIG_MATCH( // LTCG: 1024 OOVPA_SIG_HEADER_XREF(D3DDevice_SetRenderState_RopZCmpAlwaysRead, 3911, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -4802,8 +4729,6 @@ OOVPA_SIG_MATCH( // LTCG: 1024 OOVPA_SIG_HEADER_XREF(D3DDevice_SetRenderState_RopZRead, 3911, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -4832,8 +4757,6 @@ OOVPA_SIG_MATCH( // LTCG: 1024 OOVPA_SIG_HEADER_XREF(D3DDevice_SetRenderState_DoNotCullUncompressed, 3911, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -4860,11 +4783,8 @@ OOVPA_SIG_MATCH( // * XMETAL_StartPush // ****************************************************************** // Generic OOVPA as of 3911; Removed in 4034?? -OOVPA_SIG_HEADER_XREF(XMETAL_StartPush, - 3911, - - XREF_XMETAL_StartPush, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(XMETAL_StartPush, + 3911) OOVPA_SIG_MATCH( // XMETAL_StartPush+0x00 : mov ecx, [esp+0x4] @@ -4891,11 +4811,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * D3D::SetFence // ****************************************************************** -OOVPA_SIG_HEADER_XREF(D3D_SetFence, - 3911, - - XREF_D3D_SetFence, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(D3D_SetFence, + 3911) OOVPA_SIG_MATCH( // D3D::SetFence+0x00 : push ebx @@ -4927,8 +4844,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(D3DDevice_InsertFence, 3911, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -4991,8 +4906,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(D3DDevice_BlockOnFence, 3911, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -5112,11 +5025,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * D3D::BlockOnTime // ****************************************************************** -OOVPA_SIG_HEADER_XREF(D3D_BlockOnTime, - 3911, - - XREF_D3D_BlockOnTime, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(D3D_BlockOnTime, + 3911) OOVPA_SIG_MATCH( // D3D::BlockOnFence+0x00 : push ebp @@ -5142,11 +5052,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * D3D::BlockOnResource // ****************************************************************** -OOVPA_SIG_HEADER_XREF(D3D_BlockOnResource, - 3911, - - XREF_D3D_BlockOnResource, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(D3D_BlockOnResource, + 3911) OOVPA_SIG_MATCH( { 0x00, 0xA1 }, @@ -5167,8 +5074,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(D3DResource_BlockUntilNotBusy, 3911, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -5702,8 +5607,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(D3DDevice_KickPushBuffer, 3911, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -5742,10 +5645,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * CDevice::MakeSpace_4 // ****************************************************************** -OOVPA_SIG_HEADER_XREF(CDevice_MakeSpace, - 3911, - XREF_D3D_CDevice_MakeSpace, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CDevice_MakeSpace, + 3911) OOVPA_SIG_MATCH( // CDevice::MakeSpace_4+0x00 : sub esp,0x__ @@ -5772,7 +5673,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 3911 and newer. OOVPA_SIG_HEADER_XREF(D3DDevice_SetRenderStateNotInline, 3911, - XREF_D3DDevice_SetRenderStateNotInline, XRefOne) OOVPA_SIG_MATCH( @@ -5802,7 +5702,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 3911 and newer. OOVPA_SIG_HEADER_XREF_DETECT(D3DDevice_SetRenderState, 3911, - XRefNoSaveIndex, XRefOne, DetectFirst) OOVPA_SIG_MATCH( @@ -5829,7 +5728,6 @@ OOVPA_SIG_MATCH( // TODO: Add another macro to accept duplicates. OOVPA_SIG_HEADER_XREF_DETECT(D3DDevice_SetRenderState2, 3911, - XRefNoSaveIndex, XRefOne, DetectSecond) OOVPA_SIG_MATCH( diff --git a/src/OOVPADatabase/D3D8/3947.inl b/src/OOVPADatabase/D3D8/3947.inl index e964ecdf..b2ac34e5 100644 --- a/src/OOVPADatabase/D3D8/3947.inl +++ b/src/OOVPADatabase/D3D8/3947.inl @@ -27,15 +27,12 @@ // * D3DDevice_SetRenderTarget // ****************************************************************** #ifndef WIP_LessVertexPatching -OOVPA_XREF(D3DDevice_SetRenderTarget, 3947, 11, - - XREF_D3DDevice_SetRenderTarget, - XRefZero) +OOVPA_NO_XREF(D3DDevice_SetRenderTarget, 3947, 11) { #else -OOVPA_XREF(D3DDevice_SetRenderTarget, 3947, 1 + 11, - - XREF_D3DDevice_SetRenderTarget, +OOVPA_XREF(D3DDevice_SetRenderTarget, + 3947, + 1 + 11, XRefOne) { diff --git a/src/OOVPADatabase/D3D8/4034.inl b/src/OOVPADatabase/D3D8/4034.inl index b3b21fdb..e11f9a45 100644 --- a/src/OOVPADatabase/D3D8/4034.inl +++ b/src/OOVPADatabase/D3D8/4034.inl @@ -168,8 +168,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 4034 and newer OOVPA_SIG_HEADER_XREF(D3D_UpdateProjectionViewportTransform, 4034, - - XREF_D3D_UpdateProjectionViewportTransform, XRefOne) OOVPA_SIG_MATCH( // mov e??, XREF_D3DDEVICE @@ -225,8 +223,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(D3DDevice_SetRenderState_CullMode, 4034, - - XREF_D3DDevice_SetRenderState_CullMode, XRefTwo) OOVPA_SIG_MATCH( @@ -327,8 +323,6 @@ OOVPA_SIG_MATCH( // * D3DDevice_SetStreamSource // ****************************************************************** OOVPA_XREF(D3DDevice_SetStreamSource, 4034, 1 + 14, // 1+28 - - XRefNoSaveIndex, XRefOne) { @@ -858,8 +852,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(D3DVertexBuffer_Lock, 4034, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -891,8 +883,6 @@ OOVPA_NO_XREF(D3DDevice_SetTexture, 4034, 10) // TODO : Alias 3911 instead ? { #else OOVPA_XREF(D3DDevice_SetTexture, 4034, 1 + 10, // TODO : Alias 3911 instead ? - - XRefNoSaveIndex, XRefOne) { @@ -927,9 +917,9 @@ OOVPA_END; OOVPA_NO_XREF(D3DDevice_SetPalette, 4034, 12) { #else -OOVPA_XREF(D3DDevice_SetPalette, 4034, 1 + 12, - - XRefNoSaveIndex, +OOVPA_XREF(D3DDevice_SetPalette, + 4034, + 1 + 12, XRefOne) { @@ -956,8 +946,6 @@ OOVPA_END; // ****************************************************************** OOVPA_SIG_HEADER_XREF(D3DDevice_SetTextureState_TexCoordIndex, 4034, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -1017,8 +1005,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(D3DDevice_SetVertexShader, 4034, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -1113,11 +1099,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * D3D::CreateStandAloneSurface // ****************************************************************** -OOVPA_SIG_HEADER_XREF(D3D_CreateStandAloneSurface, - 4034, - - XREF_D3D_CreateStandAloneSurface, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(D3D_CreateStandAloneSurface, + 4034) OOVPA_SIG_MATCH( { 0x01, 0x54 }, @@ -1142,8 +1125,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(D3DDevice_CreateImageSurface, 4034, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -1271,16 +1252,10 @@ OOVPA_SIG_MATCH( // * D3DDevice_SetRenderTarget // ****************************************************************** #ifndef WIP_LessVertexPatching -OOVPA_XREF(D3DDevice_SetRenderTarget, 4034, 10, - - XREF_D3DDevice_SetRenderTarget, - XRefZero) +OOVPA_NO_XREF(D3DDevice_SetRenderTarget, 4034, 10) { #else -OOVPA_XREF(D3DDevice_SetRenderTarget, 4034, 1 + 10, - - XREF_D3DDevice_SetRenderTarget, - XRefOne) +OOVPA_XREF(D3DDevice_SetRenderTarget, 4034, 1 + 10, XRefOne) { XREF_ENTRY(0x17, XREF_OFFSET_D3DDEVICE_M_RENDERTARGET), // Derived TODO : Verify offset @@ -1307,9 +1282,9 @@ OOVPA_END; OOVPA_NO_XREF(D3DDevice_SetPixelShader, 4034, 12) { #else -OOVPA_XREF(D3DDevice_SetPixelShader, 4034, 1 + 12, - - XRefNoSaveIndex, +OOVPA_XREF(D3DDevice_SetPixelShader, + 4034, + 1 + 12, XRefOne) { @@ -1353,11 +1328,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * D3D::BlockOnResource // ****************************************************************** -OOVPA_SIG_HEADER_XREF(D3D_BlockOnResource, - 4034, - - XREF_D3D_BlockOnResource, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(D3D_BlockOnResource, + 4034) OOVPA_SIG_MATCH( { 0x00, 0xA1 }, @@ -1456,9 +1428,9 @@ OOVPA_SIG_MATCH( OOVPA_NO_XREF(D3DDevice_SetRenderState_MultiSampleMode, 4034, 12) { #else -OOVPA_XREF(D3DDevice_SetRenderState_MultiSampleMode, 4034, 1 + 8, - - XRefNoSaveIndex, +OOVPA_XREF(D3DDevice_SetRenderState_MultiSampleMode, + 4034, + 1 + 8, XRefOne) { @@ -1495,15 +1467,15 @@ OOVPA_END; // ****************************************************************** // Generic OOVPA as of 4034 and newer. #ifndef WIP_LessVertexPatching -OOVPA_XREF(D3DDevice_SetRenderState_MultiSampleRenderTargetMode, 4034, 1 + 10, - - XRefNoSaveIndex, +OOVPA_XREF(D3DDevice_SetRenderState_MultiSampleRenderTargetMode, + 4034, + 1 + 10, XRefOne) { #else -OOVPA_XREF(D3DDevice_SetRenderState_MultiSampleRenderTargetMode, 4034, 2 + 10, - - XRefNoSaveIndex, +OOVPA_XREF(D3DDevice_SetRenderState_MultiSampleRenderTargetMode, + 4034, + 2 + 10, XRefTwo) { #endif @@ -1569,8 +1541,6 @@ OOVPA_SIG_MATCH( // except for the offset references. OOVPA_SIG_HEADER_XREF(D3DDevice_SetRenderState_OcclusionCullEnable, 4034, - - XRefNoSaveIndex, XRefTwo) OOVPA_SIG_MATCH( @@ -1606,8 +1576,6 @@ OOVPA_SIG_MATCH( // except for the offset references. OOVPA_SIG_HEADER_XREF(D3DDevice_SetRenderState_StencilCullEnable, 4034, - - XRefNoSaveIndex, XRefTwo) OOVPA_SIG_MATCH( @@ -1684,11 +1652,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * D3D::CDevice::KickOff // ****************************************************************** -OOVPA_SIG_HEADER_XREF(D3DDevice_KickOff, - 4034, - - XREF_D3D_CDevice_KickOff, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CDevice_KickOff, + 4034) OOVPA_SIG_MATCH( { 0x00, 0x51 }, @@ -1713,11 +1678,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * D3D::SetFence // ****************************************************************** -OOVPA_SIG_HEADER_XREF(D3D_SetFence, - 4034, - - XREF_D3D_SetFence, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(D3D_SetFence, + 4034) OOVPA_SIG_MATCH( { 0x00, 0x56 }, @@ -1740,11 +1702,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * D3D::BlockOnTime // ****************************************************************** -OOVPA_SIG_HEADER_XREF(D3D_BlockOnTime, - 4034, - - XREF_D3D_BlockOnTime, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(D3D_BlockOnTime, + 4034) OOVPA_SIG_MATCH( { 0x07, 0x3D }, @@ -1828,7 +1787,7 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * D3D::CDevice::SetStateVB // ****************************************************************** -OOVPA_SIG_HEADER_NO_XREF(D3DDevice_SetStateVB, +OOVPA_SIG_HEADER_NO_XREF(CDevice_SetStateVB, 4034) OOVPA_SIG_MATCH( @@ -1857,7 +1816,7 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * D3D::CDevice::SetStateUP // ****************************************************************** -OOVPA_SIG_HEADER_NO_XREF(D3DDevice_SetStateUP, +OOVPA_SIG_HEADER_NO_XREF(CDevice_SetStateUP, 4034) OOVPA_SIG_MATCH( @@ -1885,11 +1844,8 @@ OOVPA_SIG_MATCH( // * D3D::MakeRequestedSpace // ****************************************************************** // Generic OOVPA as of 4034 and newer. -OOVPA_SIG_HEADER_XREF(D3D_MakeRequestedSpace_4, - 4034, - - XREF_D3D_MakeRequestedSpace, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(D3D_MakeRequestedSpace_4, + 4034) OOVPA_SIG_MATCH( // D3D::MakeRequestedSpace+0x00 : push ecx; push esi @@ -1912,8 +1868,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(D3DDevice_MakeSpace, 4034, - - XREF_D3DDevice_MakeSpace, XRefOne) OOVPA_SIG_MATCH( diff --git a/src/OOVPADatabase/D3D8/4039.inl b/src/OOVPADatabase/D3D8/4039.inl index 8943e48f..ad69247d 100644 --- a/src/OOVPADatabase/D3D8/4039.inl +++ b/src/OOVPADatabase/D3D8/4039.inl @@ -89,15 +89,12 @@ OOVPA_SIG_MATCH( // * D3DDevice_SetRenderTarget // ****************************************************************** #ifndef WIP_LessVertexPatching -OOVPA_XREF(D3DDevice_SetRenderTarget, 4039, 11, - - XREF_D3DDevice_SetRenderTarget, - XRefZero) +OOVPA_NO_XREF(D3DDevice_SetRenderTarget, 4039, 11) { #else -OOVPA_XREF(D3DDevice_SetRenderTarget, 4039, 1 + 11, - - XREF_D3DDevice_SetRenderTarget, +OOVPA_XREF(D3DDevice_SetRenderTarget, + 4039, + 1 + 11, XRefOne) { @@ -153,8 +150,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 4039 and newer. OOVPA_SIG_HEADER_XREF(D3DDevice_SetSwapCallback, 4039, - - XRefNoSaveIndex, XRefTwo) OOVPA_SIG_MATCH( @@ -377,8 +372,6 @@ OOVPA_SIG_MATCH( // Reused in 5455 as well. OOVPA_SIG_HEADER_XREF(D3DDevice_PersistDisplay, 4039, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -411,8 +404,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(D3DDevice_DrawVerticesUP, 4039, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -597,8 +588,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(D3DDevice_IsFencePending, 4039, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -724,8 +713,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(D3DDevice_BeginPush2, 4039, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -735,7 +722,7 @@ OOVPA_SIG_MATCH( // D3DDevice_BeginPush__8+0x00 : push esi; mov esi,[D3D__PDEVICE] OV_MATCH(0x00, 0x56, 0x8B, 0x35), - // D3DDevice_BeginPush__8+0x0B : call D3DDevice_SetStateVB + // D3DDevice_BeginPush__8+0x0B : call CDevice_SetStateVB OV_MATCH(0x0B, 0xE8), // D3DDevice_BeginPush__8+0x17 : call XMETAL_StartPushCount @@ -755,8 +742,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(D3DDevice_EndPush, 4039, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( diff --git a/src/OOVPADatabase/D3D8/4134.inl b/src/OOVPADatabase/D3D8/4134.inl index 081b1e50..7bdb024b 100644 --- a/src/OOVPADatabase/D3D8/4134.inl +++ b/src/OOVPADatabase/D3D8/4134.inl @@ -87,8 +87,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(D3DDevice_SetVertexShader, 4134, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -252,11 +250,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * D3D::SetFence // ****************************************************************** -OOVPA_SIG_HEADER_XREF(D3D_SetFence, - 4134, - - XREF_D3D_SetFence, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(D3D_SetFence, + 4134) OOVPA_SIG_MATCH( { 0x0D, 0x72 }, @@ -370,11 +365,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * D3D::MakeRequestedSpace // ****************************************************************** -OOVPA_SIG_HEADER_XREF(D3D_MakeRequestedSpace_8, - 4134, - - XREF_D3D_MakeRequestedSpace, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(D3D_MakeRequestedSpace_8, + 4134) OOVPA_SIG_MATCH( // D3D::MakeRequestedSpace+0x00 : sub esp,0x__ @@ -504,8 +496,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(D3DDevice_BeginStateBlock, 4134, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -528,8 +518,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(D3DDevice_EndStateBlock, 4134, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -653,8 +641,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(D3DDevice_MakeSpace, 4134, - - XREF_D3DDevice_MakeSpace, XRefOne) OOVPA_SIG_MATCH( @@ -683,8 +669,6 @@ OOVPA_NO_XREF(D3DDevice_GetTexture2, 4134, 23) // Up to 4531 { #else OOVPA_XREF(D3DDevice_GetTexture2, 4134, 1 + 23, // Up to 4531 - - XRefNoSaveIndex, XRefOne) { @@ -722,7 +706,7 @@ OOVPA_END; // ****************************************************************** // * D3D::CDevice::SetStateVB // ****************************************************************** -OOVPA_SIG_HEADER_NO_XREF(D3DDevice_SetStateVB, +OOVPA_SIG_HEADER_NO_XREF(CDevice_SetStateVB, 4134) OOVPA_SIG_MATCH( @@ -751,7 +735,7 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * D3D::CDevice::SetStateUP // ****************************************************************** -OOVPA_SIG_HEADER_NO_XREF(D3DDevice_SetStateUP, +OOVPA_SIG_HEADER_NO_XREF(CDevice_SetStateUP, 4134) OOVPA_SIG_MATCH( diff --git a/src/OOVPADatabase/D3D8/4242.inl b/src/OOVPADatabase/D3D8/4242.inl index f982f585..6ed73d41 100644 --- a/src/OOVPADatabase/D3D8/4242.inl +++ b/src/OOVPADatabase/D3D8/4242.inl @@ -55,8 +55,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(D3DDevice_SetTextureState_TexCoordIndex, 4242, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( diff --git a/src/OOVPADatabase/D3D8/4361.inl b/src/OOVPADatabase/D3D8/4361.inl index 81e51060..c3b9f0f7 100644 --- a/src/OOVPADatabase/D3D8/4361.inl +++ b/src/OOVPADatabase/D3D8/4361.inl @@ -77,9 +77,9 @@ OOVPA_SIG_MATCH( OOVPA_NO_XREF(D3DDevice_SetTexture, 4361, 28) { #else -OOVPA_XREF(D3DDevice_SetTexture, 4361, 1 + 26, - - XRefNoSaveIndex, +OOVPA_XREF(D3DDevice_SetTexture, + 4361, + 1 + 26, XRefOne) { diff --git a/src/OOVPADatabase/D3D8/4531.inl b/src/OOVPADatabase/D3D8/4531.inl index c34a08cf..7a49838d 100644 --- a/src/OOVPADatabase/D3D8/4531.inl +++ b/src/OOVPADatabase/D3D8/4531.inl @@ -76,11 +76,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * D3D::CDevice::KickOff // ****************************************************************** -OOVPA_SIG_HEADER_XREF(D3DDevice_KickOff, - 4531, - - XREF_D3D_CDevice_KickOff, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CDevice_KickOff, + 4531) OOVPA_SIG_MATCH( // D3D::CDevice::KickOff+0x0B : mov edx, [ecx+0x35C] @@ -139,8 +136,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(D3DDevice_BeginPush, 4531, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -150,7 +145,7 @@ OOVPA_SIG_MATCH( // D3DDevice_BeginPush__4+0x00 : push esi; mov esi,[D3D__PDEVICE] OV_MATCH(0x00, 0x56, 0x8B, 0x35), - // D3DDevice_BeginPush__4+0x0B : call D3DDevice_SetStateVB + // D3DDevice_BeginPush__4+0x0B : call CDevice_SetStateVB OV_MATCH(0x0B, 0xE8), // D3DDevice_BeginPush__4+0x10 : mov eax,[esp+0x08] diff --git a/src/OOVPADatabase/D3D8/4627.inl b/src/OOVPADatabase/D3D8/4627.inl index 54e98145..f9999223 100644 --- a/src/OOVPADatabase/D3D8/4627.inl +++ b/src/OOVPADatabase/D3D8/4627.inl @@ -126,15 +126,12 @@ OOVPA_SIG_MATCH( // * D3D_CommonSetRenderTarget // ****************************************************************** #ifndef WIP_LessVertexPatching -OOVPA_XREF(D3D_CommonSetRenderTarget, 4627, 12, - - XREF_D3D_CommonSetRenderTarget, - XRefZero) +OOVPA_NO_XREF(D3D_CommonSetRenderTarget, 4627, 12) { #else -OOVPA_XREF(D3D_CommonSetRenderTarget, 4627, 1 + 12, - - XREF_D3D_CommonSetRenderTarget, +OOVPA_XREF(D3D_CommonSetRenderTarget, + 4627, + 1 + 12, XRefOne) { @@ -167,8 +164,6 @@ OOVPA_END; // ****************************************************************** OOVPA_SIG_HEADER_XREF(D3DDevice_SetRenderTarget, 4627, - - XREF_D3DDevice_SetRenderTarget, XRefOne) OOVPA_SIG_MATCH( @@ -277,8 +272,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(D3DDevice_GetBackBuffer, 4627, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -301,11 +294,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * D3DDevice_GetBackBuffer2 // ****************************************************************** -OOVPA_SIG_HEADER_XREF(D3DDevice_GetBackBuffer2, - 4627, - - XREF_D3DDevice_GetBackBuffer2, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(D3DDevice_GetBackBuffer2, + 4627) OOVPA_SIG_MATCH( // D3DDevice_GetBackBuffer2+0x04 : cmp eax, 0xFFFFFFFF @@ -337,8 +327,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(D3DDevice_GetRenderTarget, 4627, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -373,15 +361,15 @@ OOVPA_SIG_MATCH( // * D3DDevice_GetRenderTarget2 // ****************************************************************** #ifndef WIP_LessVertexPatching -OOVPA_XREF(D3DDevice_GetRenderTarget2, 4627, 2 + 8, - - XREF_D3DDevice_GetRenderTarget2, +OOVPA_XREF(D3DDevice_GetRenderTarget2, + 4627, + 2 + 8, XRefTwo) { #else -OOVPA_XREF(D3DDevice_GetRenderTarget2, 4627, 3 + 8, - - XREF_D3DDevice_GetRenderTarget2, +OOVPA_XREF(D3DDevice_GetRenderTarget2, + 4627, + 3 + 8, XRefThree) { #endif @@ -420,8 +408,6 @@ OOVPA_END; // ****************************************************************** OOVPA_SIG_HEADER_XREF(D3DDevice_GetDepthStencilSurface, 4627, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -445,15 +431,12 @@ OOVPA_SIG_MATCH( // * D3DDevice_GetDepthStencilSurface2 // ****************************************************************** #ifndef WIP_LessVertexPatching -OOVPA_XREF(D3DDevice_GetDepthStencilSurface2, 4627, 20, - - XREF_D3DDevice_GetDepthStencilSurface2, - XRefZero) +OOVPA_NO_XREF(D3DDevice_GetDepthStencilSurface2, 4627, 20) { #else -OOVPA_XREF(D3DDevice_GetDepthStencilSurface2, 4627, 1 + 20, - - XREF_D3DDevice_GetDepthStencilSurface2, +OOVPA_XREF(D3DDevice_GetDepthStencilSurface2, + 4627, + 1 + 20, XRefOne) { @@ -489,11 +472,8 @@ OOVPA_END; // ****************************************************************** // * D3D_SetTileNoWait // ****************************************************************** -OOVPA_SIG_HEADER_XREF(D3D_SetTileNoWait, - 4627, - - XREF_D3D_SetTileNoWait, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(D3D_SetTileNoWait, + 4627) OOVPA_SIG_MATCH( // D3D_SetTileNoWait+0x06 : sub esp, 0x18 @@ -522,8 +502,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(D3DDevice_SetTile, 4627, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -537,11 +515,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * D3DDevice_CreateIndexBuffer2 // ****************************************************************** -OOVPA_SIG_HEADER_XREF(D3DDevice_CreateIndexBuffer2, - 4627, - - XREF_D3DDevice_CreateIndexBuffer2, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(D3DDevice_CreateIndexBuffer2, + 4627) OOVPA_SIG_MATCH( { 0x05, 0xC0 }, @@ -559,8 +534,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(D3DDevice_CreateIndexBuffer, 4627, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -586,8 +559,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(D3DDevice_SetVertexShaderConstant, 4627, - - XRefNoSaveIndex, XRefTwo) OOVPA_SIG_MATCH( @@ -618,11 +589,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * D3DDevice_SetVertexShaderConstant1 // ****************************************************************** -OOVPA_SIG_HEADER_XREF(D3DDevice_SetVertexShaderConstant1, - 4627, - - XREF_D3DDevice_SetVertexShaderConstant1, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(D3DDevice_SetVertexShaderConstant1, + 4627) OOVPA_SIG_MATCH( // D3DDevice_SetVertexShaderConstant1+0x06 : add eax, 0x1C @@ -651,11 +619,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * D3DDevice_SetVertexShaderConstant4 // ****************************************************************** -OOVPA_SIG_HEADER_XREF(D3DDevice_SetVertexShaderConstant4, - 4627, - - XREF_D3DDevice_SetVertexShaderConstant4, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(D3DDevice_SetVertexShaderConstant4, + 4627) OOVPA_SIG_MATCH( // D3DDevice_SetVertexShaderConstant4+0x05 : add eax, 0x4C @@ -782,9 +747,9 @@ OOVPA_SIG_MATCH( OOVPA_NO_XREF(D3DDevice_SetPixelShader, 4627, 16) { #else -OOVPA_XREF(D3DDevice_SetPixelShader, 4627, 1 + 16, - - XRefNoSaveIndex, +OOVPA_XREF(D3DDevice_SetPixelShader, + 4627, + 1 + 16, XRefOne) { @@ -814,11 +779,8 @@ OOVPA_END; // ****************************************************************** // * D3DDevice_CreateTexture2 // ****************************************************************** -OOVPA_SIG_HEADER_XREF(D3DDevice_CreateTexture2, - 4627, - - XREF_D3DDevice_CreateTexture2, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(D3DDevice_CreateTexture2, + 4627) OOVPA_SIG_MATCH( // D3DDevice_CreateTexture2+0x02 : lea eax, [esp+0x20] @@ -929,8 +891,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(D3DDevice_CreateVertexBuffer, 4627, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -956,11 +916,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * D3DDevice_CreateVertexBuffer2 // ****************************************************************** -OOVPA_SIG_HEADER_XREF(D3DDevice_CreateVertexBuffer2, - 4627, - - XREF_D3DDevice_CreateVertexBuffer2, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(D3DDevice_CreateVertexBuffer2, + 4627) OOVPA_SIG_MATCH( // D3DDevice_CreateVertexBuffer2+0x03 : push 0x40 @@ -991,8 +948,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(D3DDevice_SetTextureState_TexCoordIndex, 4627, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -1107,11 +1062,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * D3DVertexBuffer_Lock2 // ****************************************************************** -OOVPA_SIG_HEADER_XREF(D3DVertexBuffer_Lock2, - 4627, - - XREF_D3DVertexBuffer_Lock2, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(D3DVertexBuffer_Lock2, + 4627) OOVPA_SIG_MATCH( // D3DVertexBuffer_Lock2B+0x00 : push ebx @@ -1143,8 +1095,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(D3DVertexBuffer_Lock, 4627, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -1182,11 +1132,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * D3DTexture_GetSurfaceLevel2 // ****************************************************************** -OOVPA_SIG_HEADER_XREF(D3DTexture_GetSurfaceLevel2, - 4627, - - XREF_D3DTexture_GetSurfaceLevel2, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(D3DTexture_GetSurfaceLevel2, + 4627) OOVPA_SIG_MATCH( // D3DTexture_GetSurfaceLevel2+0x00 : sub esp, 0x0C @@ -1220,8 +1167,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(D3DTexture_GetSurfaceLevel, 4627, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -1387,8 +1332,6 @@ OOVPA_NO_XREF(D3DDevice_GetTexture2, 4627, 23) { #else OOVPA_XREF(D3DDevice_GetTexture2, 4627, 1 + 23, // Up to 5233. Also for 5344, 5558, 5659, 5788, 5849, 5933 - - XRefNoSaveIndex, XRefOne) { @@ -1472,8 +1415,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(D3DDevice_PersistDisplay, 4627, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -1537,11 +1478,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * D3D::BlockOnTime // ****************************************************************** -OOVPA_SIG_HEADER_XREF(D3D_BlockOnTime, - 4627, - - XREF_D3D_BlockOnTime, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(D3D_BlockOnTime, + 4627) OOVPA_SIG_MATCH( { 0x09, 0x34 }, @@ -1619,11 +1557,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * D3DDevice_CreatePalette2 // ****************************************************************** -OOVPA_SIG_HEADER_XREF(D3DDevice_CreatePalette2, - 4627, - - XREF_D3DDevice_CreatePalette2, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(D3DDevice_CreatePalette2, + 4627) OOVPA_SIG_MATCH( { 0x0A, 0x8B }, @@ -1642,8 +1577,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(D3DDevice_CreatePalette, 4627, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -1666,11 +1599,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * D3DPalette_Lock2 // ****************************************************************** -OOVPA_SIG_HEADER_XREF(D3DPalette_Lock2, - 4627, - - XREF_D3DPalette_Lock2, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(D3DPalette_Lock2, + 4627) OOVPA_SIG_MATCH( { 0x02, 0x24 }, @@ -1688,8 +1618,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(D3DPalette_Lock, 4627, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -1862,8 +1790,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(D3DDevice_CreateCubeTexture, 4627, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -1890,8 +1816,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(IDirect3DVertexBuffer8_Lock, 4627, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( diff --git a/src/OOVPADatabase/D3D8/4831.inl b/src/OOVPADatabase/D3D8/4831.inl index a3c73e6b..6291e752 100644 --- a/src/OOVPADatabase/D3D8/4831.inl +++ b/src/OOVPADatabase/D3D8/4831.inl @@ -26,11 +26,8 @@ // ****************************************************************** // * D3DDevice_CreateTexture2 // ****************************************************************** -OOVPA_SIG_HEADER_XREF(D3DDevice_CreateTexture2, - 4831, - - XREF_D3DDevice_CreateTexture2, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(D3DDevice_CreateTexture2, + 4831) OOVPA_SIG_MATCH( { 0x00, 0x56 }, @@ -57,9 +54,9 @@ OOVPA_SIG_MATCH( OOVPA_NO_XREF(D3DDevice_SetTexture, 4831, 15) { #else -OOVPA_XREF(D3DDevice_SetTexture, 4831, 1 + 15, - - XRefNoSaveIndex, +OOVPA_XREF(D3DDevice_SetTexture, + 4831, + 1 + 15, XRefOne) { @@ -125,8 +122,6 @@ OOVPA_END; // Up to 5849, excluding 5455 OOVPA_SIG_HEADER_XREF(D3DDevice_PersistDisplay, 4831, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( diff --git a/src/OOVPADatabase/D3D8/5028.inl b/src/OOVPADatabase/D3D8/5028.inl index d1c271d5..ab2060f7 100644 --- a/src/OOVPADatabase/D3D8/5028.inl +++ b/src/OOVPADatabase/D3D8/5028.inl @@ -97,8 +97,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(D3DDevice_SetVertexShader, 5028, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -131,11 +129,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * D3D::SetFence // ****************************************************************** -OOVPA_SIG_HEADER_XREF(D3D_SetFence, - 5028, - - XREF_D3D_SetFence, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(D3D_SetFence, + 5028) OOVPA_SIG_MATCH( { 0x0E, 0x05 }, @@ -161,11 +156,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * D3D::BlockOnTime // ****************************************************************** -OOVPA_SIG_HEADER_XREF(D3D_BlockOnTime, - 5028, - - XREF_D3D_BlockOnTime, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(D3D_BlockOnTime, + 5028) OOVPA_SIG_MATCH( { 0x09, 0x30 }, @@ -349,15 +341,12 @@ OOVPA_SIG_MATCH( // * D3D::CommonSetRenderTarget // ****************************************************************** #ifndef WIP_LessVertexPatching -OOVPA_XREF(D3D_CommonSetRenderTarget, 5028, 12, - - XREF_D3D_CommonSetRenderTarget, - XRefZero) +OOVPA_NO_XREF(D3D_CommonSetRenderTarget, 5028, 12) { #else -OOVPA_XREF(D3D_CommonSetRenderTarget, 5028, 1 + 12, - - XREF_D3D_CommonSetRenderTarget, +OOVPA_XREF(D3D_CommonSetRenderTarget, + 5028, + 1 + 12, XRefOne) { @@ -383,11 +372,8 @@ OOVPA_END; // ****************************************************************** // * D3DDevice_LazySetStateVB // ****************************************************************** -OOVPA_SIG_HEADER_XREF(D3DDevice_LazySetStateVB, - 5028, - - XREF_D3DDevice_LazySetStateVB, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(D3DDevice_LazySetStateVB, + 5028) OOVPA_SIG_MATCH( { 0x00, 0x83 }, @@ -415,7 +401,7 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * D3D::CDevice::LazySetStateUP // ****************************************************************** -OOVPA_SIG_HEADER_NO_XREF(D3DDevice_LazySetStateUP, +OOVPA_SIG_HEADER_NO_XREF(CDevice_LazySetStateUP, 5028) OOVPA_SIG_MATCH( @@ -444,8 +430,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(D3DDevice_BeginPush, 5028, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -471,8 +455,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(D3DDevice_IsFencePending, 5028, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -489,11 +471,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * D3D::CDevice::KickOff // ****************************************************************** -OOVPA_SIG_HEADER_XREF(D3DDevice_KickOff, - 5028, - - XREF_D3D_CDevice_KickOff, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CDevice_KickOff, + 5028) OOVPA_SIG_MATCH( { 0x07, 0x08 }, @@ -563,8 +542,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(D3DDevice_DrawIndexedVerticesUP, 5028, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( diff --git a/src/OOVPADatabase/D3D8/5233.inl b/src/OOVPADatabase/D3D8/5233.inl index f3849110..930f6c7c 100644 --- a/src/OOVPADatabase/D3D8/5233.inl +++ b/src/OOVPADatabase/D3D8/5233.inl @@ -87,9 +87,9 @@ OOVPA_SIG_MATCH( OOVPA_NO_XREF(D3DDevice_SetRenderTargetFast, 5233, 27) { #else -OOVPA_XREF(D3DDevice_SetRenderTargetFast, 5233, 1 + 27, - - XRefNoSaveIndex, +OOVPA_XREF(D3DDevice_SetRenderTargetFast, + 5233, + 1 + 27, XRefOne) { diff --git a/src/OOVPADatabase/D3D8/5344.inl b/src/OOVPADatabase/D3D8/5344.inl index 19ff1fa3..14aa4355 100644 --- a/src/OOVPADatabase/D3D8/5344.inl +++ b/src/OOVPADatabase/D3D8/5344.inl @@ -26,11 +26,8 @@ // ****************************************************************** // * D3DDevice_SetLight // ****************************************************************** -OOVPA_SIG_HEADER_XREF(D3DDevice_SetLight, - 5344, - - XREF_D3DDevice_SetLight, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(D3DDevice_SetLight, + 5344) OOVPA_SIG_MATCH( // D3DDevice_SetLight+0x1f : add REG, 0x10 @@ -98,8 +95,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(D3DDevice_LightEnable, 5344, - - XRefNoSaveIndex, XRefTwo) // PatrickvL : Also for 5558, 5659, 5788, 5849, 5933 OOVPA_SIG_MATCH( @@ -148,8 +143,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(D3DDevice_GetLightEnable, 5344, - - XRefNoSaveIndex, XRefOne) // PatrickvL : Also for 5558, 5659, 5788, 5849, 5933 OOVPA_SIG_MATCH( @@ -289,15 +282,12 @@ OOVPA_SIG_MATCH( // The only difference between 5344/5455 is the offset shift for // D3DDEVICE_M_RENDERTARGET's asm code. #ifndef WIP_LessVertexPatching -OOVPA_XREF(D3DDevice_SetRenderTarget, 5344, 13, - - XREF_D3DDevice_SetRenderTarget, - XRefZero) +OOVPA_NO_XREF(D3DDevice_SetRenderTarget, 5344, 13) { #else -OOVPA_XREF(D3DDevice_SetRenderTarget, 5344, 1 + 13, - - XREF_D3DDevice_SetRenderTarget, +OOVPA_XREF(D3DDevice_SetRenderTarget, + 5344, + 1 + 13, XRefOne) { @@ -324,11 +314,8 @@ OOVPA_END; // ****************************************************************** // * D3DDevice_CreateVertexBuffer2 // ****************************************************************** -OOVPA_SIG_HEADER_XREF(D3DDevice_CreateVertexBuffer2, - 5344, - - XREF_D3DDevice_CreateVertexBuffer2, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(D3DDevice_CreateVertexBuffer2, + 5344) OOVPA_SIG_MATCH( { 0x08, 0xE8 }, @@ -367,8 +354,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 5344 and newer. OOVPA_SIG_HEADER_XREF(D3DDevice_DrawVerticesUP, 5344, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -400,8 +385,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 5344 and newer. OOVPA_SIG_HEADER_XREF(D3DDevice_DrawIndexedVerticesUP, 5344, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -607,11 +590,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * D3DDevice_CreateIndexBuffer2 // ****************************************************************** -OOVPA_SIG_HEADER_XREF(D3DDevice_CreateIndexBuffer2, - 5344, - - XREF_D3DDevice_CreateIndexBuffer2, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(D3DDevice_CreateIndexBuffer2, + 5344) OOVPA_SIG_MATCH( { 0x05, 0x00 }, @@ -629,8 +609,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(D3DDevice_BeginPush, 5344, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -713,8 +691,6 @@ OOVPA_NO_XREF(D3DDevice_GetTexture2, 5344, 23) { #else OOVPA_XREF(D3DDevice_GetTexture2, 5344, 1 + 23, // Up to 5455 - - XRefNoSaveIndex, XRefOne) { diff --git a/src/OOVPADatabase/D3D8/5455.inl b/src/OOVPADatabase/D3D8/5455.inl index 9b2de20c..f80c140c 100644 --- a/src/OOVPADatabase/D3D8/5455.inl +++ b/src/OOVPADatabase/D3D8/5455.inl @@ -68,11 +68,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * D3DDevice_CreateVertexBuffer2 // ****************************************************************** -OOVPA_SIG_HEADER_XREF(D3DDevice_CreateVertexBuffer2, - 5455, - - XREF_D3DDevice_CreateVertexBuffer2, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(D3DDevice_CreateVertexBuffer2, + 5455) OOVPA_SIG_MATCH( { 0x00, 0x56 }, @@ -116,8 +113,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(D3DDevice_SetVertexShader, 5455, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -139,8 +134,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(D3DDevice_GetViewport, 5455, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -201,11 +194,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * D3D_SetTileNoWait // ****************************************************************** -OOVPA_SIG_HEADER_XREF(D3D_SetTileNoWait, - 5455, - - XREF_D3D_SetTileNoWait, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(D3D_SetTileNoWait, + 5455) OOVPA_SIG_MATCH( { 0x00, 0x83 }, @@ -292,10 +282,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * D3D::CDevice::KickOff // ****************************************************************** -OOVPA_SIG_HEADER_XREF(D3DDevice_KickOff, +OOVPA_SIG_HEADER_XREF(CDevice_KickOff, 5455, - - XREF_D3D_CDevice_KickOff, XRefOne) OOVPA_SIG_MATCH( // mov eax, XREF_D3DDEVICE @@ -324,15 +312,12 @@ OOVPA_SIG_MATCH( // The only difference between 5344/5455 is the offset shift for // D3DDEVICE_M_RENDERTARGET's asm code. #ifndef WIP_LessVertexPatching -OOVPA_XREF(D3DDevice_SetRenderTarget, 5455, 13, - - XREF_D3DDevice_SetRenderTarget, - XRefZero) +OOVPA_NO_XREF(D3DDevice_SetRenderTarget, 5455, 13) { #else -OOVPA_XREF(D3DDevice_SetRenderTarget, 5455, 1 + 13, - - XREF_D3DDevice_SetRenderTarget, +OOVPA_XREF(D3DDevice_SetRenderTarget, + 5455, + 1 + 13, XRefOne) { diff --git a/src/OOVPADatabase/D3D8/5558.inl b/src/OOVPADatabase/D3D8/5558.inl index 0dd187ae..6a4ea51e 100644 --- a/src/OOVPADatabase/D3D8/5558.inl +++ b/src/OOVPADatabase/D3D8/5558.inl @@ -26,11 +26,8 @@ // ****************************************************************** // * D3DDevice_LazySetStateVB // ****************************************************************** -OOVPA_SIG_HEADER_XREF(D3DDevice_LazySetStateVB, - 5558, - - XREF_D3DDevice_LazySetStateVB, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(D3DDevice_LazySetStateVB, + 5558) OOVPA_SIG_MATCH( { 0x00, 0x83 }, @@ -58,7 +55,7 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * D3D::CDevice::LazySetStateUP // ****************************************************************** -OOVPA_SIG_HEADER_NO_XREF(D3DDevice_LazySetStateUP, +OOVPA_SIG_HEADER_NO_XREF(CDevice_LazySetStateUP, 5558) OOVPA_SIG_MATCH( @@ -152,11 +149,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * D3D::SetFence // ****************************************************************** -OOVPA_SIG_HEADER_XREF(D3D_SetFence, - 5558, - - XREF_D3D_SetFence, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(D3D_SetFence, + 5558) OOVPA_SIG_MATCH( { 0x07, 0x8B }, @@ -175,11 +169,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * D3D::BlockOnTime // ****************************************************************** -OOVPA_SIG_HEADER_XREF(D3D_BlockOnTime, - 5558, - - XREF_D3D_BlockOnTime, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(D3D_BlockOnTime, + 5558) OOVPA_SIG_MATCH( { 0x02, 0x35 }, @@ -338,11 +329,8 @@ OOVPA_SIG_MATCH( // * D3D::MakeRequestedSpace // ****************************************************************** // Generic OOVPA as of 5558 and newer. -OOVPA_SIG_HEADER_XREF(D3D_MakeRequestedSpace_8, - 5558, - - XREF_D3D_MakeRequestedSpace, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(D3D_MakeRequestedSpace_8, + 5558) OOVPA_SIG_MATCH( // D3D::MakeRequestedSpace+0x00 : push ecx; push esi @@ -508,8 +496,6 @@ OOVPA_NO_XREF(D3DDevice_GetTexture2, 5558, 23) // Up to 5659 { #else OOVPA_XREF(D3DDevice_GetTexture2, 5558, 1 + 23, // Up to 5659 - - XRefNoSaveIndex, XRefOne) { diff --git a/src/OOVPADatabase/D3D8/5788.inl b/src/OOVPADatabase/D3D8/5788.inl index aeb3edd9..bd7c244f 100644 --- a/src/OOVPADatabase/D3D8/5788.inl +++ b/src/OOVPADatabase/D3D8/5788.inl @@ -26,11 +26,8 @@ // ****************************************************************** // * D3D::RecordStateBlock // ****************************************************************** -OOVPA_SIG_HEADER_XREF(D3D_RecordStateBlock, - 5788, - - XREF_D3D_RecordStateBlock, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(D3D_RecordStateBlock, + 5788) OOVPA_SIG_MATCH( // D3D_RecordStateBlock+0x0F : mov eax, [edi+0x07A4] @@ -253,8 +250,6 @@ OOVPA_NO_XREF(D3DDevice_GetTexture2, 5788, 23) // Up to 5849 { #else OOVPA_XREF(D3DDevice_GetTexture2, 5788, 1 + 23, // Up to 5849 - - XRefNoSaveIndex, XRefOne) { diff --git a/src/OOVPADatabase/D3D8/5849.inl b/src/OOVPADatabase/D3D8/5849.inl index 8320d779..c59836f9 100644 --- a/src/OOVPADatabase/D3D8/5849.inl +++ b/src/OOVPADatabase/D3D8/5849.inl @@ -45,11 +45,8 @@ OOVPA_SIG_MATCH( // * D3D::SetFence // * SOURCE: Spiderman 2 // ****************************************************************** -OOVPA_SIG_HEADER_XREF(D3D_SetFence, - 5849, - - XREF_D3D_SetFence, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(D3D_SetFence, + 5849) OOVPA_SIG_MATCH( { 0x0E, 0x05 }, diff --git a/src/OOVPADatabase/D3D8LTCG/3911.inl b/src/OOVPADatabase/D3D8LTCG/3911.inl index da5640db..c3fae6ed 100644 --- a/src/OOVPADatabase/D3D8LTCG/3911.inl +++ b/src/OOVPADatabase/D3D8LTCG/3911.inl @@ -51,8 +51,6 @@ OOVPA_SIG_MATCH( //C7000803040075 OOVPA_SIG_HEADER_XREF(D3DDevice_SetRenderState_CullMode, 1045, - - XREF_D3DDevice_SetRenderState_CullMode, XRefTwo) OOVPA_SIG_MATCH( @@ -144,8 +142,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(D3DDevice_SetRenderState_TextureFactor, 1036, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -172,8 +168,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(D3DDevice_SetRenderState_YuvEnable, 1024, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -195,8 +189,6 @@ OOVPA_SIG_MATCH( //568BD0E8 OOVPA_SIG_HEADER_XREF(D3DDevice_SetRenderState_OcclusionCullEnable, 1024, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -218,8 +210,6 @@ OOVPA_SIG_MATCH( //538BD9C1E107 ...C3 OOVPA_SIG_HEADER_XREF(D3DDevice_SetTextureState_TexCoordIndex_0, 2039, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -336,8 +326,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(D3DDevice_SetRenderState_StencilCullEnable, 1024, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -358,8 +346,6 @@ OOVPA_SIG_MATCH( //****************************************************************** OOVPA_SIG_HEADER_XREF(D3DDevice_SetRenderState_BackFillMode, 1024, - - XRefNoSaveIndex, XRefTwo) OOVPA_SIG_MATCH( @@ -442,8 +428,6 @@ OOVPA_SIG_MATCH( //C1E11083E20F OOVPA_SIG_HEADER_XREF(D3DDevice_SetRenderState_MultiSampleAntiAlias, 1024, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -466,8 +450,6 @@ OOVPA_SIG_MATCH( //83E10FC1E210 OOVPA_SIG_HEADER_XREF(D3DDevice_SetRenderState_MultiSampleMask, 1024, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -551,8 +533,6 @@ OOVPA_SIG_MATCH( //834808208B OOVPA_SIG_HEADER_XREF(D3DDevice_SetRenderState_TwoSidedLighting, 1024, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -824,8 +804,6 @@ OOVPA_SIG_MATCH( //F6C30155568B35 ...C3 OOVPA_SIG_HEADER_XREF(D3DDevice_SetVertexShader_0, 2024, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -1000,15 +978,12 @@ OOVPA_SIG_MATCH( // * D3DDevice_SetRenderTarget // ****************************************************************** #ifndef WIP_LessVertexPatching -OOVPA_XREF(D3DDevice_SetRenderTarget, 1024, 11, - - XREF_D3DDevice_SetRenderTarget, - XRefZero) +OOVPA_NO_XREF(D3DDevice_SetRenderTarget, 1024, 11) { #else -OOVPA_XREF(D3DDevice_SetRenderTarget, 1024, 1 + 11, - - XREF_D3DDevice_SetRenderTarget, +OOVPA_XREF(D3DDevice_SetRenderTarget, + 1024, + 1 + 11, XRefOne) { @@ -1073,11 +1048,8 @@ OOVPA_SIG_MATCH( // * D3D_BlockOnResource // ****************************************************************** //00007800750C85 ...C3 -OOVPA_SIG_HEADER_XREF(D3D_BlockOnResource_0, - 2024, - - XREF_D3D_BlockOnResource, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(D3D_BlockOnResource_0, + 2024) OOVPA_SIG_MATCH( { 0x00, 0x8B }, @@ -1101,8 +1073,6 @@ OOVPA_SIG_MATCH( //7406810300000800 OOVPA_SIG_HEADER_XREF(D3DDevice_SetStreamSource_8__LTCG_edx_StreamNumber, 1039, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -1156,8 +1126,6 @@ OOVPA_SIG_MATCH( // NOTE: Later XDK version start to use std signature. OOVPA_SIG_HEADER_XREF(D3DDevice_BlockUntilVerticalBlank, 1024, - - XREF_D3DDevice_BlockUntilVerticalBlank, XRefTwo) OOVPA_SIG_MATCH( @@ -1197,8 +1165,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 3911 and newer. OOVPA_SIG_HEADER_XREF(D3D_DestroyResource__LTCG, 3911, - - XREF_D3D_DestroyResource, XRefOne) OOVPA_SIG_MATCH( diff --git a/src/OOVPADatabase/D3D8LTCG/4039.inl b/src/OOVPADatabase/D3D8LTCG/4039.inl index 465bd9fc..10bd3232 100644 --- a/src/OOVPADatabase/D3D8LTCG/4039.inl +++ b/src/OOVPADatabase/D3D8LTCG/4039.inl @@ -96,8 +96,6 @@ OOVPA_SIG_MATCH( //51538B5C240C8BC6 ...C20400 OOVPA_SIG_HEADER_XREF(D3DDevice_SetTextureState_TexCoordIndex_4, 2040, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -146,8 +144,6 @@ OOVPA_SIG_MATCH( //C7000803040075 OOVPA_SIG_HEADER_XREF(D3DDevice_SetRenderState_CullMode, 1049, - - XREF_D3DDevice_SetRenderState_CullMode, XRefTwo) OOVPA_SIG_MATCH( @@ -364,8 +360,6 @@ OOVPA_SIG_MATCH( //F6C30155568B35 OOVPA_SIG_HEADER_XREF(D3DDevice_SetVertexShader, 1024, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -454,8 +448,6 @@ OOVPA_SIG_MATCH( //****************************************************************** OOVPA_SIG_HEADER_XREF(D3DDevice_SetRenderState_TwoSidedLighting, 1036, - - XRefNoSaveIndex, XRefTwo) OOVPA_SIG_MATCH( @@ -498,8 +490,6 @@ OOVPA_SIG_MATCH( //C1E11083E20F OOVPA_SIG_HEADER_XREF(D3DDevice_SetRenderState_MultiSampleAntiAlias, 1036, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -522,8 +512,6 @@ OOVPA_SIG_MATCH( //83E10FC1E210 OOVPA_SIG_HEADER_XREF(D3DDevice_SetRenderState_MultiSampleMask, 1036, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -546,8 +534,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(D3DDevice_SetRenderState_MultiSampleMode, 1024, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -569,8 +555,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(D3DDevice_SetRenderState_MultiSampleRenderTargetMode, 1024, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -656,8 +640,6 @@ OOVPA_SIG_MATCH( //0F85..0100008B0D OOVPA_SIG_HEADER_XREF(D3DDevice_SetRenderTarget, 1036, - - XREF_D3DDevice_SetRenderTarget, XRefOne) OOVPA_SIG_MATCH( @@ -874,11 +856,8 @@ OOVPA_SIG_MATCH( // * D3D_BlockOnResource // ****************************************************************** //F7C20000780075 ...C3 -OOVPA_SIG_HEADER_XREF(D3D_BlockOnResource_0, - 2036, - - XREF_D3D_BlockOnResource, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(D3D_BlockOnResource_0, + 2036) OOVPA_SIG_MATCH( { 0x01, 0x8B }, @@ -1067,11 +1046,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * D3D::SetFence // ****************************************************************** -OOVPA_SIG_HEADER_XREF(D3D_SetFence, - 1024, - - XREF_D3D_SetFence, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(D3D_SetFence, + 1024) OOVPA_SIG_MATCH( { 0x00, 0x53 }, @@ -1150,8 +1126,6 @@ OOVPA_SIG_MATCH( //7406810300000800 ...C20800 OOVPA_SIG_HEADER_XREF(D3DDevice_SetStreamSource_8, 2040, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( diff --git a/src/OOVPADatabase/D3D8LTCG/4432.inl b/src/OOVPADatabase/D3D8LTCG/4432.inl index 4cd68024..66e41c94 100644 --- a/src/OOVPADatabase/D3D8LTCG/4432.inl +++ b/src/OOVPADatabase/D3D8LTCG/4432.inl @@ -27,11 +27,8 @@ // * D3D_SetFence // ****************************************************************** //460457720EA1 -OOVPA_SIG_HEADER_XREF(D3D_SetFence, - 1036, - - XREF_D3D_SetFence, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(D3D_SetFence, + 1036) OOVPA_SIG_MATCH( { 0x00, 0x53 }, @@ -71,8 +68,6 @@ OOVPA_SIG_MATCH( //7406810300000800 OOVPA_SIG_HEADER_XREF(D3DDevice_SetStreamSource, 1044, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -98,8 +93,6 @@ OOVPA_SIG_MATCH( //8BC3C1E007578B3D OOVPA_SIG_HEADER_XREF(D3DDevice_SetTextureState_TexCoordIndex, 1944, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -125,8 +118,6 @@ OOVPA_SIG_MATCH( //C7000803040075 OOVPA_SIG_HEADER_XREF(D3DDevice_SetRenderState_CullMode, 1052, - - XREF_D3DDevice_SetRenderState_CullMode, XRefTwo) OOVPA_SIG_MATCH( @@ -384,8 +375,6 @@ OOVPA_SIG_MATCH( //C1E11083E20F OOVPA_SIG_HEADER_XREF(D3DDevice_SetRenderState_MultiSampleAntiAlias, 1048, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -408,8 +397,6 @@ OOVPA_SIG_MATCH( //83E10FC1E210 OOVPA_SIG_HEADER_XREF(D3DDevice_SetRenderState_MultiSampleMask, 1048, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -588,8 +575,6 @@ OOVPA_SIG_MATCH( //F6C30155568B35 OOVPA_SIG_HEADER_XREF(D3DDevice_SetVertexShader, 1036, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -722,11 +707,8 @@ OOVPA_SIG_MATCH( // * D3DDevice_SetRenderTarget // ****************************************************************** //5533ED3BD5565775 -OOVPA_SIG_HEADER_XREF(D3DDevice_SetRenderTarget, - 1048, - - XREF_D3DDevice_SetRenderTarget, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(D3DDevice_SetRenderTarget, + 1048) OOVPA_SIG_MATCH( { 0x00, 0x8B }, diff --git a/src/OOVPADatabase/D3D8LTCG/4531.inl b/src/OOVPADatabase/D3D8LTCG/4531.inl index d5af4fa1..7038fed7 100644 --- a/src/OOVPADatabase/D3D8LTCG/4531.inl +++ b/src/OOVPADatabase/D3D8LTCG/4531.inl @@ -29,8 +29,6 @@ //51538B5C240C8BC6C1E0 ...C20400 OOVPA_SIG_HEADER_XREF(D3DDevice_SetTextureState_TexCoordIndex_4, 2045, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( diff --git a/src/OOVPADatabase/D3D8LTCG/4627.inl b/src/OOVPADatabase/D3D8LTCG/4627.inl index f03d03d4..da31187a 100644 --- a/src/OOVPADatabase/D3D8LTCG/4627.inl +++ b/src/OOVPADatabase/D3D8LTCG/4627.inl @@ -98,8 +98,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(D3DDevice_SetRenderState_MultiSampleAntiAlias, 1060, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -120,8 +118,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(D3DDevice_SetRenderState_MultiSampleMask, 1060, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -141,8 +137,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(D3DDevice_SetRenderState_MultiSampleMask, 1072, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -162,8 +156,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(D3DDevice_SetRenderState_SampleAlpha, 1024, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -244,8 +236,6 @@ OOVPA_SIG_MATCH( //c1e0078998 OOVPA_SIG_HEADER_XREF(D3DDevice_SetTextureState_TexCoordIndex, 1958, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -270,11 +260,8 @@ OOVPA_SIG_MATCH( // * D3D_CommonSetRenderTarget // ****************************************************************** //83FD0C742683FD0D7E -OOVPA_SIG_HEADER_XREF(D3D_CommonSetRenderTarget, - 1036, - - XREF_D3D_CommonSetRenderTarget, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(D3D_CommonSetRenderTarget, + 1036) OOVPA_SIG_MATCH( { 0x00, 0x83 }, @@ -1046,11 +1033,8 @@ OOVPA_SIG_MATCH( // * D3D_BlockOnResource // ****************************************************************** //F7C20000780075 ...C3 -OOVPA_SIG_HEADER_XREF(D3D_BlockOnResource_0, - 2048, - - XREF_D3D_BlockOnResource, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(D3D_BlockOnResource_0, + 2048) OOVPA_SIG_MATCH( { 0x01, 0x8B }, @@ -1070,11 +1054,8 @@ OOVPA_SIG_MATCH( // * D3D_BlockOnTime // ****************************************************************** //6A006A006A016A0656 -OOVPA_SIG_HEADER_XREF(D3D_BlockOnTime, - 1036, - - XREF_D3D_BlockOnTime, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(D3D_BlockOnTime, + 1036) OOVPA_SIG_MATCH( { 0x01, 0x8B }, @@ -1097,15 +1078,12 @@ OOVPA_SIG_MATCH( // ****************************************************************** //00750C8B87B42100 #ifndef WIP_LessVertexPatching -OOVPA_XREF(D3D_CommonSetRenderTarget, 1024, 10, - - XREF_D3D_CommonSetRenderTarget, - XRefZero) +OOVPA_NO_XREF(D3D_CommonSetRenderTarget, 1024, 10) { #else -OOVPA_XREF(D3D_CommonSetRenderTarget, 1024, 1 + 10, - - XREF_D3D_CommonSetRenderTarget, +OOVPA_XREF(D3D_CommonSetRenderTarget, + 1024, + 1 + 10, XRefOne) { @@ -1325,8 +1303,6 @@ OOVPA_SIG_MATCH( //8B88041A000085 OOVPA_SIG_HEADER_XREF(D3DDevice_GetRenderTarget2, 1036, - - XREF_D3DDevice_GetRenderTarget2, XRefOne) OOVPA_SIG_MATCH( diff --git a/src/OOVPADatabase/D3D8LTCG/4928.inl b/src/OOVPADatabase/D3D8LTCG/4928.inl index 0857f2f1..48f09cd5 100644 --- a/src/OOVPADatabase/D3D8LTCG/4928.inl +++ b/src/OOVPADatabase/D3D8LTCG/4928.inl @@ -167,8 +167,6 @@ OOVPA_SIG_MATCH( //8B88041A000085 OOVPA_SIG_HEADER_XREF(D3DDevice_GetRenderTarget2, 1024, - - XREF_D3DDevice_GetRenderTarget2, XRefOne) OOVPA_SIG_MATCH( diff --git a/src/OOVPADatabase/D3D8LTCG/5028.inl b/src/OOVPADatabase/D3D8LTCG/5028.inl index 6b6c60f7..169d29ad 100644 --- a/src/OOVPADatabase/D3D8LTCG/5028.inl +++ b/src/OOVPADatabase/D3D8LTCG/5028.inl @@ -50,8 +50,6 @@ OOVPA_SIG_MATCH( // ...C20400 OOVPA_SIG_HEADER_XREF(D3DDevice_SetTextureState_TexCoordIndex_4, 2058, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -97,11 +95,8 @@ OOVPA_SIG_MATCH( // * D3D_CommonSetRenderTarget // ****************************************************************** //8B490CC1E91483E10FB801 -OOVPA_SIG_HEADER_XREF(D3D_CommonSetRenderTarget, - 1048, - - XREF_D3D_CommonSetRenderTarget, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(D3D_CommonSetRenderTarget, + 1048) OOVPA_SIG_MATCH( { 0x00, 0x83 }, diff --git a/src/OOVPADatabase/D3D8LTCG/5233.inl b/src/OOVPADatabase/D3D8LTCG/5233.inl index 590a0703..94f1a32e 100644 --- a/src/OOVPADatabase/D3D8LTCG/5233.inl +++ b/src/OOVPADatabase/D3D8LTCG/5233.inl @@ -75,8 +75,6 @@ OOVPA_SIG_MATCH( //81E30000FFFFB901 ...C20400 OOVPA_SIG_HEADER_XREF(D3DDevice_SetTextureState_TexCoordIndex_4, 2052, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -147,8 +145,6 @@ OOVPA_SIG_MATCH( //F6C30155568B35 ...C3 OOVPA_SIG_HEADER_XREF(D3DDevice_SetVertexShader_0, 2036, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -291,11 +287,8 @@ OOVPA_SIG_MATCH( // * D3D_CommonSetRenderTarget // ****************************************************************** //8B490CC1E91483E10FB801 -OOVPA_SIG_HEADER_XREF(D3D_CommonSetRenderTarget, - 1060, - - XREF_D3D_CommonSetRenderTarget, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(D3D_CommonSetRenderTarget, + 1060) OOVPA_SIG_MATCH( { 0x00, 0x83 }, @@ -320,8 +313,6 @@ OOVPA_SIG_MATCH( //****************************************************************** OOVPA_SIG_HEADER_XREF(D3DDevice_SetRenderTarget_0, 2048, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( diff --git a/src/OOVPADatabase/D3D8LTCG/5344.inl b/src/OOVPADatabase/D3D8LTCG/5344.inl index bfef0504..3b9355b7 100644 --- a/src/OOVPADatabase/D3D8LTCG/5344.inl +++ b/src/OOVPADatabase/D3D8LTCG/5344.inl @@ -102,8 +102,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(D3DDevice_DrawVerticesUP, 1024, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( diff --git a/src/OOVPADatabase/D3D8LTCG/5455.inl b/src/OOVPADatabase/D3D8LTCG/5455.inl index 1670ee1e..b33b3920 100644 --- a/src/OOVPADatabase/D3D8LTCG/5455.inl +++ b/src/OOVPADatabase/D3D8LTCG/5455.inl @@ -155,11 +155,8 @@ OOVPA_SIG_MATCH( // * D3D_BlockOnResource // ****************************************************************** //F7C20000780075 ...C3 -OOVPA_SIG_HEADER_XREF(D3D_BlockOnResource_0, - 2060, - - XREF_D3D_BlockOnResource, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(D3D_BlockOnResource_0, + 2060) OOVPA_SIG_MATCH( { 0x01, 0x8B }, @@ -204,11 +201,8 @@ OOVPA_SIG_MATCH( // * D3DDevice_SetRenderTarget // ****************************************************************** //A900007800751925000007003D -OOVPA_SIG_HEADER_XREF(D3DDevice_SetRenderTarget, - 1084, - - XREF_D3DDevice_SetRenderTarget, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(D3DDevice_SetRenderTarget, + 1084) OOVPA_SIG_MATCH( { 0x00, 0x83 }, diff --git a/src/OOVPADatabase/D3D8LTCG/5788.inl b/src/OOVPADatabase/D3D8LTCG/5788.inl index 62fa311d..19c8abd5 100644 --- a/src/OOVPADatabase/D3D8LTCG/5788.inl +++ b/src/OOVPADatabase/D3D8LTCG/5788.inl @@ -174,8 +174,6 @@ OOVPA_SIG_MATCH( //C7000803040075 OOVPA_SIG_HEADER_XREF(D3DDevice_SetRenderState_CullMode, 1053, - - XREF_D3DDevice_SetRenderState_CullMode, XRefTwo) OOVPA_SIG_MATCH( @@ -510,11 +508,8 @@ OOVPA_SIG_MATCH( // * D3D_BlockOnTime // ****************************************************************** //C747101001040089 -OOVPA_SIG_HEADER_XREF(D3D_BlockOnTime, - 1024, - - XREF_D3D_BlockOnTime, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(D3D_BlockOnTime, + 1024) OOVPA_SIG_MATCH( { 0x00, 0x56 }, @@ -535,11 +530,8 @@ OOVPA_SIG_MATCH( // * D3D_BlockOnTime // ****************************************************************** //C747101001040089 ...C20400 -OOVPA_SIG_HEADER_XREF(D3D_BlockOnTime_4, - 2048, - - XREF_D3D_BlockOnTime, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(D3D_BlockOnTime_4, + 2048) OOVPA_SIG_MATCH( { 0x00, 0x56 }, @@ -581,11 +573,8 @@ OOVPA_SIG_MATCH( // * D3D_SetFence // ****************************************************************** //C70010A304008BCF -OOVPA_SIG_HEADER_XREF(D3D_SetFence, - 1048, - - XREF_D3D_SetFence, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(D3D_SetFence, + 1048) OOVPA_SIG_MATCH( { 0x00, 0x56 }, @@ -606,11 +595,8 @@ OOVPA_SIG_MATCH( // * D3D_SetFence // ****************************************************************** //C70010A304008B -OOVPA_SIG_HEADER_XREF(D3D_SetFence, - 1060, - - XREF_D3D_SetFence, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(D3D_SetFence, + 1060) OOVPA_SIG_MATCH( { 0x00, 0x53 }, diff --git a/src/OOVPADatabase/D3D8LTCG/5849.inl b/src/OOVPADatabase/D3D8LTCG/5849.inl index 07c04259..495310fe 100644 --- a/src/OOVPADatabase/D3D8LTCG/5849.inl +++ b/src/OOVPADatabase/D3D8LTCG/5849.inl @@ -188,11 +188,8 @@ OOVPA_SIG_MATCH( // * D3D_BlockOnTime // ****************************************************************** //C747101001040089 -OOVPA_SIG_HEADER_XREF(D3D_BlockOnTime, - 1048, - - XREF_D3D_BlockOnTime, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(D3D_BlockOnTime, + 1048) OOVPA_SIG_MATCH( { 0x00, 0x56 }, @@ -213,11 +210,8 @@ OOVPA_SIG_MATCH( // * D3D_BlockOnTime // ****************************************************************** //C747101001040089 ...C20400 -OOVPA_SIG_HEADER_XREF(D3D_BlockOnTime_4, - 2060, - - XREF_D3D_BlockOnTime, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(D3D_BlockOnTime_4, + 2060) OOVPA_SIG_MATCH( { 0x00, 0x56 }, @@ -345,8 +339,6 @@ OOVPA_SIG_MATCH( //81E30000FFFFB901 ...C3 OOVPA_SIG_HEADER_XREF(D3DDevice_SetTextureState_TexCoordIndex_0, 2058, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -769,11 +761,8 @@ OOVPA_SIG_MATCH( // * D3D_MakeRequestedSpace // ****************************************************************** //81C5004000003BE9 -OOVPA_SIG_HEADER_XREF(D3D_MakeRequestedSpace_8, - 1036, - - XREF_D3D_MakeRequestedSpace, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(D3D_MakeRequestedSpace_8, + 1036) OOVPA_SIG_MATCH( { 0x00, 0x51 }, @@ -819,8 +808,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(D3DDevice_SetStreamSource_0__LTCG_eax_StreamNumber_edi_pStreamData_ebx_Stride, 2058, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -840,8 +827,6 @@ OOVPA_SIG_MATCH( //7406810300000800 ...C20400 OOVPA_SIG_HEADER_XREF(D3DDevice_SetStreamSource_4, 2058, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( diff --git a/src/OOVPADatabase/D3D8LTCG_OOVPA.inl b/src/OOVPADatabase/D3D8LTCG_OOVPA.inl index 83048a63..19a8bc52 100644 --- a/src/OOVPADatabase/D3D8LTCG_OOVPA.inl +++ b/src/OOVPADatabase/D3D8LTCG_OOVPA.inl @@ -65,19 +65,19 @@ // ****************************************************************** OOVPATable D3D8LTCG_OOVPA[] = { - REGISTER_OOVPAS(D3D_MakeRequestedSpace_8, 1036), // NOTE: OOVPA is in 5849. In used by (5849) Manhunt title + REGISTER_OOVPAS_BIND_XREF(D3D_MakeRequestedSpace_8, D3D_MakeRequestedSpace, 1036), // NOTE: OOVPA is in 5849. In used by (5849) Manhunt title REGISTER_OOVPAS(D3D_MakeRequestedSpace, 2048), REGISTER_OOVPAS(D3D_SetFence, 1024, 1036, 1048, 1060), REGISTER_OOVPAS(D3D_BlockOnTime, 1024, 1036, 1048), - REGISTER_OOVPAS(D3D_BlockOnTime_4, 2048, 2060), + REGISTER_OOVPAS_BIND_XREF(D3D_BlockOnTime_4, D3D_BlockOnTime, 2048, 2060), REGISTER_OOVPAS(D3DResource_AddRef, 3911), - REGISTER_OOVPAS(CMiniport_InitHardware, 1024), + REGISTER_OOVPAS_BIND_XREF(CMiniport_InitHardware, D3D_CMiniport_InitHardware, 1024), REGISTER_OOVPAS(D3DCubeTexture_GetCubeMapSurface2, 1024), REGISTER_OOVPAS(D3DDevice_Begin, 1024, 1036, 1048), REGISTER_OOVPAS(D3DDevice_BeginPush, 1024, 1036, 1048), REGISTER_OOVPAS(D3DDevice_BeginPushBuffer, 1024, 1036), - REGISTER_OOVPAS(D3DDevice_BeginPushBuffer_0, 2048, 2060), + REGISTER_OOVPAS_BIND_XREF(D3DDevice_BeginPushBuffer_0, D3DDevice_BeginPushBuffer, 2048, 2060), REGISTER_OOVPAS(D3DDevice_BeginVisibilityTest, 1024, 1048), REGISTER_OOVPAS(D3DDevice_BlockUntilVerticalBlank, 1024), REGISTER_OOVPAS(D3DDevice_Clear, 1024, 1036), @@ -86,66 +86,66 @@ OOVPATable D3D8LTCG_OOVPA[] = { REGISTER_OOVPAS(D3DDevice_CreateTexture, 1024), REGISTER_OOVPAS(D3DDevice_CreateTexture2, 1024, 1036, 1048), REGISTER_OOVPAS(D3DDevice_CreateVertexShader, 1024), - REGISTER_OOVPAS(D3DDevice_DeletePixelShader_0, 2024), + REGISTER_OOVPAS_BIND_XREF(D3DDevice_DeletePixelShader_0, D3DDevice_DeletePixelShader, 2024), REGISTER_OOVPAS(D3DDevice_DeleteStateBlock, 1024), - REGISTER_OOVPAS(D3DDevice_DeleteVertexShader_0, 2024, 2036), + REGISTER_OOVPAS_BIND_XREF(D3DDevice_DeleteVertexShader_0, D3DDevice_DeleteVertexShader, 2024, 2036), REGISTER_OOVPAS(D3DDevice_DrawIndexedVertices, 1024, 1036), REGISTER_OOVPAS(D3DDevice_DrawIndexedVerticesUP, 1024, 1036, 1048, 1060, 1072), REGISTER_OOVPAS(D3DDevice_DrawVertices, 1024), - REGISTER_OOVPAS(D3DDevice_DrawVertices_4, 2048), - REGISTER_OOVPAS(D3DDevice_DrawVertices_8, 2024, 2048), + REGISTER_OOVPAS_BIND_XREF(D3DDevice_DrawVertices_4, D3DDevice_DrawVertices, 2048), + REGISTER_OOVPAS_BIND_XREF(D3DDevice_DrawVertices_8, D3DDevice_DrawVertices, 2024, 2048), REGISTER_OOVPAS(D3DDevice_DrawVerticesUP, 1024, 1036, 1048, 1060), - REGISTER_OOVPAS(D3DDevice_DrawVerticesUP_12, 2024), - REGISTER_OOVPAS(D3DDevice_EnableOverlay_0, 2048), + REGISTER_OOVPAS_BIND_XREF(D3DDevice_DrawVerticesUP_12, D3DDevice_DrawVerticesUP, 2024), + REGISTER_OOVPAS_BIND_XREF(D3DDevice_EnableOverlay_0, D3DDevice_EnableOverlay, 2048), REGISTER_OOVPAS(D3DDevice_End, 1024, 1036, 1048), REGISTER_OOVPAS(D3DDevice_EndPushBuffer, 1024, 1036), REGISTER_OOVPAS(D3DDevice_EndVisibilityTest, 1024), - REGISTER_OOVPAS(D3DDevice_EndVisibilityTest_0, 2048), + REGISTER_OOVPAS_BIND_XREF(D3DDevice_EndVisibilityTest_0, D3DDevice_EndVisibilityTest, 2048), REGISTER_OOVPAS(D3DDevice_GetBackBuffer2, 1024, 1036), - REGISTER_OOVPAS(D3DDevice_GetBackBuffer2_0, 2024, 2048), - REGISTER_OOVPAS(D3DDevice_GetBackBuffer_8, 2048), + REGISTER_OOVPAS_BIND_XREF(D3DDevice_GetBackBuffer_8, D3DDevice_GetBackBuffer, 2048), + REGISTER_OOVPAS_BIND_XREF(D3DDevice_GetBackBuffer2_0, D3DDevice_GetBackBuffer2, 2024, 2048), REGISTER_OOVPAS(D3DDevice_GetDepthStencilSurface, 1024), REGISTER_OOVPAS(D3DDevice_GetDepthStencilSurface2, 1024, 1048), REGISTER_OOVPAS(D3DDevice_GetDisplayMode, 1024), REGISTER_OOVPAS(D3DDevice_GetRenderTarget2, 1024, 1036), REGISTER_OOVPAS(D3DDevice_GetTransform, 1024), REGISTER_OOVPAS(D3DDevice_GetViewportOffsetAndScale, 1024), - REGISTER_OOVPAS(D3DDevice_GetViewportOffsetAndScale_0, 2024), + REGISTER_OOVPAS_BIND_XREF(D3DDevice_GetViewportOffsetAndScale_0, D3DDevice_GetViewportOffsetAndScale, 2024), REGISTER_OOVPAS(D3DDevice_IsBusy, 1024), REGISTER_OOVPAS(D3DDevice_IsFencePending, 1024), REGISTER_OOVPAS(D3DDevice_LightEnable, 1024, 1036), - REGISTER_OOVPAS(D3DDevice_LightEnable_4, 2024, 2048), + REGISTER_OOVPAS_BIND_XREF(D3DDevice_LightEnable_4, D3DDevice_LightEnable, 2024, 2048), REGISTER_OOVPAS(D3DDevice_LoadVertexShaderProgram, 1024, 1036, 1048), - REGISTER_OOVPAS(D3DDevice_LoadVertexShader_0__LTCG_eax_Address_ecx_Handle, 2024, 2036), - REGISTER_OOVPAS(D3DDevice_LoadVertexShader_0__LTCG_eax_Address_edx_Handle, 2048), - REGISTER_OOVPAS(D3DDevice_LoadVertexShader_4, 2024, 2036, 2048), - REGISTER_OOVPAS(D3DDevice_MultiplyTransform_0, 2024), + REGISTER_OOVPAS_BIND_XREF(D3DDevice_LoadVertexShader_0__LTCG_eax_Address_ecx_Handle, D3DDevice_LoadVertexShader, 2024, 2036), + REGISTER_OOVPAS_BIND_XREF(D3DDevice_LoadVertexShader_0__LTCG_eax_Address_edx_Handle, D3DDevice_LoadVertexShader, 2048), + REGISTER_OOVPAS_BIND_XREF(D3DDevice_LoadVertexShader_4, D3DDevice_LoadVertexShader, 2024, 2036, 2048), + REGISTER_OOVPAS_BIND_XREF(D3DDevice_MultiplyTransform_0, D3DDevice_MultiplyTransform, 2024), REGISTER_OOVPAS(D3DDevice_PersistDisplay, 1024, 1048, 1060), REGISTER_OOVPAS(D3DDevice_Present, 1024), REGISTER_OOVPAS(D3DDevice_Release, 1024), REGISTER_OOVPAS(D3DDevice_Reset, 1024, 1036), - REGISTER_OOVPAS(D3DDevice_Reset_0, 2024), + REGISTER_OOVPAS_BIND_XREF(D3DDevice_Reset_0, D3DDevice_Reset, 2024), REGISTER_OOVPAS(D3DDevice_RunPushBuffer, 1024, 1048), - REGISTER_OOVPAS(D3DDevice_RunPushBuffer_4, 2048), - REGISTER_OOVPAS(D3DDevice_RunVertexStateShader_4, 2048), + REGISTER_OOVPAS_BIND_XREF(D3DDevice_RunPushBuffer_4, D3DDevice_RunPushBuffer, 2048), + REGISTER_OOVPAS_BIND_XREF(D3DDevice_RunVertexStateShader_4, D3DDevice_RunVertexStateShader, 2048), REGISTER_OOVPAS(D3DDevice_SelectVertexShader, 1024, 1036), - REGISTER_OOVPAS(D3DDevice_SelectVertexShader_0, 2024, 2048, 2060, 2072, 2084), - REGISTER_OOVPAS(D3DDevice_SelectVertexShader_4, 2024, 2048, 2060), + REGISTER_OOVPAS_BIND_XREF(D3DDevice_SelectVertexShader_0, D3DDevice_SelectVertexShader, 2024, 2048, 2060, 2072, 2084), + REGISTER_OOVPAS_BIND_XREF(D3DDevice_SelectVertexShader_4, D3DDevice_SelectVertexShader, 2024, 2048, 2060), REGISTER_OOVPAS(D3DDevice_SelectVertexShaderDirect, 1024), - REGISTER_OOVPAS(D3DDevice_SelectVertexShaderDirect_0, 2024, 2048), - REGISTER_OOVPAS(D3DDevice_SetFlickerFilter_0, 2024), + REGISTER_OOVPAS_BIND_XREF(D3DDevice_SelectVertexShaderDirect_0, D3DDevice_SelectVertexShaderDirect, 2024, 2048), + REGISTER_OOVPAS_BIND_XREF(D3DDevice_SetFlickerFilter_0, D3DDevice_SetFlickerFilter, 2024), REGISTER_OOVPAS(D3DDevice_SetGammaRamp, 1024, 1036), REGISTER_OOVPAS(D3DDevice_SetIndices, 1024, 1036), - REGISTER_OOVPAS(D3DDevice_SetIndices_4, 2024), + REGISTER_OOVPAS_BIND_XREF(D3DDevice_SetIndices_4, D3DDevice_SetIndices, 2024), REGISTER_OOVPAS(D3DDevice_SetLight, 1024, 1048), REGISTER_OOVPAS(D3DDevice_SetPalette, 1024, 1036, 1048), - REGISTER_OOVPAS(D3DDevice_SetPalette_4, 2024), + REGISTER_OOVPAS_BIND_XREF(D3DDevice_SetPalette_4, D3DDevice_SetPalette, 2024), REGISTER_OOVPAS(D3DDevice_SetPixelShader, 1024, 1036, 1048), REGISTER_OOVPAS(D3DDevice_SetPixelShaderConstant, 1024, 1036), - REGISTER_OOVPAS(D3DDevice_SetPixelShaderConstant_4, 2024), + REGISTER_OOVPAS_BIND_XREF(D3DDevice_SetPixelShaderConstant_4, D3DDevice_SetPixelShaderConstant, 2024), REGISTER_OOVPAS(D3DDevice_SetPixelShaderProgram, 1024), - REGISTER_OOVPAS(D3DDevice_SetPixelShader_0, 2024, 2036, 2048, 2060, 2072), - REGISTER_OOVPAS(D3DDevice_SetRenderStateNotInline_0, 2048), + REGISTER_OOVPAS_BIND_XREF(D3DDevice_SetPixelShader_0, D3DDevice_SetPixelShader, 2024, 2036, 2048, 2060, 2072), + REGISTER_OOVPAS_BIND_XREF(D3DDevice_SetRenderStateNotInline_0, D3DDevice_SetRenderStateNotInline, 2048), REGISTER_OOVPAS(D3DDevice_SetRenderState_BackFillMode, 1024, 1036), REGISTER_OOVPAS_C(D3DDevice_SetRenderState_CullMode, 1045, 1049, 1052, 1053), REGISTER_OOVPAS(D3DDevice_SetRenderState_EdgeAntiAlias, 1024, 1036, 1048, 1060), @@ -172,76 +172,76 @@ OOVPATable D3D8LTCG_OOVPA[] = { REGISTER_OOVPAS(D3DDevice_SetRenderState_ZBias, 1024, 1036, 1048, 1060), REGISTER_OOVPAS(D3DDevice_SetRenderState_ZEnable, 1024, 1036, 1048, 1060), REGISTER_OOVPAS(D3DDevice_SetRenderTarget, 1024, 1036, 1048, 1072, 1084), - REGISTER_OOVPAS(D3DDevice_SetRenderTarget_0, 2048), + REGISTER_OOVPAS_BIND_XREF(D3DDevice_SetRenderTarget_0, D3DDevice_SetRenderTarget, 2048), REGISTER_OOVPAS(D3DDevice_SetRenderTargetFast, 1024), REGISTER_OOVPAS(D3DDevice_SetScissors, 1024, 1036, 1048, 1060, 1072), REGISTER_OOVPAS(D3DDevice_SetScreenSpaceOffset, 1024), REGISTER_OOVPAS(D3DDevice_SetShaderConstantMode, 1024), - REGISTER_OOVPAS(D3DDevice_SetShaderConstantMode_0, 2024, 2036, 2048, 2060, 2072, 2084, 2096, 2108, 2120, 2132, 2144, 2156), - REGISTER_OOVPAS(D3DDevice_SetSoftDisplayFilter_0, 2048), - REGISTER_OOVPAS(D3DDevice_SetStreamSource_8__LTCG_edx_StreamNumber, 1039), + REGISTER_OOVPAS_BIND_XREF(D3DDevice_SetShaderConstantMode_0, D3DDevice_SetShaderConstantMode, 2024, 2036, 2048, 2060, 2072, 2084, 2096, 2108, 2120, 2132, 2144, 2156), + REGISTER_OOVPAS_BIND_XREF(D3DDevice_SetSoftDisplayFilter_0, D3DDevice_SetSoftDisplayFilter, 2048), REGISTER_OOVPAS(D3DDevice_SetStreamSource, 1044), - REGISTER_OOVPAS(D3DDevice_SetStreamSource_0__LTCG_eax_StreamNumber_edi_pStreamData_ebx_Stride, 2058), - REGISTER_OOVPAS(D3DDevice_SetStreamSource_4, 2058), - REGISTER_OOVPAS(D3DDevice_SetStreamSource_8, 2040), + REGISTER_OOVPAS_BIND_XREF(D3DDevice_SetStreamSource_0__LTCG_eax_StreamNumber_edi_pStreamData_ebx_Stride, D3DDevice_SetStreamSource, 2058), + REGISTER_OOVPAS_BIND_XREF(D3DDevice_SetStreamSource_8__LTCG_edx_StreamNumber, D3DDevice_SetStreamSource, 1039), + REGISTER_OOVPAS_BIND_XREF(D3DDevice_SetStreamSource_4, D3DDevice_SetStreamSource, 2058), + REGISTER_OOVPAS_BIND_XREF(D3DDevice_SetStreamSource_8, D3DDevice_SetStreamSource, 2040), REGISTER_OOVPAS(D3DDevice_SetTexture, 1024), REGISTER_OOVPAS(D3DDevice_SetTextureStageStateNotInline, 1024), - REGISTER_OOVPAS(D3DDevice_SetTextureStageStateNotInline_0, 2024), + REGISTER_OOVPAS_BIND_XREF(D3DDevice_SetTextureStageStateNotInline_0, D3DDevice_SetTextureStageStateNotInline, 2024), REGISTER_OOVPAS(D3DDevice_SetTextureState_BorderColor, 1024, 1048), - REGISTER_OOVPAS(D3DDevice_SetTextureState_BorderColor_0, 2024, 2036, 2048), - REGISTER_OOVPAS(D3DDevice_SetTextureState_BorderColor_4, 2048, 2060), + REGISTER_OOVPAS_BIND_XREF(D3DDevice_SetTextureState_BorderColor_0, D3DDevice_SetTextureState_BorderColor, 2024, 2036, 2048), + REGISTER_OOVPAS_BIND_XREF(D3DDevice_SetTextureState_BorderColor_4, D3DDevice_SetTextureState_BorderColor, 2048, 2060), REGISTER_OOVPAS(D3DDevice_SetTextureState_BumpEnv, 1024), - REGISTER_OOVPAS(D3DDevice_SetTextureState_BumpEnv_8, 2024), + REGISTER_OOVPAS_BIND_XREF(D3DDevice_SetTextureState_BumpEnv_8, D3DDevice_SetTextureState_BumpEnv, 2024), REGISTER_OOVPAS(D3DDevice_SetTextureState_ColorKeyColor, 1024, 1036), - REGISTER_OOVPAS(D3DDevice_SetTextureState_ColorKeyColor_0, 2024, 2036, 2048), - REGISTER_OOVPAS(D3DDevice_SetTextureState_ColorKeyColor_4, 2048, 2060), + REGISTER_OOVPAS_BIND_XREF(D3DDevice_SetTextureState_ColorKeyColor_0, D3DDevice_SetTextureState_ColorKeyColor, 2024, 2036, 2048), + REGISTER_OOVPAS_BIND_XREF(D3DDevice_SetTextureState_ColorKeyColor_4, D3DDevice_SetTextureState_ColorKeyColor, 2048, 2060), REGISTER_OOVPAS_C(D3DDevice_SetTextureState_TexCoordIndex, 1944, 1958), - REGISTER_OOVPAS_C(D3DDevice_SetTextureState_TexCoordIndex_0, 2039, 2058), - REGISTER_OOVPAS_C(D3DDevice_SetTextureState_TexCoordIndex_4, 2040, 2045, 2052, 2058), - REGISTER_OOVPAS(D3DDevice_SetTexture_4__LTCG_eax_pTexture, 2024), - REGISTER_OOVPAS(D3DDevice_SetTexture_4, 2036), - REGISTER_OOVPAS(D3DDevice_SetTile_0, 2024, 2036, 2048, 2060, 2072), + REGISTER_OOVPAS_C_BIND_XREF(D3DDevice_SetTextureState_TexCoordIndex_0, D3DDevice_SetTextureState_TexCoordIndex, 2039, 2058), + REGISTER_OOVPAS_C_BIND_XREF(D3DDevice_SetTextureState_TexCoordIndex_4, D3DDevice_SetTextureState_TexCoordIndex, 2040, 2045, 2052, 2058), + REGISTER_OOVPAS_BIND_XREF(D3DDevice_SetTexture_4__LTCG_eax_pTexture, D3DDevice_SetTexture, 2024), + REGISTER_OOVPAS_BIND_XREF(D3DDevice_SetTexture_4, D3DDevice_SetTexture, 2036), + REGISTER_OOVPAS_BIND_XREF(D3DDevice_SetTile_0, D3DDevice_SetTile, 2024, 2036, 2048, 2060, 2072), REGISTER_OOVPAS(D3DDevice_SetTransform, 1024, 1048), - REGISTER_OOVPAS(D3DDevice_SetTransform_0, 2024, 2048, 2060, 2072, 2084), + REGISTER_OOVPAS_BIND_XREF(D3DDevice_SetTransform_0, D3DDevice_SetTransform, 2024, 2048, 2060, 2072, 2084), REGISTER_OOVPAS(D3DDevice_SetVertexData2f, 1024, 1036, 1048), REGISTER_OOVPAS(D3DDevice_SetVertexData2s, 1024, 1036, 1048), REGISTER_OOVPAS(D3DDevice_SetVertexData4f, 1024, 1036), - REGISTER_OOVPAS(D3DDevice_SetVertexData4f_16, 2024, 2036, 2048), + REGISTER_OOVPAS_BIND_XREF(D3DDevice_SetVertexData4f_16, D3DDevice_SetVertexData4f, 2024, 2036, 2048), REGISTER_OOVPAS(D3DDevice_SetVertexData4s, 1024, 1036, 1048), REGISTER_OOVPAS(D3DDevice_SetVertexData4ub, 1024, 1036, 1048), REGISTER_OOVPAS(D3DDevice_SetVertexDataColor, 1024, 1036, 1048, 1060), REGISTER_OOVPAS(D3DDevice_SetVertexShader, 1024, 1036), REGISTER_OOVPAS(D3DDevice_SetVertexShaderConstant, 1024), - REGISTER_OOVPAS(D3DDevice_SetVertexShaderConstantNotInline_0, 2048), - REGISTER_OOVPAS(D3DDevice_SetVertexShaderConstant_8, 2024), + REGISTER_OOVPAS_BIND_XREF(D3DDevice_SetVertexShaderConstantNotInline_0, D3DDevice_SetVertexShaderConstantNotInline, 2048), + REGISTER_OOVPAS_BIND_XREF(D3DDevice_SetVertexShaderConstant_8, D3DDevice_SetVertexShaderConstant, 2024), REGISTER_OOVPAS(D3DDevice_SetVertexShaderInput, 1024), - REGISTER_OOVPAS(D3DDevice_SetVertexShader_0, 2024, 2036), + REGISTER_OOVPAS_BIND_XREF(D3DDevice_SetVertexShader_0, D3DDevice_SetVertexShader, 2024, 2036), REGISTER_OOVPAS(D3DDevice_SetViewport, 1024, 1036, 1048, 1060), REGISTER_OOVPAS(D3DDevice_Swap, 1024, 1036, 1048), - REGISTER_OOVPAS(D3DDevice_Swap_0, 2024, 2036), + REGISTER_OOVPAS_BIND_XREF(D3DDevice_Swap_0, D3DDevice_Swap, 2024, 2036), REGISTER_OOVPAS(D3DDevice_UpdateOverlay, 1024, 1036, 1048, 1060), - REGISTER_OOVPAS(D3DDevice_UpdateOverlay_16, 2048), + REGISTER_OOVPAS_BIND_XREF(D3DDevice_UpdateOverlay_16, D3DDevice_UpdateOverlay, 2048), REGISTER_OOVPAS(D3DPalette_Lock2, 1024), REGISTER_OOVPAS(D3DResource_GetType, 1024), - REGISTER_OOVPAS(D3DResource_GetType_0, 2024), + REGISTER_OOVPAS_BIND_XREF(D3DResource_GetType_0, D3DResource_GetType, 2024), REGISTER_OOVPAS(D3DResource_Release, 1024, 1036), REGISTER_OOVPAS(D3DSurface_GetDesc, 1024), REGISTER_OOVPAS(D3DTexture_GetSurfaceLevel2, 1024), REGISTER_OOVPAS(D3DTexture_LockRect, 1024), REGISTER_OOVPAS(D3DVertexBuffer_Lock2, 1024), - REGISTER_OOVPAS(D3D_BlockOnResource_0, 2024, 2036, 2048, 2060), - REGISTER_OOVPAS(D3D_DestroyResource__LTCG, 3911), + REGISTER_OOVPAS_BIND_XREF(D3D_BlockOnResource_0, D3D_BlockOnResource, 2024, 2036, 2048, 2060), + REGISTER_OOVPAS_BIND_XREF(D3D_DestroyResource__LTCG, D3D_DestroyResource, 3911), REGISTER_OOVPAS(D3D_CommonSetRenderTarget, 1024, 1036, 1048, 1060), REGISTER_OOVPAS(D3D_KickOffAndWaitForIdle2, 1024, 1036, 1048), REGISTER_OOVPAS(Direct3D_CreateDevice, 1024, 1036), - REGISTER_OOVPAS(Direct3D_CreateDevice_16__LTCG_eax_BehaviorFlags_ebx_ppReturnedDeviceInterface, 2024), - REGISTER_OOVPAS(Direct3D_CreateDevice_16__LTCG_eax_BehaviorFlags_ecx_ppReturnedDeviceInterface, 2036, 2048), - REGISTER_OOVPAS(Direct3D_CreateDevice_4, 2048, 2060), - REGISTER_OOVPAS(Get2DSurfaceDesc, 1024), - REGISTER_OOVPAS(Get2DSurfaceDesc_0, 2024, 2036), - REGISTER_OOVPAS(Get2DSurfaceDesc_4, 2048), - REGISTER_OOVPAS(Lock3DSurface_16, 2048), - REGISTER_OOVPAS(Lock2DSurface_16, 2048), + REGISTER_OOVPAS_BIND_XREF(Direct3D_CreateDevice_16__LTCG_eax_BehaviorFlags_ebx_ppReturnedDeviceInterface, Direct3D_CreateDevice, 2024), + REGISTER_OOVPAS_BIND_XREF(Direct3D_CreateDevice_16__LTCG_eax_BehaviorFlags_ecx_ppReturnedDeviceInterface, Direct3D_CreateDevice, 2036, 2048), + REGISTER_OOVPAS_BIND_XREF(Direct3D_CreateDevice_4, Direct3D_CreateDevice, 2048, 2060), + REGISTER_OOVPAS_D3D8(Get2DSurfaceDesc, 1024), + REGISTER_OOVPAS_BIND_XREF(Get2DSurfaceDesc_0, D3D8_Get2DSurfaceDesc, 2024, 2036), + REGISTER_OOVPAS_BIND_XREF(Get2DSurfaceDesc_4, D3D8_Get2DSurfaceDesc, 2048), + REGISTER_OOVPAS_BIND_XREF(Lock3DSurface_16, D3D8_Lock3DSurface, 2048), + REGISTER_OOVPAS_BIND_XREF(Lock2DSurface_16, D3D8_Lock2DSurface, 2048), }; // ****************************************************************** diff --git a/src/OOVPADatabase/D3D8_OOVPA.inl b/src/OOVPADatabase/D3D8_OOVPA.inl index 9e43d463..51f3e76e 100644 --- a/src/OOVPADatabase/D3D8_OOVPA.inl +++ b/src/OOVPADatabase/D3D8_OOVPA.inl @@ -113,7 +113,7 @@ // * D3DDevice_InsertCallback (4034, 4039) // * D3DDevice_InsertFence (4034) // * D3DDevice_IsFencePending (4034) -// * D3DDevice_KickOff (5455,5849) +// * D3D_CDevice_KickOff (5455,5849) // * D3DDevice_KickPushBuffer (4034) // * D3DDevice_LoadVertexShaderProgram (4034) // * D3DDevice_PersistDisplay (4034) @@ -178,6 +178,8 @@ #include "D3D8/5788.inl" #include "D3D8/5849.inl" +#define REGISTER_OOVPAS_D3D(Symbol, ...) REGISTER_OOVPAS_PREFIX(D3D, Symbol, __VA_ARGS__) +#define REGISTER_OOVPAS_D3D8(Symbol, ...) REGISTER_OOVPAS_PREFIX(D3D8, Symbol, __VA_ARGS__) // ****************************************************************** // * D3D8_OOVPA @@ -185,10 +187,10 @@ OOVPATable D3D8_OOVPA[] = { REGISTER_OOVPAS_M(D3DDevice__m_VerticalBlankEvent__ManualFindGeneric, 3911), // This OOVPA signature is not a symbol. Read its note for more details. - REGISTER_OOVPAS(CDevice_MakeSpace, 3911), // NOTE: has multiple rets. - REGISTER_OOVPAS(CMiniport_CreateCtxDmaObject, 3911, 4034), - REGISTER_OOVPAS(CMiniport_InitHardware, 3911, 4034, 5455), - REGISTER_OOVPAS(CMiniport_IsFlipPending, 3911, 4242, 4627, 4928), + REGISTER_OOVPAS_D3D(CDevice_MakeSpace, 3911), // NOTE: has multiple rets. + REGISTER_OOVPAS_D3D(CMiniport_CreateCtxDmaObject, 3911, 4034), + REGISTER_OOVPAS_D3D(CMiniport_InitHardware, 3911, 4034, 5455), + REGISTER_OOVPAS_D3D(CMiniport_IsFlipPending, 3911, 4242, 4627, 4928), REGISTER_OOVPAS(D3DBaseTexture_GetLevelCount, 3911), REGISTER_OOVPAS(D3DCubeTexture_GetCubeMapSurface, 3911, 4627), // Called D3DCubeTexture_GetCubeMapSurface2 (from 4627's comment) NOTE: Use D3DCubeTexture_GetCubeMapSurface2 for 4627 and above REGISTER_OOVPAS(D3DCubeTexture_GetCubeMapSurface2, 4627), @@ -196,8 +198,8 @@ OOVPATable D3D8_OOVPA[] = { REGISTER_OOVPAS(D3DDevice_AddRef, 3911, 4039, 4134, 4242, 4627, 5028, 5344, 5558, 5788), REGISTER_OOVPAS(D3DDevice_ApplyStateBlock, 3911, 4627), REGISTER_OOVPAS(D3DDevice_Begin, 3911, 4039), - REGISTER_OOVPAS(D3DDevice_BeginPush, 4531, 4627, 5028), // NOTE: should be D3DDevice_BeginPush_4 and maybe include reference to D3DDevice_SetStateVB - REGISTER_OOVPAS(D3DDevice_BeginPush2, 4039), // NOTE: should be D3DDevice_BeginPush_8 and maybe include reference to D3DDevice_SetStateVB + REGISTER_OOVPAS(D3DDevice_BeginPush, 4531, 4627, 5028), // NOTE: should be D3DDevice_BeginPush_4 and maybe include reference to CDevice_SetStateVB + REGISTER_OOVPAS(D3DDevice_BeginPush2, 4039), // NOTE: should be D3DDevice_BeginPush_8 and maybe include reference to CDevice_SetStateVB REGISTER_OOVPAS(D3DDevice_BeginPushBuffer, 3911, 4039), // Not implemented yet. (from 5788's comment) REGISTER_OOVPAS(D3DDevice_BeginStateBig, 5028), REGISTER_OOVPAS(D3DDevice_BeginStateBlock, 3911, 4134), @@ -279,10 +281,10 @@ OOVPATable D3D8_OOVPA[] = { REGISTER_OOVPAS(D3DDevice_InsertFence, 3911), REGISTER_OOVPAS(D3DDevice_IsBusy, 3911, 5028), REGISTER_OOVPAS(D3DDevice_IsFencePending, 3911, 4039, 5028), - REGISTER_OOVPAS(D3DDevice_KickOff, 3911, 4034, 4531, 5028, 5455), + REGISTER_OOVPAS_D3D(CDevice_KickOff, 3911, 4034, 4531, 5028, 5455), REGISTER_OOVPAS(D3DDevice_KickPushBuffer, 3911), REGISTER_OOVPAS(D3DDevice_LazySetStateVB, 5028, 5558), - REGISTER_OOVPAS(D3DDevice_LazySetStateUP, 5028, 5558), + REGISTER_OOVPAS_D3D(CDevice_LazySetStateUP, 5028, 5558), REGISTER_OOVPAS(D3DDevice_LightEnable, 3911, 5344), // Was 5233 (from 5344's comment) REGISTER_OOVPAS(D3DDevice_LoadVertexShader, 3911, 4034, 4627, 5028), REGISTER_OOVPAS(D3DDevice_LoadVertexShaderProgram, 3911), @@ -351,8 +353,8 @@ OOVPATable D3D8_OOVPA[] = { REGISTER_OOVPAS(D3DDevice_SetScreenSpaceOffset, 4034, 5455), // Was 5233 (from 5344's comment) REGISTER_OOVPAS(D3DDevice_SetShaderConstantMode, 3911, 4034), REGISTER_OOVPAS(D3DDevice_SetSoftDisplayFilter, 3911, 4034, 4134), - REGISTER_OOVPAS(D3DDevice_SetStateUP, 3911, 4034, 4134), - REGISTER_OOVPAS(D3DDevice_SetStateVB, 3911, 4034, 4134), + REGISTER_OOVPAS_D3D(CDevice_SetStateUP, 3911, 4034, 4134), + REGISTER_OOVPAS_D3D(CDevice_SetStateVB, 3911, 4034, 4134), REGISTER_OOVPAS(D3DDevice_SetStipple, 4627), REGISTER_OOVPAS(D3DDevice_SetStreamSource, 3911, 4034), REGISTER_OOVPAS(D3DDevice_SetSwapCallback, 4039), // Final generic OOVPA: 4039; Removed: 0 @@ -425,11 +427,11 @@ OOVPATable D3D8_OOVPA[] = { REGISTER_OOVPAS(D3D_UpdateProjectionViewportTransform, 3911, 4034), // Final generic OOVPA: 4034; Removed: 0 REGISTER_OOVPAS(Direct3D_CheckDeviceMultiSampleType, 3911), REGISTER_OOVPAS(Direct3D_CreateDevice, 3911, 5028), - REGISTER_OOVPAS(Get2DSurfaceDesc, 3911, 4034), // Was 5233 (from 5344's comment) - REGISTER_OOVPAS(Lock2DSurface, 3911), - REGISTER_OOVPAS(Lock3DSurface, 3911), - REGISTER_OOVPAS(D3D_MakeRequestedSpace_4, 4034), // Final generic OOVPA: 4034??; Removed: 4134 // NOTE: has multiple rets. - REGISTER_OOVPAS(D3D_MakeRequestedSpace_8, 4134, 5558), // Final generic OOVPA: 5558; Removed: 0 // NOTE: has multiple rets. + REGISTER_OOVPAS_D3D8(Get2DSurfaceDesc, 3911, 4034), // Was 5233 (from 5344's comment) + REGISTER_OOVPAS_D3D8(Lock2DSurface, 3911), + REGISTER_OOVPAS_D3D8(Lock3DSurface, 3911), + REGISTER_OOVPAS_BIND_XREF(D3D_MakeRequestedSpace_4, D3D_MakeRequestedSpace, 4034), // Final generic OOVPA: 4034??; Removed: 4134 // NOTE: has multiple rets. + REGISTER_OOVPAS_BIND_XREF(D3D_MakeRequestedSpace_8, D3D_MakeRequestedSpace, 4134, 5558), // Final generic OOVPA: 5558; Removed: 0 // NOTE: has multiple rets. REGISTER_OOVPAS(XMETAL_StartPush, 3911), // Final generic OOVPA: 3911; Removed: 4034?? REGISTER_OOVPAS(IDirect3DVertexBuffer8_Lock, 4627), }; diff --git a/src/OOVPADatabase/DSound/3911.inl b/src/OOVPADatabase/DSound/3911.inl index c72e397c..090faff1 100644 --- a/src/OOVPADatabase/DSound/3911.inl +++ b/src/OOVPADatabase/DSound/3911.inl @@ -27,11 +27,8 @@ // * DirectSoundEnterCriticalSection // ****************************************************************** // Generic OOVPA as of 3911 and newer. -OOVPA_SIG_HEADER_XREF(DirectSoundEnterCriticalSection, - 3911, - - XREF_DirectSoundEnterCriticalSection, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(DirectSoundEnterCriticalSection, + 3911) OOVPA_SIG_MATCH( { 0x02, 0xB6 }, @@ -73,11 +70,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * CMcpxAPU_ServiceDeferredCommandsLow // ****************************************************************** -OOVPA_SIG_HEADER_XREF(CMcpxAPU_ServiceDeferredCommandsLow, - 3911, - - XREF_CMcpxAPU_ServiceDeferredCommandsLow, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CMcpxAPU_ServiceDeferredCommandsLow, + 3911) OOVPA_SIG_MATCH( // CMcpxAPU_ServiceDeferredCommandsLow+0x00 : push ebx; push ebp @@ -100,8 +94,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSound_DoWork, 3911, - - XREF_CDirectSound_DoWork, XRefOne) OOVPA_SIG_MATCH( @@ -129,8 +121,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(DirectSoundDoWork, 3911, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -156,11 +146,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * CDirectSound::CreateSoundBuffer // ****************************************************************** -OOVPA_SIG_HEADER_XREF(CDirectSound_CreateSoundBuffer, - 3911, - - XREF_CDirectSound_CreateSoundBuffer, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CDirectSound_CreateSoundBuffer, + 3911) OOVPA_SIG_MATCH( // CDirectSound_CreateSoundBuffer+0x00 : push ebp @@ -198,8 +185,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 3911 and newer. OOVPA_SIG_HEADER_XREF(IDirectSound_CreateSoundBuffer, 3911, - - XREF_IDirectSound_CreateSoundBuffer, XRefOne) OOVPA_SIG_MATCH( @@ -232,8 +217,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(DirectSoundCreateBuffer, 3911, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -263,11 +246,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * CDirectSound::CreateSoundStream // ****************************************************************** -OOVPA_SIG_HEADER_XREF(CDirectSound_CreateSoundStream, - 3911, - - XREF_CDirectSound_CreateSoundStream, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CDirectSound_CreateSoundStream, + 3911) OOVPA_SIG_MATCH( // CDirectSound_CreateSoundStream+0x2D : and esi, 0x7FF8FFF2 @@ -302,8 +282,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 3911 and newer. OOVPA_SIG_HEADER_XREF(IDirectSound_CreateSoundStream, 3911, - - XREF_IDirectSound_CreateSoundStream, XRefOne) OOVPA_SIG_MATCH( @@ -332,8 +310,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(DirectSoundCreateStream, 3911, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -461,11 +437,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * CMcpxVoiceClient_SetVolume // ****************************************************************** -OOVPA_SIG_HEADER_XREF(CMcpxVoiceClient_SetVolume, - 3911, - - XREF_CMcpxVoiceClient_SetVolume, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CMcpxVoiceClient_SetVolume, + 3911) OOVPA_SIG_MATCH( // CMcpxVoiceClient_SetVolume+0x26 : mov ecx, [esi+0xE0] @@ -492,8 +465,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSoundVoice_SetVolume, 3911, - - XREF_CDirectSoundVoice_SetVolume, XRefOne) OOVPA_SIG_MATCH( @@ -526,8 +497,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(IDirectSoundBuffer_SetVolume, 3911, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -554,11 +523,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * CMcpxBuffer_Stop // ****************************************************************** -OOVPA_SIG_HEADER_XREF(CMcpxBuffer_Stop, - 3911, - - XREF_CMcpxBuffer_Stop, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CMcpxBuffer_Stop, + 3911) OOVPA_SIG_MATCH( // CMcpxBuffer_Stop+0x08 : or eax, dword ptr [esp+10h] @@ -586,8 +552,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSoundBuffer_StopEx, 3911, - - XREF_CDirectSoundBuffer_StopEx, XRefOne) OOVPA_SIG_MATCH( @@ -619,8 +583,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 3911 and newer. OOVPA_SIG_HEADER_XREF(IDirectSoundBuffer_StopEx, 3911, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -643,8 +605,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSoundBuffer_Stop, 3911, - - XREF_CDirectSoundBuffer_Stop, XRefOne) OOVPA_SIG_MATCH( @@ -676,8 +636,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 3911 and newer. OOVPA_SIG_HEADER_XREF(IDirectSoundBuffer_Stop, 3911, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -708,11 +666,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * CDirectSoundBuffer_SetLoopRegion // ****************************************************************** -OOVPA_SIG_HEADER_XREF(CDirectSoundBuffer_SetLoopRegion, - 3911, - - XREF_CDirectSoundBuffer_SetLoopRegion, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CDirectSoundBuffer_SetLoopRegion, + 3911) OOVPA_SIG_MATCH( // CDirectSoundBuffer_SetLoopRegion+0x20 : cmp edx, [ecx+0x54] @@ -741,8 +696,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 3911 and newer. OOVPA_SIG_HEADER_XREF(IDirectSoundBuffer_SetLoopRegion, 3911, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -769,11 +722,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * CMcpxBuffer_Play // ****************************************************************** -OOVPA_SIG_HEADER_XREF(CMcpxBuffer_Play, - 3911, - - XREF_CMcpxBuffer_Play, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CMcpxBuffer_Play, + 3911) OOVPA_SIG_MATCH( { 0x06, 0x56 }, @@ -793,8 +743,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSoundBuffer_PlayEx, 3911, - - XREF_CDirectSoundBuffer_PlayEx, XRefOne) OOVPA_SIG_MATCH( @@ -819,8 +767,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSoundBuffer_Play, 3911, - - XREF_CDirectSoundBuffer_Play, XRefOne) OOVPA_SIG_MATCH( @@ -842,8 +788,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 3911 and newer. OOVPA_SIG_HEADER_XREF(IDirectSoundBuffer_Play, 3911, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -883,8 +827,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 3911 and newer. OOVPA_SIG_HEADER_XREF(IDirectSoundBuffer_PlayEx, 3911, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -903,11 +845,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * CMcpxBuffer_GetCurrentPosition // ****************************************************************** -OOVPA_SIG_HEADER_XREF(CMcpxBuffer_GetCurrentPosition, - 3911, - - XREF_CMcpxBuffer_GetCurrentPosition, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CMcpxBuffer_GetCurrentPosition, + 3911) OOVPA_SIG_MATCH( // CMcpxBuffer_GetCurrentPosition+0x12 : mov eax, [esi+XX] @@ -945,8 +884,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSoundBuffer_GetCurrentPosition, 3911, - - XREF_CDirectSoundBuffer_GetCurrentPosition, XRefOne) OOVPA_SIG_MATCH( @@ -975,8 +912,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 3911 and newer. OOVPA_SIG_HEADER_XREF(IDirectSoundBuffer_GetCurrentPosition, 3911, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -1001,11 +936,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * CMcpxBuffer_GetStatus // ****************************************************************** -OOVPA_SIG_HEADER_XREF(CMcpxBuffer_GetStatus, - 3911, - - XREF_CMcpxBuffer_GetStatus, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CMcpxBuffer_GetStatus, + 3911) OOVPA_SIG_MATCH( // CMcpxBuffer_GetStatus+0x10 : mov eax, [ebp+0x08] @@ -1038,8 +970,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSoundBuffer_GetStatus, 3911, - - XREF_CDirectSoundBuffer_GetStatus, XRefOne) OOVPA_SIG_MATCH( @@ -1069,8 +999,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 3911 and newer. OOVPA_SIG_HEADER_XREF(IDirectSoundBuffer_GetStatus, 3911, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -1097,11 +1025,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * CMcpxVoiceClient::SetFilter // ****************************************************************** -OOVPA_SIG_HEADER_XREF(CMcpxVoiceClient_SetFilter, - 3911, - - XREF_CMcpxVoiceClient_SetFilter, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CMcpxVoiceClient_SetFilter, + 3911) OOVPA_SIG_MATCH( { 0x0E, 0xE8 }, @@ -1126,8 +1051,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSoundVoice_SetFilter, 3911, - - XREF_CDirectSoundVoice_SetFilter, XRefOne) OOVPA_SIG_MATCH( @@ -1150,8 +1073,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(IDirectSoundBuffer_SetFilter, 3911, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -1178,11 +1099,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * CMcpxVoiceClient::SetLFO // ****************************************************************** -OOVPA_SIG_HEADER_XREF(CMcpxVoiceClient_SetLFO, - 3911, - - XREF_CMcpxVoiceClient_SetLFO, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CMcpxVoiceClient_SetLFO, + 3911) OOVPA_SIG_MATCH( { 0x10, 0x8B }, @@ -1207,8 +1125,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSoundVoice_SetLFO, 3911, - - XREF_CDirectSoundVoice_SetLFO, XRefOne) OOVPA_SIG_MATCH( @@ -1232,8 +1148,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(IDirectSoundBuffer_SetLFO, 3911, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -1252,11 +1166,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * CMcpxVoiceClient::SetEG // ****************************************************************** -OOVPA_SIG_HEADER_XREF(CMcpxVoiceClient_SetEG, - 3911, - - XREF_CMcpxVoiceClient_SetEG, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CMcpxVoiceClient_SetEG, + 3911) OOVPA_SIG_MATCH( { 0x10, 0x8B }, @@ -1281,8 +1192,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSoundVoice_SetEG, 3911, - - XREF_CDirectSoundVoice_SetEG, XRefOne) OOVPA_SIG_MATCH( @@ -1305,8 +1214,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(IDirectSoundBuffer_SetEG, 3911, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -1328,8 +1235,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 3911 and newer OOVPA_SIG_HEADER_XREF(IDirectSoundBuffer_SetOutputBuffer, 3911, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -1350,8 +1255,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSoundVoice_SetMixBinVolumes, 3911, - - XREF_CDirectSoundVoice_SetMixBinVolumes, XRefOne) OOVPA_SIG_MATCH( @@ -1372,8 +1275,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(IDirectSoundBuffer_SetMixBinVolumes_12, 3911, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -1395,8 +1296,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSoundStream_SetMixBinVolumes_12, 3911, - - XREF_CDirectSoundStream_SetMixBinVolumes_12, XRefOne) OOVPA_SIG_MATCH( @@ -1417,11 +1316,8 @@ OOVPA_SIG_MATCH( // * CMcpxAPU_Commit3dSettings // ****************************************************************** // Generic OOVPA as of 3911 to 4039; 4134 and newer no longer have it. -OOVPA_SIG_HEADER_XREF(CMcpxAPU_Commit3dSettings, - 3911, - - XREF_CMcpxAPU_Commit3dSettings, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CMcpxAPU_Commit3dSettings, + 3911) OOVPA_SIG_MATCH( // CMcpxAPU_Commit3dSettings+0x56 : fld dword ptr [eax+0x174] @@ -1448,8 +1344,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSound_CommitDeferredSettings, 3911, - - XREF_CDirectSound_CommitDeferredSettings, XRefOne) OOVPA_SIG_MATCH( @@ -1481,8 +1375,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 3911 and newer OOVPA_SIG_HEADER_XREF(IDirectSound_CommitDeferredSettings, 3911, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -1507,11 +1399,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * CDirectSound_SetOrientation // ****************************************************************** -OOVPA_SIG_HEADER_XREF(CDirectSound_SetOrientation, - 3911, - - XREF_CDirectSound_SetOrientation, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CDirectSound_SetOrientation, + 3911) OOVPA_SIG_MATCH( // CDirectSound_SetOrientation+0x00 : push ebp @@ -1538,8 +1427,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 3911 and newer OOVPA_SIG_HEADER_XREF(IDirectSound_SetOrientation, 3911, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -1637,11 +1524,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * CMcpxVoiceClient_SetPitch // ****************************************************************** -OOVPA_SIG_HEADER_XREF(CMcpxVoiceClient_SetPitch, - 3911, - - XREF_CMcpxVoiceClient_SetPitch, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CMcpxVoiceClient_SetPitch, + 3911) OOVPA_SIG_MATCH( // CMcpxVoiceClient_SetPitch+0x21 : lea edi, [esi+0xB4] @@ -1668,8 +1552,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSoundVoice_SetPitch, 3911, - - XREF_CDirectSoundVoice_SetPitch, XRefOne) OOVPA_SIG_MATCH( @@ -1702,8 +1584,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(IDirectSoundBuffer_SetPitch, 3911, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -1730,11 +1610,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * XAudioCalculatePitch // ****************************************************************** -OOVPA_SIG_HEADER_XREF(XAudioCalculatePitch, - 3911, - - XREF_XAudioCalculatePitch, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(XAudioCalculatePitch, + 3911) OOVPA_SIG_MATCH( { 0x00, 0x55 }, @@ -1779,11 +1656,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * CSensaura3d::GetFullHRTFFilterPair // ****************************************************************** -OOVPA_SIG_HEADER_XREF(CSensaura3d_GetFullHRTFFilterPair, - 3911, - - XREF_CSensaura3d_GetFullHRTFFilterPair, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CSensaura3d_GetFullHRTFFilterPair, + 3911) OOVPA_SIG_MATCH( { 0x1E, 0xEB }, @@ -1801,8 +1675,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(DirectSoundUseFullHRTF, 3911, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -1822,11 +1694,8 @@ OOVPA_SIG_MATCH( // * CSensaura3d_GetLiteHRTFFilterPair // ****************************************************************** // Generic OOVPA as of 3911 and newer -OOVPA_SIG_HEADER_XREF(CSensaura3d_GetLiteHRTFFilterPair, - 3911, - - XREF_CSensaura3d_GetLiteHRTFFilterPair, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CSensaura3d_GetLiteHRTFFilterPair, + 3911) OOVPA_SIG_MATCH( // push ebp @@ -1853,8 +1722,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(DirectSoundUseLightHRTF, 3911, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -1875,8 +1742,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSoundVoice_SetFrequency, 3911, - - XREF_CDirectSoundVoice_SetFrequency, XRefOne) OOVPA_SIG_MATCH( @@ -1904,8 +1769,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(IDirectSoundBuffer_SetFrequency, 3911, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -1930,11 +1793,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * CMcpxVoiceClient::SetMixBins // ****************************************************************** -OOVPA_SIG_HEADER_XREF(CMcpxVoiceClient_SetMixBins, - 3911, - - XREF_CMcpxVoiceClient_SetMixBins, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CMcpxVoiceClient_SetMixBins, + 3911) OOVPA_SIG_MATCH( // CMcpxVoiceClient_SetMixBins+0x1D : lea eax, [esi+0x84] @@ -1972,8 +1832,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSoundVoice_SetMixBins, 3911, - - XREF_CDirectSoundVoice_SetMixBins, XRefOne) OOVPA_SIG_MATCH( @@ -2001,8 +1859,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(IDirectSoundBuffer_SetMixBins, 3911, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -2027,11 +1883,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * CDirectSoundVoice::SetOutputBuffer // ****************************************************************** -OOVPA_SIG_HEADER_XREF(CDirectSoundVoice_SetOutputBuffer, - 3911, - - XREF_CDirectSoundVoice_SetOutputBuffer, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CDirectSoundVoice_SetOutputBuffer, + 3911) OOVPA_SIG_MATCH( { 0x0B, 0xF7 }, @@ -2049,8 +1902,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSoundBuffer_SetOutputBuffer, 3911, - - XREF_CDirectSoundBuffer_SetOutputBuffer, XRefOne) OOVPA_SIG_MATCH( @@ -2086,8 +1937,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSoundBuffer_SetBufferData, 3911, - - XREF_CDirectSoundBuffer_SetBufferData, XRefTwo) OOVPA_SIG_MATCH( @@ -2123,8 +1972,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 3911 and newer OOVPA_SIG_HEADER_XREF(IDirectSoundBuffer_SetBufferData, 3911, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -2151,11 +1998,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * CDirectSoundBuffer::SetNotificationPositions // ****************************************************************** -OOVPA_SIG_HEADER_XREF(CDirectSoundBuffer_SetNotificationPositions, - 3911, - - XREF_CDirectSoundBuffer_SetNotificationPositions, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CDirectSoundBuffer_SetNotificationPositions, + 3911) OOVPA_SIG_MATCH( { 0x09, 0x24 }, @@ -2174,8 +2018,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 3911 and newer OOVPA_SIG_HEADER_XREF(IDirectSoundBuffer_SetNotificationPositions, 3911, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -2197,8 +2039,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSoundVoice_SetHeadroom, 3911, - - XREF_CDirectSoundVoice_SetHeadroom, XRefOne) OOVPA_SIG_MATCH( @@ -2231,8 +2071,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(IDirectSoundBuffer_SetHeadroom, 3911, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -2261,8 +2099,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSoundStream_Pause, 3911, - - XREF_CDirectSoundStream_Pause, XRefOne) OOVPA_SIG_MATCH( @@ -2344,11 +2180,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * CMcpxStream_Flush // ****************************************************************** -OOVPA_SIG_HEADER_XREF(CMcpxStream_Flush, - 3911, - - XREF_CMcpxStream_Flush, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CMcpxStream_Flush, + 3911) OOVPA_SIG_MATCH( { 0x0D, 0x03 }, @@ -2381,8 +2214,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSoundStream_Flush, 3911, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -2411,8 +2242,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CMcpxStream_Discontinuity, 3911, - - XREF_CMcpxStream_Discontinuity, XRefOne) OOVPA_SIG_MATCH( @@ -2443,8 +2272,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSoundStream_Discontinuity, 3911, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -2510,11 +2337,8 @@ OOVPA_SIG_MATCH( // * CMcpxVoiceClient_Set3dMaxDistance // ****************************************************************** // Generic OOVPA as of 3911 and newer. -OOVPA_SIG_HEADER_XREF(CMcpxVoiceClient_Set3dMaxDistance, - 3911, - - XREF_CMcpxVoiceClient_Set3dMaxDistance, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CMcpxVoiceClient_Set3dMaxDistance, + 3911) OOVPA_SIG_MATCH( // CMcpxVoiceClient_Set3dMaxDistance+0x04 : or byte ptr [ecx+0x80], 0x04 @@ -2542,8 +2366,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSoundVoice_SetMaxDistance, 3911, - - XREF_CDirectSoundVoice_SetMaxDistance, XRefOne) OOVPA_SIG_MATCH( @@ -2581,8 +2403,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSoundBuffer_SetMaxDistance, 3911, - - XREF_CDirectSoundBuffer_SetMaxDistance, XRefOne) OOVPA_SIG_MATCH( @@ -2605,8 +2425,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 3911 and newer. OOVPA_SIG_HEADER_XREF(IDirectSoundBuffer_SetMaxDistance, 3911, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -2627,8 +2445,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSoundStream_SetMaxDistance, 3911, - - XREF_CDirectSoundStream_SetMaxDistance, XRefOne) OOVPA_SIG_MATCH( @@ -2658,8 +2474,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 3911 and newer. OOVPA_SIG_HEADER_XREF(IDirectSoundStream_SetMaxDistance, 3911, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -2688,11 +2502,8 @@ OOVPA_SIG_MATCH( // * CMcpxVoiceClient_Set3dMinDistance // ****************************************************************** // Generic OOVPA as of 3911 and newer. -OOVPA_SIG_HEADER_XREF(CMcpxVoiceClient_Set3dMinDistance, - 3911, - - XREF_CMcpxVoiceClient_Set3dMinDistance, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CMcpxVoiceClient_Set3dMinDistance, + 3911) OOVPA_SIG_MATCH( // CMcpxVoiceClient_Set3dMinDistance+0x04 : or byte ptr [ecx+0x80], 0x04 @@ -2720,8 +2531,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSoundVoice_SetMinDistance, 3911, - - XREF_CDirectSoundVoice_SetMinDistance, XRefOne) OOVPA_SIG_MATCH( @@ -2759,8 +2568,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSoundBuffer_SetMinDistance, 3911, - - XREF_CDirectSoundBuffer_SetMinDistance, XRefOne) OOVPA_SIG_MATCH( @@ -2783,8 +2590,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 3911 and newer. OOVPA_SIG_HEADER_XREF(IDirectSoundBuffer_SetMinDistance, 3911, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -2805,8 +2610,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSoundStream_SetMinDistance, 3911, - - XREF_CDirectSoundStream_SetMinDistance, XRefOne) OOVPA_SIG_MATCH( @@ -2836,8 +2639,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 3911 and newer. OOVPA_SIG_HEADER_XREF(IDirectSoundStream_SetMinDistance, 3911, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -2866,11 +2667,8 @@ OOVPA_SIG_MATCH( // * CMcpxVoiceClient_Set3dConeOutsideVolume // ****************************************************************** // Generic OOVPA as of 3911 and newer. -OOVPA_SIG_HEADER_XREF(CMcpxVoiceClient_Set3dConeOutsideVolume, - 3911, - - XREF_CMcpxVoiceClient_Set3dConeOutsideVolume, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CMcpxVoiceClient_Set3dConeOutsideVolume, + 3911) OOVPA_SIG_MATCH( // CMcpxVoiceClient_Set3dConeOutsideVolume+0x04 : or dword ptr [eax+0x80], 0x10 @@ -2898,8 +2696,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSoundVoice_SetConeOutsideVolume, 3911, - - XREF_CDirectSoundVoice_SetConeOutsideVolume, XRefOne) OOVPA_SIG_MATCH( @@ -2930,8 +2726,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSoundBuffer_SetConeOutsideVolume, 3911, - - XREF_CDirectSoundBuffer_SetConeOutsideVolume, XRefOne) OOVPA_SIG_MATCH( @@ -2948,8 +2742,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(IDirectSoundBuffer_SetConeOutsideVolume, 3911, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -2977,8 +2769,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSoundStream_SetConeOutsideVolume, 3911, - - XREF_CDirectSoundStream_SetConeOutsideVolume, XRefOne) OOVPA_SIG_MATCH( @@ -3007,8 +2797,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CMcpxVoiceClient_Commit3dSettings, 3911, - - XREF_CMcpxVoiceClient_Commit3dSettings, XRefTwo) OOVPA_SIG_MATCH( @@ -3043,8 +2831,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 3911 and newer. OOVPA_SIG_HEADER_XREF(CMcpxVoiceClient_Set3dParameters, 3911, - - XREF_CMcpxVoiceClient_Set3dParameters, XRefOne) OOVPA_SIG_MATCH( @@ -3069,8 +2855,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSoundVoice_SetAllParameters, 3911, - - XREF_CDirectSoundVoice_SetAllParameters, XRefOne) OOVPA_SIG_MATCH( @@ -3101,8 +2885,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSoundStream_SetAllParameters, 3911, - - XREF_CDirectSoundStream_SetAllParameters, XRefOne) OOVPA_SIG_MATCH( @@ -3131,8 +2913,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(IDirectSoundBuffer_SetAllParameters, 3911, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -3152,11 +2932,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * CDirectSoundVoice::SetConeAngles // ****************************************************************** -OOVPA_SIG_HEADER_XREF(CDirectSoundVoice_SetConeAngles, - 3911, - - XREF_CDirectSoundVoice_SetConeAngles, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CDirectSoundVoice_SetConeAngles, + 3911) OOVPA_SIG_MATCH( { 0x07, 0x8B }, @@ -3175,8 +2952,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(IDirectSoundBuffer_SetConeAngles, 3911, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -3197,8 +2972,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSoundStream_SetConeAngles, 3911, - - XREF_CDirectSoundStream_SetConeAngles, XRefOne) OOVPA_SIG_MATCH( @@ -3226,11 +2999,8 @@ OOVPA_SIG_MATCH( // * CMcpxVoiceClient_Set3dConeOrientation // ****************************************************************** // Generic OOVPA as of 3911 and newer. -OOVPA_SIG_HEADER_XREF(CMcpxVoiceClient_Set3dConeOrientation, - 3911, - - XREF_CMcpxVoiceClient_Set3dConeOrientation, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CMcpxVoiceClient_Set3dConeOrientation, + 3911) OOVPA_SIG_MATCH( // CMcpxVoiceClient_Set3dConeOrientation+0x0C : or byte ptr [ecx+0x80], 0x18 @@ -3257,8 +3027,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSoundVoice_SetConeOrientation, 3911, - - XREF_CDirectSoundVoice_SetConeOrientation, XRefOne) OOVPA_SIG_MATCH( @@ -3295,8 +3063,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSoundBuffer_SetConeOrientation, 3911, - - XREF_CDirectSoundBuffer_SetConeOrientation, XRefOne) OOVPA_SIG_MATCH( @@ -3326,8 +3092,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 3911 and newer. OOVPA_SIG_HEADER_XREF(IDirectSoundBuffer_SetConeOrientation, 3911, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -3355,8 +3119,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSoundStream_SetConeOrientation, 3911, - - XREF_CDirectSoundStream_SetConeOrientation, XRefOne) OOVPA_SIG_MATCH( @@ -3384,8 +3146,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(IDirectSoundStream_SetConeOrientation, 3911, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -3412,11 +3172,8 @@ OOVPA_SIG_MATCH( // * CMcpxVoiceClient::Set3dMode // ****************************************************************** // Generic OOVPA as of 3911 and newer. -OOVPA_SIG_HEADER_XREF(CMcpxVoiceClient_Set3dMode, - 3911, - - XREF_CMcpxVoiceClient_Set3dMode, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CMcpxVoiceClient_Set3dMode, + 3911) OOVPA_SIG_MATCH( // CMcpxVoiceClient_Set3dMode+0x04 : or byte ptr [ecx+0x80], 0xFF @@ -3444,8 +3201,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSoundVoice_SetMode, 3911, - - XREF_CDirectSoundVoice_SetMode, XRefOne) OOVPA_SIG_MATCH( @@ -3474,8 +3229,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(IDirectSoundBuffer_SetMode, 3911, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -3504,8 +3257,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSoundStream_SetMode, 3911, - - XREF_CDirectSoundStream_SetMode, XRefOne) OOVPA_SIG_MATCH( @@ -3530,11 +3281,8 @@ OOVPA_SIG_MATCH( // * CMcpxVoiceClient_Set3dPosition // ****************************************************************** // Generic OOVPA as of 3911 and newer -OOVPA_SIG_HEADER_XREF(CMcpxVoiceClient_Set3dPosition, - 3911, - - XREF_CMcpxVoiceClient_Set3dPosition, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CMcpxVoiceClient_Set3dPosition, + 3911) OOVPA_SIG_MATCH( // CMcpxVoiceClient_Set3dPosition+0x0C : or byte ptr [ecx+0x80], 0xFF @@ -3561,8 +3309,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSoundVoice_SetPosition, 3911, - - XREF_CDirectSoundVoice_SetPosition, XRefOne) OOVPA_SIG_MATCH( @@ -3599,8 +3345,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSoundStream_SetPosition, 3911, - - XREF_CDirectSoundStream_SetPosition, XRefOne) OOVPA_SIG_MATCH( @@ -3628,8 +3372,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(IDirectSoundStream_SetPosition, 3911, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -3657,8 +3399,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSoundBuffer_SetPosition, 3911, - - XREF_CDirectSoundBuffer_SetPosition, XRefOne) OOVPA_SIG_MATCH( @@ -3687,8 +3427,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 3911 and newer OOVPA_SIG_HEADER_XREF(IDirectSoundBuffer_SetPosition, 3911, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -3715,11 +3453,8 @@ OOVPA_SIG_MATCH( // * CMcpxAPU::Set3dPosition // ****************************************************************** // Generic OOVPA as of 3911 to 4039; 4134 and newer no longer have it. -OOVPA_SIG_HEADER_XREF(CMcpxAPU_Set3dPosition, - 3911, - - XREF_CMcpxAPU_Set3dPosition, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CMcpxAPU_Set3dPosition, + 3911) OOVPA_SIG_MATCH( // CMcpxAPU_Set3dPosition+0x0C : movsd; movsd; movsd @@ -3747,8 +3482,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSound_SetPosition, 3911, - - XREF_CDirectSound_SetPosition, XRefOne) OOVPA_SIG_MATCH( @@ -3778,8 +3511,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 3911 and newer. OOVPA_SIG_HEADER_XREF(IDirectSound_SetPosition, 3911, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -3810,11 +3541,8 @@ OOVPA_SIG_MATCH( // * CMcpxVoiceClient_Set3dVelocity // ****************************************************************** // Generic OOVPA as of 3911 and newer. -OOVPA_SIG_HEADER_XREF(CMcpxVoiceClient_Set3dVelocity, - 3911, - - XREF_CMcpxVoiceClient_Set3dVelocity, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CMcpxVoiceClient_Set3dVelocity, + 3911) OOVPA_SIG_MATCH( // CMcpxVoiceClient_Set3dVelocity+0x09 : movsd; movsd; movsd @@ -3842,8 +3570,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSoundVoice_SetVelocity, 3911, - - XREF_CDirectSoundVoice_SetVelocity, XRefOne) OOVPA_SIG_MATCH( @@ -3880,8 +3606,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSoundStream_SetVelocity, 3911, - - XREF_CDirectSoundStream_SetVelocity, XRefOne) OOVPA_SIG_MATCH( @@ -3909,8 +3633,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(IDirectSoundStream_SetVelocity, 3911, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -3938,8 +3660,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSoundBuffer_SetVelocity, 3911, - - XREF_CDirectSoundBuffer_SetVelocity, XRefOne) OOVPA_SIG_MATCH( @@ -3968,8 +3688,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 3911 and newer. OOVPA_SIG_HEADER_XREF(IDirectSoundBuffer_SetVelocity, 3911, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -3997,8 +3715,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSoundStream_SetOutputBuffer, 3911, - - XREF_CDirectSoundStream_SetOutputBuffer, XRefOne) OOVPA_SIG_MATCH( @@ -4030,11 +3746,8 @@ OOVPA_SIG_MATCH( // * CMcpxVoiceClient::SetI3DL2Source // ****************************************************************** // Generic OOVPA as of 3911 and newer. -OOVPA_SIG_HEADER_XREF(CMcpxVoiceClient_SetI3DL2Source, - 3911, - - XREF_CMcpxVoiceClient_SetI3DL2Source, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CMcpxVoiceClient_SetI3DL2Source, + 3911) OOVPA_SIG_MATCH( { 0x04, 0x08 }, @@ -4052,8 +3765,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSoundVoice_SetI3DL2Source, 3911, - - XREF_CDirectSoundVoice_SetI3DL2Source, XRefOne) OOVPA_SIG_MATCH( @@ -4075,8 +3786,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(IDirectSoundBuffer_SetI3DL2Source, 3911, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -4098,8 +3807,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSoundStream_SetI3DL2Source, 3911, - - XREF_CDirectSoundStream_SetI3DL2Source, XRefOne) OOVPA_SIG_MATCH( @@ -4121,8 +3828,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSoundBuffer_Lock, 3911, - - XREF_CDirectSoundBuffer_Lock, XRefOne) OOVPA_SIG_MATCH( @@ -4154,8 +3859,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 3911 and newer OOVPA_SIG_HEADER_XREF(IDirectSoundBuffer_Lock, 3911, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -4181,11 +3884,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * CMcpxBuffer_SetCurrentPosition // ****************************************************************** -OOVPA_SIG_HEADER_XREF(CMcpxBuffer_SetCurrentPosition, - 3911, - - XREF_CMcpxBuffer_SetCurrentPosition, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CMcpxBuffer_SetCurrentPosition, + 3911) OOVPA_SIG_MATCH( // CMcpxBuffer_SetCurrentPosition+0x25 : mov eax, [esi+0x148] @@ -4212,8 +3912,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSoundBuffer_SetCurrentPosition, 3911, - - XREF_CDirectSoundBuffer_SetCurrentPosition, XRefOne) OOVPA_SIG_MATCH( @@ -4247,8 +3945,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 3911 and newer OOVPA_SIG_HEADER_XREF(IDirectSoundBuffer_SetCurrentPosition, 3911, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -4275,11 +3971,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * DSound_CRefCount_AddRef // ****************************************************************** -OOVPA_SIG_HEADER_XREF(DSound_CRefCount_AddRef, - 3911, - - XREF_DSound_CRefCount_AddRef, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(DSound_CRefCount_AddRef, + 3911) OOVPA_SIG_MATCH( // DSound_CRefCount_AddRef+0x04 : add eax, 4 @@ -4309,8 +4002,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSoundStream_AddRef, 3911, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -4337,11 +4028,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * DSound_CRefCount_Release // ****************************************************************** -OOVPA_SIG_HEADER_XREF(DSound_CRefCount_Release, - 3911, - - XREF_DSound_CRefCount_Release, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(DSound_CRefCount_Release, + 3911) OOVPA_SIG_MATCH( // DSound_CRefCount_Release+0x04 : add eax, 4 @@ -4371,8 +4059,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSoundStream_Release, 3911, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -4399,11 +4085,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * CDirectSound::GetCaps // ****************************************************************** -OOVPA_SIG_HEADER_XREF(CDirectSound_GetCaps, - 3911, - - XREF_CDirectSound_GetCaps, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CDirectSound_GetCaps, + 3911) OOVPA_SIG_MATCH( { 0x08, 0x8B }, @@ -4423,8 +4106,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 3911 and newer. OOVPA_SIG_HEADER_XREF(IDirectSound_GetCaps, 3911, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -4443,11 +4124,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * CDirectSound_GetSpeakerConfig // ****************************************************************** -OOVPA_SIG_HEADER_XREF(CDirectSound_GetSpeakerConfig, - 3911, - - XREF_CDirectSound_GetSpeakerConfig, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CDirectSound_GetSpeakerConfig, + 3911) OOVPA_SIG_MATCH( { 0x00, 0x8B }, @@ -4481,8 +4159,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 3911 and newer. OOVPA_SIG_HEADER_XREF(IDirectSound_GetSpeakerConfig, 3911, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -4501,11 +4177,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * CDirectSound_DownloadEffectsImage // ****************************************************************** -OOVPA_SIG_HEADER_XREF(CDirectSound_DownloadEffectsImage, - 3911, - - XREF_CDirectSound_DownloadEffectsImage, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CDirectSound_DownloadEffectsImage, + 3911) OOVPA_SIG_MATCH( // CDirectSound_DownloadEffectsImage+0x00 : push ebp @@ -4553,8 +4226,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 3911 and newer. OOVPA_SIG_HEADER_XREF(IDirectSound_DownloadEffectsImage, 3911, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -4584,11 +4255,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * CDirectSound_GetEffectData // ****************************************************************** -OOVPA_SIG_HEADER_XREF(CDirectSound_GetEffectData, - 3911, - - XREF_CDirectSound_GetEffectData, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CDirectSound_GetEffectData, + 3911) OOVPA_SIG_MATCH( // CDirectSound_GetEffectData+0x00 : push ebp @@ -4636,8 +4304,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 3911 and newer. OOVPA_SIG_HEADER_XREF(IDirectSound_GetEffectData, 3911, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -4667,11 +4333,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * CDirectSound_SetEffectData // ****************************************************************** -OOVPA_SIG_HEADER_XREF(CDirectSound_SetEffectData, - 3911, - - XREF_CDirectSound_SetEffectData, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CDirectSound_SetEffectData, + 3911) OOVPA_SIG_MATCH( // CDirectSound_GetEffectData+0x00 : push ebp @@ -4724,8 +4387,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 3911 and newer. OOVPA_SIG_HEADER_XREF(IDirectSound_SetEffectData, 3911, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -4755,11 +4416,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * CDirectSound_CommitEffectData // ****************************************************************** -OOVPA_SIG_HEADER_XREF(CDirectSound_CommitEffectData, - 3911, - - XREF_CDirectSound_CommitEffectData, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CDirectSound_CommitEffectData, + 3911) OOVPA_SIG_MATCH( // CDirectSound_CommitEffectData+0x00 : push esi @@ -4794,8 +4452,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 3911 and newer. OOVPA_SIG_HEADER_XREF(IDirectSound_CommitEffectData, 3911, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -4819,11 +4475,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * CDirectSound::EnableHeadphones // ****************************************************************** -OOVPA_SIG_HEADER_XREF(CDirectSound_EnableHeadphones, - 3911, - - XREF_CDirectSound_EnableHeadphones, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CDirectSound_EnableHeadphones, + 3911) OOVPA_SIG_MATCH( { 0x00, 0x55 }, @@ -4857,8 +4510,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 3911 and newer. OOVPA_SIG_HEADER_XREF(IDirectSound_EnableHeadphones, 3911, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -4884,11 +4535,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * CMcpxAPU_SetMixBinHeadroom // ****************************************************************** -OOVPA_SIG_HEADER_XREF(CMcpxAPU_SetMixBinHeadroom, - 3911, - - XREF_CMcpxAPU_SetMixBinHeadroom, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CMcpxAPU_SetMixBinHeadroom, + 3911) OOVPA_SIG_MATCH( // CMcpxAPU_SetMixBinHeadroom+0x04 : cmp dword ptr ds:[0xFE820010], 4 @@ -4916,8 +4564,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSound_SetMixBinHeadroom, 3911, - - XREF_CDirectSound_SetMixBinHeadroom, XRefOne) OOVPA_SIG_MATCH( @@ -4946,8 +4592,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 3911 and newer. OOVPA_SIG_HEADER_XREF(IDirectSound_SetMixBinHeadroom, 3911, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -4980,11 +4624,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // Generic OOVPA as of 3911 to 4039; 4134 and newer no longer have it. // TODO: -OOVPA_SIG_HEADER_XREF(CMcpxAPU_Set3dParameters, - 3911, - - XREF_CMcpxAPU_Set3dParameters, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CMcpxAPU_Set3dParameters, + 3911) OOVPA_SIG_MATCH( { 0x05, 0x57 }, @@ -5002,8 +4643,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSound_SetAllParameters, 3911, - - XREF_CDirectSound_SetAllParameters, XRefOne) OOVPA_SIG_MATCH( @@ -5026,8 +4665,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 3911 and newer. OOVPA_SIG_HEADER_XREF(IDirectSound_SetAllParameters, 3911, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -5058,11 +4695,8 @@ OOVPA_SIG_MATCH( // * CMcpxAPU::Set3dDistanceFactor // ****************************************************************** // Generic OOVPA as of 3911 to 4039; 4134 and newer no longer have it. -OOVPA_SIG_HEADER_XREF(CMcpxAPU_Set3dDistanceFactor, - 3911, - - XREF_CMcpxAPU_Set3dDistanceFactor, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CMcpxAPU_Set3dDistanceFactor, + 3911) OOVPA_SIG_MATCH( // Unique value difference against CMcpxAPU_Set3dDopperFactor's unique value. @@ -5093,8 +4727,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSound_SetDistanceFactor, 3911, - - XREF_CDirectSound_SetDistanceFactor, XRefOne) OOVPA_SIG_MATCH( @@ -5126,8 +4758,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 3911 and newer. OOVPA_SIG_HEADER_XREF(IDirectSound_SetDistanceFactor, 3911, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -5158,11 +4788,8 @@ OOVPA_SIG_MATCH( // * CMcpxAPU::Set3dDopplerFactor // ****************************************************************** // Generic OOVPA as of 3911 to 4039; 4134 and newer no longer have it. -OOVPA_SIG_HEADER_XREF(CMcpxAPU_Set3dDopplerFactor, - 3911, - - XREF_CMcpxAPU_Set3dDopplerFactor, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CMcpxAPU_Set3dDopplerFactor, + 3911) OOVPA_SIG_MATCH( // Unique value difference against CMcpxAPU_Set3dDistanceFactor's unique value. @@ -5193,8 +4820,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSound_SetDopplerFactor, 3911, - - XREF_CDirectSound_SetDopplerFactor, XRefOne) OOVPA_SIG_MATCH( @@ -5217,8 +4842,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 3911 and newer. OOVPA_SIG_HEADER_XREF(IDirectSound_SetDopplerFactor, 3911, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -5248,11 +4871,8 @@ OOVPA_SIG_MATCH( // * CMcpxAPU::Set3dVelocity // ****************************************************************** // Generic OOVPA as of 3911 to 4039; 4134 and newer no longer have it. -OOVPA_SIG_HEADER_XREF(CMcpxAPU_Set3dVelocity, - 3911, - - XREF_CMcpxAPU_Set3dVelocity, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CMcpxAPU_Set3dVelocity, + 3911) OOVPA_SIG_MATCH( // CMcpxAPU_Set3dVelocity+0x0C : movsd; movsd; movsd @@ -5280,8 +4900,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSound_SetVelocity, 3911, - - XREF_CDirectSound_SetVelocity, XRefOne) OOVPA_SIG_MATCH( @@ -5311,8 +4929,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 3911 and newer. OOVPA_SIG_HEADER_XREF(IDirectSound_SetVelocity, 3911, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -5343,11 +4959,8 @@ OOVPA_SIG_MATCH( // * CDirectSound_GetTime // ****************************************************************** // Generic OOVPA as of 3911 and newer -OOVPA_SIG_HEADER_XREF(CDirectSound_GetTime, - 3911, - - XREF_CDirectSound_GetTime, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CDirectSound_GetTime, + 3911) OOVPA_SIG_MATCH( // CDirectSound_GetTime+0x00 : push dword ptr [esp+8] @@ -5374,8 +4987,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 3911 and newer OOVPA_SIG_HEADER_XREF(IDirectSound_GetTime, 3911, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -5401,11 +5012,8 @@ OOVPA_SIG_MATCH( // * CMcpxAPU::Set3dRolloffFactor // ****************************************************************** // Generic OOVPA as of 3911 to 4039; 4134 and newer no longer have it. -OOVPA_SIG_HEADER_XREF(CMcpxAPU_Set3dRolloffFactor, - 3911, - - XREF_CMcpxAPU_Set3dRolloffFactor, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CMcpxAPU_Set3dRolloffFactor, + 3911) OOVPA_SIG_MATCH( // CMcpxAPU_Set3dRolloffFactor+0x04 : or dword ptr [ecx+0x01B4], 0x04 @@ -5434,8 +5042,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSound_SetRolloffFactor, 3911, - - XREF_CDirectSound_SetRolloffFactor, XRefOne) OOVPA_SIG_MATCH( @@ -5467,8 +5073,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 3911 and newer OOVPA_SIG_HEADER_XREF(IDirectSound_SetRolloffFactor, 3911, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -5499,11 +5103,8 @@ OOVPA_SIG_MATCH( // * CMcpxAPU::SetI3DL2Listener // ****************************************************************** // Generic OOVPA as of 3911 to 4039; 4134 and newer no longer have it. -OOVPA_SIG_HEADER_XREF(CMcpxAPU_SetI3DL2Listener, - 3911, - - XREF_CMcpxAPU_SetI3DL2Listener, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CMcpxAPU_SetI3DL2Listener, + 3911) OOVPA_SIG_MATCH( // CMcpxAPU_SetI3DL2Listener+0x08 : push 0x0C; pop ecx @@ -5532,8 +5133,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSound_SetI3DL2Listener, 3911, - - XREF_CDirectSound_SetI3DL2Listener, XRefOne) OOVPA_SIG_MATCH( @@ -5555,8 +5154,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 3911 and newer. OOVPA_SIG_HEADER_XREF(IDirectSound_SetI3DL2Listener, 3911, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -5579,8 +5176,6 @@ OOVPA_SIG_MATCH( // NOTE: IDirectSoundStream_SetVolume has the same asm code as this function. OOVPA_SIG_HEADER_XREF_DETECT(CDirectSoundStream_SetVolume, 3911, - - XRefNoSaveIndex, XRefOne, DetectFirst) OOVPA_SIG_MATCH( @@ -5611,8 +5206,6 @@ OOVPA_SIG_MATCH( // NOTE: CDirectSoundStream_SetVolume has the same asm code as this function. OOVPA_SIG_HEADER_XREF_DETECT(IDirectSoundStream_SetVolume, 3911, - - XRefNoSaveIndex, XRefOne, DetectSecond) OOVPA_SIG_MATCH( @@ -5643,8 +5236,6 @@ OOVPA_SIG_MATCH( // NOTE: IDirectSoundStream_SetPitch has the same asm code as this function. OOVPA_SIG_HEADER_XREF_DETECT(CDirectSoundStream_SetPitch, 3911, - - XRefNoSaveIndex, XRefOne, DetectFirst) OOVPA_SIG_MATCH( @@ -5675,8 +5266,6 @@ OOVPA_SIG_MATCH( // NOTE: CDirectSoundStream_SetPitch has the same asm code as this function. OOVPA_SIG_HEADER_XREF_DETECT(IDirectSoundStream_SetPitch, 3911, - - XRefNoSaveIndex, XRefOne, DetectSecond) OOVPA_SIG_MATCH( @@ -5707,8 +5296,6 @@ OOVPA_SIG_MATCH( // NOTE: IDirectSoundStream_SetLFO has the same asm code as this function. OOVPA_SIG_HEADER_XREF_DETECT(CDirectSoundStream_SetLFO, 3911, - - XRefNoSaveIndex, XRefOne, DetectFirst) OOVPA_SIG_MATCH( @@ -5739,8 +5326,6 @@ OOVPA_SIG_MATCH( // NOTE: CDirectSoundStream_SetLFO has the same asm code as this function. OOVPA_SIG_HEADER_XREF_DETECT(IDirectSoundStream_SetLFO, 3911, - - XRefNoSaveIndex, XRefOne, DetectSecond) OOVPA_SIG_MATCH( @@ -5771,8 +5356,6 @@ OOVPA_SIG_MATCH( // NOTE: IDirectSoundStream_SetEG has the same asm code as this function. OOVPA_SIG_HEADER_XREF_DETECT(CDirectSoundStream_SetEG, 3911, - - XRefNoSaveIndex, XRefOne, DetectFirst) OOVPA_SIG_MATCH( @@ -5803,8 +5386,6 @@ OOVPA_SIG_MATCH( // NOTE: CDirectSoundStream_SetEG has the same asm code as this function. OOVPA_SIG_HEADER_XREF_DETECT(IDirectSoundStream_SetEG, 3911, - - XRefNoSaveIndex, XRefOne, DetectSecond) OOVPA_SIG_MATCH( @@ -5835,8 +5416,6 @@ OOVPA_SIG_MATCH( // NOTE: IDirectSoundStream_SetFilter has the same asm code as this function. OOVPA_SIG_HEADER_XREF_DETECT(CDirectSoundStream_SetFilter, 3911, - - XRefNoSaveIndex, XRefOne, DetectFirst) OOVPA_SIG_MATCH( @@ -5866,8 +5445,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF_DETECT(IDirectSoundStream_SetFilter, 3911, - - XRefNoSaveIndex, XRefOne, DetectSecond) OOVPA_SIG_MATCH( @@ -5898,8 +5475,6 @@ OOVPA_SIG_MATCH( // NOTE: IDirectSoundStream_SetHeadroom has the same asm code as this function. OOVPA_SIG_HEADER_XREF_DETECT(CDirectSoundStream_SetHeadroom, 3911, - - XRefNoSaveIndex, XRefOne, DetectFirst) OOVPA_SIG_MATCH( @@ -5930,8 +5505,6 @@ OOVPA_SIG_MATCH( // NOTE: CDirectSoundStream_SetHeadroom has the same asm code as this function. OOVPA_SIG_HEADER_XREF_DETECT(IDirectSoundStream_SetHeadroom, 3911, - - XRefNoSaveIndex, XRefOne, DetectSecond) OOVPA_SIG_MATCH( @@ -5962,8 +5535,6 @@ OOVPA_SIG_MATCH( // NOTE: IDirectSoundStream_SetFrequency has the same asm code as this function. OOVPA_SIG_HEADER_XREF_DETECT(CDirectSoundStream_SetFrequency, 3911, - - XRefNoSaveIndex, XRefOne, DetectFirst) OOVPA_SIG_MATCH( @@ -5994,8 +5565,6 @@ OOVPA_SIG_MATCH( // NOTE: CDirectSoundStream_SetFrequency has the same asm code as this function. OOVPA_SIG_HEADER_XREF_DETECT(IDirectSoundStream_SetFrequency, 3911, - - XRefNoSaveIndex, XRefOne, DetectSecond) OOVPA_SIG_MATCH( @@ -6026,8 +5595,6 @@ OOVPA_SIG_MATCH( // NOTE: IDirectSoundStream_SetMixBins has the same asm code as this function. OOVPA_SIG_HEADER_XREF_DETECT(CDirectSoundStream_SetMixBins, 3911, - - XRefNoSaveIndex, XRefOne, DetectFirst) OOVPA_SIG_MATCH( @@ -6058,8 +5625,6 @@ OOVPA_SIG_MATCH( // NOTE: CDirectSoundStream_SetMixBins has the same asm code as this function. OOVPA_SIG_HEADER_XREF_DETECT(IDirectSoundStream_SetMixBins, 3911, - - XRefNoSaveIndex, XRefOne, DetectSecond) OOVPA_SIG_MATCH( @@ -6089,8 +5654,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(IDirectSoundStream_SetOutputBuffer, 3911, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -6107,8 +5670,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(IDirectSoundStream_SetMixBinVolumes_12, 3911, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -6125,8 +5686,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(IDirectSoundStream_SetAllParameters, 3911, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -6143,8 +5702,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(IDirectSoundStream_SetConeAngles, 3911, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -6161,8 +5718,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(IDirectSoundStream_SetConeOutsideVolume, 3911, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -6179,8 +5734,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(IDirectSoundStream_SetMode, 3911, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -6198,8 +5751,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 3911 and newer OOVPA_SIG_HEADER_XREF(IDirectSoundStream_SetI3DL2Source, 3911, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -6217,8 +5768,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 3911 and newer OOVPA_SIG_HEADER_XREF(IDirectSoundStream_Pause, 3911, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -6233,11 +5782,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * CMcpxStream_Pause // ****************************************************************** -OOVPA_SIG_HEADER_XREF(CMcpxStream_Pause, - 3911, - - XREF_CMcpxStream_Pause, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CMcpxStream_Pause, + 3911) OOVPA_SIG_MATCH( // CMcpxStream_Pause+0x00 : push ebp @@ -6346,11 +5892,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * XFileCreateMediaObject // ****************************************************************** -OOVPA_SIG_HEADER_XREF(XFileCreateMediaObject, - 3911, - - XRefNoSaveIndex, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(XFileCreateMediaObject, + 3911) OOVPA_SIG_MATCH( { 0x00, 0x55 }, @@ -6404,11 +5947,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * CDirectSoundBufferSettings::SetBufferData // ****************************************************************** -OOVPA_SIG_HEADER_XREF(CDirectSoundBufferSettings_SetBufferData, - 3911, - - XREF_CDirectSoundBufferSettings_SetBufferData, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CDirectSoundBufferSettings_SetBufferData, + 3911) OOVPA_SIG_MATCH( // CDirectSoundBufferSettings::SetBufferData+0x00 : push ebp @@ -6441,11 +5981,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * CMcpxBuffer::SetBufferData // ****************************************************************** -OOVPA_SIG_HEADER_XREF(CMcpxBuffer_SetBufferData, - 3911, - - XREF_CMcpxBuffer_SetBufferData, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CMcpxBuffer_SetBufferData, + 3911) OOVPA_SIG_MATCH( // CMcpxBuffer::SetBufferData+0x00 : mov edx,[ecx+0x000000XX] @@ -6476,8 +6013,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSoundBuffer_SetAllParameters, 3911, - - XREF_CDirectSoundBuffer_SetAllParameters, XRefOne) OOVPA_SIG_MATCH( @@ -6494,8 +6029,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSoundBuffer_SetConeAngles, 3911, - - XREF_CDirectSoundBuffer_SetConeAngles, XRefOne) OOVPA_SIG_MATCH( @@ -6512,8 +6045,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSoundBuffer_SetEG, 3911, - - XREF_CDirectSoundBuffer_SetEG, XRefOne) OOVPA_SIG_MATCH( @@ -6530,8 +6061,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSoundBuffer_SetFilter, 3911, - - XREF_CDirectSoundBuffer_SetFilter, XRefOne) OOVPA_SIG_MATCH( @@ -6548,8 +6077,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSoundBuffer_SetHeadroom, 3911, - - XREF_CDirectSoundBuffer_SetHeadroom, XRefOne) OOVPA_SIG_MATCH( @@ -6566,8 +6093,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSoundBuffer_SetFrequency, 3911, - - XREF_CDirectSoundBuffer_SetFrequency, XRefOne) OOVPA_SIG_MATCH( @@ -6584,8 +6109,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSoundBuffer_SetI3DL2Source, 3911, - - XREF_CDirectSoundBuffer_SetI3DL2Source, XRefOne) OOVPA_SIG_MATCH( @@ -6602,8 +6125,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSoundBuffer_SetLFO, 3911, - - XREF_CDirectSoundBuffer_SetLFO, XRefOne) OOVPA_SIG_MATCH( @@ -6620,8 +6141,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSoundBuffer_SetMixBins, 3911, - - XREF_CDirectSoundBuffer_SetMixBins, XRefOne) OOVPA_SIG_MATCH( @@ -6638,8 +6157,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSoundBuffer_SetMixBinVolumes, 3911, - - XREF_CDirectSoundBuffer_SetMixBinVolumes, XRefOne) OOVPA_SIG_MATCH( @@ -6656,8 +6173,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSoundBuffer_SetMode, 3911, - - XREF_CDirectSoundBuffer_SetMode, XRefOne) OOVPA_SIG_MATCH( @@ -6674,8 +6189,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSoundBuffer_SetPitch, 3911, - - XREF_CDirectSoundBuffer_SetPitch, XRefOne) OOVPA_SIG_MATCH( @@ -6692,8 +6205,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSoundBuffer_SetVolume, 3911, - - XREF_CDirectSoundBuffer_SetVolume, XRefOne) OOVPA_SIG_MATCH( @@ -6709,11 +6220,8 @@ OOVPA_SIG_MATCH( // * CDirectSoundStream::Constructor // ****************************************************************** // Generic OOVPA as of 3911 and newer -OOVPA_SIG_HEADER_XREF(CDirectSoundStream_Constructor, - 3911, - - XREF_CDirectSoundStream_Constructor, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CDirectSoundStream_Constructor, + 3911) OOVPA_SIG_MATCH( // CDirectSoundStream::Constructor+0x00 : push esi; mov esi, ecx; push edi diff --git a/src/OOVPADatabase/DSound/3936.inl b/src/OOVPADatabase/DSound/3936.inl index 6b34749f..57a0da72 100644 --- a/src/OOVPADatabase/DSound/3936.inl +++ b/src/OOVPADatabase/DSound/3936.inl @@ -26,11 +26,8 @@ // ****************************************************************** // * CSensaura3d::GetFullHRTFFilterPair // ****************************************************************** -OOVPA_SIG_HEADER_XREF(CSensaura3d_GetFullHRTFFilterPair, - 3936, - - XREF_CSensaura3d_GetFullHRTFFilterPair, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CSensaura3d_GetFullHRTFFilterPair, + 3936) OOVPA_SIG_MATCH( { 0x05, 0x0C }, @@ -48,11 +45,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * CMcpxStream_Flush // ****************************************************************** -OOVPA_SIG_HEADER_XREF(CMcpxStream_Flush, - 3936, - - XREF_CMcpxStream_Flush, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CMcpxStream_Flush, + 3936) OOVPA_SIG_MATCH( { 0x08, 0xF6 }, diff --git a/src/OOVPADatabase/DSound/4039.inl b/src/OOVPADatabase/DSound/4039.inl index b5f4b95c..0883ac34 100644 --- a/src/OOVPADatabase/DSound/4039.inl +++ b/src/OOVPADatabase/DSound/4039.inl @@ -56,8 +56,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(DirectSoundCreateBuffer, 4039, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -87,11 +85,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * CDirectSound::CreateSoundBuffer // ****************************************************************** -OOVPA_SIG_HEADER_XREF(CDirectSound_CreateSoundBuffer, - 4039, - - XREF_CDirectSound_CreateSoundBuffer, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CDirectSound_CreateSoundBuffer, + 4039) OOVPA_SIG_MATCH( // CDirectSound_CreateSoundBuffer+0x00 : push ebp @@ -124,9 +119,9 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * CDirectSound_DoWork // ****************************************************************** -OOVPA_XREF(CDirectSound_DoWork, 4039, 1 + 9, - - XREF_CDirectSound_DoWork, +OOVPA_XREF(CDirectSound_DoWork, + 4039, + 1 + 9, XRefOne) { @@ -164,11 +159,8 @@ OOVPA_END; // ****************************************************************** // * CDirectSoundBuffer::SetLoopRegion // ****************************************************************** -OOVPA_SIG_HEADER_XREF(CDirectSoundBuffer_SetLoopRegion, - 4039, - - XREF_CDirectSoundBuffer_SetLoopRegion, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CDirectSoundBuffer_SetLoopRegion, + 4039) OOVPA_SIG_MATCH( // CDirectSoundBuffer_SetLoopRegion+0x00 : push ebp @@ -207,11 +199,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * CDirectSound::SetDistanceFactor // ****************************************************************** -OOVPA_SIG_HEADER_XREF(CDirectSound_SetDistanceFactor, - 4039, - - XREF_CDirectSound_SetDistanceFactor, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CDirectSound_SetDistanceFactor, + 4039) OOVPA_SIG_MATCH( // CDirectSound_SetDistanceFactor+0x20 : mov eax, 0x80004005 @@ -246,11 +235,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * CDirectSound::SetRolloffFactor // ****************************************************************** -OOVPA_SIG_HEADER_XREF(CDirectSound_SetRolloffFactor, - 4039, - - XREF_CDirectSound_SetRolloffFactor, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CDirectSound_SetRolloffFactor, + 4039) OOVPA_SIG_MATCH( // CDirectSound_SetRolloffFactor+0x20 : mov eax, 0x80004005 @@ -285,11 +271,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * CDirectSound::SetDopplerFactor // ****************************************************************** -OOVPA_SIG_HEADER_XREF(CDirectSound_SetDopplerFactor, - 4039, - - XREF_CDirectSound_SetDopplerFactor, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CDirectSound_SetDopplerFactor, + 4039) OOVPA_SIG_MATCH( // CDirectSound_SetDopplerFactor+0x20 : mov eax, 0x80004005 @@ -320,11 +303,8 @@ OOVPA_SIG_MATCH( // * CMcpxVoiceClient_SetVolume // ****************************************************************** // Verified with Agent Under Fire title. -OOVPA_SIG_HEADER_XREF(CMcpxVoiceClient_SetVolume, - 4039, - - XREF_CMcpxVoiceClient_SetVolume, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CMcpxVoiceClient_SetVolume, + 4039) OOVPA_SIG_MATCH( // CMcpxVoiceClient_SetVolume+0x15 : test byte ptr [esi+90h], 1 @@ -354,8 +334,6 @@ OOVPA_SIG_MATCH( // Verified with Agent Under Fire. OOVPA_SIG_HEADER_XREF(CDirectSoundVoice_SetVolume, 4039, - - XREF_CDirectSoundVoice_SetVolume, XRefOne) OOVPA_SIG_MATCH( @@ -390,8 +368,6 @@ OOVPA_SIG_MATCH( // Verified with Agent Under Fire. OOVPA_SIG_HEADER_XREF(CDirectSoundBuffer_SetVolume, 4039, - - XREF_CDirectSoundBuffer_SetVolume, XRefOne) OOVPA_SIG_MATCH( @@ -425,8 +401,6 @@ OOVPA_SIG_MATCH( // Side note: It is compatible down to XDK 3911. Except 3911 is calling to CDirectSoundVoice_SetVolume directly. OOVPA_SIG_HEADER_XREF(IDirectSoundBuffer_SetVolume, 4039, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -447,8 +421,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSoundStream_SetVolume, 4039, - - XREF_CDirectSoundStream_SetVolume, XRefOne) OOVPA_SIG_MATCH( @@ -471,8 +443,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 4039 and newer OOVPA_SIG_HEADER_XREF(CDirectSoundVoice_SetHeadroom, 4039, - - XREF_CDirectSoundVoice_SetHeadroom, XRefOne) OOVPA_SIG_MATCH( @@ -510,8 +480,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSoundBuffer_SetHeadroom, 4039, - - XREF_CDirectSoundBuffer_SetHeadroom, XRefOne) OOVPA_SIG_MATCH( @@ -531,9 +499,9 @@ OOVPA_SIG_MATCH( // * CDirectSoundBuffer::SetBufferData // ****************************************************************** // Verified with Agent Under Fire. -OOVPA_XREF(CDirectSoundBuffer_SetBufferData, 4039, 2 + 11, - - XREF_CDirectSoundBuffer_SetBufferData, +OOVPA_XREF(CDirectSoundBuffer_SetBufferData, + 4039, + 2 + 11, XRefTwo) { @@ -582,8 +550,6 @@ OOVPA_END; // Same as 4134 OOVPA_SIG_HEADER_XREF(CDirectSoundVoice_SetPitch, 4039, - - XREF_CDirectSoundVoice_SetPitch, XRefOne) OOVPA_SIG_MATCH( @@ -615,8 +581,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSoundBuffer_SetPitch, 4039, - - XREF_CDirectSoundBuffer_SetPitch, XRefOne) OOVPA_SIG_MATCH( @@ -651,8 +615,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 4039 and newer OOVPA_SIG_HEADER_XREF(IDirectSoundBuffer_SetPitch, 4039, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -682,8 +644,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 4039 and newer OOVPA_SIG_HEADER_XREF(CDirectSoundVoice_SetFrequency, 4039, - - XREF_CDirectSoundVoice_SetFrequency, XRefTwo) OOVPA_SIG_MATCH( @@ -707,8 +667,6 @@ OOVPA_SIG_MATCH( // Verified with Agent Under Fire. OOVPA_SIG_HEADER_XREF(CDirectSoundBuffer_SetFrequency, 4039, - - XREF_CDirectSoundBuffer_SetFrequency, XRefOne) OOVPA_SIG_MATCH( @@ -744,8 +702,6 @@ OOVPA_SIG_MATCH( // Verified with Agent Under Fire. OOVPA_SIG_HEADER_XREF(IDirectSoundBuffer_SetFrequency, 4039, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -776,11 +732,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * CDirectSoundBuffer_Stop // ****************************************************************** -OOVPA_SIG_HEADER_XREF(CDirectSoundBuffer_Stop, - 4039, - - XREF_CDirectSoundBuffer_Stop, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CDirectSoundBuffer_Stop, + 4039) OOVPA_SIG_MATCH( // CDirectSoundBuffer_Stop+0x33 : call [CMcpxBuffer::Stop] @@ -814,8 +767,6 @@ OOVPA_SIG_MATCH( // Verified with Agent Under Fire. OOVPA_SIG_HEADER_XREF(CDirectSound_CommitDeferredSettings, 4039, - - XREF_CDirectSound_CommitDeferredSettings, XRefOne) OOVPA_SIG_MATCH( @@ -849,11 +800,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * CMcpxBuffer::Play(unsigned long) // ****************************************************************** -OOVPA_SIG_HEADER_XREF(CMcpxBuffer_Play, - 4039, - - XREF_CMcpxBuffer_Play, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CMcpxBuffer_Play, + 4039) OOVPA_SIG_MATCH( // CMcpxBuffer_Play+0x00 : push ebp @@ -887,8 +835,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 4039 and newer OOVPA_SIG_HEADER_XREF(CMcpxBuffer_Play_Ex, 4039, - - XREF_CMcpxBuffer_Play_Ex, XRefOne) OOVPA_SIG_MATCH( @@ -916,11 +862,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * CDirectSoundBuffer::Play // ****************************************************************** -OOVPA_SIG_HEADER_XREF(CDirectSoundBuffer_Play, - 4039, - - XREF_CDirectSoundBuffer_Play, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CDirectSoundBuffer_Play, + 4039) OOVPA_SIG_MATCH( //CDirectSoundBuffer_Play+0x00 : push esi @@ -951,8 +894,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSoundBuffer_PlayEx, 4039, - - XREF_CDirectSoundBuffer_PlayEx, XRefOne) OOVPA_SIG_MATCH( @@ -971,11 +912,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * CMcpxBuffer_GetCurrentPosition // ****************************************************************** -OOVPA_SIG_HEADER_XREF(CMcpxBuffer_GetCurrentPosition, - 4039, - - XREF_CMcpxBuffer_GetCurrentPosition, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CMcpxBuffer_GetCurrentPosition, + 4039) OOVPA_SIG_MATCH( // CMcpxBuffer_GetCurrentPosition+0x16 : mov eax, [esi+0x00000090] @@ -1014,8 +952,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSoundBuffer_GetCurrentPosition, 4039, - - XREF_CDirectSoundBuffer_GetCurrentPosition, XRefOne) OOVPA_SIG_MATCH( @@ -1044,11 +980,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * CMcpxBuffer_GetStatus // ****************************************************************** -OOVPA_SIG_HEADER_XREF(CMcpxBuffer_GetStatus, - 4039, - - XREF_CMcpxBuffer_GetStatus, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CMcpxBuffer_GetStatus, + 4039) OOVPA_SIG_MATCH( // CMcpxBuffer_GetStatus+0x14 : mov ecx, [ebp+0x08] @@ -1083,8 +1016,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSoundBuffer_GetStatus, 4039, - - XREF_CDirectSoundBuffer_GetStatus, XRefOne) OOVPA_SIG_MATCH( @@ -1116,8 +1047,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSoundBuffer_Lock, 4039, - - XREF_CDirectSoundBuffer_Lock, XRefOne) OOVPA_SIG_MATCH( @@ -1147,11 +1076,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * CDirectSoundBuffer::SetPlayRegion // ****************************************************************** -OOVPA_SIG_HEADER_XREF(CDirectSoundBuffer_SetPlayRegion, - 4039, - - XREF_CDirectSoundBuffer_SetPlayRegion, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CDirectSoundBuffer_SetPlayRegion, + 4039) OOVPA_SIG_MATCH( { 0x00, 0x55 }, @@ -1178,8 +1104,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 4039 and newer OOVPA_SIG_HEADER_XREF(IDirectSoundBuffer_SetPlayRegion, 4039, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -1206,11 +1130,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * CMcpxBuffer_SetCurrentPosition // ****************************************************************** -OOVPA_SIG_HEADER_XREF(CMcpxBuffer_SetCurrentPosition, - 4039, - - XREF_CMcpxBuffer_SetCurrentPosition, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CMcpxBuffer_SetCurrentPosition, + 4039) OOVPA_SIG_MATCH( // CMcpxBuffer_SetCurrentPosition+0x11 : lea eax, [esi+90h] @@ -1235,8 +1156,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSoundBuffer_SetCurrentPosition, 4039, - - XREF_CDirectSoundBuffer_SetCurrentPosition, XRefOne) OOVPA_SIG_MATCH( @@ -1266,11 +1185,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * DirectSound::CMcpxVoiceClient::SetFilter // ****************************************************************** -OOVPA_SIG_HEADER_XREF(CMcpxVoiceClient_SetFilter, - 4039, - - XREF_CMcpxVoiceClient_SetFilter, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CMcpxVoiceClient_SetFilter, + 4039) OOVPA_SIG_MATCH( { 0x08, 0xF8 }, @@ -1295,8 +1211,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSoundVoice_SetFilter, 4039, - - XREF_CDirectSoundVoice_SetFilter, XRefOne) OOVPA_SIG_MATCH( @@ -1316,8 +1230,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSoundBuffer_SetFilter, 4039, - - XREF_CDirectSoundBuffer_SetFilter, XRefOne) OOVPA_SIG_MATCH( @@ -1339,8 +1251,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 4039 and newer OOVPA_SIG_HEADER_XREF(IDirectSoundBuffer_SetFilter, 4039, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -1369,8 +1279,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSoundStream_SetFilter, 4039, - - XREF_CDirectSoundStream_SetFilter, XRefOne) OOVPA_SIG_MATCH( @@ -1392,11 +1300,8 @@ OOVPA_SIG_MATCH( // * CMcpxVoiceClient::SetMixBins // ****************************************************************** // Generic OOVPA as of 4039 and newer -OOVPA_SIG_HEADER_XREF(CMcpxVoiceClient_SetMixBins, - 4039, - - XREF_CMcpxVoiceClient_SetMixBins, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CMcpxVoiceClient_SetMixBins, + 4039) OOVPA_SIG_MATCH( // CMcpxVoiceClient_SetMixBins+0x00 : push ebp @@ -1439,8 +1344,6 @@ OOVPA_SIG_MATCH( // TODO: Maybe able to reduce pairs and include another XREF. OOVPA_SIG_HEADER_XREF(CDirectSoundVoice_SetMixBins, 4039, - - XREF_CDirectSoundVoice_SetMixBins, XRefOne) OOVPA_SIG_MATCH( @@ -1483,8 +1386,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSoundBuffer_SetMixBins, 4039, - - XREF_CDirectSoundBuffer_SetMixBins, XRefOne) OOVPA_SIG_MATCH( @@ -1526,8 +1427,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 4039 and newer OOVPA_SIG_HEADER_XREF(IDirectSoundBuffer_SetMixBins, 4039, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -1552,11 +1451,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * CDirectSoundVoiceSettings::SetMixBinVolumes // ****************************************************************** -OOVPA_SIG_HEADER_XREF(CDirectSoundVoiceSettings_SetMixBinVolumes, - 4039, - - XREF_CDirectSoundVoiceSettings_SetMixBinVolumes, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CDirectSoundVoiceSettings_SetMixBinVolumes, + 4039) OOVPA_SIG_MATCH( // CDirectSoundVoiceSettings_SetMixBinVolumes+0x09 : jbe +0x16 @@ -1586,8 +1482,6 @@ OOVPA_SIG_MATCH( // TODO: Should be able to reduce pairs since there are two XREFs. OOVPA_SIG_HEADER_XREF(CDirectSoundVoice_SetMixBinVolumes, 4039, - - XREF_CDirectSoundVoice_SetMixBinVolumes, XRefTwo) OOVPA_SIG_MATCH( @@ -1628,8 +1522,6 @@ OOVPA_SIG_MATCH( //Generic OOVPA as of 4039 and newer OOVPA_SIG_HEADER_XREF(CDirectSoundBuffer_SetMixBinVolumes, 4039, - - XREF_CDirectSoundBuffer_SetMixBinVolumes, XRefOne) OOVPA_SIG_MATCH( @@ -1671,8 +1563,6 @@ OOVPA_SIG_MATCH( //Generic OOVPA as of 4039 and newer OOVPA_SIG_HEADER_XREF(IDirectSoundBuffer_SetMixBinVolumes_8, 4039, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -1705,8 +1595,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSoundStream_SetMixBinVolumes_8, 4039, - - XREF_CDirectSoundStream_SetMixBinVolumes_8, XRefOne) OOVPA_SIG_MATCH( @@ -1730,11 +1618,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * CDirectSound::CreateSoundStream // ****************************************************************** -OOVPA_SIG_HEADER_XREF(CDirectSound_CreateSoundStream, - 4039, - - XREF_CDirectSound_CreateSoundStream, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CDirectSound_CreateSoundStream, + 4039) OOVPA_SIG_MATCH( // CDirectSound_CreateSoundStream+0x25 : mov eax, 0x80004005 @@ -1770,11 +1655,8 @@ OOVPA_SIG_MATCH( // * CDirectSoundBuffer_StopEx // ****************************************************************** // Similar pattern of version 3911 -OOVPA_SIG_HEADER_XREF(CDirectSoundBuffer_StopEx, - 4039, - - XREF_CDirectSoundBuffer_StopEx, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CDirectSoundBuffer_StopEx, + 4039) OOVPA_SIG_MATCH( { 0x00, 0x55 }, @@ -1798,11 +1680,8 @@ OOVPA_SIG_MATCH( // * CMcpxVoiceClient::SetLFO // ****************************************************************** // Similar pattern of version 3911 -OOVPA_SIG_HEADER_XREF(CMcpxVoiceClient_SetLFO, - 4039, - - XREF_CMcpxVoiceClient_SetLFO, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CMcpxVoiceClient_SetLFO, + 4039) OOVPA_SIG_MATCH( { 0x00, 0x55 }, @@ -1828,8 +1707,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSoundVoice_SetLFO, 4039, - - XREF_CDirectSoundVoice_SetLFO, XRefOne) OOVPA_SIG_MATCH( @@ -1850,8 +1727,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSoundBuffer_SetLFO, 4039, - - XREF_CDirectSoundBuffer_SetLFO, XRefOne) OOVPA_SIG_MATCH( @@ -1893,8 +1768,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 4039 and newer OOVPA_SIG_HEADER_XREF(IDirectSoundBuffer_SetLFO, 4039, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -1915,8 +1788,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSoundStream_SetLFO, 4039, - - XREF_CDirectSoundStream_SetLFO, XRefOne) OOVPA_SIG_MATCH( @@ -1940,11 +1811,8 @@ OOVPA_SIG_MATCH( // * CMcpxVoiceClient::SetEG // ****************************************************************** // Similar pattern of version 3911 -OOVPA_SIG_HEADER_XREF(CMcpxVoiceClient_SetEG, - 4039, - - XREF_CMcpxVoiceClient_SetEG, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CMcpxVoiceClient_SetEG, + 4039) OOVPA_SIG_MATCH( { 0x00, 0x55 }, @@ -1969,8 +1837,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSoundVoice_SetEG, 4039, - - XREF_CDirectSoundVoice_SetEG, XRefOne) OOVPA_SIG_MATCH( @@ -1990,8 +1856,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSoundBuffer_SetEG, 4039, - - XREF_CDirectSoundBuffer_SetEG, XRefOne) OOVPA_SIG_MATCH( @@ -2032,8 +1896,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(IDirectSoundBuffer_SetEG, 4039, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -2054,8 +1916,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSoundStream_SetEG, 4039, - - XREF_CDirectSoundStream_SetEG, XRefOne) OOVPA_SIG_MATCH( @@ -2077,11 +1937,8 @@ OOVPA_SIG_MATCH( // * CDirectSoundVoice::SetOutputBuffer // ****************************************************************** // Generic OOVPA as of 4039 and newer -OOVPA_SIG_HEADER_XREF(CDirectSoundVoice_SetOutputBuffer, - 4039, - - XREF_CDirectSoundVoice_SetOutputBuffer, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CDirectSoundVoice_SetOutputBuffer, + 4039) OOVPA_SIG_MATCH( { 0x00, 0x53 }, @@ -2116,8 +1973,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSoundBuffer_SetOutputBuffer, 4039, - - XREF_CDirectSoundBuffer_SetOutputBuffer, XRefOne) OOVPA_SIG_MATCH( @@ -2156,11 +2011,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * CDirectSoundVoice::SetConeOutsideVolume // ****************************************************************** -OOVPA_SIG_HEADER_XREF(CDirectSoundVoice_SetConeOutsideVolume, - 4039, - - XREF_CDirectSoundVoice_SetConeOutsideVolume, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CDirectSoundVoice_SetConeOutsideVolume, + 4039) OOVPA_SIG_MATCH( // CDirectSoundVoice_SetConeOutsideVolume+0x07 : mov edx, [esp+arg_4] @@ -2192,8 +2044,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSoundBuffer_SetConeOutsideVolume, 4039, - - XREF_CDirectSoundBuffer_SetConeOutsideVolume, XRefOne) OOVPA_SIG_MATCH( @@ -2227,8 +2077,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 4039 and newer. OOVPA_SIG_HEADER_XREF(IDirectSoundBuffer_SetConeOutsideVolume, 4039, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -2254,11 +2102,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * CDirectSoundVoice::SetMaxDistance // ****************************************************************** -OOVPA_SIG_HEADER_XREF(CDirectSoundVoice_SetMaxDistance, - 4039, - - XREF_CDirectSoundVoice_SetMaxDistance, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CDirectSoundVoice_SetMaxDistance, + 4039) OOVPA_SIG_MATCH( // CDirectSoundVoice_SetMaxDistance+0x07 : mov edx, [esp+arg_4] @@ -2290,8 +2135,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSoundBuffer_SetMaxDistance, 4039, - - XREF_CDirectSoundBuffer_SetMaxDistance, XRefOne) OOVPA_SIG_MATCH( @@ -2321,11 +2164,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * CDirectSoundVoice::SetMinDistance // ****************************************************************** -OOVPA_SIG_HEADER_XREF(CDirectSoundVoice_SetMinDistance, - 4039, - - XREF_CDirectSoundVoice_SetMinDistance, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CDirectSoundVoice_SetMinDistance, + 4039) OOVPA_SIG_MATCH( // CDirectSoundVoice_SetMinDistance+0x07 : mov edx, [esp+arg_4] @@ -2357,8 +2197,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSoundBuffer_SetMinDistance, 4039, - - XREF_CDirectSoundBuffer_SetMinDistance, XRefOne) OOVPA_SIG_MATCH( @@ -2390,8 +2228,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSoundVoice_SetMode, 4039, - - XREF_CDirectSoundVoice_SetMode, XRefOne) OOVPA_SIG_MATCH( @@ -2427,8 +2263,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSoundBuffer_SetMode, 4039, - - XREF_CDirectSoundBuffer_SetMode, XRefOne) OOVPA_SIG_MATCH( @@ -2459,11 +2293,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * CDirectSoundVoice::SetPosition // ****************************************************************** -OOVPA_SIG_HEADER_XREF(CDirectSoundVoice_SetPosition, - 4039, - - XREF_CDirectSoundVoice_SetPosition, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CDirectSoundVoice_SetPosition, + 4039) OOVPA_SIG_MATCH( { 0x05, 0x08 }, @@ -2488,8 +2319,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSoundBuffer_SetPosition, 4039, - - XREF_CDirectSoundBuffer_SetPosition, XRefOne) OOVPA_SIG_MATCH( @@ -2521,8 +2350,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 4039 and newer. OOVPA_SIG_HEADER_XREF(IDirectSoundBuffer_SetMode, 4039, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -2549,11 +2376,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * CDirectSoundVoice::SetVelocity // ****************************************************************** -OOVPA_SIG_HEADER_XREF(CDirectSoundVoice_SetVelocity, - 4039, - - XREF_CDirectSoundVoice_SetVelocity, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CDirectSoundVoice_SetVelocity, + 4039) OOVPA_SIG_MATCH( { 0x05, 0x08 }, @@ -2578,8 +2402,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSoundBuffer_SetVelocity, 4039, - - XREF_CDirectSoundBuffer_SetVelocity, XRefOne) OOVPA_SIG_MATCH( @@ -2608,11 +2430,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * CDirectSoundVoice::SetConeOrientation // ****************************************************************** -OOVPA_SIG_HEADER_XREF(CDirectSoundVoice_SetConeOrientation, - 4039, - - XREF_CDirectSoundVoice_SetConeOrientation, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CDirectSoundVoice_SetConeOrientation, + 4039) OOVPA_SIG_MATCH( { 0x05, 0x08 }, @@ -2637,8 +2456,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSoundBuffer_SetConeOrientation, 4039, - - XREF_CDirectSoundBuffer_SetConeOrientation, XRefOne) OOVPA_SIG_MATCH( @@ -2667,11 +2484,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * CDirectSound_SetOrientation // ****************************************************************** -OOVPA_SIG_HEADER_XREF(CDirectSound_SetOrientation, - 4039, - - XREF_CDirectSound_SetOrientation, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CDirectSound_SetOrientation, + 4039) OOVPA_SIG_MATCH( // CDirectSound_SetOrientation+0x00 : push ebp @@ -2726,11 +2540,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * CDirectSound_DownloadEffectsImage // ****************************************************************** -OOVPA_SIG_HEADER_XREF(CDirectSound_DownloadEffectsImage, - 4039, - - XREF_CDirectSound_DownloadEffectsImage, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CDirectSound_DownloadEffectsImage, + 4039) OOVPA_SIG_MATCH( // CDirectSound_DownloadEffectsImage+0x00 : push ebp @@ -2778,8 +2589,6 @@ OOVPA_SIG_MATCH( //Generic OOVPA as of 4039 and newer. OOVPA_SIG_HEADER_XREF(IDirectSoundBuffer_SetHeadroom, 4039, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -2806,11 +2615,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * CDirectSound_SetPosition // ****************************************************************** -OOVPA_SIG_HEADER_XREF(CDirectSound_SetPosition, - 4039, - - XREF_CDirectSound_SetPosition, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CDirectSound_SetPosition, + 4039) OOVPA_SIG_MATCH( // CDirectSound_SetPosition+0x00 : push ebp @@ -2842,11 +2648,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * CDirectSound::SetVelocity // ****************************************************************** -OOVPA_SIG_HEADER_XREF(CDirectSound_SetVelocity, - 4039, - - XREF_CDirectSound_SetVelocity, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CDirectSound_SetVelocity, + 4039) OOVPA_SIG_MATCH( // CDirectSound_SetVelocity+0x00 : push ebp @@ -2880,11 +2683,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * CDirectSound::SetI3DL2Listener // ****************************************************************** -OOVPA_SIG_HEADER_XREF(CDirectSound_SetI3DL2Listener, - 4039, - - XREF_CDirectSound_SetI3DL2Listener, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CDirectSound_SetI3DL2Listener, + 4039) OOVPA_SIG_MATCH( // CDirectSound_SetI3DL2Listener+0x00 : push ebp @@ -2917,11 +2717,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * CDirectSoundVoice_SetAllParameters // ****************************************************************** -OOVPA_SIG_HEADER_XREF(CDirectSoundVoice_SetAllParameters, - 4039, - - XREF_CDirectSoundVoice_SetAllParameters, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CDirectSoundVoice_SetAllParameters, + 4039) OOVPA_SIG_MATCH( // CDirectSoundVoice_SetAllParameters+0x00 : mov edx,[esp+04] @@ -2954,8 +2751,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSoundBuffer_SetAllParameters, 4039, - - XREF_CDirectSoundBuffer_SetAllParameters, XRefOne) OOVPA_SIG_MATCH( @@ -2981,8 +2776,6 @@ OOVPA_SIG_MATCH( //Generic OOVPA as of 4039 and newer. OOVPA_SIG_HEADER_XREF(IDirectSoundBuffer_SetAllParameters, 4039, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -3002,11 +2795,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * CDirectSoundVoice::SetConeAngles // ****************************************************************** -OOVPA_SIG_HEADER_XREF(CDirectSoundVoice_SetConeAngles, - 4039, - - XREF_CDirectSoundVoice_SetConeAngles, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CDirectSoundVoice_SetConeAngles, + 4039) OOVPA_SIG_MATCH( { 0x00, 0x8B }, @@ -3038,8 +2828,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSoundBuffer_SetConeAngles, 4039, - - XREF_CDirectSoundBuffer_SetConeAngles, XRefOne) OOVPA_SIG_MATCH( @@ -3073,8 +2861,6 @@ OOVPA_SIG_MATCH( //Generic OOVPA as of 4039 and newer. OOVPA_SIG_HEADER_XREF(IDirectSoundBuffer_SetConeAngles, 4039, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -3103,8 +2889,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSoundStream_SetVelocity, 4039, - - XREF_CDirectSoundStream_SetVelocity, XRefOne) OOVPA_SIG_MATCH( @@ -3129,8 +2913,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSoundStream_SetPosition, 4039, - - XREF_CDirectSoundStream_SetPosition, XRefOne) OOVPA_SIG_MATCH( @@ -3155,8 +2937,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSoundStream_SetMode, 4039, - - XREF_CDirectSoundStream_SetMode, XRefOne) OOVPA_SIG_MATCH( @@ -3181,8 +2961,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSoundStream_SetMaxDistance, 4039, - - XREF_CDirectSoundStream_SetMaxDistance, XRefOne) OOVPA_SIG_MATCH( @@ -3207,8 +2985,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSoundStream_SetMinDistance, 4039, - - XREF_CDirectSoundStream_SetMinDistance, XRefOne) OOVPA_SIG_MATCH( @@ -3233,8 +3009,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSoundStream_SetConeOutsideVolume, 4039, - - XREF_CDirectSoundStream_SetConeOutsideVolume, XRefOne) OOVPA_SIG_MATCH( @@ -3256,8 +3030,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSoundStream_SetConeOrientation, 4039, - - XREF_CDirectSoundStream_SetConeOrientation, XRefOne) OOVPA_SIG_MATCH( @@ -3279,8 +3051,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSoundStream_SetConeAngles, 4039, - - XREF_CDirectSoundStream_SetConeAngles, XRefOne) OOVPA_SIG_MATCH( @@ -3304,8 +3074,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSoundStream_SetAllParameters, 4039, - - XREF_CDirectSoundStream_SetAllParameters, XRefOne) OOVPA_SIG_MATCH( @@ -3327,8 +3095,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSoundStream_SetOutputBuffer, 4039, - - XREF_CDirectSoundStream_SetOutputBuffer, XRefOne) OOVPA_SIG_MATCH( @@ -3351,8 +3117,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSoundStream_SetFrequency, 4039, - - XREF_CDirectSoundStream_SetFrequency, XRefOne) OOVPA_SIG_MATCH( @@ -3388,8 +3152,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 4039 and newer OOVPA_SIG_HEADER_XREF(IDirectSoundStream_SetFrequency, 4039, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -3407,8 +3169,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 4039 and newer OOVPA_SIG_HEADER_XREF(IDirectSoundStream_SetVolume, 4039, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -3425,8 +3185,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSoundStream_SetPitch, 4039, - - XREF_CDirectSoundStream_SetPitch, XRefOne) OOVPA_SIG_MATCH( @@ -3452,8 +3210,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 4039 and newer OOVPA_SIG_HEADER_XREF(IDirectSoundStream_SetPitch, 4039, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -3471,8 +3227,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 4039 and newer OOVPA_SIG_HEADER_XREF(IDirectSoundStream_SetLFO, 4039, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -3490,8 +3244,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 4039 and newer OOVPA_SIG_HEADER_XREF(IDirectSoundStream_SetEG, 4039, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -3509,8 +3261,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 4039 and newer OOVPA_SIG_HEADER_XREF(IDirectSoundStream_SetFilter, 4039, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -3528,8 +3278,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 4039 and newer OOVPA_SIG_HEADER_XREF(IDirectSoundStream_SetMixBinVolumes_8, 4039, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -3544,11 +3292,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * CMcpxStream_Pause // ****************************************************************** -OOVPA_SIG_HEADER_XREF(CMcpxStream_Pause, - 4039, - - XREF_CMcpxStream_Pause, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CMcpxStream_Pause, + 4039) OOVPA_SIG_MATCH( // CMcpxStream_Pause+0x00 : push ebp @@ -3580,8 +3325,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSoundStream_Pause, 4039, - - XREF_CDirectSoundStream_Pause, XRefOne) OOVPA_SIG_MATCH( @@ -3613,11 +3356,8 @@ OOVPA_SIG_MATCH( // * DSound_CRefCount_AddRef // ****************************************************************** // Generic OOVPA as of 4039 and newer -OOVPA_SIG_HEADER_XREF(DSound_CRefCount_AddRef, - 4039, - - XREF_DSound_CRefCount_AddRef, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(DSound_CRefCount_AddRef, + 4039) OOVPA_SIG_MATCH( // DSound_CRefCount_AddRef+0x00 : mov eax,dword ptr [esp+4] @@ -3645,11 +3385,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * DSound_CRefCount_Release // ****************************************************************** -OOVPA_SIG_HEADER_XREF(DSound_CRefCount_Release, - 4039, - - XREF_DSound_CRefCount_Release, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(DSound_CRefCount_Release, + 4039) OOVPA_SIG_MATCH( { 0x00, 0x8B }, @@ -3679,8 +3416,6 @@ OOVPA_SIG_MATCH( // NOTE: Has identical function to CAc97MediaObject::Release OOVPA_SIG_HEADER_XREF(CDirectSoundStream_Release, 4039, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -3706,11 +3441,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * CFullHRTFSource::GetCenterVolume // ****************************************************************** -OOVPA_SIG_HEADER_XREF(CFullHRTFSource_GetCenterVolume, - 4039, - - XREF_CFullHRTFSource_GetCenterVolume, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CFullHRTFSource_GetCenterVolume, + 4039) OOVPA_SIG_MATCH( // CFullHRTFSource::GetCenterVolume+0x00 : push ebp; mov ebp,esp @@ -3732,8 +3464,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CHRTFSource_SetFullHRTF5Channel, 4039, - - XREF_CHRTFSource_SetFullHRTF5Channel, XRefOne) OOVPA_SIG_MATCH( @@ -3758,8 +3488,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(DirectSoundUseFullHRTF, 4039, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -3783,11 +3511,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * XAudioCalculatePitch // ****************************************************************** -OOVPA_SIG_HEADER_XREF(XAudioCalculatePitch, - 4039, - - XREF_XAudioCalculatePitch, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(XAudioCalculatePitch, + 4039) OOVPA_SIG_MATCH( { 0x00, 0x55 }, @@ -3816,11 +3541,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * CDirectSound::EnableHeadphones // ****************************************************************** -OOVPA_SIG_HEADER_XREF(CDirectSound_EnableHeadphones, - 4039, - - XREF_CDirectSound_EnableHeadphones, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CDirectSound_EnableHeadphones, + 4039) OOVPA_SIG_MATCH( { 0x00, 0x55 }, @@ -3884,11 +3606,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * CMcpxStream_Flush // ****************************************************************** -OOVPA_SIG_HEADER_XREF(CMcpxStream_Flush, - 4039, - - XREF_CMcpxStream_Flush, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CMcpxStream_Flush, + 4039) OOVPA_SIG_MATCH( { 0x00, 0x55 }, @@ -3914,8 +3633,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSoundStream_Flush, 4039, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -3943,11 +3660,8 @@ OOVPA_SIG_MATCH( // * CDirectSoundStream_AddRef // ****************************************************************** // NOTE: Has identical function to DirectSound::CAc97MediaObject::AddRef -OOVPA_SIG_HEADER_XREF(CDirectSoundStream_AddRef, - 4039, - - XRefNoSaveIndex, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CDirectSoundStream_AddRef, + 4039) OOVPA_SIG_MATCH( // CDirectSoundStream::AddRef+0x00 : call DirectSoundEnterCriticalSection @@ -4016,8 +3730,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CMcpxStream_Discontinuity, 4039, - - XREF_CMcpxStream_Discontinuity, XRefOne) OOVPA_SIG_MATCH( @@ -4043,8 +3755,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSoundStream_Discontinuity, 4039, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -4073,8 +3783,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSoundStream_SetMixBins, 4039, - - XREF_CDirectSoundStream_SetMixBins, XRefOne) OOVPA_SIG_MATCH( @@ -4101,8 +3809,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 4039 and newer OOVPA_SIG_HEADER_XREF(IDirectSoundStream_SetMixBins, 4039, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -4118,11 +3824,8 @@ OOVPA_SIG_MATCH( // * CDirectSoundVoice::SetI3DL2Source // ****************************************************************** // TODO: Is possible to reduce pairs with an XREF included? -OOVPA_SIG_HEADER_XREF(CDirectSoundVoice_SetI3DL2Source, - 4039, - - XREF_CDirectSoundVoice_SetI3DL2Source, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CDirectSoundVoice_SetI3DL2Source, + 4039) OOVPA_SIG_MATCH( // CDirectSoundVoice_SetI3DL2Source+0x00 : mov edx, [esp+arg_0] @@ -4158,8 +3861,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSoundBuffer_SetI3DL2Source, 4039, - - XREF_CDirectSoundBuffer_SetI3DL2Source, XRefOne) OOVPA_SIG_MATCH( @@ -4193,8 +3894,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 4039 and newer OOVPA_SIG_HEADER_XREF(IDirectSoundBuffer_SetI3DL2Source, 4039, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -4221,11 +3920,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * CDirectSound::GetCaps // ****************************************************************** -OOVPA_SIG_HEADER_XREF(CDirectSound_GetCaps, - 4039, - - XREF_CDirectSound_GetCaps, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CDirectSound_GetCaps, + 4039) OOVPA_SIG_MATCH( { 0x00, 0x53 }, @@ -4250,8 +3946,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(DirectSoundCreateStream, 4039, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -4283,8 +3977,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSoundStream_SetHeadroom, 4039, - - XREF_CDirectSoundStream_SetHeadroom, XRefOne) OOVPA_SIG_MATCH( @@ -4308,8 +4000,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 4039 and newer OOVPA_SIG_HEADER_XREF(IDirectSoundStream_SetHeadroom, 4039, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -4359,11 +4049,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * CDirectSoundBuffer::SetNotificationPositions // ****************************************************************** -OOVPA_SIG_HEADER_XREF(CDirectSoundBuffer_SetNotificationPositions, - 4039, - - XREF_CDirectSoundBuffer_SetNotificationPositions, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CDirectSoundBuffer_SetNotificationPositions, + 4039) OOVPA_SIG_MATCH( // CDirectSoundBuffer_SetNotificationPositions+0x00 : push esi @@ -4397,8 +4084,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSoundVoice_SetFormat, 4039, - - XREF_CDirectSoundVoice_SetFormat, XRefTwo) OOVPA_SIG_MATCH( @@ -4427,8 +4112,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSoundBuffer_SetFormat, 4039, - - XREF_CDirectSoundBuffer_SetFormat, XRefOne) OOVPA_SIG_MATCH( @@ -4463,8 +4146,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 4039 and newer OOVPA_SIG_HEADER_XREF(IDirectSoundBuffer_SetFormat, 4039, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -4485,8 +4166,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSoundStream_SetFormat, 4039, - - XREF_CDirectSoundStream_SetFormat, XRefOne) OOVPA_SIG_MATCH( @@ -4522,8 +4201,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 4039 and newer OOVPA_SIG_HEADER_XREF(IDirectSoundStream_SetFormat, 4039, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -4538,11 +4215,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * CDirectSound_CommitEffectData // ****************************************************************** -OOVPA_SIG_HEADER_XREF(CDirectSound_CommitEffectData, - 4039, - - XREF_CDirectSound_CommitEffectData, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CDirectSound_CommitEffectData, + 4039) OOVPA_SIG_MATCH( { 0x00, 0x56 }, @@ -4573,11 +4247,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * CDirectSound_GetEffectData // ****************************************************************** -OOVPA_SIG_HEADER_XREF(CDirectSound_GetEffectData, - 4039, - - XREF_CDirectSound_GetEffectData, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CDirectSound_GetEffectData, + 4039) OOVPA_SIG_MATCH( { 0x00, 0x55 }, @@ -4605,11 +4276,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * CDirectSound_SetEffectData // ****************************************************************** -OOVPA_SIG_HEADER_XREF(CDirectSound_SetEffectData, - 4039, - - XREF_CDirectSound_SetEffectData, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CDirectSound_SetEffectData, + 4039) OOVPA_SIG_MATCH( { 0x00, 0x55 }, @@ -4639,8 +4307,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSoundStream_SetI3DL2Source, 4039, - - XREF_CDirectSoundStream_SetI3DL2Source, XRefOne) OOVPA_SIG_MATCH( @@ -4660,11 +4326,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * CDirectSound::SetAllParameters // ****************************************************************** -OOVPA_SIG_HEADER_XREF(CDirectSound_SetAllParameters, - 4039, - - XREF_CDirectSound_SetAllParameters, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CDirectSound_SetAllParameters, + 4039) OOVPA_SIG_MATCH( // CDirectSound_SetAllParameters+0x00 : push ebx @@ -4697,11 +4360,11 @@ OOVPA_SIG_MATCH( // ****************************************************************** // NOTE: 4134 later versions changed to a jmp, then convert into // class function. -OOVPA_SIG_HEADER_XREF(XAudioCreateAdpcmFormat, - 4039, - - XREF_WaveFormat_CreateXboxAdpcmFormat, - XRefZero) +// TODO: Either rename this to WaveFormat_CreateXboxAdpcmFormat +// or use jmp caller as XAudioCreateAdpcmFormat_(forward/jmp) +// Then add separate signature to include jmp to this function check. +OOVPA_SIG_HEADER_NO_XREF(XAudioCreateAdpcmFormat, + 4039) OOVPA_SIG_MATCH( OV_MATCH(0x07, 0x08), @@ -4718,11 +4381,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * CMcpxVoiceClient::Commit3dSettings // ****************************************************************** -OOVPA_SIG_HEADER_XREF(CMcpxVoiceClient_Commit3dSettings, - 4039, - - XREF_CMcpxVoiceClient_Commit3dSettings, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CMcpxVoiceClient_Commit3dSettings, + 4039) OOVPA_SIG_MATCH( { 0x00, 0x55 }, @@ -4756,8 +4416,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSoundVoice_CommitDeferredSettings, 4039, - - XREF_CDirectSoundVoice_CommitDeferredSettings, XRefOne) OOVPA_SIG_MATCH( @@ -4791,11 +4449,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * CMcpxVoiceClient_SetPitch // ****************************************************************** -OOVPA_SIG_HEADER_XREF(CMcpxVoiceClient_SetPitch, - 4039, - - XREF_CMcpxVoiceClient_SetPitch, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CMcpxVoiceClient_SetPitch, + 4039) OOVPA_SIG_MATCH( { 0x00, 0x55 }, @@ -4822,11 +4477,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * CDirectSoundBufferSettings::SetBufferData // ****************************************************************** -OOVPA_SIG_HEADER_XREF(CDirectSoundBufferSettings_SetBufferData, - 4039, - - XREF_CDirectSoundBufferSettings_SetBufferData, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CDirectSoundBufferSettings_SetBufferData, + 4039) OOVPA_SIG_MATCH( // CDirectSoundBufferSettings::SetBufferData+0x00 : push ebp @@ -4859,11 +4511,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * CLightHRTFSource::GetCenterVolume // ****************************************************************** -OOVPA_SIG_HEADER_XREF(CLightHRTFSource_GetCenterVolume, - 4039, - - XREF_CLightHRTFSource_GetCenterVolume, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CLightHRTFSource_GetCenterVolume, + 4039) OOVPA_SIG_MATCH( // CLightHRTFSource::GetCenterVolume+0x00 : push ebp; mov ebp,esp @@ -4885,8 +4534,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CHRTFSource_SetLightHRTF5Channel, 4039, - - XREF_CHRTFSource_SetLightHRTF5Channel, XRefOne) OOVPA_SIG_MATCH( @@ -4911,8 +4558,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(DirectSoundUseLightHRTF, 4039, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -4937,11 +4582,8 @@ OOVPA_SIG_MATCH( // * CMcpxAPU::SetMixBinHeadroom // ****************************************************************** // Generic OOVPA as of 4039 and newer -OOVPA_SIG_HEADER_XREF(CMcpxAPU_SetMixBinHeadroom, - 4039, - - XREF_CMcpxAPU_SetMixBinHeadroom, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CMcpxAPU_SetMixBinHeadroom, + 4039) OOVPA_SIG_MATCH( // CMcpxAPU_SetMixBinHeadroom+0x00: push ebp; @@ -4965,8 +4607,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSound_SetMixBinHeadroom, 4039, - - XREF_CDirectSound_SetMixBinHeadroom, XRefOne) OOVPA_SIG_MATCH( @@ -4992,8 +4632,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(DirectSoundOverrideSpeakerConfig, 4039, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( diff --git a/src/OOVPADatabase/DSound/4134.inl b/src/OOVPADatabase/DSound/4134.inl index 1e47b005..b63ba256 100644 --- a/src/OOVPADatabase/DSound/4134.inl +++ b/src/OOVPADatabase/DSound/4134.inl @@ -59,8 +59,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 4134 and newer OOVPA_SIG_HEADER_XREF(DirectSoundDoWork, 4134, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -87,11 +85,8 @@ OOVPA_SIG_MATCH( // * CDirectSound::CreateSoundBuffer // ****************************************************************** // Generic OOVPA as of 4134 and newer -OOVPA_SIG_HEADER_XREF(CDirectSound_CreateSoundBuffer, - 4134, - - XREF_CDirectSound_CreateSoundBuffer, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CDirectSound_CreateSoundBuffer, + 4134) OOVPA_SIG_MATCH( // CDirectSound_CreateSoundBuffer+0x23 : mov eax, 0x80004005 @@ -121,11 +116,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * CDirectSoundBuffer::SetLoopRegion // ****************************************************************** -OOVPA_SIG_HEADER_XREF(CDirectSoundBuffer_SetLoopRegion, - 4134, - - XREF_CDirectSoundBuffer_SetLoopRegion, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CDirectSoundBuffer_SetLoopRegion, + 4134) OOVPA_SIG_MATCH( // CDirectSoundBuffer_SetLoopRegion+0x00 : push ebp @@ -156,11 +148,8 @@ OOVPA_SIG_MATCH( // * CDirectSound::SetI3DL2Listener // ****************************************************************** // Generic OOVPA as of 4134 and newer -OOVPA_SIG_HEADER_XREF(CDirectSound_SetI3DL2Listener, - 4134, - - XREF_CDirectSound_SetI3DL2Listener, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CDirectSound_SetI3DL2Listener, + 4134) OOVPA_SIG_MATCH( // CDirectSound_SetI3DL2Listener+0x00 : push esi; push edi @@ -201,8 +190,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 4134 and newer OOVPA_SIG_HEADER_XREF(CDirectSoundBuffer_SetHeadroom, 4134, - - XREF_CDirectSoundBuffer_SetHeadroom, XRefOne) OOVPA_SIG_MATCH( @@ -224,10 +211,7 @@ OOVPA_SIG_MATCH( // * CDirectSoundBuffer::SetMixBins // ****************************************************************** // Generic OOVPA as of 4134 and newer -OOVPA_XREF(CDirectSoundBuffer_SetMixBins, 4134, 1 + 12, - - XREF_CDirectSoundBuffer_SetMixBins, - XRefOne) +OOVPA_XREF(CDirectSoundBuffer_SetMixBins, 4134, 1 + 12, XRefOne) { // CDirectSoundBuffer_SetMixBins+0x32 : call [CDirectSoundVoice::SetMixBins] @@ -267,11 +251,8 @@ OOVPA_END; // ****************************************************************** // * CDirectSound_SetPosition // ****************************************************************** -OOVPA_SIG_HEADER_XREF(CDirectSound_SetPosition, - 4134, - - XREF_CDirectSound_SetPosition, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CDirectSound_SetPosition, + 4134) OOVPA_SIG_MATCH( // CDirectSound_SetPosition+0x00 : push ebp; mov ebp, esp @@ -308,10 +289,7 @@ OOVPA_SIG_MATCH( // * CDirectSoundBuffer::SetFrequency // ****************************************************************** // Generic OOVPA as of 4134 and newer -OOVPA_XREF(CDirectSoundBuffer_SetFrequency, 4134, 1 + 12, - - XREF_CDirectSoundBuffer_SetFrequency, - XRefOne) +OOVPA_XREF(CDirectSoundBuffer_SetFrequency, 4134, 1 + 12, XRefOne) { // CDirectSoundBuffer_SetFrequency+0x32 : call [CDirectSoundVoice::SetFrequency] @@ -352,11 +330,8 @@ OOVPA_END; // * CMcpxVoiceClient_SetVolume // ****************************************************************** // Generic OOVPA as of 4134 and newer. -OOVPA_SIG_HEADER_XREF(CMcpxVoiceClient_SetVolume, - 4134, - - XREF_CMcpxVoiceClient_SetVolume, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CMcpxVoiceClient_SetVolume, + 4134) OOVPA_SIG_MATCH( // CMcpxVoiceClient_SetVolume+0x2A : lea eax, [ecx+ecx*2] @@ -388,8 +363,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 4134 and newer. OOVPA_SIG_HEADER_XREF(CDirectSoundVoice_SetVolume, 4134, - - XREF_CDirectSoundVoice_SetVolume, XRefOne) OOVPA_SIG_MATCH( @@ -420,8 +393,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 4134 and newer. OOVPA_SIG_HEADER_XREF(CDirectSoundStream_SetVolume, 4134, - - XREF_CDirectSoundStream_SetVolume, XRefOne) OOVPA_SIG_MATCH( @@ -444,8 +415,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 4134 and newer OOVPA_SIG_HEADER_XREF(CDirectSoundBuffer_Lock, 4134, - - XREF_CDirectSoundBuffer_Lock, XRefOne) OOVPA_SIG_MATCH( @@ -478,10 +447,7 @@ OOVPA_SIG_MATCH( // * CDirectSoundBufferSettings::SetBufferData // ****************************************************************** // Generic OOVPA as of 4134 and newer -OOVPA_XREF(CDirectSoundBufferSettings_SetBufferData, 4134, 12, - - XREF_CDirectSoundBufferSettings_SetBufferData, - XRefZero) +OOVPA_NO_XREF(CDirectSoundBufferSettings_SetBufferData, 4134, 12) { // CDirectSoundBufferSettings::SetBufferData+0x00 : push ebp @@ -522,10 +488,7 @@ OOVPA_END; // * CDirectSoundBuffer::SetBufferData // ****************************************************************** // Generic OOVPA as of 4134 and newer -OOVPA_XREF(CDirectSoundBuffer_SetBufferData, 4134, 2 + 7, - - XREF_CDirectSoundBuffer_SetBufferData, - XRefTwo) +OOVPA_XREF(CDirectSoundBuffer_SetBufferData, 4134, 2 + 7, XRefTwo) { // CDirectSoundBuffer::SetBufferData+0x79 : call [CDirectSoundBufferSettings::SetBufferData] @@ -574,11 +537,8 @@ OOVPA_END; // ****************************************************************** // * CMcpxBuffer_GetStatus // ****************************************************************** -OOVPA_SIG_HEADER_XREF(CMcpxBuffer_GetStatus, - 4134, - - XREF_CMcpxBuffer_GetStatus, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CMcpxBuffer_GetStatus, + 4134) OOVPA_SIG_MATCH( // CMcpxBuffer_GetStatus+0x0A : mov esi, ecx @@ -608,8 +568,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 4134 and newer OOVPA_SIG_HEADER_XREF(CDirectSoundBuffer_GetStatus, 4134, - - XREF_CDirectSoundBuffer_GetStatus, XRefOne) OOVPA_SIG_MATCH( @@ -640,11 +598,8 @@ OOVPA_SIG_MATCH( // * CMcpxBuffer_SetCurrentPosition // ****************************************************************** // Generic OOVPA as of 4134 and newer -OOVPA_SIG_HEADER_XREF(CMcpxBuffer_SetCurrentPosition, - 4134, - - XREF_CMcpxBuffer_SetCurrentPosition, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CMcpxBuffer_SetCurrentPosition, + 4134) OOVPA_SIG_MATCH( // CMcpxBuffer_SetCurrentPosition+0x11 : mov al, [esi+12] @@ -670,8 +625,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 4134 and newer OOVPA_SIG_HEADER_XREF(CDirectSoundBuffer_SetCurrentPosition, 4134, - - XREF_CDirectSoundBuffer_SetCurrentPosition, XRefOne) OOVPA_SIG_MATCH( @@ -702,11 +655,8 @@ OOVPA_SIG_MATCH( // * CMcpxBuffer_GetCurrentPosition // ****************************************************************** // Generic OOVPA as of 4134 and newer -OOVPA_SIG_HEADER_XREF(CMcpxBuffer_GetCurrentPosition, - 4134, - - XREF_CMcpxBuffer_GetCurrentPosition, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CMcpxBuffer_GetCurrentPosition, + 4134) OOVPA_SIG_MATCH( // CMcpxBuffer_GetCurrentPosition+0x00 : push ebp @@ -753,8 +703,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 4134 and newer OOVPA_SIG_HEADER_XREF(CDirectSoundBuffer_GetCurrentPosition, 4134, - - XREF_CDirectSoundBuffer_GetCurrentPosition, XRefOne) OOVPA_SIG_MATCH( @@ -784,11 +732,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * CDirectSound::SetDistanceFactor // ****************************************************************** -OOVPA_SIG_HEADER_XREF(CDirectSound_SetDistanceFactor, - 4134, - - XREF_CDirectSound_SetDistanceFactor, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CDirectSound_SetDistanceFactor, + 4134) OOVPA_SIG_MATCH( // CDirectSound_SetDistanceFactor+0x21 : mov eax, 0x80004005 @@ -823,11 +768,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * CDirectSound::SetRolloffFactor // ****************************************************************** -OOVPA_SIG_HEADER_XREF(CDirectSound_SetRolloffFactor, - 4134, - - XREF_CDirectSound_SetRolloffFactor, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CDirectSound_SetRolloffFactor, + 4134) OOVPA_SIG_MATCH( // CDirectSound_SetRolloffFactor+0x00 : push esi @@ -865,11 +807,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * CDirectSound::SetDopplerFactor // ****************************************************************** -OOVPA_SIG_HEADER_XREF(CDirectSound_SetDopplerFactor, - 4134, - - XREF_CDirectSound_SetDopplerFactor, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CDirectSound_SetDopplerFactor, + 4134) OOVPA_SIG_MATCH( // CDirectSound_SetDopplerFactor+0x21 : mov eax, 0x80004005 @@ -899,10 +838,7 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * CDirectSound::CommitDeferredSettings // ****************************************************************** -OOVPA_XREF(CDirectSound_CommitDeferredSettings, 4134, 1 + 9, - - XREF_CDirectSound_CommitDeferredSettings, - XRefOne) +OOVPA_XREF(CDirectSound_CommitDeferredSettings, 4134, 1 + 9, XRefOne) { // CDirectSound_CommitDeferredSettings+0x49 : call [CDirectSoundVoice::CommitDeferredSettings] @@ -940,8 +876,6 @@ OOVPA_END; // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSoundVoice_SetMaxDistance, 4134, - - XREF_CDirectSoundVoice_SetMaxDistance, XRefOne) OOVPA_SIG_MATCH( @@ -975,8 +909,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 4134 and newer OOVPA_SIG_HEADER_XREF(CDirectSoundBuffer_SetMaxDistance, 4134, - - XREF_CDirectSoundBuffer_SetMaxDistance, XRefOne) OOVPA_SIG_MATCH( @@ -1008,8 +940,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 4134 and newer OOVPA_SIG_HEADER_XREF(CDirectSoundStream_SetMaxDistance, 4134, - - XREF_CDirectSoundStream_SetMaxDistance, XRefOne) OOVPA_SIG_MATCH( @@ -1034,8 +964,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSoundVoice_SetMinDistance, 4134, - - XREF_CDirectSoundVoice_SetMinDistance, XRefOne) OOVPA_SIG_MATCH( @@ -1069,8 +997,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 4134 and newer OOVPA_SIG_HEADER_XREF(CDirectSoundBuffer_SetMinDistance, 4134, - - XREF_CDirectSoundBuffer_SetMinDistance, XRefOne) OOVPA_SIG_MATCH( @@ -1102,8 +1028,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 4134 and newer OOVPA_SIG_HEADER_XREF(CDirectSoundStream_SetMinDistance, 4134, - - XREF_CDirectSoundStream_SetMinDistance, XRefOne) OOVPA_SIG_MATCH( @@ -1131,11 +1055,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * CDirectSoundVoice::SetRolloffFactor // ****************************************************************** -OOVPA_SIG_HEADER_XREF(CDirectSoundVoice_SetRolloffFactor, - 4134, - - XREF_CDirectSoundVoice_SetRolloffFactor, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CDirectSoundVoice_SetRolloffFactor, + 4134) OOVPA_SIG_MATCH( // CDirectSoundVoice_SetRolloffFactor+0x0D : mov edx, [esp+arg_4] @@ -1165,8 +1086,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 4134 and newer OOVPA_SIG_HEADER_XREF(CDirectSoundBuffer_SetRolloffFactor, 4134, - - XREF_CDirectSoundBuffer_SetRolloffFactor, XRefOne) OOVPA_SIG_MATCH( @@ -1198,8 +1117,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 4134 and newer OOVPA_SIG_HEADER_XREF(IDirectSoundBuffer_SetRolloffFactor, 4134, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -1232,8 +1149,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 4134 and newer OOVPA_SIG_HEADER_XREF(CDirectSoundStream_SetRolloffFactor, 4134, - - XREF_CDirectSoundStream_SetRolloffFactor, XRefOne) OOVPA_SIG_MATCH( @@ -1253,11 +1168,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * CDirectSoundVoice::SetDistanceFactor // ****************************************************************** -OOVPA_SIG_HEADER_XREF(CDirectSoundVoice_SetDistanceFactor, - 4134, - - XREF_CDirectSoundVoice_SetDistanceFactor, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CDirectSoundVoice_SetDistanceFactor, + 4134) OOVPA_SIG_MATCH( // CDirectSoundVoice_SetDistanceFactor+0x0D : mov edx, [esp+arg_4] @@ -1287,8 +1199,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 4134 and newer OOVPA_SIG_HEADER_XREF(CDirectSoundBuffer_SetDistanceFactor, 4134, - - XREF_CDirectSoundBuffer_SetDistanceFactor, XRefOne) OOVPA_SIG_MATCH( @@ -1320,8 +1230,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 4134 and newer OOVPA_SIG_HEADER_XREF(IDirectSoundBuffer_SetDistanceFactor, 4134, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -1349,11 +1257,8 @@ OOVPA_SIG_MATCH( // * DirectSound::CDirectSoundVoice::SetConeAngles // ****************************************************************** // Generic OOVPA as of 4134 and newer -OOVPA_SIG_HEADER_XREF(CDirectSoundVoice_SetConeAngles, - 4134, - - XREF_CDirectSoundVoice_SetConeAngles, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CDirectSoundVoice_SetConeAngles, + 4134) OOVPA_SIG_MATCH( { 0x00, 0x8B }, @@ -1379,8 +1284,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 4134 and newer OOVPA_SIG_HEADER_XREF(CDirectSoundBuffer_SetConeAngles, 4134, - - XREF_CDirectSoundBuffer_SetConeAngles, XRefOne) OOVPA_SIG_MATCH( @@ -1412,11 +1315,8 @@ OOVPA_SIG_MATCH( // * CDirectSoundVoice_SetConeOrientation // ****************************************************************** // Generic OOVPA as of 4134 and newer -OOVPA_SIG_HEADER_XREF(CDirectSoundVoice_SetConeOrientation, - 4134, - - XREF_CDirectSoundVoice_SetConeOrientation, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CDirectSoundVoice_SetConeOrientation, + 4134) OOVPA_SIG_MATCH( // CDirectSoundVoice_SetConeOrientation+0x0F : mov edx, [ebp+arg_4] @@ -1447,8 +1347,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 4134 and newer OOVPA_SIG_HEADER_XREF(CDirectSoundBuffer_SetConeOrientation, 4134, - - XREF_CDirectSoundBuffer_SetConeOrientation, XRefOne) OOVPA_SIG_MATCH( @@ -1480,8 +1378,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 4134 and newer OOVPA_SIG_HEADER_XREF(CDirectSoundStream_SetConeOrientation, 4134, - - XREF_CDirectSoundStream_SetConeOrientation, XRefOne) OOVPA_SIG_MATCH( @@ -1501,11 +1397,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * CDirectSoundVoice::SetConeOutsideVolume // ****************************************************************** -OOVPA_SIG_HEADER_XREF(CDirectSoundVoice_SetConeOutsideVolume, - 4134, - - XREF_CDirectSoundVoice_SetConeOutsideVolume, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CDirectSoundVoice_SetConeOutsideVolume, + 4134) OOVPA_SIG_MATCH( // CDirectSoundVoice_SetConeOutsideVolume+0x0D : mov edx, [esp+arg_4] @@ -1535,8 +1428,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 4134 and newer OOVPA_SIG_HEADER_XREF(CDirectSoundBuffer_SetConeOutsideVolume, 4134, - - XREF_CDirectSoundBuffer_SetConeOutsideVolume, XRefOne) OOVPA_SIG_MATCH( @@ -1570,8 +1461,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 4134 and newer OOVPA_SIG_HEADER_XREF(CDirectSoundStream_SetConeOutsideVolume, 4134, - - XREF_CDirectSoundStream_SetConeOutsideVolume, XRefOne) OOVPA_SIG_MATCH( @@ -1592,11 +1481,8 @@ OOVPA_SIG_MATCH( // * CDirectSoundVoice_SetPosition // ****************************************************************** // Generic OOVPA as of 4134 and newer -OOVPA_SIG_HEADER_XREF(CDirectSoundVoice_SetPosition, - 4134, - - XREF_CDirectSoundVoice_SetPosition, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CDirectSoundVoice_SetPosition, + 4134) OOVPA_SIG_MATCH( // CDirectSoundVoice_SetPosition+0x0F : mov edx, [ebp+arg_4] @@ -1627,8 +1513,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 4134 and newer OOVPA_SIG_HEADER_XREF(CDirectSoundBuffer_SetPosition, 4134, - - XREF_CDirectSoundBuffer_SetPosition, XRefOne) OOVPA_SIG_MATCH( @@ -1659,8 +1543,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 4134 and newer OOVPA_SIG_HEADER_XREF(CDirectSoundStream_SetPosition, 4134, - - XREF_CDirectSoundStream_SetPosition, XRefOne) OOVPA_SIG_MATCH( @@ -1684,11 +1566,8 @@ OOVPA_SIG_MATCH( // * CDirectSoundVoice_SetVelocity // ****************************************************************** // Generic OOVPA as of 4134 and newer -OOVPA_SIG_HEADER_XREF(CDirectSoundVoice_SetVelocity, - 4134, - - XREF_CDirectSoundVoice_SetVelocity, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CDirectSoundVoice_SetVelocity, + 4134) OOVPA_SIG_MATCH( // CDirectSoundVoice_SetVelocity+0x0F : mov edx, [ebp+arg_4] @@ -1719,8 +1598,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 4134 and newer OOVPA_SIG_HEADER_XREF(CDirectSoundBuffer_SetVelocity, 4134, - - XREF_CDirectSoundBuffer_SetVelocity, XRefOne) OOVPA_SIG_MATCH( @@ -1751,8 +1628,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 4134 and newer OOVPA_SIG_HEADER_XREF(CDirectSoundStream_SetVelocity, 4134, - - XREF_CDirectSoundStream_SetVelocity, XRefOne) OOVPA_SIG_MATCH( @@ -1775,11 +1650,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * CDirectSoundVoice::SetDopplerFactor // ****************************************************************** -OOVPA_SIG_HEADER_XREF(CDirectSoundVoice_SetDopplerFactor, - 4134, - - XREF_CDirectSoundVoice_SetDopplerFactor, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CDirectSoundVoice_SetDopplerFactor, + 4134) OOVPA_SIG_MATCH( // CDirectSoundVoice_SetDopplerFactor+0x0D : mov edx, [esp+arg_4] @@ -1809,8 +1681,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 4134 and newer OOVPA_SIG_HEADER_XREF(CDirectSoundBuffer_SetDopplerFactor, 4134, - - XREF_CDirectSoundBuffer_SetDopplerFactor, XRefOne) OOVPA_SIG_MATCH( @@ -1840,8 +1710,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 4134 and newer OOVPA_SIG_HEADER_XREF(IDirectSoundBuffer_SetDopplerFactor, 4134, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -1869,8 +1737,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSoundVoice_SetI3DL2Source, 4134, - - XREF_CDirectSoundVoice_SetI3DL2Source, XRefOne) OOVPA_SIG_MATCH( @@ -1905,8 +1771,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 4134 and newer OOVPA_SIG_HEADER_XREF(CDirectSoundBuffer_SetI3DL2Source, 4134, - - XREF_CDirectSoundBuffer_SetI3DL2Source, XRefOne) OOVPA_SIG_MATCH( @@ -1940,8 +1804,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 4134 and newer OOVPA_SIG_HEADER_XREF(CDirectSoundStream_SetI3DL2Source, 4134, - - XREF_CDirectSoundStream_SetI3DL2Source, XRefOne) OOVPA_SIG_MATCH( @@ -1962,11 +1824,8 @@ OOVPA_SIG_MATCH( // * DirectSound::CDirectSoundVoice::SetAllParameters // ****************************************************************** // Generic OOVPA as of 4134 and newer -OOVPA_SIG_HEADER_XREF(CDirectSoundVoice_SetAllParameters, - 4134, - - XREF_CDirectSoundVoice_SetAllParameters, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CDirectSoundVoice_SetAllParameters, + 4134) OOVPA_SIG_MATCH( { 0x00, 0x8B }, @@ -1998,8 +1857,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 4134 and newer OOVPA_SIG_HEADER_XREF(CDirectSoundBuffer_SetAllParameters, 4134, - - XREF_CDirectSoundBuffer_SetAllParameters, XRefOne) OOVPA_SIG_MATCH( @@ -2022,8 +1879,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 4134 and newer OOVPA_SIG_HEADER_XREF(CDirectSoundStream_SetAllParameters, 4134, - - XREF_CDirectSoundStream_SetAllParameters, XRefOne) OOVPA_SIG_MATCH( @@ -2045,8 +1900,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSoundVoice_SetMode, 4134, - - XREF_CDirectSoundVoice_SetMode, XRefOne) OOVPA_SIG_MATCH( @@ -2082,8 +1935,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 4134 and newer OOVPA_SIG_HEADER_XREF(CDirectSoundBuffer_SetMode, 4134, - - XREF_CDirectSoundBuffer_SetMode, XRefOne) OOVPA_SIG_MATCH( @@ -2107,8 +1958,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 4134 and newer OOVPA_SIG_HEADER_XREF(CDirectSoundStream_SetMode, 4134, - - XREF_CDirectSoundStream_SetMode, XRefOne) OOVPA_SIG_MATCH( @@ -2132,11 +1981,8 @@ OOVPA_SIG_MATCH( // * DirectSound::CMcpxVoiceClient::SetFilter // ****************************************************************** // Generic OOVPA as of 4134 and newer -OOVPA_SIG_HEADER_XREF(CMcpxVoiceClient_SetFilter, - 4134, - - XREF_CMcpxVoiceClient_SetFilter, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CMcpxVoiceClient_SetFilter, + 4134) OOVPA_SIG_MATCH( { 0x00, 0x55 }, @@ -2166,8 +2012,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 4134 and newer OOVPA_SIG_HEADER_XREF(CDirectSoundBuffer_SetFilter, 4134, - - XREF_CDirectSoundBuffer_SetFilter, XRefOne) OOVPA_SIG_MATCH( @@ -2187,11 +2031,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * CDirectSound::SetVelocity // ****************************************************************** -OOVPA_SIG_HEADER_XREF(CDirectSound_SetVelocity, - 4134, - - XREF_CDirectSound_SetVelocity, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CDirectSound_SetVelocity, + 4134) OOVPA_SIG_MATCH( // CDirectSound_SetVelocity+0x00 : push ebp @@ -2228,8 +2069,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 4134 and newer OOVPA_SIG_HEADER_XREF(CDirectSoundBuffer_SetPitch, 4134, - - XREF_CDirectSoundBuffer_SetPitch, XRefOne) OOVPA_SIG_MATCH( @@ -2252,8 +2091,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 4134 and newer OOVPA_SIG_HEADER_XREF(CDirectSoundStream_SetPitch, 4134, - - XREF_CDirectSoundStream_SetPitch, XRefOne) OOVPA_SIG_MATCH( @@ -2278,8 +2115,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSoundBuffer_SetVolume, 4134, - - XREF_CDirectSoundBuffer_SetVolume, XRefOne) OOVPA_SIG_MATCH( @@ -2311,11 +2146,8 @@ OOVPA_SIG_MATCH( // * CDirectSound::CreateSoundStream // ****************************************************************** // Generic OOVPA as of 4134 and newer -OOVPA_SIG_HEADER_XREF(CDirectSound_CreateSoundStream, - 4134, - - XREF_CDirectSound_CreateSoundStream, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CDirectSound_CreateSoundStream, + 4134) OOVPA_SIG_MATCH( // CDirectSound_CreateSoundStream+0x23 : mov eax, 0x80004005 @@ -2348,8 +2180,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 4134 and newer OOVPA_SIG_HEADER_XREF(DirectSoundCreateStream, 4134, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -2381,11 +2211,8 @@ OOVPA_SIG_MATCH( // * CDirectSoundVoiceSettings::SetMixBinVolumes // ****************************************************************** // Generic OOVPA as of 4134 and newer. -OOVPA_SIG_HEADER_XREF(CDirectSoundVoiceSettings_SetMixBinVolumes, - 4134, - - XREF_CDirectSoundVoiceSettings_SetMixBinVolumes, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CDirectSoundVoiceSettings_SetMixBinVolumes, + 4134) OOVPA_SIG_MATCH( // CDirectSoundVoiceSettings_SetMixBinVolumes+0x09 : jbe +0x16 @@ -2412,10 +2239,7 @@ OOVPA_SIG_MATCH( // * CDirectSoundBuffer::SetMixBinVolumes // ****************************************************************** //Generic OOVPA as of 4134 and newer -OOVPA_XREF(CDirectSoundBuffer_SetMixBinVolumes, 4134, 1 + 12, - - XREF_CDirectSoundBuffer_SetMixBinVolumes, - XRefOne) +OOVPA_XREF(CDirectSoundBuffer_SetMixBinVolumes, 4134, 1 + 12, XRefOne) { // CDirectSoundBuffer_SetMixBinVolumes+0x32 : call [CDirectSoundVoice::SetMixBinVolumes] @@ -2457,11 +2281,8 @@ OOVPA_END; // * CDirectSound_SetEffectData // ****************************************************************** // Generic OOVPA as of 4134 and newer -OOVPA_SIG_HEADER_XREF(CDirectSound_SetEffectData, - 4134, // Also for 5849 - - XREF_CDirectSound_SetEffectData, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CDirectSound_SetEffectData, + 4134) // Also for 5849 OOVPA_SIG_MATCH( { 0x00, 0x55 }, @@ -2489,11 +2310,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * CMcpxBuffer_Stop // ****************************************************************** -OOVPA_SIG_HEADER_XREF(CMcpxBuffer_Stop, - 4134, - - XREF_CMcpxBuffer_Stop, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CMcpxBuffer_Stop, + 4134) OOVPA_SIG_MATCH( // CMcpxBuffer_Stop+0x0B : cmp al, 3 @@ -2518,8 +2336,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CMcpxBuffer_Stop_Ex, 4134, - - XREF_CMcpxBuffer_Stop_Ex, XRefOne) OOVPA_SIG_MATCH( @@ -2550,8 +2366,6 @@ OOVPA_SIG_MATCH( //Generic OOVPA as of 4134 and newer. OOVPA_SIG_HEADER_XREF(CDirectSoundBuffer_Stop, 4134, - - XREF_CDirectSoundBuffer_Stop, XRefOne) OOVPA_SIG_MATCH( @@ -2586,8 +2400,6 @@ OOVPA_SIG_MATCH( //Generic OOVPA as of 4134 and newer. OOVPA_SIG_HEADER_XREF(CDirectSoundStream_SetEG, 4134, - - XREF_CDirectSoundStream_SetEG, XRefOne) OOVPA_SIG_MATCH( @@ -2611,8 +2423,6 @@ OOVPA_SIG_MATCH( //Generic OOVPA as of 4134 and newer. OOVPA_SIG_HEADER_XREF(CDirectSoundStream_SetFilter, 4134, - - XREF_CDirectSoundStream_SetFilter, XRefOne) OOVPA_SIG_MATCH( @@ -2636,8 +2446,6 @@ OOVPA_SIG_MATCH( //Generic OOVPA as of 4134 and newer. OOVPA_SIG_HEADER_XREF(CDirectSoundStream_SetLFO, 4134, - - XREF_CDirectSoundStream_SetLFO, XRefOne) OOVPA_SIG_MATCH( @@ -2661,11 +2469,8 @@ OOVPA_SIG_MATCH( // * CDirectSound_SetOrientation // ****************************************************************** //Generic OOVPA as of 4134 and newer. -OOVPA_SIG_HEADER_XREF(CDirectSound_SetOrientation, - 4134, - - XREF_CDirectSound_SetOrientation, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CDirectSound_SetOrientation, + 4134) OOVPA_SIG_MATCH( // CDirectSound_SetOrientation+0x00 : push ebp @@ -2690,11 +2495,8 @@ OOVPA_SIG_MATCH( // * CDirectSound_DownloadEffectsImage // ****************************************************************** //Generic OOVPA as of 4134 and newer. -OOVPA_SIG_HEADER_XREF(CDirectSound_DownloadEffectsImage, - 4134, - - XREF_CDirectSound_DownloadEffectsImage, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CDirectSound_DownloadEffectsImage, + 4134) OOVPA_SIG_MATCH( // CDirectSound_DownloadEffectsImage+0x00 : push ebp @@ -2743,8 +2545,6 @@ OOVPA_SIG_MATCH( // NOTE: Has identical function to CAc97MediaObject::Release OOVPA_SIG_HEADER_XREF(CDirectSoundStream_Release, 4134, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -2770,11 +2570,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * DirectSound::CFullHRTFSource::GetCenterVolume // ****************************************************************** -OOVPA_SIG_HEADER_XREF(CFullHRTFSource_GetCenterVolume, - 4134, - - XREF_CFullHRTFSource_GetCenterVolume, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CFullHRTFSource_GetCenterVolume, + 4134) OOVPA_SIG_MATCH( { 0x00, 0x55 }, @@ -2798,8 +2595,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 4134 plus 5344 and newer. OOVPA_SIG_HEADER_XREF(DirectSoundUseFullHRTF, 4134, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -2821,8 +2616,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 4134 and newer. OOVPA_SIG_HEADER_XREF(CDirectSoundStream_SetMixBins, 4134, - - XREF_CDirectSoundStream_SetMixBins, XRefOne) OOVPA_SIG_MATCH( @@ -2846,11 +2639,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * CMcpxStream_Pause // ****************************************************************** -OOVPA_SIG_HEADER_XREF(CMcpxStream_Pause, - 4134, - - XREF_CMcpxStream_Pause, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CMcpxStream_Pause, + 4134) OOVPA_SIG_MATCH( // CMcpxStream_Pause+0x00 : push ebp @@ -2882,8 +2672,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 4134 and newer OOVPA_SIG_HEADER_XREF(CDirectSoundStream_Pause, 4134, - - XREF_CDirectSoundStream_Pause, XRefOne) OOVPA_SIG_MATCH( @@ -2914,11 +2702,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * CMcpxVoiceClient::SetLFO // ****************************************************************** -OOVPA_SIG_HEADER_XREF(CMcpxVoiceClient_SetLFO, - 4134, - - XREF_CMcpxVoiceClient_SetLFO, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CMcpxVoiceClient_SetLFO, + 4134) OOVPA_SIG_MATCH( // CMcpxVoiceClient_SetLFO+0x00 : push ebp @@ -2944,11 +2729,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * CMcpxVoiceClient::SetEG // ****************************************************************** -OOVPA_SIG_HEADER_XREF(CMcpxVoiceClient_SetEG, - 4134, - - XREF_CMcpxVoiceClient_SetEG, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CMcpxVoiceClient_SetEG, + 4134) OOVPA_SIG_MATCH( { 0x00, 0x55 }, @@ -2976,8 +2758,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 4134 and newer OOVPA_SIG_HEADER_XREF(CDirectSoundBuffer_SetEG, 4134, - - XREF_CDirectSoundBuffer_SetEG, XRefOne) OOVPA_SIG_MATCH( @@ -3000,8 +2780,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 4134 and newer OOVPA_SIG_HEADER_XREF(CDirectSoundBuffer_SetLFO, 4134, - - XREF_CDirectSoundBuffer_SetLFO, XRefOne) OOVPA_SIG_MATCH( @@ -3024,8 +2802,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 4134 and newer OOVPA_SIG_HEADER_XREF(CDirectSound_SetAllParameters, 4134, - - XREF_CDirectSound_SetAllParameters, XRefOne) OOVPA_SIG_MATCH( @@ -3088,10 +2864,7 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * CMcpxStream_Flush // ****************************************************************** -OOVPA_XREF(CMcpxStream_Flush, 4134, 13 /*15 total*/, - - XREF_CMcpxStream_Flush, - XRefZero) +OOVPA_NO_XREF(CMcpxStream_Flush, 4134, 13 /*15 total*/) { // CMcpxStream_Flush+0x00 : push ebp @@ -3129,8 +2902,6 @@ OOVPA_END; // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSoundStream_Flush, 4134, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -3157,11 +2928,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * CMcpxStream_Flush // ****************************************************************** -OOVPA_SIG_HEADER_XREF(CMcpxStream_GetStatus, - 4134, - - XREF_CMcpxStream_GetStatus, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CMcpxStream_GetStatus, + 4134) OOVPA_SIG_MATCH( { 0x00, 0x55 }, @@ -3196,8 +2964,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 4134 and newer OOVPA_SIG_HEADER_XREF(CDirectSoundStream_GetStatus, 4134, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -3229,10 +2995,7 @@ OOVPA_SIG_MATCH( // * CDirectSoundStream_Process // ****************************************************************** // Generic OOVPA as of 4134 and newer -OOVPA_XREF(CDirectSoundStream_Process, 4134, 1 + 11, - - XRefNoSaveIndex, - XRefOne) +OOVPA_XREF(CDirectSoundStream_Process, 4134, 1 + 11, XRefOne) { // CDirectSoundStream::Process+0x38 : call [CMcpxStream::GetStatus] @@ -3272,8 +3035,6 @@ OOVPA_END; // ****************************************************************** OOVPA_SIG_HEADER_XREF(CMcpxStream_Discontinuity, 4134, - - XREF_CMcpxStream_Discontinuity, XRefOne) OOVPA_SIG_MATCH( @@ -3300,8 +3061,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 4134 and newer OOVPA_SIG_HEADER_XREF(CDirectSoundStream_Discontinuity, 4134, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -3354,11 +3113,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // Generic OOVPA as of 4134 and newer // NOTE: Has identical function to DirectSound::CAc97MediaObject::AddRef -OOVPA_SIG_HEADER_XREF(CDirectSoundStream_AddRef, - 4134, - - XRefNoSaveIndex, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CDirectSoundStream_AddRef, + 4134) OOVPA_SIG_MATCH( // CDirectSoundStream::AddRef+0x00 : call DirectSoundEnterCriticalSection @@ -3387,11 +3143,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * CDirectSound::GetCaps // ****************************************************************** -OOVPA_SIG_HEADER_XREF(CDirectSound_GetCaps, - 4134, - - XREF_CDirectSound_GetCaps, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CDirectSound_GetCaps, + 4134) OOVPA_SIG_MATCH( { 0x00, 0x57 }, @@ -3414,10 +3167,7 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * CDirectSoundBuffer_SetOutputBuffer // ****************************************************************** -OOVPA_XREF(CDirectSoundBuffer_SetOutputBuffer, 4134, 1 + 12, - - XREF_CDirectSoundBuffer_SetOutputBuffer, - XRefOne) +OOVPA_XREF(CDirectSoundBuffer_SetOutputBuffer, 4134, 1 + 12, XRefOne) { // CDirectSoundBuffer::SetOutputBuffer+0x31 : call [CDirectSoundVoice::SetOutputBuffer] @@ -3458,10 +3208,7 @@ OOVPA_END; // * CDirectSound::SetMixBinHeadroom // ****************************************************************** // Generic OOVPA as of 4134 and newer -OOVPA_XREF(CDirectSound_SetMixBinHeadroom, 4134, 1 + 12, - - XREF_CDirectSound_SetMixBinHeadroom, - XRefOne) +OOVPA_XREF(CDirectSound_SetMixBinHeadroom, 4134, 1 + 12, XRefOne) { // CDirectSound_SetMixBinHeadroom+0x41 : call [CMcpxAPU_SetMixBinHeadroom] @@ -3508,8 +3255,6 @@ OOVPA_END; // Generic OOVPA as of 4134 and newer OOVPA_SIG_HEADER_XREF(CDirectSoundStream_SetFrequency, 4134, - - XREF_CDirectSoundStream_SetFrequency, XRefOne) OOVPA_SIG_MATCH( @@ -3545,8 +3290,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 4134 and newer OOVPA_SIG_HEADER_XREF(CDirectSoundStream_SetOutputBuffer, 4134, - - XREF_CDirectSoundStream_SetOutputBuffer, XRefOne) OOVPA_SIG_MATCH( @@ -3570,8 +3313,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 4134 and newer OOVPA_SIG_HEADER_XREF(CDirectSoundStream_SetConeAngles, 4134, - - XREF_CDirectSoundStream_SetConeAngles, XRefOne) OOVPA_SIG_MATCH( @@ -3596,8 +3337,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 4134 and newer OOVPA_SIG_HEADER_XREF(CDirectSoundStream_SetHeadroom, 4134, - - XREF_CDirectSoundStream_SetHeadroom, XRefOne) OOVPA_SIG_MATCH( @@ -3618,11 +3357,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * CMcpxBuffer::Play(unsigned long) // ****************************************************************** -OOVPA_SIG_HEADER_XREF(CMcpxBuffer_Play, - 4134, - - XREF_CMcpxBuffer_Play, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CMcpxBuffer_Play, + 4134) OOVPA_SIG_MATCH( // CMcpxBuffer_Play+0x00 : push ebx @@ -3656,8 +3392,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 4134 and newer OOVPA_SIG_HEADER_XREF(CDirectSoundBuffer_Play, 4134, - - XREF_CDirectSoundBuffer_Play, XRefOne) OOVPA_SIG_MATCH( @@ -3688,11 +3422,8 @@ OOVPA_SIG_MATCH( // * CDirectSound_GetEffectData // ****************************************************************** // Generic OOVPA as of 4134 and newer -OOVPA_SIG_HEADER_XREF(CDirectSound_GetEffectData, - 4134, - - XREF_CDirectSound_GetEffectData, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CDirectSound_GetEffectData, + 4134) OOVPA_SIG_MATCH( { 0x00, 0x55 }, @@ -3721,11 +3452,8 @@ OOVPA_SIG_MATCH( // * CDirectSound_CommitEffectData // ****************************************************************** // Generic OOVPA as of 4134 and newer -OOVPA_SIG_HEADER_XREF(CDirectSound_CommitEffectData, - 4134, - - XREF_CDirectSound_CommitEffectData, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CDirectSound_CommitEffectData, + 4134) OOVPA_SIG_MATCH( { 0x00, 0x56 }, @@ -3759,8 +3487,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 4134 and newer OOVPA_SIG_HEADER_XREF(CDirectSoundStream_SetDistanceFactor, 4134, - - XREF_CDirectSoundStream_SetDistanceFactor, XRefOne) OOVPA_SIG_MATCH( @@ -3783,8 +3509,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 4134 and newer OOVPA_SIG_HEADER_XREF(IDirectSoundStream_SetDistanceFactor, 4134, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -3807,8 +3531,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 4134 and newer OOVPA_SIG_HEADER_XREF(IDirectSoundStream_SetRolloffFactor, 4134, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -3831,8 +3553,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 4134 and newer OOVPA_SIG_HEADER_XREF(CDirectSoundStream_SetDopplerFactor, 4134, - - XREF_CDirectSoundStream_SetDopplerFactor, XRefOne) OOVPA_SIG_MATCH( @@ -3855,8 +3575,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 4134 and newer OOVPA_SIG_HEADER_XREF(IDirectSoundStream_SetDopplerFactor, 4134, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -3878,8 +3596,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSoundStream_SetMixBinVolumes_8, 4134, - - XREF_CDirectSoundStream_SetMixBinVolumes_8, XRefOne) OOVPA_SIG_MATCH( @@ -3904,11 +3620,8 @@ OOVPA_SIG_MATCH( // * CDirectSoundBuffer::SetPlayRegion // ****************************************************************** // Generic OOVPA as of 4134 and newer -OOVPA_SIG_HEADER_XREF(CDirectSoundBuffer_SetPlayRegion, - 4134, - - XREF_CDirectSoundBuffer_SetPlayRegion, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CDirectSoundBuffer_SetPlayRegion, + 4134) OOVPA_SIG_MATCH( // CDirectSoundBuffer_SetPlayRegion+0x10 : movzx edi, al @@ -3932,11 +3645,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * CDirectSound::EnableHeadphones // ****************************************************************** -OOVPA_SIG_HEADER_XREF(CDirectSound_EnableHeadphones, - 4134, - - XREF_CDirectSound_EnableHeadphones, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CDirectSound_EnableHeadphones, + 4134) OOVPA_SIG_MATCH( { 0x00, 0x55 }, @@ -3964,8 +3674,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 4134 and newer OOVPA_SIG_HEADER_XREF(CDirectSoundBuffer_SetFormat, 4134, - - XREF_CDirectSoundBuffer_SetFormat, XRefOne) OOVPA_SIG_MATCH( @@ -3988,8 +3696,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 4134 and newer OOVPA_SIG_HEADER_XREF(CDirectSoundStream_SetFormat, 4134, - - XREF_CDirectSoundStream_SetFormat, XRefOne) OOVPA_SIG_MATCH( @@ -4012,8 +3718,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 4134 and newer OOVPA_SIG_HEADER_XREF(CDirectSoundBuffer_PlayEx, 4134, - - XREF_CDirectSoundBuffer_PlayEx, XRefOne) OOVPA_SIG_MATCH( @@ -4035,8 +3739,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSoundBuffer_StopEx, 4134, - - XREF_CDirectSoundBuffer_StopEx, XRefOne) OOVPA_SIG_MATCH( @@ -4059,8 +3761,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 4134 and newer OOVPA_SIG_HEADER_XREF(DirectSoundCreateBuffer, 4134, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -4094,8 +3794,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 4134 and newer (introduction) OOVPA_SIG_HEADER_XREF(CDirectSoundStream_FlushEx, 4134, - - XREF_CDirectSoundStream_FlushEx, XRefOne) OOVPA_SIG_MATCH( @@ -4128,8 +3826,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 4134 and newer (introduction) OOVPA_SIG_HEADER_XREF(IDirectSoundStream_FlushEx, 4134, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -4168,11 +3864,8 @@ OOVPA_SIG_MATCH( // * CMcpxVoiceClient::SetMixBins // ****************************************************************** // Generic OOVPA as of 4134? and newer -OOVPA_SIG_HEADER_XREF(CMcpxVoiceClient_SetMixBins, - 4134, - - XREF_CMcpxVoiceClient_SetMixBins, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CMcpxVoiceClient_SetMixBins, + 4134) OOVPA_SIG_MATCH( // CMcpxVoiceClient_SetMixBins+0x00 : push ebp @@ -4204,11 +3897,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * CMcpxStream::Stop // ****************************************************************** -OOVPA_SIG_HEADER_XREF(CMcpxStream_Stop, - 4134, - - XREF_CMcpxStream_Stop, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CMcpxStream_Stop, + 4134) OOVPA_SIG_MATCH( // calls to CIrql_Raise, CIrql_Lower, CMcpxVoiceClient_ReleaseVoice, CMcpxVoiceClient_DeactivateVoice @@ -4232,8 +3922,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CMcpxStream_Stop_Ex, 4134, - - XREF_CMcpxStream_Stop_Ex, XRefOne) OOVPA_SIG_MATCH( @@ -4262,10 +3950,7 @@ OOVPA_SIG_MATCH( // * CDirectSound::DoWork // ****************************************************************** // Generic OOVPA as of 4134 and newer -OOVPA_XREF(CDirectSound_DoWork, 4134, 1 + 10, - - XREF_CDirectSound_DoWork, - XRefOne) +OOVPA_XREF(CDirectSound_DoWork, 4134, 1 + 10, XRefOne) { // CDirectSound_DoWork+0x19 : call [CMcpxAPU::ServiceDeferredCommandsLow] @@ -4304,11 +3989,8 @@ OOVPA_END; // ****************************************************************** // * DirectSound::CMcpxAPU::ServiceDeferredCommandsLow // ****************************************************************** -OOVPA_SIG_HEADER_XREF(CMcpxAPU_ServiceDeferredCommandsLow, - 4134, - - XREF_CMcpxAPU_ServiceDeferredCommandsLow, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CMcpxAPU_ServiceDeferredCommandsLow, + 4134) OOVPA_SIG_MATCH( // CMcpxAPU_ServiceDeferredCommandsLow+0x00: push ebp; mov ebp,esp @@ -4333,11 +4015,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * CMcpxVoiceClient::Commit3dSettings // ****************************************************************** -OOVPA_SIG_HEADER_XREF(CMcpxVoiceClient_Commit3dSettings, - 4134, - - XREF_CMcpxVoiceClient_Commit3dSettings, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CMcpxVoiceClient_Commit3dSettings, + 4134) OOVPA_SIG_MATCH( { 0x00, 0x55 }, @@ -4371,8 +4050,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSoundVoice_CommitDeferredSettings, 4134, - - XREF_CDirectSoundVoice_CommitDeferredSettings, XRefOne) OOVPA_SIG_MATCH( @@ -4406,11 +4083,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * CMcpxVoiceClient_SetPitch // ****************************************************************** -OOVPA_SIG_HEADER_XREF(CMcpxVoiceClient_SetPitch, - 4134, - - XREF_CMcpxVoiceClient_SetPitch, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CMcpxVoiceClient_SetPitch, + 4134) OOVPA_SIG_MATCH( { 0x00, 0x55 }, @@ -4436,11 +4110,8 @@ OOVPA_SIG_MATCH( // * CMcpxBuffer::SetBufferData // ****************************************************************** // Generic OOVPA as of 4134 and newer -OOVPA_SIG_HEADER_XREF(CMcpxBuffer_SetBufferData, - 4134, - - XREF_CMcpxBuffer_SetBufferData, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CMcpxBuffer_SetBufferData, + 4134) OOVPA_SIG_MATCH( // CMcpxBuffer::SetBufferData+0x00 : mov edx,[ecx+0x000000XX] @@ -4472,8 +4143,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 4134 and newer OOVPA_SIG_HEADER_XREF(DirectSoundOverrideSpeakerConfig, 4134, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( diff --git a/src/OOVPADatabase/DSound/4242.inl b/src/OOVPADatabase/DSound/4242.inl index 82762126..9a7cc747 100644 --- a/src/OOVPADatabase/DSound/4242.inl +++ b/src/OOVPADatabase/DSound/4242.inl @@ -27,11 +27,8 @@ // * CMcpxVoiceClient::SetLFO // ****************************************************************** // Generic OOVPA as of 4242 and newer -OOVPA_SIG_HEADER_XREF(CMcpxVoiceClient_SetLFO, - 4242, - - XREF_CMcpxVoiceClient_SetLFO, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CMcpxVoiceClient_SetLFO, + 4242) OOVPA_SIG_MATCH( { 0x00, 0x55 }, @@ -55,11 +52,8 @@ OOVPA_SIG_MATCH( // * CMcpxVoiceClient::SetEG // ****************************************************************** // Generic OOVPA as of 4242 and newer -OOVPA_SIG_HEADER_XREF(CMcpxVoiceClient_SetEG, - 4242, - - XREF_CMcpxVoiceClient_SetEG, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CMcpxVoiceClient_SetEG, + 4242) OOVPA_SIG_MATCH( { 0x00, 0x55 }, @@ -85,11 +79,8 @@ OOVPA_SIG_MATCH( // * CMcpxBuffer_Stop // ****************************************************************** //Generic OOVPA as of 4242 and newer. -OOVPA_SIG_HEADER_XREF(CMcpxBuffer_Stop, - 4242, - - XREF_CMcpxBuffer_Stop, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CMcpxBuffer_Stop, + 4242) OOVPA_SIG_MATCH( // CMcpxBuffer_Stop+0x0E : cmp al, 3 @@ -112,11 +103,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * DirectSound::CDirectSoundBuffer::SetNotificationPositions // ****************************************************************** -OOVPA_SIG_HEADER_XREF(CDirectSoundBuffer_SetNotificationPositions, - 4242, - - XREF_CDirectSoundBuffer_SetNotificationPositions, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CDirectSoundBuffer_SetNotificationPositions, + 4242) OOVPA_SIG_MATCH( // CDirectSoundBuffer_SetNotificationPositions+0x00 : push ebx @@ -143,8 +131,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSound_GetSpeakerConfig, 4242, - - XREF_CDirectSound_GetSpeakerConfig, XRefOne) OOVPA_SIG_MATCH( @@ -175,11 +161,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * CFullHrtfSource_GetHrtfFilterPair // ****************************************************************** -OOVPA_SIG_HEADER_XREF(CFullHrtfSource_GetHrtfFilterPair, - 4242, - - XREF_CFullHrtfSource_GetHrtfFilterPair, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CFullHrtfSource_GetHrtfFilterPair, + 4242) OOVPA_SIG_MATCH( { 0x00, 0x56 }, @@ -207,8 +190,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CHrtfSource_SetAlgorithm_FullHrtf, 4242, - - XREF_CHrtfSource_SetAlgorithm_FullHrtf, XRefOne) OOVPA_SIG_MATCH( @@ -230,8 +211,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(DirectSoundUseFullHRTF, 4242, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -251,11 +230,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * CLightHrtfSource_GetHrtfFilterPair // ****************************************************************** -OOVPA_SIG_HEADER_XREF(CLightHrtfSource_GetHrtfFilterPair, - 4242, - - XREF_CLightHrtfSource_GetHrtfFilterPair, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CLightHrtfSource_GetHrtfFilterPair, + 4242) OOVPA_SIG_MATCH( { 0x00, 0x56 }, @@ -284,8 +260,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CHrtfSource_SetAlgorithm_LightHrtf, 4242, - - XREF_CHrtfSource_SetAlgorithm_LightHrtf, XRefOne) OOVPA_SIG_MATCH( @@ -310,8 +284,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(DirectSoundUseLightHRTF, 4242, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -331,11 +303,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * CMcpxVoiceClient::Commit3dSettings // ****************************************************************** -OOVPA_SIG_HEADER_XREF(CMcpxVoiceClient_Commit3dSettings, - 4242, - - XREF_CMcpxVoiceClient_Commit3dSettings, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CMcpxVoiceClient_Commit3dSettings, + 4242) OOVPA_SIG_MATCH( { 0x00, 0x55 }, @@ -367,11 +336,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * XFileCreateMediaObject // ****************************************************************** -OOVPA_SIG_HEADER_XREF(XFileCreateMediaObject, - 4242, - - XRefNoSaveIndex, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(XFileCreateMediaObject, + 4242) OOVPA_SIG_MATCH( OV_MATCH(0x00, 0x55, 0x8B, 0xEC), @@ -421,11 +387,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * XWaveFileCreateMediaObjectEx // ****************************************************************** -OOVPA_SIG_HEADER_XREF(XWaveFileCreateMediaObjectEx, - 4242, - - XRefNoSaveIndex, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(XWaveFileCreateMediaObjectEx, + 4242) OOVPA_SIG_MATCH( OV_MATCH(0x16, 0x0B), diff --git a/src/OOVPADatabase/DSound/4361.inl b/src/OOVPADatabase/DSound/4361.inl index 73bc3ee9..946f02ac 100644 --- a/src/OOVPADatabase/DSound/4361.inl +++ b/src/OOVPADatabase/DSound/4361.inl @@ -53,8 +53,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 4361 and newer OOVPA_SIG_HEADER_XREF(CMcpxStream_Pause_Ex, 4361, - - XREF_CMcpxStream_Pause_Ex, XRefOne) OOVPA_SIG_MATCH( @@ -87,8 +85,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 4361 and newer OOVPA_SIG_HEADER_XREF(CDirectSoundStream_PauseEx, 4361, - - XREF_CDirectSoundStream_PauseEx, XRefOne) OOVPA_SIG_MATCH( @@ -115,8 +111,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 4361 and newer OOVPA_SIG_HEADER_XREF(IDirectSoundStream_PauseEx, 4361, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -135,11 +129,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * public: long __thiscall DirectSound::CMcpxBuffer::Play(unsigned long) // ****************************************************************** -OOVPA_SIG_HEADER_XREF(CMcpxBuffer_Play, - 4361, - - XREF_CMcpxBuffer_Play, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CMcpxBuffer_Play, + 4361) OOVPA_SIG_MATCH( // CMcpxBuffer_Play+0x0E : cmp ebx, edi @@ -168,8 +159,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSoundVoice_SetMaxDistance, 4361, - - XREF_CDirectSoundVoice_SetMaxDistance, XRefOne) OOVPA_SIG_MATCH( @@ -202,8 +191,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSoundVoice_SetMinDistance, 4361, - - XREF_CDirectSoundVoice_SetMinDistance, XRefOne) OOVPA_SIG_MATCH( @@ -234,11 +221,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * CDirectSoundVoice::SetRolloffFactor // ****************************************************************** -OOVPA_SIG_HEADER_XREF(CDirectSoundVoice_SetRolloffFactor, - 4361, - - XREF_CDirectSoundVoice_SetRolloffFactor, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CDirectSoundVoice_SetRolloffFactor, + 4361) OOVPA_SIG_MATCH( // CDirectSoundVoice_SetRolloffFactor+0x0D : mov edx, [esp+arg_4] @@ -265,11 +249,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * CDirectSoundVoice::SetConeOutsideVolume // ****************************************************************** -OOVPA_SIG_HEADER_XREF(CDirectSoundVoice_SetConeOutsideVolume, - 4361, - - XREF_CDirectSoundVoice_SetConeOutsideVolume, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CDirectSoundVoice_SetConeOutsideVolume, + 4361) OOVPA_SIG_MATCH( // CDirectSoundVoice_SetConeOutsideVolume+0x0D : mov edx, [esp+arg_4] @@ -296,11 +277,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * CMcpxStream_Flush // ****************************************************************** -OOVPA_SIG_HEADER_XREF(CMcpxStream_Flush, - 4361, - - XREF_CMcpxStream_Flush, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CMcpxStream_Flush, + 4361) OOVPA_SIG_MATCH( { 0x00, 0x55 }, @@ -325,11 +303,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * CDirectSoundVoice::SetDistanceFactor // ****************************************************************** -OOVPA_SIG_HEADER_XREF(CDirectSoundVoice_SetDistanceFactor, - 4361, - - XREF_CDirectSoundVoice_SetDistanceFactor, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CDirectSoundVoice_SetDistanceFactor, + 4361) OOVPA_SIG_MATCH( // CDirectSoundVoice_SetDistanceFactor+0x0D : mov edx, [esp+arg_4] @@ -356,11 +331,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * CDirectSoundVoice::SetDopplerFactor // ****************************************************************** -OOVPA_SIG_HEADER_XREF(CDirectSoundVoice_SetDopplerFactor, - 4361, - - XREF_CDirectSoundVoice_SetDopplerFactor, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CDirectSoundVoice_SetDopplerFactor, + 4361) OOVPA_SIG_MATCH( // CDirectSoundVoice_SetDopplerFactor+0x0D : mov edx, [esp+arg_4] @@ -390,11 +362,8 @@ OOVPA_SIG_MATCH( // * DirectSound::GetCaps // ****************************************************************** // Generic OOVPA as of 4361 and newer -OOVPA_SIG_HEADER_XREF(CDirectSound_GetCaps, - 4361, - - XREF_CDirectSound_GetCaps, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CDirectSound_GetCaps, + 4361) OOVPA_SIG_MATCH( { 0x00, 0xE8 }, @@ -419,11 +388,8 @@ OOVPA_SIG_MATCH( // * CDirectSoundVoice::SetRolloffCurve // ****************************************************************** // Generic OOVPA as of 4361 and newer -OOVPA_SIG_HEADER_XREF(CDirectSoundVoice_SetRolloffCurve, - 4361, - - XREF_CDirectSoundVoice_SetRolloffCurve, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CDirectSoundVoice_SetRolloffCurve, + 4361) OOVPA_SIG_MATCH( { 0x00, 0x8B }, @@ -449,8 +415,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 4361 and newer OOVPA_SIG_HEADER_XREF(CDirectSoundBuffer_SetRolloffCurve, 4361, - - XREF_CDirectSoundBuffer_SetRolloffCurve, XRefOne) OOVPA_SIG_MATCH( @@ -472,8 +436,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 4361 and newer OOVPA_SIG_HEADER_XREF(CDirectSoundStream_SetRolloffCurve, 4361, - - XREF_CDirectSoundStream_SetRolloffCurve, XRefOne) OOVPA_SIG_MATCH( @@ -494,8 +456,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(IDirectSoundBuffer_SetRolloffCurve, 4361, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -517,8 +477,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 4361 and newer OOVPA_SIG_HEADER_XREF(IDirectSoundStream_SetRolloffCurve, 4361, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -534,11 +492,8 @@ OOVPA_SIG_MATCH( // * DirectSound::CDirectSound::GetOutputLevels // ****************************************************************** // Generic OOVPA as of 4361 and newer -OOVPA_SIG_HEADER_XREF(CDirectSound_GetOutputLevels, - 4361, - - XREF_CDirectSound_GetOutputLevels, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CDirectSound_GetOutputLevels, + 4361) OOVPA_SIG_MATCH( { 0x00, 0x56 }, @@ -570,8 +525,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 4361 and newer OOVPA_SIG_HEADER_XREF(IDirectSound_GetOutputLevels, 4361, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -592,11 +545,8 @@ OOVPA_SIG_MATCH( // * XFileCreateMediaObject // ****************************************************************** // Generic OOVPA as of 4361 and newer -OOVPA_SIG_HEADER_XREF(XFileCreateMediaObject, - 4361, - - XRefNoSaveIndex, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(XFileCreateMediaObject, + 4361) OOVPA_SIG_MATCH( { 0x00, 0x55 }, @@ -668,11 +618,8 @@ OOVPA_SIG_MATCH( // * XWaveFileCreateMediaObjectEx // ****************************************************************** // Generic OOVPA as of 4361 and newer -OOVPA_SIG_HEADER_XREF(XWaveFileCreateMediaObjectEx, - 4361, - - XRefNoSaveIndex, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(XWaveFileCreateMediaObjectEx, + 4361) OOVPA_SIG_MATCH( { 0x0D, 0x0B }, diff --git a/src/OOVPADatabase/DSound/4531.inl b/src/OOVPADatabase/DSound/4531.inl index 80841b8c..cd33fa84 100644 --- a/src/OOVPADatabase/DSound/4531.inl +++ b/src/OOVPADatabase/DSound/4531.inl @@ -28,8 +28,6 @@ // ****************************************************************** OOVPA_SIG_HEADER_XREF(CMcpxStream_Discontinuity, 4531, - - XREF_CMcpxStream_Discontinuity, XRefOne) OOVPA_SIG_MATCH( diff --git a/src/OOVPADatabase/DSound/4627.inl b/src/OOVPADatabase/DSound/4627.inl index bf43cab1..b0076598 100644 --- a/src/OOVPADatabase/DSound/4627.inl +++ b/src/OOVPADatabase/DSound/4627.inl @@ -27,11 +27,8 @@ // ****************************************************************** // * CDirectSound::SetVelocity // ****************************************************************** -OOVPA_SIG_HEADER_XREF(CDirectSound_SetVelocity, - 4627, - - XREF_CDirectSound_SetVelocity, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CDirectSound_SetVelocity, + 4627) OOVPA_SIG_MATCH( // CDirectSound_SetVelocity+0x24 : mov eax, 0x80004005 @@ -67,11 +64,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * CDirectSound::SetDistanceFactor // ****************************************************************** -OOVPA_SIG_HEADER_XREF(CDirectSound_SetDistanceFactor, - 4627, - - XREF_CDirectSound_SetDistanceFactor, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CDirectSound_SetDistanceFactor, + 4627) OOVPA_SIG_MATCH( // CDirectSound_SetDistanceFactor+0x21 : mov eax, 0x80004005 @@ -106,11 +100,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * CDirectSound::SetDopplerFactor // ****************************************************************** -OOVPA_SIG_HEADER_XREF(CDirectSound_SetDopplerFactor, - 4627, - - XREF_CDirectSound_SetDopplerFactor, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CDirectSound_SetDopplerFactor, + 4627) OOVPA_SIG_MATCH( // CDirectSound_SetDopplerFactor+0x21 : mov eax, 0x80004005 @@ -165,11 +156,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * CDirectSoundVoice::SetDistanceFactor // ****************************************************************** -OOVPA_SIG_HEADER_XREF(CDirectSoundVoice_SetDistanceFactor, - 4627, - - XREF_CDirectSoundVoice_SetDistanceFactor, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CDirectSoundVoice_SetDistanceFactor, + 4627) OOVPA_SIG_MATCH( // CDirectSoundVoice_SetDistanceFactor+0x0D : mov edx, [esp+arg_4] @@ -196,11 +184,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * CDirectSoundVoice::SetDopplerFactor // ****************************************************************** -OOVPA_SIG_HEADER_XREF(CDirectSoundVoice_SetDopplerFactor, - 4627, - - XREF_CDirectSoundVoice_SetDopplerFactor, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CDirectSoundVoice_SetDopplerFactor, + 4627) OOVPA_SIG_MATCH( // CDirectSoundVoice_SetDopplerFactor+0x0D : mov edx, [esp+arg_4] @@ -227,11 +212,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * CMcpxVoiceClient::Commit3dSettings // ****************************************************************** -OOVPA_SIG_HEADER_XREF(CMcpxVoiceClient_Commit3dSettings, - 4627, - - XREF_CMcpxVoiceClient_Commit3dSettings, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CMcpxVoiceClient_Commit3dSettings, + 4627) OOVPA_SIG_MATCH( { 0x00, 0x55 }, diff --git a/src/OOVPADatabase/DSound/4721.inl b/src/OOVPADatabase/DSound/4721.inl index f0fe699e..f61f1c6a 100644 --- a/src/OOVPADatabase/DSound/4721.inl +++ b/src/OOVPADatabase/DSound/4721.inl @@ -28,11 +28,8 @@ // * CMcpxStream_GetStatus // ****************************************************************** // Generic OOVPA as of 4721 and newer; -OOVPA_SIG_HEADER_XREF(CMcpxStream_GetStatus, - 4721, - - XREF_CMcpxStream_GetStatus, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CMcpxStream_GetStatus, + 4721) OOVPA_SIG_MATCH( { 0x00, 0x0F }, @@ -57,10 +54,7 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * CMcpxBuffer_GetStatus // ****************************************************************** -OOVPA_XREF(CMcpxBuffer_GetStatus, 4721, 11, - - XREF_CMcpxBuffer_GetStatus, - XRefZero) +OOVPA_NO_XREF(CMcpxBuffer_GetStatus, 4721, 11) { // CMcpxBuffer_GetStatus+0x00 : movzx eax,word [ecx+0x12] @@ -96,11 +90,8 @@ OOVPA_END; // ****************************************************************** // * CMcpxBuffer::Pause(unsigned long) // ****************************************************************** -OOVPA_SIG_HEADER_XREF(CMcpxBuffer_Pause, - 4721, - - XREF_CMcpxBuffer_Pause, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CMcpxBuffer_Pause, + 4721) OOVPA_SIG_MATCH( // CMcpxBuffer::Pause+0x00 : push ebp @@ -135,8 +126,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 4721 and newer OOVPA_SIG_HEADER_XREF(CDirectSoundBuffer_PauseEx, 4721, - - XREF_CDirectSoundBuffer_PauseEx, XRefOne) OOVPA_SIG_MATCH( @@ -163,8 +152,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 4721 and newer OOVPA_SIG_HEADER_XREF(IDirectSoundBuffer_PauseEx, 4721, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -186,8 +173,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 4721 and newer OOVPA_SIG_HEADER_XREF(CMcpxBuffer_Pause_Ex, 4721, - - XREF_CMcpxBuffer_Pause_Ex, XRefOne) OOVPA_SIG_MATCH( @@ -215,8 +200,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 4721 and newer OOVPA_SIG_HEADER_XREF(CDirectSoundBuffer_Pause, 4721, - - XREF_CDirectSoundBuffer_Pause, XRefOne) OOVPA_SIG_MATCH( @@ -242,8 +225,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 4721 and newer OOVPA_SIG_HEADER_XREF(IDirectSoundBuffer_Pause, 4721, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -262,11 +243,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * CMcpxBuffer::Play(unsigned long) // ****************************************************************** -OOVPA_SIG_HEADER_XREF(CMcpxBuffer_Play, - 4721, - - XREF_CMcpxBuffer_Play, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CMcpxBuffer_Play, + 4721) OOVPA_SIG_MATCH( // CMcpxBuffer_Play+0x00 : push ebx @@ -296,8 +274,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 4721 and newer OOVPA_SIG_HEADER_XREF(CDirectSoundVoice_SetFormat, 4721, - - XREF_CDirectSoundVoice_SetFormat, XRefTwo) OOVPA_SIG_MATCH( diff --git a/src/OOVPADatabase/DSound/4831.inl b/src/OOVPADatabase/DSound/4831.inl index 7cad7880..5e4cc848 100644 --- a/src/OOVPADatabase/DSound/4831.inl +++ b/src/OOVPADatabase/DSound/4831.inl @@ -28,11 +28,8 @@ // CMcpxAPU::SynchPlayback // ****************************************************************** // Generic OOVPA as of 4831 and newer -OOVPA_SIG_HEADER_XREF(CMcpxAPU_SynchPlayback, - 4831, - - XREF_CMcpxAPU_SynchPlayback, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CMcpxAPU_SynchPlayback, + 4831) OOVPA_SIG_MATCH( { 0x00, 0x55 }, @@ -57,8 +54,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSound_SynchPlayback, 4831, - - XREF_CDirectSound_SynchPlayback, XRefOne) OOVPA_SIG_MATCH( @@ -87,8 +82,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 4831 and newer OOVPA_SIG_HEADER_XREF(IDirectSound_SynchPlayback, 4831, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -113,10 +106,7 @@ OOVPA_SIG_MATCH( // * CMcpxBuffer_GetStatus // ****************************************************************** // Generic OOVPA as of 4831 and newer -OOVPA_XREF(CMcpxBuffer_GetStatus, 4831, 11, - - XREF_CMcpxBuffer_GetStatus, - XRefZero) +OOVPA_NO_XREF(CMcpxBuffer_GetStatus, 4831, 11) { // CMcpxBuffer_GetStatus+0x00 : movzx eax,word [ecx+0x12] @@ -155,11 +145,8 @@ OOVPA_END; // * CMcpxBuffer::Play(unsigned long) // ****************************************************************** // Generic OOVPA as of 4831 and newer -OOVPA_SIG_HEADER_XREF(CMcpxBuffer_Play, - 4831, - - XREF_CMcpxBuffer_Play, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CMcpxBuffer_Play, + 4831) OOVPA_SIG_MATCH( // CMcpxBuffer_Play+0x00 : push ebx @@ -187,11 +174,8 @@ OOVPA_SIG_MATCH( // * CMcpxStream_Pause // ****************************************************************** // Generic OOVPA as of ____? and newer -OOVPA_SIG_HEADER_XREF(CMcpxStream_Pause, - 4831, - - XREF_CMcpxStream_Pause, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CMcpxStream_Pause, + 4831) OOVPA_SIG_MATCH( // CMcpxStream_Pause+0x17 : and ax, 0xFFDF @@ -219,11 +203,8 @@ OOVPA_SIG_MATCH( // * CMcpxBuffer::Pause(unsigned long) // ****************************************************************** // Generic OOVPA as of 4831 and newer -OOVPA_SIG_HEADER_XREF(CMcpxBuffer_Pause, - 4831, - - XREF_CMcpxBuffer_Pause, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CMcpxBuffer_Pause, + 4831) OOVPA_SIG_MATCH( // CMcpxBuffer::Pause+0x00 : push ebp diff --git a/src/OOVPADatabase/DSound/5028.inl b/src/OOVPADatabase/DSound/5028.inl index 93bcd1e0..600f3e34 100644 --- a/src/OOVPADatabase/DSound/5028.inl +++ b/src/OOVPADatabase/DSound/5028.inl @@ -30,8 +30,6 @@ // Generic OOVPA as of 5028 and newer OOVPA_SIG_HEADER_XREF(CDirectSoundStream_Flush, 5028, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -58,11 +56,8 @@ OOVPA_SIG_MATCH( // * CMcpxVoiceClient_GetVoiceProperties // ****************************************************************** // Generic OOVPA as of 5028 and newer -OOVPA_SIG_HEADER_XREF(CMcpxVoiceClient_GetVoiceProperties, - 5028, - - XREF_CMcpxVoiceClient_GetVoiceProperties, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CMcpxVoiceClient_GetVoiceProperties, + 5028) OOVPA_SIG_MATCH( { 0x00, 0x55 }, @@ -94,8 +89,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 5028 and newer OOVPA_SIG_HEADER_XREF(CDirectSoundVoice_GetVoiceProperties, 5028, - - XREF_CDirectSoundVoice_GetVoiceProperties, XRefOne) OOVPA_SIG_MATCH( @@ -117,8 +110,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 5028 and newer OOVPA_SIG_HEADER_XREF(CDirectSoundBuffer_GetVoiceProperties, 5028, - - XREF_CDirectSoundBuffer_GetVoiceProperties, XRefOne) OOVPA_SIG_MATCH( @@ -140,8 +131,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 5028 and newer OOVPA_SIG_HEADER_XREF(IDirectSoundBuffer_GetVoiceProperties, 5028, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -163,8 +152,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 5028 and newer OOVPA_SIG_HEADER_XREF(CDirectSoundStream_GetVoiceProperties, 5028, - - XREF_CDirectSoundStream_GetVoiceProperties, XRefOne) OOVPA_SIG_MATCH( @@ -186,8 +173,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 5028 and newer OOVPA_SIG_HEADER_XREF(IDirectSoundStream_GetVoiceProperties, 5028, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -202,11 +187,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * CMcpxVoiceClient::Commit3dSettings // ****************************************************************** -OOVPA_SIG_HEADER_XREF(CMcpxVoiceClient_Commit3dSettings, - 5028, - - XREF_CMcpxVoiceClient_Commit3dSettings, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CMcpxVoiceClient_Commit3dSettings, + 5028) OOVPA_SIG_MATCH( { 0x00, 0x55 }, @@ -235,11 +217,8 @@ OOVPA_SIG_MATCH( // * CMcpxStream::Stop // ****************************************************************** // Generic OOVPA as of 5028 and newer; -OOVPA_SIG_HEADER_XREF(CMcpxStream_Stop, - 5028, - - XREF_CMcpxStream_Stop, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CMcpxStream_Stop, + 5028) OOVPA_SIG_MATCH( // calls to CIrql_Raise, CIrql_Lower, CMcpxVoiceClient_ReleaseVoice, CMcpxVoiceClient_DeactivateVoice @@ -258,8 +237,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(XAudioSetEffectData, 5028, - - XRefNoSaveIndex, XRefTwo) OOVPA_SIG_MATCH( diff --git a/src/OOVPADatabase/DSound/5344.inl b/src/OOVPADatabase/DSound/5344.inl index 268f3cf8..f6e24f66 100644 --- a/src/OOVPADatabase/DSound/5344.inl +++ b/src/OOVPADatabase/DSound/5344.inl @@ -29,8 +29,6 @@ // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSoundVoice_SetMinDistance, 5344, - - XREF_CDirectSoundVoice_SetMinDistance, XRefOne) OOVPA_SIG_MATCH( @@ -64,8 +62,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 5344 and newer OOVPA_SIG_HEADER_XREF(CDirectSoundVoice_SetDistanceFactor, 5344, - - XREF_CDirectSoundVoice_SetDistanceFactor, XRefOne) OOVPA_SIG_MATCH( @@ -99,8 +95,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 5344 and newer OOVPA_SIG_HEADER_XREF(CDirectSoundVoice_SetDopplerFactor, 5344, - - XREF_CDirectSoundVoice_SetDopplerFactor, XRefOne) OOVPA_SIG_MATCH( @@ -134,8 +128,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 5344 and newer OOVPA_SIG_HEADER_XREF(CDirectSoundVoice_SetMaxDistance, 5344, - - XREF_CDirectSoundVoice_SetMaxDistance, XRefOne) OOVPA_SIG_MATCH( @@ -169,8 +161,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 5344 and newer OOVPA_SIG_HEADER_XREF(CDirectSoundVoice_SetMode, 5344, - - XREF_CDirectSoundVoice_SetMode, XRefOne) OOVPA_SIG_MATCH( @@ -202,11 +192,8 @@ OOVPA_SIG_MATCH( // * CDirectSound_SetPosition // ****************************************************************** // Generic OOVPA as of 5344 and newer -OOVPA_SIG_HEADER_XREF(CDirectSound_SetPosition, - 5344, - - XREF_CDirectSound_SetPosition, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CDirectSound_SetPosition, + 5344) OOVPA_SIG_MATCH( // CDirectSound_SetPosition+0x00 : push ebp; mov ebp, esp @@ -231,11 +218,8 @@ OOVPA_SIG_MATCH( // * CDirectSound::SetVelocity // ****************************************************************** // Generic OOVPA as of 5344 and newer -OOVPA_SIG_HEADER_XREF(CDirectSound_SetVelocity, - 5344, - - XREF_CDirectSound_SetVelocity, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CDirectSound_SetVelocity, + 5344) OOVPA_SIG_MATCH( // CDirectSound_SetVelocity+0x00 : push ebp @@ -272,11 +256,8 @@ OOVPA_SIG_MATCH( // * CDirectSoundVoice_SetPosition // ****************************************************************** // Generic OOVPA as of 5344 and newer -OOVPA_SIG_HEADER_XREF(CDirectSoundVoice_SetPosition, - 5344, - - XREF_CDirectSoundVoice_SetPosition, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CDirectSoundVoice_SetPosition, + 5344) OOVPA_SIG_MATCH( // CDirectSoundVoice_SetPosition+0x0F : mov edx, [ebp+arg_4] @@ -305,11 +286,8 @@ OOVPA_SIG_MATCH( // * CDirectSoundVoice_SetVelocity // ****************************************************************** // Generic OOVPA as of 5344 and newer -OOVPA_SIG_HEADER_XREF(CDirectSoundVoice_SetVelocity, - 5344, - - XREF_CDirectSoundVoice_SetVelocity, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CDirectSoundVoice_SetVelocity, + 5344) OOVPA_SIG_MATCH( // CDirectSoundVoice_SetVelocity+0x0F : mov edx, [ebp+arg_4] @@ -340,8 +318,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 5344 and newer OOVPA_SIG_HEADER_XREF(CDirectSound_SynchPlayback, 5344, - - XREF_CDirectSound_SynchPlayback, XRefOne) OOVPA_SIG_MATCH( @@ -365,8 +341,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CDirectSound_CommitDeferredSettings, 5344, - - XREF_CDirectSound_CommitDeferredSettings, XRefTwo) OOVPA_SIG_MATCH( @@ -395,11 +369,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * DirectSound::CDirectSound::EnableHeadphones // ****************************************************************** -OOVPA_SIG_HEADER_XREF(CDirectSound_EnableHeadphones, - 5344, - - XREF_CDirectSound_EnableHeadphones, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CDirectSound_EnableHeadphones, + 5344) OOVPA_SIG_MATCH( { 0x04, 0x51 }, @@ -422,8 +393,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 5344 and newer OOVPA_SIG_HEADER_XREF(CDirectSoundVoice_SetConeOutsideVolume, 5344, - - XREF_CDirectSoundVoice_SetConeOutsideVolume, XRefOne) OOVPA_SIG_MATCH( @@ -457,8 +426,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 5344 and newer OOVPA_SIG_HEADER_XREF(CDirectSoundVoice_SetRolloffFactor, 5344, - - XREF_CDirectSoundVoice_SetRolloffFactor, XRefOne) OOVPA_SIG_MATCH( @@ -493,11 +460,8 @@ OOVPA_SIG_MATCH( // * DirectSound::CDirectSoundVoice::SetRolloffCurve // ****************************************************************** // Generic OOVPA as of 5344 and newer -OOVPA_SIG_HEADER_XREF(CDirectSoundVoice_SetRolloffCurve, - 5344, - - XREF_CDirectSoundVoice_SetRolloffCurve, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CDirectSoundVoice_SetRolloffCurve, + 5344) OOVPA_SIG_MATCH( { 0x00, 0x8B }, @@ -521,11 +485,8 @@ OOVPA_SIG_MATCH( // * DirectSound::CDirectSoundVoice::SetConeAngles // ****************************************************************** // Generic OOVPA as of 5344 and newer -OOVPA_SIG_HEADER_XREF(CDirectSoundVoice_SetConeAngles, - 5344, - - XREF_CDirectSoundVoice_SetConeAngles, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CDirectSoundVoice_SetConeAngles, + 5344) OOVPA_SIG_MATCH( { 0x00, 0x8B }, @@ -549,11 +510,8 @@ OOVPA_SIG_MATCH( // * CDirectSoundVoice_SetConeOrientation // ****************************************************************** // Generic OOVPA as of 5344 and newer -OOVPA_SIG_HEADER_XREF(CDirectSoundVoice_SetConeOrientation, - 5344, - - XREF_CDirectSoundVoice_SetConeOrientation, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CDirectSoundVoice_SetConeOrientation, + 5344) OOVPA_SIG_MATCH( // CDirectSoundVoice_SetConeOrientation+0x0F : mov edx, [ebp+arg_4] @@ -582,11 +540,8 @@ OOVPA_SIG_MATCH( // * CMcpxStream_Flush // ****************************************************************** // Generic OOVPA as of 5344 and newer -OOVPA_SIG_HEADER_XREF(CMcpxStream_Flush, - 5344, - - XREF_CMcpxStream_Flush, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CMcpxStream_Flush, + 5344) OOVPA_SIG_MATCH( // CMcpxStream_Flush+0x00 : push ebp; mov ebp, esp; sub esp, 10h @@ -616,8 +571,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 5344 and newer OOVPA_SIG_HEADER_XREF(CDirectSoundVoice_SetI3DL2Source, 5344, - - XREF_CDirectSoundVoice_SetI3DL2Source, XRefOne) OOVPA_SIG_MATCH( @@ -651,11 +604,8 @@ OOVPA_SIG_MATCH( // * CDirectSound::SetDistanceFactor // ****************************************************************** // Generic OOVPA as of 5344 and newer -OOVPA_SIG_HEADER_XREF(CDirectSound_SetDistanceFactor, - 5344, - - XREF_CDirectSound_SetDistanceFactor, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CDirectSound_SetDistanceFactor, + 5344) OOVPA_SIG_MATCH( // CDirectSound_SetDistanceFactor+0x00 : push esi @@ -691,11 +641,8 @@ OOVPA_SIG_MATCH( // * CDirectSound::SetDopplerFactor // ****************************************************************** // Generic OOVPA as of 5344 and newer -OOVPA_SIG_HEADER_XREF(CDirectSound_SetDopplerFactor, - 5344, - - XREF_CDirectSound_SetDopplerFactor, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CDirectSound_SetDopplerFactor, + 5344) OOVPA_SIG_MATCH( // CDirectSound_SetDopplerFactor+0x00 : push esi @@ -731,11 +678,8 @@ OOVPA_SIG_MATCH( // * CDirectSound::SetRolloffFactor // ****************************************************************** // Generic OOVPA as of 5344 and newer -OOVPA_SIG_HEADER_XREF(CDirectSound_SetRolloffFactor, - 5344, - - XREF_CDirectSound_SetRolloffFactor, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CDirectSound_SetRolloffFactor, + 5344) OOVPA_SIG_MATCH( // CDirectSound_SetRolloffFactor+0x00 : push esi @@ -771,11 +715,8 @@ OOVPA_SIG_MATCH( // * CFullHRTFSource::GetCenterVolume // ****************************************************************** // Generic OOVPA as of 5344 and newer. -OOVPA_SIG_HEADER_XREF(CFullHRTFSource_GetCenterVolume, - 5344, - - XREF_CFullHRTFSource_GetCenterVolume, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CFullHRTFSource_GetCenterVolume, + 5344) OOVPA_SIG_MATCH( { 0x13, 0xD9 }, @@ -792,11 +733,8 @@ OOVPA_SIG_MATCH( // * LightHRTFSource::GetCenterVolume // ****************************************************************** // Generic OOVPA as of 5344 and newer. -OOVPA_SIG_HEADER_XREF(CLightHRTFSource_GetCenterVolume, - 5344, - - XREF_CLightHRTFSource_GetCenterVolume, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CLightHRTFSource_GetCenterVolume, + 5344) OOVPA_SIG_MATCH( // CLightHRTFSource::GetCenterVolume+0x00 : push ebp @@ -822,8 +760,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 5344 and newer. OOVPA_SIG_HEADER_XREF(CHRTFSource_SetFullHRTF5Channel, 5344, - - XREF_CHRTFSource_SetFullHRTF5Channel, XRefOne) OOVPA_SIG_MATCH( @@ -856,8 +792,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 5344 and newer. OOVPA_SIG_HEADER_XREF(CHRTFSource_SetLightHRTF5Channel, 5344, - - XREF_CHRTFSource_SetLightHRTF5Channel, XRefOne) OOVPA_SIG_MATCH( @@ -888,11 +822,8 @@ OOVPA_SIG_MATCH( // * CHRTFSource::SetFullHRTF4Channel // ****************************************************************** // Generic OOVPA as of 5344 and newer. -OOVPA_SIG_HEADER_XREF(CHRTFSource_SetFullHRTF4Channel, - 5344, - - XREF_CHRTFSource_SetFullHRTF4Channel, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CHRTFSource_SetFullHRTF4Channel, + 5344) OOVPA_SIG_MATCH( { 0x00, 0xC7 }, @@ -920,11 +851,8 @@ OOVPA_SIG_MATCH( // * CHRTFSource::SetLightHRTF4Channel // ****************************************************************** // Generic OOVPA as of 5344 and newer. -OOVPA_SIG_HEADER_XREF(CHRTFSource_SetLightHRTF4Channel, - 5344, - - XREF_CHRTFSource_SetLightHRTF4Channel, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CHRTFSource_SetLightHRTF4Channel, + 5344) OOVPA_SIG_MATCH( { 0x00, 0xC7 }, @@ -954,8 +882,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 5344 and newer. OOVPA_SIG_HEADER_XREF(DirectSoundUseLightHRTF, 5344, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -977,8 +903,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 5344 and newer. OOVPA_SIG_HEADER_XREF(DirectSoundUseFullHRTF4Channel, 5344, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -1000,8 +924,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 5344 and newer. OOVPA_SIG_HEADER_XREF(DirectSoundUseLightHRTF4Channel, 5344, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -1021,11 +943,8 @@ OOVPA_SIG_MATCH( // * CDirectSound3DCalculator_GetVoiceData // ****************************************************************** // Generic OOVPA as of 5344 and newer -OOVPA_SIG_HEADER_XREF(CDirectSound3DCalculator_GetVoiceData, - 5344, - - XREF_CDirectSound3DCalculator_GetVoiceData, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CDirectSound3DCalculator_GetVoiceData, + 5344) OOVPA_SIG_MATCH( { 0x00, 0x55 }, @@ -1057,8 +976,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 5344 and newer OOVPA_SIG_HEADER_XREF(IDirectSound3DCalculator_GetVoiceData, 5344, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -1080,11 +997,8 @@ OOVPA_SIG_MATCH( // * CDirectSound3DCalculator_GetPanData // ****************************************************************** // Generic OOVPA as of 5344 and newer -OOVPA_SIG_HEADER_XREF(CDirectSound3DCalculator_GetPanData, - 5344, - - XREF_CDirectSound3DCalculator_GetPanData, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CDirectSound3DCalculator_GetPanData, + 5344) OOVPA_SIG_MATCH( { 0x00, 0x55 }, @@ -1121,8 +1035,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 5344 and newer OOVPA_SIG_HEADER_XREF(IDirectSound3DCalculator_GetPanData, 5344, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -1146,11 +1058,8 @@ OOVPA_SIG_MATCH( // * CDirectSound3DCalculator_GetMixBinVolumes // ****************************************************************** // Generic OOVPA as of 5344 and newer -OOVPA_SIG_HEADER_XREF(CDirectSound3DCalculator_GetMixBinVolumes, - 5344, - - XREF_CDirectSound3DCalculator_GetMixBinVolumes, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CDirectSound3DCalculator_GetMixBinVolumes, + 5344) OOVPA_SIG_MATCH( { 0x00, 0x55 }, @@ -1179,8 +1088,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 5344 and newer OOVPA_SIG_HEADER_XREF(IDirectSound3DCalculator_GetMixBinVolumes, 5344, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -1196,11 +1103,8 @@ OOVPA_SIG_MATCH( // * CDirectSound3DCalculator_Calculate3D // ****************************************************************** // Generic OOVPA as of 5344 and newer -OOVPA_SIG_HEADER_XREF(CDirectSound3DCalculator_Calculate3D, - 5344, - - XREF_CDirectSound3DCalculator_Calculate3D, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CDirectSound3DCalculator_Calculate3D, + 5344) OOVPA_SIG_MATCH( { 0x00, 0x55 }, @@ -1234,8 +1138,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 5344 and newer OOVPA_SIG_HEADER_XREF(IDirectSound3DCalculator_Calculate3D, 5344, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -1253,8 +1155,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 5344 and newer OOVPA_SIG_HEADER_XREF(XAudioSetEffectData, 5344, - - XRefNoSaveIndex, XRefTwo) OOVPA_SIG_MATCH( @@ -1274,11 +1174,8 @@ OOVPA_SIG_MATCH( // * CDirectSound_MapBufferData // ****************************************************************** // Generic OOVPA as of 5344 and newer -OOVPA_SIG_HEADER_XREF(CDirectSound_MapBufferData, - 5344, - - XREF_CDirectSound_MapBufferData, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CDirectSound_MapBufferData, + 5344) OOVPA_SIG_MATCH( { 0x00, 0x56 }, @@ -1304,8 +1201,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 5344 and newer OOVPA_SIG_HEADER_XREF(IDirectSound_MapBufferData, 5344, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -1325,11 +1220,8 @@ OOVPA_SIG_MATCH( // * CDirectSound_UnmapBufferData // ****************************************************************** // Generic OOVPA as of 5344 and newer -OOVPA_SIG_HEADER_XREF(CDirectSound_UnmapBufferData, - 5344, - - XREF_CDirectSound_UnmapBufferData, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CDirectSound_UnmapBufferData, + 5344) OOVPA_SIG_MATCH( { 0x00, 0x56 }, @@ -1354,8 +1246,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 5344 and newer OOVPA_SIG_HEADER_XREF(IDirectSound_UnmapBufferData, 5344, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -1377,8 +1267,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 5344 and newer OOVPA_SIG_HEADER_XREF(CMcpxVoiceClient_Commit3dSettings, 5344, - - XREF_CMcpxVoiceClient_Commit3dSettings, XRefTwo) OOVPA_SIG_MATCH( @@ -1415,8 +1303,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 5344 and newer OOVPA_SIG_HEADER_XREF(CDirectSoundVoice_CommitDeferredSettings, 5344, - - XREF_CDirectSoundVoice_CommitDeferredSettings, XRefOne) OOVPA_SIG_MATCH( diff --git a/src/OOVPADatabase/DSound/5455.inl b/src/OOVPADatabase/DSound/5455.inl index 8d838cbd..46a17c39 100644 --- a/src/OOVPADatabase/DSound/5455.inl +++ b/src/OOVPADatabase/DSound/5455.inl @@ -29,8 +29,6 @@ // Generic OOVPA as of 5455 and newer OOVPA_SIG_HEADER_XREF(CDirectSound_CommitDeferredSettings, 5455, - - XREF_CDirectSound_CommitDeferredSettings, XRefTwo) OOVPA_SIG_MATCH( @@ -60,11 +58,8 @@ OOVPA_SIG_MATCH( // * DirectSound::CDirectSound::EnableHeadphones // ****************************************************************** // Generic OOVPA as of 5455 and newer -OOVPA_SIG_HEADER_XREF(CDirectSound_EnableHeadphones, - 5455, - - XREF_CDirectSound_EnableHeadphones, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CDirectSound_EnableHeadphones, + 5455) OOVPA_SIG_MATCH( // CDirectSound_EnableHeadphones+0x00 : push ebp @@ -104,11 +99,8 @@ OOVPA_SIG_MATCH( // * DSound_CRefCount_Release // ****************************************************************** // Generic OOVPA as of 5455 and newer -OOVPA_SIG_HEADER_XREF(DSound_CRefCount_Release, - 5455, - - XREF_DSound_CRefCount_Release, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(DSound_CRefCount_Release, + 5455) OOVPA_SIG_MATCH( { 0x00, 0x8B }, @@ -137,8 +129,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(CMcpxStream_Discontinuity, 5455, - - XREF_CMcpxStream_Discontinuity, XRefOne) OOVPA_SIG_MATCH( @@ -167,11 +157,8 @@ OOVPA_SIG_MATCH( // * CDirectSound_GetSpeakerConfig // ****************************************************************** // Generic OOVPA as of 5455 and newer -OOVPA_SIG_HEADER_XREF(CDirectSound_GetSpeakerConfig, - 5455, - - XREF_CDirectSound_GetSpeakerConfig, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CDirectSound_GetSpeakerConfig, + 5455) OOVPA_SIG_MATCH( { 0x00, 0xE8 }, @@ -201,11 +188,8 @@ OOVPA_SIG_MATCH( // * DirectSound::CDirectSoundVoice::Set3DVoiceData // ****************************************************************** // Generic OOVPA as of 5455 and newer -OOVPA_SIG_HEADER_XREF(CDirectSoundVoice_Set3DVoiceData, - 5455, - - XREF_CDirectSoundVoice_Set3DVoiceData, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CDirectSoundVoice_Set3DVoiceData, + 5455) OOVPA_SIG_MATCH( { 0x00, 0x8B }, @@ -227,8 +211,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 5455 and newer OOVPA_SIG_HEADER_XREF(CDirectSoundBuffer_Set3DVoiceData, 5455, - - XREF_CDirectSoundBuffer_Set3DVoiceData, XRefOne) OOVPA_SIG_MATCH( @@ -250,8 +232,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(IDirectSoundBuffer_Set3DVoiceData, 5455, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -274,8 +254,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 5455 and newer OOVPA_SIG_HEADER_XREF(CDirectSoundStream_Set3DVoiceData, 5455, - - XREF_CDirectSoundStream_Set3DVoiceData, XRefOne) OOVPA_SIG_MATCH( @@ -298,8 +276,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 5455 and newer (note: is not introduced in 5344) OOVPA_SIG_HEADER_XREF(IDirectSoundStream_Set3DVoiceData, 5455, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -315,11 +291,8 @@ OOVPA_SIG_MATCH( // * XAudioCalculatePitch // ****************************************************************** // Generic OOVPA as of 5455 and newer -OOVPA_SIG_HEADER_XREF(XAudioCalculatePitch, - 5455, - - XREF_XAudioCalculatePitch, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(XAudioCalculatePitch, + 5455) OOVPA_SIG_MATCH( { 0x00, 0x55 }, @@ -349,11 +322,8 @@ OOVPA_SIG_MATCH( // * DirectSound::CMcpxAPU::ServiceDeferredCommandsLow // ****************************************************************** // Generic OOVPA as of 5455 and newer; whole asm had not been changed since. -OOVPA_SIG_HEADER_XREF(CMcpxAPU_ServiceDeferredCommandsLow, - 5455, - - XREF_CMcpxAPU_ServiceDeferredCommandsLow, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CMcpxAPU_ServiceDeferredCommandsLow, + 5455) OOVPA_SIG_MATCH( // CMcpxAPU_ServiceDeferredCommandsLow+0x00: push ebp; mov ebp,esp @@ -379,8 +349,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 5455 and newer OOVPA_SIG_HEADER_XREF(CMcpxVoiceClient_Commit3dSettings, 5455, - - XREF_CMcpxVoiceClient_Commit3dSettings, XRefTwo) OOVPA_SIG_MATCH( diff --git a/src/OOVPADatabase/DSound/5558.inl b/src/OOVPADatabase/DSound/5558.inl index e01f3e14..841c5d99 100644 --- a/src/OOVPADatabase/DSound/5558.inl +++ b/src/OOVPADatabase/DSound/5558.inl @@ -29,11 +29,8 @@ // * DirectSound::CDirectSoundVoice::Use3DVoiceData // ****************************************************************** // Generic OOVPA as of 5558 and newer -OOVPA_SIG_HEADER_XREF(CDirectSoundVoice_Use3DVoiceData, - 5558, - - XREF_CDirectSoundVoice_Use3DVoiceData, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CDirectSoundVoice_Use3DVoiceData, + 5558) OOVPA_SIG_MATCH( { 0x04, 0x00 }, @@ -54,8 +51,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 5558 and newer OOVPA_SIG_HEADER_XREF(CDirectSoundBuffer_Use3DVoiceData, 5558, - - XREF_CDirectSoundBuffer_Use3DVoiceData, XRefOne) OOVPA_SIG_MATCH( @@ -78,8 +73,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 5558 and newer OOVPA_SIG_HEADER_XREF(IDirectSoundBuffer_Use3DVoiceData, 5558, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -102,8 +95,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 5558 and newer OOVPA_SIG_HEADER_XREF(CDirectSoundStream_Use3DVoiceData, 5558, - - XREF_CDirectSoundStream_Use3DVoiceData, XRefOne) OOVPA_SIG_MATCH( @@ -126,8 +117,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 5558 and newer OOVPA_SIG_HEADER_XREF(IDirectSoundStream_Use3DVoiceData, 5558, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( diff --git a/src/OOVPADatabase/DSound_OOVPA.inl b/src/OOVPADatabase/DSound_OOVPA.inl index f024fc85..e80de552 100644 --- a/src/OOVPADatabase/DSound_OOVPA.inl +++ b/src/OOVPADatabase/DSound_OOVPA.inl @@ -428,8 +428,8 @@ OOVPATable DSound_OOVPA[] = { REGISTER_OOVPAS(IDirectSoundBuffer_SetMaxDistance, 3911), // Final generic OOVPA: 3911; Removed: 0 REGISTER_OOVPAS(IDirectSoundBuffer_SetMinDistance, 3911), // Final generic OOVPA: 3911; Removed: 0 REGISTER_OOVPAS(IDirectSoundBuffer_SetMixBins, 3911, 4039), // Final generic OOVPA: 4039; Removed: 0 - REGISTER_OOVPAS(IDirectSoundBuffer_SetMixBinVolumes_12, 3911), // Final generic OOVPA: 3911; Removed: 4039+ // This revision is only used in 3911 to 3936. - REGISTER_OOVPAS(IDirectSoundBuffer_SetMixBinVolumes_8, 4039), // Final generic OOVPA: 4039; Removed: 0 // Then it has changed in 4039 and higher. + REGISTER_OOVPAS_BIND_XREF(IDirectSoundBuffer_SetMixBinVolumes_12, IDirectSoundBuffer_SetMixBinVolumes, 3911), // Final generic OOVPA: 3911; Removed: 4039+ // This revision is only used in 3911 to 3936. + REGISTER_OOVPAS_BIND_XREF(IDirectSoundBuffer_SetMixBinVolumes_8, IDirectSoundBuffer_SetMixBinVolumes, 4039), // Final generic OOVPA: 4039; Removed: 0 // Then it has changed in 4039 and higher. REGISTER_OOVPAS(IDirectSoundBuffer_SetMode, 3911, 4039), // Final generic OOVPA: 4039; Removed: 0 REGISTER_OOVPAS(IDirectSoundBuffer_SetNotificationPositions, 3911), // Final generic OOVPA: 3911; Removed: 0 REGISTER_OOVPAS(IDirectSoundBuffer_SetOutputBuffer, 3911), // Final generic OOVPA: 3911; Removed: 0 @@ -466,8 +466,8 @@ OOVPATable DSound_OOVPA[] = { REGISTER_OOVPAS(IDirectSoundStream_SetMaxDistance, 3911), // Final generic OOVPA: 3911; Removed: 0 REGISTER_OOVPAS(IDirectSoundStream_SetMinDistance, 3911), // Final generic OOVPA: 3911; Removed: 0 REGISTER_OOVPAS(IDirectSoundStream_SetMixBins, 3911, 4039), // Final generic OOVPA: 4039; Removed: 0 // NOTE: Is require to be patch since its' calling to voice class. - REGISTER_OOVPAS(IDirectSoundStream_SetMixBinVolumes_12, 3911), // Final generic OOVPA: 3911; Removed: 4039+ // This revision is only used in 3911 to 3936. - REGISTER_OOVPAS(IDirectSoundStream_SetMixBinVolumes_8, 4039), // Final generic OOVPA: 4039; Removed: 0 // Then it has changed in 4039 and higher. + REGISTER_OOVPAS_BIND_XREF(IDirectSoundStream_SetMixBinVolumes_12, IDirectSoundStream_SetMixBinVolumes, 3911), // Final generic OOVPA: 3911; Removed: 4039+ // This revision is only used in 3911 to 3936. + REGISTER_OOVPAS_BIND_XREF(IDirectSoundStream_SetMixBinVolumes_8, IDirectSoundStream_SetMixBinVolumes, 4039), // Final generic OOVPA: 4039; Removed: 0 // Then it has changed in 4039 and higher. REGISTER_OOVPAS(IDirectSoundStream_SetMode, 3911), // Final generic OOVPA: 3911; Removed: 0 REGISTER_OOVPAS(IDirectSoundStream_SetOutputBuffer, 3911), // Final generic OOVPA: 3911; Removed: 0 REGISTER_OOVPAS(IDirectSoundStream_SetPitch, 3911, 4039), // Final generic OOVPA: 4039; Removed: 0 // NOTE: Is require to be patch since its' calling to voice class. diff --git a/src/OOVPADatabase/JVS/4831.inl b/src/OOVPADatabase/JVS/4831.inl index 989fdd23..7bc2e94c 100644 --- a/src/OOVPADatabase/JVS/4831.inl +++ b/src/OOVPADatabase/JVS/4831.inl @@ -23,11 +23,8 @@ // * // ****************************************************************** -OOVPA_SIG_HEADER_XREF(JVS_SendCommand_String, - 4831, - - XREF_JVS_SendCommand_String, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(JVS_SendCommand_String, + 4831) OOVPA_SIG_MATCH( // JVS_STATUS_ERROR_DEVICE_NOT_CONNECTED2 from JVS_SendCommand OV_MATCH(0x00, 'J', 'V', 'S'), @@ -45,11 +42,8 @@ OOVPA_SIG_MATCH( ); -OOVPA_SIG_HEADER_XREF(JvsBACKUP_Read_String, - 4831, - - XREF_JvsBACKUP_Read_String, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(JvsBACKUP_Read_String, + 4831) OOVPA_SIG_MATCH( // Status error OV_MATCH(0x00, 'S', 't', 'a', 't', 'u', 's'), @@ -62,11 +56,8 @@ OOVPA_SIG_MATCH( // ); -OOVPA_SIG_HEADER_XREF(JvsBACKUP_Write_String, - 4831, - - XREF_JvsBACKUP_Write_String, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(JvsBACKUP_Write_String, + 4831) OOVPA_SIG_MATCH( // Status error OV_MATCH(0x00, 'S', 't', 'a', 't', 'u', 's'), @@ -79,11 +70,8 @@ OOVPA_SIG_MATCH( // ); -OOVPA_SIG_HEADER_XREF(JvsEEPROM_Read_String, - 4831, - - XREF_JvsEEPROM_Read_String, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(JvsEEPROM_Read_String, + 4831) OOVPA_SIG_MATCH( // Status error OV_MATCH(0x00, 'S', 't', 'a', 't', 'u', 's'), @@ -96,11 +84,8 @@ OOVPA_SIG_MATCH( // ); -OOVPA_SIG_HEADER_XREF(JvsEEPROM_Write_String, - 4831, - - XREF_JvsEEPROM_Write_String, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(JvsEEPROM_Write_String, + 4831) OOVPA_SIG_MATCH( // Status error OV_MATCH(0x00, 'S', 't', 'a', 't', 'u', 's'), @@ -113,11 +98,8 @@ OOVPA_SIG_MATCH( // ); -OOVPA_SIG_HEADER_XREF(JvsFirmwareDownload_String, - 4831, - - XREF_JvsFirmwareDownload_String, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(JvsFirmwareDownload_String, + 4831) OOVPA_SIG_MATCH( // Status error1 OV_MATCH(0x00, 'S', 't', 'a', 't', 'u', 's'), @@ -131,11 +113,8 @@ OOVPA_SIG_MATCH( // ); -OOVPA_SIG_HEADER_XREF(JvsNodeReceivePacket_String, - 4831, - - XREF_JvsNodeReceivePacket_String, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(JvsNodeReceivePacket_String, + 4831) OOVPA_SIG_MATCH( // Status waiting OV_MATCH(0x00, 'S', 't', 'a', 't', 'u', 's'), @@ -148,11 +127,8 @@ OOVPA_SIG_MATCH( // ); -OOVPA_SIG_HEADER_XREF(JvsRTC_Read_String, - 4831, - - XREF_JvsRTC_Read_String, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(JvsRTC_Read_String, + 4831) OOVPA_SIG_MATCH( // Status wait OV_MATCH(0x00, 'S', 't', 'a', 't', 'u', 's'), @@ -164,11 +140,8 @@ OOVPA_SIG_MATCH( // ); -OOVPA_SIG_HEADER_XREF(JvsRTC_Write_String, - 4831, - - XREF_JvsRTC_Write_String, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(JvsRTC_Write_String, + 4831) OOVPA_SIG_MATCH( // Status wait OV_MATCH(0x00, 'S', 't', 'a', 't', 'u', 's'), @@ -180,11 +153,8 @@ OOVPA_SIG_MATCH( // ); -OOVPA_SIG_HEADER_XREF(JvsNodeSendPacket_String, - 4831, - - XREF_JvsNodeSendPacket_String, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(JvsNodeSendPacket_String, + 4831) OOVPA_SIG_MATCH( // Status waiting OV_MATCH(0x00, 'S', 't', 'a', 't', 'u', 's'), @@ -197,11 +167,8 @@ OOVPA_SIG_MATCH( // ); -OOVPA_SIG_HEADER_XREF(JvsFirmwareUpload_String, - 4831, - - XREF_JvsFirmwareUpload_String, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(JvsFirmwareUpload_String, + 4831) OOVPA_SIG_MATCH( // Status error1 OV_MATCH(0x00, 'S', 't', 'a', 't', 'u', 's'), @@ -215,11 +182,8 @@ OOVPA_SIG_MATCH( // ); -OOVPA_SIG_HEADER_XREF(JvsScFirmwareDownload_String, - 4831, - - XREF_JvsScFirmwareDownload_String, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(JvsScFirmwareDownload_String, + 4831) OOVPA_SIG_MATCH( // Status error1 OV_MATCH(0x00, 'S', 't', 'a', 't', 'u', 's'), @@ -234,11 +198,8 @@ OOVPA_SIG_MATCH( // ); -OOVPA_SIG_HEADER_XREF(JvsScFirmwareUpload_String, - 4831, - - XREF_JvsScFirmwareUpload_String, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(JvsScFirmwareUpload_String, + 4831) OOVPA_SIG_MATCH( // Status waiting OV_MATCH(0x00, 'S', 't', 'a', 't', 'u', 's'), @@ -252,11 +213,8 @@ OOVPA_SIG_MATCH( // ); -OOVPA_SIG_HEADER_XREF(JvsScReceiveMidi_String, - 4831, - - XREF_JvsScReceiveMidi_String, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(JvsScReceiveMidi_String, + 4831) OOVPA_SIG_MATCH( // Status waiting OV_MATCH(0x00, 'S', 't', 'a', 't', 'u', 's'), @@ -269,11 +227,8 @@ OOVPA_SIG_MATCH( // ); -OOVPA_SIG_HEADER_XREF(JvsScReceiveRs323c_String, - 4831, - - XREF_JvsScReceiveRs323c_String, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(JvsScReceiveRs323c_String, + 4831) OOVPA_SIG_MATCH( // Status error OV_MATCH(0x00, 'S', 't', 'a', 't', 'u', 's'), @@ -286,11 +241,8 @@ OOVPA_SIG_MATCH( // ); -OOVPA_SIG_HEADER_XREF(JvsScSendMidi_String, - 4831, - - XREF_JvsScSendMidi_String, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(JvsScSendMidi_String, + 4831) OOVPA_SIG_MATCH( // Status waiting OV_MATCH(0x00, 'S', 't', 'a', 't', 'u', 's'), @@ -304,11 +256,8 @@ OOVPA_SIG_MATCH( ); -OOVPA_SIG_HEADER_XREF(JvsScSendRs323c_String, - 4831, - - XREF_JvsScSendRs323c_String, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(JvsScSendRs323c_String, + 4831) OOVPA_SIG_MATCH( // Status error OV_MATCH(0x00, 'S', 't', 'a', 't', 'u', 's'), @@ -326,8 +275,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(JVS_SendCommand, 4831, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( XREF_ENTRY(0x250, XREF_JVS_SendCommand_String), @@ -354,8 +301,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(JVS_SendCommand2, 4831, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( XREF_ENTRY(0x2C0, XREF_JVS_SendCommand_String), @@ -372,8 +317,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(JVS_SendCommand3, 4831, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( XREF_ENTRY(0x28B, XREF_JVS_SendCommand_String), @@ -389,8 +332,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(JvsBACKUP_Read, 4831, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( XREF_ENTRY(0x6E, XREF_JvsBACKUP_Read_String), @@ -414,8 +355,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(JvsBACKUP_Read2, 4831, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( XREF_ENTRY(0x6F, XREF_JvsBACKUP_Read_String), @@ -439,8 +378,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(JvsBACKUP_Read3, 4831, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( XREF_ENTRY(0x5E, XREF_JvsBACKUP_Read_String), @@ -458,8 +395,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(JvsBACKUP_Write, 4831, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( XREF_ENTRY(0x6E, XREF_JvsBACKUP_Write_String), @@ -485,8 +420,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(JvsBACKUP_Write2, 4831, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( XREF_ENTRY(0x5E, XREF_JvsBACKUP_Write_String), @@ -505,8 +438,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(JvsEEPROM_Read, 4831, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( XREF_ENTRY(0x188, XREF_JvsEEPROM_Read_String), @@ -529,8 +460,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(JvsEEPROM_Read2, 4831, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( XREF_ENTRY(0x1B0, XREF_JvsEEPROM_Read_String), @@ -552,8 +481,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(JvsEEPROM_Read3, 4831, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( XREF_ENTRY(0x199, XREF_JvsEEPROM_Read_String), @@ -576,8 +503,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(JvsEEPROM_Write, 4831, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( XREF_ENTRY(0x18E, XREF_JvsEEPROM_Write_String), @@ -600,8 +525,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(JvsEEPROM_Write2, 4831, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( XREF_ENTRY(0x1B6, XREF_JvsEEPROM_Write_String), @@ -622,8 +545,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(JvsEEPROM_Write3, 4831, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( XREF_ENTRY(0x199, XREF_JvsEEPROM_Write_String), @@ -639,8 +560,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(JvsFirmwareDownload, 4831, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( XREF_ENTRY(0x1D4, XREF_JvsFirmwareDownload_String), @@ -658,8 +577,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(JvsFirmwareDownload2, 4831, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( XREF_ENTRY(0x203, XREF_JvsFirmwareDownload_String), @@ -677,8 +594,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(JvsFirmwareDownload3, 4831, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( XREF_ENTRY(0x1E3, XREF_JvsFirmwareDownload_String), @@ -693,8 +608,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(JvsFirmwareDownload4, 4831, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( XREF_ENTRY(0x1CF, XREF_JvsFirmwareDownload_String), @@ -708,8 +621,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(JvsFirmwareUpload, 4831, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( XREF_ENTRY(0x1B7, XREF_JvsFirmwareUpload_String), @@ -727,8 +638,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(JvsFirmwareUpload2, 4831, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( XREF_ENTRY(0x1DE, XREF_JvsFirmwareUpload_String), @@ -747,8 +656,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(JvsFirmwareUpload3, 4831, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( XREF_ENTRY(0x1DA, XREF_JvsFirmwareUpload_String), @@ -763,8 +670,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(JvsFirmwareUpload4, 4831, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( XREF_ENTRY(0x1BF, XREF_JvsFirmwareUpload_String), @@ -778,8 +683,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(JvsNodeReceivePacket, 4831, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( XREF_ENTRY(0x6D, XREF_JvsNodeReceivePacket_String), @@ -801,8 +704,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(JvsNodeReceivePacket2, 4831, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( XREF_ENTRY(0x55, XREF_JvsNodeReceivePacket_String), @@ -816,8 +717,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(JvsNodeSendPacket, 4831, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( XREF_ENTRY(0x6D, XREF_JvsNodeSendPacket_String), @@ -837,8 +736,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(JvsNodeSendPacket2, 4831, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( XREF_ENTRY(0x55, XREF_JvsNodeSendPacket_String), @@ -852,8 +749,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(JvsRTC_Read, 4831, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( XREF_ENTRY(0x81, XREF_JvsRTC_Read_String), @@ -871,8 +766,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(JvsRTC_Read2, 4831, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( XREF_ENTRY(0x96, XREF_JvsRTC_Read_String), @@ -890,8 +783,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(JvsRTC_Read3, 4831, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( XREF_ENTRY(0x68, XREF_JvsRTC_Read_String), @@ -909,8 +800,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(JvsScFirmwareDownload, 4831, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( XREF_ENTRY(0x1D4, XREF_JvsScFirmwareDownload_String), @@ -928,8 +817,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(JvsRTC_Write, 4831, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( XREF_ENTRY(0x96, XREF_JvsRTC_Write_String), @@ -947,8 +834,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(JvsRTC_Write2, 4831, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( XREF_ENTRY(0x68, XREF_JvsRTC_Write_String), @@ -966,8 +851,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(JvsScFirmwareDownload2, 4831, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( XREF_ENTRY(0x203, XREF_JvsScFirmwareDownload_String), @@ -985,8 +868,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(JvsScFirmwareDownload3, 4831, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( XREF_ENTRY(0x1E3, XREF_JvsScFirmwareDownload_String), @@ -1000,8 +881,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(JvsScFirmwareDownload4, 4831, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( XREF_ENTRY(0x1CF, XREF_JvsScFirmwareDownload_String), @@ -1015,8 +894,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(JvsScFirmwareUpload, 4831, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( XREF_ENTRY(0xA9, XREF_JvsScFirmwareUpload_String), @@ -1031,8 +908,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(JvsScFirmwareUpload2, 4831, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( XREF_ENTRY(0xBE, XREF_JvsScFirmwareUpload_String), @@ -1048,8 +923,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(JvsScFirmwareUpload3, 4831, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( XREF_ENTRY(0x9E, XREF_JvsScFirmwareUpload_String), @@ -1067,8 +940,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(JvsScReceiveMidi, 4831, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( XREF_ENTRY(0x7D, XREF_JvsScReceiveMidi_String), @@ -1082,8 +953,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(JvsScReceiveMidi2, 4831, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( XREF_ENTRY(0x65, XREF_JvsScReceiveMidi_String), @@ -1097,8 +966,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(JvsScReceiveRs323c, 4831, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( XREF_ENTRY(0x63, XREF_JvsScReceiveRs323c_String), @@ -1112,8 +979,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(JvsScReceiveRs323c2, 4831, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( XREF_ENTRY(0x4F, XREF_JvsScReceiveRs323c_String), @@ -1127,8 +992,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(JvsScSendMidi, 4831, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( XREF_ENTRY(0x7D, XREF_JvsScSendMidi_String), @@ -1142,8 +1005,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(JvsScSendMidi2, 4831, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( XREF_ENTRY(0x5D, XREF_JvsScSendMidi_String), @@ -1157,8 +1018,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(JvsScSendRs323c, 4831, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( XREF_ENTRY(0x5E, XREF_JvsScSendRs323c_String), @@ -1172,8 +1031,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(JvsScSendRs323c2, 4831, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( XREF_ENTRY(0x4D, XREF_JvsScSendRs323c_String), diff --git a/src/OOVPADatabase/OOVPA.h b/src/OOVPADatabase/OOVPA.h index 7e077403..52253ce8 100644 --- a/src/OOVPADatabase/OOVPA.h +++ b/src/OOVPADatabase/OOVPA.h @@ -41,7 +41,7 @@ // ****************************************************************** typedef struct _OOVPA { - unsigned char Padding; + unsigned char Padding[1]; // This OOVPA field, XRefCount, contains the number of // {Offset, XREF_*-enum}-pairs that come before all other @@ -50,15 +50,8 @@ typedef struct _OOVPA { // (Also, see comments at XRefZero and XRefOne.) unsigned char XRefCount; - // This OOVPA field, XRefSaveIndex, contains either an - // XREF_* enum value, or the XRefNoSaveIndex marker when there's - // no XREF_* enum defined for this OOVPA. - unsigned short XRefSaveIndex; - unsigned char DetectSelect; - unsigned char Padding2[2]; - // This OOVPA field, Count, indicates the number of // {Offset, Value}-pairs present in the Lovp array, // available after casting this OOVPA to LOOVPA. @@ -112,11 +105,6 @@ typedef struct _LOVP { #define XRefThree 3 #define XRefFour 4 -// This XRefNoSaveIndex constant, when set in the OOVPA.XRefSaveIndex -// field, functions as a marker indicating there's no XREF_* enum -// defined for the OOVPA. -#define XRefNoSaveIndex 0xFFFF - // TODO: Rename to OV_XREF. // Macro used for storing an XRef {Offset, XREF}-Pair. // clang-format off @@ -158,33 +146,33 @@ typedef struct _LOOVPA { #define OOVPA_SIG_MATCH(...) MSVC_EXPAND(COUNTARGS_LOVP(__VA_ARGS__)), { __VA_ARGS__ } } // clang-format on -#define OOVPA_SIG_HEADER_XREF_EXTEND(Name, Version, XRefSaveIndex, XRefCount, DetectSelect) \ - LOOVPA Name##_##Version = { VARPADSET, XRefCount, XRefSaveIndex, DetectSelect, VARPADSET, VARPADSET, +#define OOVPA_SIG_HEADER_XREF_EXTEND(Name, Version, XRefCount, DetectSelect) \ + LOOVPA Name##_##Version = { VARPADSET, XRefCount, DetectSelect, -#define OOVPA_XREF_EXTEND(Name, Version, Count, XRefSaveIndex, XRefCount, DetectSelect) \ - LOOVPA Name##_##Version = { VARPADSET, XRefCount, XRefSaveIndex, DetectSelect, VARPADSET, VARPADSET, Count, +#define OOVPA_XREF_EXTEND(Name, Version, Count, XRefCount, DetectSelect) \ + LOOVPA Name##_##Version = { VARPADSET, XRefCount, DetectSelect, Count, #define OOVPA_SIG_HEADER_XREF_DETECT OOVPA_SIG_HEADER_XREF_EXTEND #define OOVPA_XREF_DETECT OOVPA_XREF_EXTEND #define OOVPA_SIG_HEADER_NO_XREF_DETECT(Name, Version, DetectSelect) \ - OOVPA_SIG_HEADER_XREF_EXTEND(Name, Version, XRefNoSaveIndex, XRefZero, DetectSelect) + OOVPA_SIG_HEADER_XREF_EXTEND(Name, Version, XRefZero, DetectSelect) #define OOVPA_NO_XREF_DETECT(Name, Version, Count, DetectSelect) \ - OOVPA_XREF_EXTEND(Name, Version, Count, XRefNoSaveIndex, XRefZero, DetectSelect) + OOVPA_XREF_EXTEND(Name, Version, Count, XRefZero, DetectSelect) -#define OOVPA_SIG_HEADER_XREF(Name, Version, XRefSaveIndex, XRefCount) \ - OOVPA_SIG_HEADER_XREF_EXTEND(Name, Version, XRefSaveIndex, XRefCount, DetectDefault) +#define OOVPA_SIG_HEADER_XREF(Name, Version, XRefCount) \ + OOVPA_SIG_HEADER_XREF_EXTEND(Name, Version, XRefCount, DetectDefault) -#define OOVPA_XREF(Name, Version, Count, XRefSaveIndex, XRefCount) \ - OOVPA_XREF_EXTEND(Name, Version, Count, XRefSaveIndex, XRefCount, DetectDefault) +#define OOVPA_XREF(Name, Version, Count, XRefCount) \ + OOVPA_XREF_EXTEND(Name, Version, Count, XRefCount, DetectDefault) #define OOVPA_SIG_HEADER_NO_XREF(Name, Version) \ - OOVPA_SIG_HEADER_XREF_EXTEND(Name, Version, XRefNoSaveIndex, XRefZero, DetectDefault) + OOVPA_SIG_HEADER_XREF_EXTEND(Name, Version, XRefZero, DetectDefault) #define OOVPA_NO_XREF(Name, Version, Count) \ - OOVPA_XREF_EXTEND(Name, Version, Count, XRefNoSaveIndex, XRefZero, DetectDefault) + OOVPA_XREF_EXTEND(Name, Version, Count, XRefZero, DetectDefault) // clang-format off #define OOVPA_END } @@ -209,6 +197,7 @@ typedef enum _eDBScanType { // * OOVPATable // ****************************************************************** typedef struct _OOVPATable { + uint16_t xref; char* szFuncName; unsigned scan_type; unsigned count; @@ -276,8 +265,10 @@ typedef struct _OOVPATable { _9, _8, _7, _6, _5, _4, _3, _2, _1, _0, \ N, ...) N -#define REGISTER_OOVPAS_TYPE(Symbol, ScanType, ...) \ - "" #Symbol, \ + +#define REGISTER_OOVPAS_TYPE(Symbol, xref, ScanType, ...) \ + XREF_##xref, \ + #Symbol, \ ScanType, \ MSVC_EXPAND(COUNTARGS_USHORT(__VA_ARGS__)), \ (OOVPARevision[]) \ @@ -289,12 +280,22 @@ typedef struct _OOVPATable { REGISTER_OOVPA_4, REGISTER_OOVPA_3, REGISTER_OOVPA_2, REGISTER_OOVPA_1, REGISTER_OOVPA_0)(Symbol, __VA_ARGS__)) \ } +// TODO: Need to work on support prefix inside macro. +#define REGISTER_OOVPAS_TYPE_BIND_XREF(Symbol, XRef, ScanType, ...) REGISTER_OOVPAS_TYPE(Symbol, XRef, ScanType, __VA_ARGS__) +#define REGISTER_OOVPAS_TYPE_PREFIX(Symbol, prefix, ScanType, ...) REGISTER_OOVPAS_TYPE_BIND_XREF(Symbol, prefix##_##Symbol, ScanType, __VA_ARGS__) + // Use REGISTER_OOVPAS for automate scan only process -#define REGISTER_OOVPAS(Symbol, ...) MSVC_EXPAND(REGISTER_OOVPAS_TYPE(Symbol, DB_ST_AUTO, __VA_ARGS__)) +#define REGISTER_OOVPAS(Symbol, ...) MSVC_EXPAND(REGISTER_OOVPAS_TYPE(Symbol, Symbol, DB_ST_AUTO, __VA_ARGS__)) +#define REGISTER_OOVPAS_PREFIX(Prefix, Symbol, ...) MSVC_EXPAND(REGISTER_OOVPAS_TYPE_PREFIX(Symbol, Prefix, DB_ST_AUTO, __VA_ARGS__)) +#define REGISTER_OOVPAS_BIND_XREF(Symbol, XRef, ...) MSVC_EXPAND(REGISTER_OOVPAS_TYPE_BIND_XREF(Symbol, XRef, DB_ST_AUTO, __VA_ARGS__)) // Use REGISTER_OOVPAS_M for manual scan only process -#define REGISTER_OOVPAS_M(Symbol, ...) MSVC_EXPAND(REGISTER_OOVPAS_TYPE(Symbol, DB_ST_MANUAL, __VA_ARGS__)) +#define REGISTER_OOVPAS_M(Symbol, ...) MSVC_EXPAND(REGISTER_OOVPAS_TYPE(Symbol, Symbol, DB_ST_MANUAL, __VA_ARGS__)) +#define REGISTER_OOVPAS_M_PREFIX(Symbol, Prefix, ...) MSVC_EXPAND(REGISTER_OOVPAS_TYPE_PREFIX(Symbol, Prefix, DB_ST_MANUAL, __VA_ARGS__)) +#define REGISTER_OOVPAS_M_BIND_XREF(Symbol, XRef, ...) MSVC_EXPAND(REGISTER_OOVPAS_TYPE_BIND_XREF(Symbol, XRef, DB_ST_MANUAL, __VA_ARGS__)) // Use REGISTER_OOVPAS_C for combine manual and automate scan process -#define REGISTER_OOVPAS_C(Symbol, ...) MSVC_EXPAND(REGISTER_OOVPAS_TYPE(Symbol, DB_ST_ALL, __VA_ARGS__)) +#define REGISTER_OOVPAS_C(Symbol, ...) MSVC_EXPAND(REGISTER_OOVPAS_TYPE(Symbol, Symbol, DB_ST_ALL, __VA_ARGS__)) +#define REGISTER_OOVPAS_C_PREFIX(Symbol, Prefix, ...) MSVC_EXPAND(REGISTER_OOVPAS_TYPE_PREFIX(Symbol, Prefix, DB_ST_ALL, __VA_ARGS__)) +#define REGISTER_OOVPAS_C_BIND_XREF(Symbol, XRef, ...) MSVC_EXPAND(REGISTER_OOVPAS_TYPE_BIND_XREF(Symbol, XRef, DB_ST_ALL, __VA_ARGS__)) // See _GET_NTH_ARG comment for details. // Even though x86 instructions can be anywhere from 1 to 15 bytes long, diff --git a/src/OOVPADatabase/XActEng/4627.inl b/src/OOVPADatabase/XActEng/4627.inl index d0251e3a..810d7806 100644 --- a/src/OOVPADatabase/XActEng/4627.inl +++ b/src/OOVPADatabase/XActEng/4627.inl @@ -54,11 +54,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * XACT::CEngine::RegisterWaveBank // ****************************************************************** -OOVPA_SIG_HEADER_XREF(XACT_CEngine_RegisterWaveBank, - 4627, - - XREF_XACT_CEngine_RegisterWaveBank, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(XACT_CEngine_RegisterWaveBank, + 4627) OOVPA_SIG_MATCH( { 0x11, 0x33 }, @@ -76,8 +73,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(IXACTEngine_RegisterWaveBank, 4627, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -113,11 +108,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * XACT::CEngine::RegisterStreamedWaveBank // ****************************************************************** -OOVPA_SIG_HEADER_XREF(XACT_CEngine_RegisterStreamedWaveBank, - 4627, - - XREF_XACT_CEngine_RegisterStreamedWaveBank, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(XACT_CEngine_RegisterStreamedWaveBank, + 4627) OOVPA_SIG_MATCH( { 0x10, 0x01 }, @@ -136,8 +128,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(IXACTEngine_RegisterStreamedWaveBank, 4627, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -157,11 +147,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * XACT::CEngine::CreateSoundBank // ****************************************************************** -OOVPA_SIG_HEADER_XREF(XACT_CEngine_CreateSoundBank, - 4627, - - XREF_XACT_CEngine_CreateSoundBank, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(XACT_CEngine_CreateSoundBank, + 4627) OOVPA_SIG_MATCH( { 0x0E, 0xA0 }, @@ -180,8 +167,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(IXACTEngine_CreateSoundBank, 4627, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -200,11 +185,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * XACT::CEngine::DownloadEffectsImage // ****************************************************************** -OOVPA_SIG_HEADER_XREF(XACT_CEngine_DownloadEffectsImage, - 4627, - - XREF_XACT_CEngine_DownloadEffectsImage, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(XACT_CEngine_DownloadEffectsImage, + 4627) OOVPA_SIG_MATCH( { 0x0B, 0x8B }, { 0x12, 0xFF }, @@ -221,8 +203,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(IXACTEngine_DownloadEffectsImage, 4627, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -242,11 +222,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * XACT::CEngine::CreateSoundSource // ****************************************************************** -OOVPA_SIG_HEADER_XREF(XACT_CEngine_CreateSoundSource, - 4627, - - XREF_XACT_CEngine_CreateSoundSource, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(XACT_CEngine_CreateSoundSource, + 4627) OOVPA_SIG_MATCH( { 0x0A, 0x0F }, { 0x14, 0x8B }, @@ -264,8 +241,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(IXACTEngine_CreateSoundSource, 4627, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -285,11 +260,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * XACT::CSoundBank::GetSoundCueIndexFromFriendlyName // ****************************************************************** -OOVPA_SIG_HEADER_XREF(XACT_CSoundBank_GetSoundCueIndexFromFriendlyName, - 4627, - - XREF_XACT_CSoundBank_GetSoundCueIndexFromFriendlyName, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(XACT_CSoundBank_GetSoundCueIndexFromFriendlyName, + 4627) OOVPA_SIG_MATCH( { 0x12, 0x8B }, { 0x22, 0x46 }, @@ -306,8 +278,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(IXACTSoundBank_GetSoundCueIndexFromFriendlyName, 4627, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -345,11 +315,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * XACT::CEngine::RegisterNotification // ****************************************************************** -OOVPA_SIG_HEADER_XREF(XACT_CEngine_RegisterNotification, - 4627, - - XREF_XACT_CEngine_RegisterNotification, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(XACT_CEngine_RegisterNotification, + 4627) OOVPA_SIG_MATCH( { 0x07, 0x8B }, { 0x0C, 0x01 }, @@ -366,8 +333,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(IXACTEngine_RegisterNotification, 4627, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -386,11 +351,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * XACT::CEngine::GetNotification // ****************************************************************** -OOVPA_SIG_HEADER_XREF(XACT_CEngine_GetNotification, - 4627, - - XREF_XACT_CEngine_GetNotification, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(XACT_CEngine_GetNotification, + 4627) OOVPA_SIG_MATCH( { 0x11, 0x8D }, @@ -409,8 +371,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(IXACTEngine_GetNotification, 4627, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -430,11 +390,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * XACT::CEngine::UnRegisterWaveBank // ****************************************************************** -OOVPA_SIG_HEADER_XREF(XACT_CEngine_UnRegisterWaveBank, - 4627, - - XREF_XACT_CEngine_UnRegisterWaveBank, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(XACT_CEngine_UnRegisterWaveBank, + 4627) OOVPA_SIG_MATCH( { 0x07, 0x8B }, @@ -453,8 +410,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(IXACTEngine_UnRegisterWaveBank, 4627, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( diff --git a/src/OOVPADatabase/XActEng/4928.inl b/src/OOVPADatabase/XActEng/4928.inl index cd2a4661..23d59177 100644 --- a/src/OOVPADatabase/XActEng/4928.inl +++ b/src/OOVPADatabase/XActEng/4928.inl @@ -54,11 +54,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * XACT::CEngine::RegisterStreamedWaveBank // ****************************************************************** -OOVPA_SIG_HEADER_XREF(XACT_CEngine_RegisterStreamedWaveBank, - 4928, - - XREF_XACT_CEngine_RegisterStreamedWaveBank, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(XACT_CEngine_RegisterStreamedWaveBank, + 4928) OOVPA_SIG_MATCH( { 0x04, 0x10 }, //RegisterStreamedWaveBank 0x10 vs RegisterWaveBank 0x14 @@ -82,8 +79,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(IXACTEngine_RegisterStreamedWaveBank, 4928, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -108,11 +103,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * XACT::CEngine::CreateSoundBank // ****************************************************************** -OOVPA_SIG_HEADER_XREF(XACT_CEngine_CreateSoundBank, - 4928, - - XREF_XACT_CEngine_CreateSoundBank, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(XACT_CEngine_CreateSoundBank, + 4928) OOVPA_SIG_MATCH( { 0x0E, 0x85 }, @@ -135,8 +127,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(IXACTEngine_CreateSoundBank, 4928, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -160,11 +150,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * XACT::CEngine::UnRegisterWaveBank // ****************************************************************** -OOVPA_SIG_HEADER_XREF(XACT_CEngine_UnRegisterWaveBank, - 4928, - - XREF_XACT_CEngine_UnRegisterWaveBank, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(XACT_CEngine_UnRegisterWaveBank, + 4928) OOVPA_SIG_MATCH( // XACT_CEngine_UnRegisterWaveBank+0x06 : lea eax, [ecx+0x58] @@ -186,8 +173,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(IXACTEngine_UnRegisterWaveBank, 4928, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -207,11 +192,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * XACT::CEngine::CreateSoundSource // ****************************************************************** -OOVPA_SIG_HEADER_XREF(XACT_CEngine_CreateSoundSource, - 4928, - - XREF_XACT_CEngine_CreateSoundSource, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(XACT_CEngine_CreateSoundSource, + 4928) OOVPA_SIG_MATCH( { 0x0A, 0x8B }, @@ -234,8 +216,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(IXACTEngine_CreateSoundSource, 4928, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -257,8 +237,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(IXACTEngine_GetNotification, 4928, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -278,11 +256,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * XACT::CSoundBank::GetSoundCueIndexFromFriendlyName // ****************************************************************** -OOVPA_SIG_HEADER_XREF(XACT_CSoundBank_GetSoundCueIndexFromFriendlyName, - 4928, - - XREF_XACT_CSoundBank_GetSoundCueIndexFromFriendlyName, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(XACT_CSoundBank_GetSoundCueIndexFromFriendlyName, + 4928) OOVPA_SIG_MATCH( { 0x03, 0x51 }, @@ -308,8 +283,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(IXACTSoundBank_GetSoundCueIndexFromFriendlyName, 4928, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -331,8 +304,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(IXACTEngine_RegisterNotification, 4928, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( diff --git a/src/OOVPADatabase/XActEng/5120.inl b/src/OOVPADatabase/XActEng/5120.inl index ee86b098..611fda7c 100644 --- a/src/OOVPADatabase/XActEng/5120.inl +++ b/src/OOVPADatabase/XActEng/5120.inl @@ -50,11 +50,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * XACT::CEngine::UnRegisterWaveBank // ****************************************************************** -OOVPA_SIG_HEADER_XREF(XACT_CEngine_UnRegisterWaveBank, - 5120, - - XREF_XACT_CEngine_UnRegisterWaveBank, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(XACT_CEngine_UnRegisterWaveBank, + 5120) OOVPA_SIG_MATCH( { 0x0E, 0x51 }, @@ -78,11 +75,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * XACT::CEngine::RegisterWaveBank // ****************************************************************** -OOVPA_SIG_HEADER_XREF(XACT_CEngine_RegisterWaveBank, - 5120, - - XREF_XACT_CEngine_RegisterWaveBank, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(XACT_CEngine_RegisterWaveBank, + 5120) OOVPA_SIG_MATCH( { 0x04, 0x14 }, //RegisterStreamedWaveBank 0x10 vs RegisterWaveBank 0x14 @@ -107,8 +101,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(IXACTEngine_RegisterWaveBank, 5120, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( diff --git a/src/OOVPADatabase/XActEng/5233.inl b/src/OOVPADatabase/XActEng/5233.inl index 618b4c0d..6ca2fd47 100644 --- a/src/OOVPADatabase/XActEng/5233.inl +++ b/src/OOVPADatabase/XActEng/5233.inl @@ -26,11 +26,8 @@ // ****************************************************************** // * XACT::CEngine::RegisterStreamedWaveBank // ****************************************************************** -OOVPA_SIG_HEADER_XREF(XACT_CEngine_RegisterStreamedWaveBank, - 5233, - - XREF_XACT_CEngine_RegisterStreamedWaveBank, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(XACT_CEngine_RegisterStreamedWaveBank, + 5233) OOVPA_SIG_MATCH( { 0x04, 0x10 }, //RegisterStreamedWaveBank 0x10 vs RegisterWaveBank 0x14 @@ -52,11 +49,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * XACT::CEngine::RegisterWaveBank // ****************************************************************** -OOVPA_SIG_HEADER_XREF(XACT_CEngine_RegisterWaveBank, - 5233, - - XREF_XACT_CEngine_RegisterWaveBank, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(XACT_CEngine_RegisterWaveBank, + 5233) OOVPA_SIG_MATCH( { 0x04, 0x14 }, //RegisterStreamedWaveBank 0x10 vs RegisterWaveBank 0x14 diff --git a/src/OOVPADatabase/XActEng/5344.inl b/src/OOVPADatabase/XActEng/5344.inl index 68f4618f..a19cf630 100644 --- a/src/OOVPADatabase/XActEng/5344.inl +++ b/src/OOVPADatabase/XActEng/5344.inl @@ -26,11 +26,8 @@ // ****************************************************************** // * XACT::CEngine::DownloadEffectsImage // ****************************************************************** -OOVPA_SIG_HEADER_XREF(XACT_CEngine_DownloadEffectsImage, - 5344, - - XREF_XACT_CEngine_DownloadEffectsImage, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(XACT_CEngine_DownloadEffectsImage, + 5344) OOVPA_SIG_MATCH( { 0x02, 0xEC }, @@ -55,8 +52,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(IXACTEngine_DownloadEffectsImage, 5344, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -80,11 +75,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * XACT::CSoundBank::Play // ****************************************************************** -OOVPA_SIG_HEADER_XREF(XACT_CSoundBank_Play, - 5344, - - XREF_XACT_CSoundBank_Play, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(XACT_CSoundBank_Play, + 5344) OOVPA_SIG_MATCH( { 0x08, 0x57 }, @@ -109,8 +101,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(IXACTSoundBank_PlayEx, 5344, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( diff --git a/src/OOVPADatabase/XActEng/5558.inl b/src/OOVPADatabase/XActEng/5558.inl index 60e3950a..abf4b791 100644 --- a/src/OOVPADatabase/XActEng/5558.inl +++ b/src/OOVPADatabase/XActEng/5558.inl @@ -26,11 +26,8 @@ // ****************************************************************** // * XACT::CSoundBank::Play // ****************************************************************** -OOVPA_SIG_HEADER_XREF(XACT_CSoundBank_Play, - 5558, - - XREF_XACT_CSoundBank_Play, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(XACT_CSoundBank_Play, + 5558) OOVPA_SIG_MATCH( { 0x06, 0x8B }, diff --git a/src/OOVPADatabase/XNet/3911.inl b/src/OOVPADatabase/XNet/3911.inl index 5983169d..2dce9904 100644 --- a/src/OOVPADatabase/XNet/3911.inl +++ b/src/OOVPADatabase/XNet/3911.inl @@ -28,8 +28,6 @@ // ****************************************************************** OOVPA_SIG_HEADER_XREF(XNetStartup, 3911, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -57,8 +55,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(WSAStartup, 3911, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -85,11 +81,8 @@ OOVPA_SIG_MATCH( // * XnInit // ****************************************************************** // For only XNETS library, XNET library is different OOVPA. -OOVPA_SIG_HEADER_XREF(XnInit, - 3911, - - XREF_XnInit, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(XnInit, + 3911) OOVPA_SIG_MATCH( // XnInit+0x31 : push 0x3554454E diff --git a/src/OOVPADatabase/XNet/4361.inl b/src/OOVPADatabase/XNet/4361.inl index 69b8cf7a..40b539c0 100644 --- a/src/OOVPADatabase/XNet/4361.inl +++ b/src/OOVPADatabase/XNet/4361.inl @@ -27,11 +27,8 @@ // * XnInit // ****************************************************************** //Generic OOVPA as of 4361 and newer. -OOVPA_SIG_HEADER_XREF(XnInit, - 4361, - - XREF_XnInit, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(XnInit, + 4361) OOVPA_SIG_MATCH( { 0x00, 0x55 }, @@ -61,8 +58,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(WSAStartup, 4361, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -88,8 +83,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(XNetStartup, 4361, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( diff --git a/src/OOVPADatabase/XOnline/4361.inl b/src/OOVPADatabase/XOnline/4361.inl index d2d03d40..49b79e52 100644 --- a/src/OOVPADatabase/XOnline/4361.inl +++ b/src/OOVPADatabase/XOnline/4361.inl @@ -26,11 +26,8 @@ // ****************************************************************** // * CXo::XOnlineLogon // ****************************************************************** -OOVPA_SIG_HEADER_XREF(CXo_XOnlineLogon, - 4361, - - XREF_CXo_XOnlineLogon, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CXo_XOnlineLogon, + 4361) OOVPA_SIG_MATCH( { 0x02, 0xEC }, @@ -55,8 +52,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(XOnlineLogon, 4361, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( diff --git a/src/OOVPADatabase/XOnline/4627.inl b/src/OOVPADatabase/XOnline/4627.inl index a47b4d47..ae8749c5 100644 --- a/src/OOVPADatabase/XOnline/4627.inl +++ b/src/OOVPADatabase/XOnline/4627.inl @@ -26,11 +26,8 @@ // ****************************************************************** // * XoUpdateLaunchNewImageInternal // ****************************************************************** -OOVPA_SIG_HEADER_XREF(XoUpdateLaunchNewImageInternal, - 4627, - - XREF_XoUpdateLaunchNewImageInternal, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(XoUpdateLaunchNewImageInternal, + 4627) OOVPA_SIG_MATCH( { 0x00, 0x55 }, @@ -52,11 +49,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * CXo::XOnlineLogon // ****************************************************************** -OOVPA_SIG_HEADER_XREF(CXo_XOnlineLogon, - 4627, - - XREF_CXo_XOnlineLogon, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CXo_XOnlineLogon, + 4627) OOVPA_SIG_MATCH( { 0x02, 0xEC }, diff --git a/src/OOVPADatabase/XOnline/4831.inl b/src/OOVPADatabase/XOnline/4831.inl index 678d7c85..82a1fc56 100644 --- a/src/OOVPADatabase/XOnline/4831.inl +++ b/src/OOVPADatabase/XOnline/4831.inl @@ -26,11 +26,8 @@ // ****************************************************************** // * CXo::XOnlineLogon // ****************************************************************** -OOVPA_SIG_HEADER_XREF(CXo_XOnlineLogon, - 4831, - - XREF_CXo_XOnlineLogon, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CXo_XOnlineLogon, + 4831) OOVPA_SIG_MATCH( { 0x02, 0xEC }, @@ -56,11 +53,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * CXo::XOnlineMatchSearch // ****************************************************************** -OOVPA_SIG_HEADER_XREF(CXo_XOnlineMatchSearch, - 4831, - - XREF_CXo_XOnlineMatchSearch, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CXo_XOnlineMatchSearch, + 4831) OOVPA_SIG_MATCH( // push ebp @@ -82,8 +76,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(XOnlineMatchSearch, 4831, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -101,11 +93,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * CXo_XOnlineMatchSearchResultsLen // ****************************************************************** -OOVPA_SIG_HEADER_XREF(CXo_XOnlineMatchSearchResultsLen, - 4831, - - XREF_CXo_XOnlineMatchSearchResultsLen, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CXo_XOnlineMatchSearchResultsLen, + 4831) OOVPA_SIG_MATCH( // test ecx, ecx @@ -130,8 +119,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(XOnlineMatchSearchResultsLen, 4831, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -148,11 +135,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * CXo::XOnlineMatchSearchGetResults // ****************************************************************** -OOVPA_SIG_HEADER_XREF(CXo_XOnlineMatchSearchGetResults, - 4831, - - XREF_CXo_XOnlineMatchSearchGetResults, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CXo_XOnlineMatchSearchGetResults, + 4831) OOVPA_SIG_MATCH( // push ebp @@ -173,8 +157,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(XOnlineMatchSearchGetResults, 4831, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -191,11 +173,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * CXo::XOnlineMatchSessionUpdate // ****************************************************************** -OOVPA_SIG_HEADER_XREF(CXo_XOnlineMatchSessionUpdate, - 4831, - - XREF_CXo_XOnlineMatchSessionUpdate, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CXo_XOnlineMatchSessionUpdate, + 4831) OOVPA_SIG_MATCH( // push ebp @@ -220,8 +199,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(XOnlineMatchSessionUpdate, 4831, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -241,11 +218,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * CXo::XOnlineMatchSessionCreate // ****************************************************************** -OOVPA_SIG_HEADER_XREF(CXo_XOnlineMatchSessionCreate, - 4831, - - XREF_CXo_XOnlineMatchSessionCreate, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CXo_XOnlineMatchSessionCreate, + 4831) OOVPA_SIG_MATCH( // push ebp @@ -271,8 +245,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(XOnlineMatchSessionCreate, 4831, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( diff --git a/src/OOVPADatabase/XOnline/5028.inl b/src/OOVPADatabase/XOnline/5028.inl index 8f4f171e..9916c493 100644 --- a/src/OOVPADatabase/XOnline/5028.inl +++ b/src/OOVPADatabase/XOnline/5028.inl @@ -26,11 +26,8 @@ // ****************************************************************** // * CXo::XOnlineLogon // ****************************************************************** -OOVPA_SIG_HEADER_XREF(CXo_XOnlineLogon, - 5028, - - XREF_CXo_XOnlineLogon, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CXo_XOnlineLogon, + 5028) OOVPA_SIG_MATCH( { 0x02, 0xEC }, diff --git a/src/OOVPADatabase/XOnline/5233.inl b/src/OOVPADatabase/XOnline/5233.inl index 31ee0dd2..39461dd2 100644 --- a/src/OOVPADatabase/XOnline/5233.inl +++ b/src/OOVPADatabase/XOnline/5233.inl @@ -26,11 +26,8 @@ // ****************************************************************** // * CXo::XOnlineMatchSessionUpdate // ****************************************************************** -OOVPA_SIG_HEADER_XREF(CXo_XOnlineMatchSessionUpdate, - 5233, - - XREF_CXo_XOnlineMatchSessionUpdate, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CXo_XOnlineMatchSessionUpdate, + 5233) OOVPA_SIG_MATCH( // push ebp diff --git a/src/OOVPADatabase/XOnline/5455.inl b/src/OOVPADatabase/XOnline/5455.inl index b203e8f7..87ec39f9 100644 --- a/src/OOVPADatabase/XOnline/5455.inl +++ b/src/OOVPADatabase/XOnline/5455.inl @@ -26,11 +26,8 @@ // ****************************************************************** // * CXo::XOnlineLogon // ****************************************************************** -OOVPA_SIG_HEADER_XREF(CXo_XOnlineLogon, - 5455, - - XREF_CXo_XOnlineLogon, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CXo_XOnlineLogon, + 5455) OOVPA_SIG_MATCH( { 0x02, 0xEC }, diff --git a/src/OOVPADatabase/XOnline/5558.inl b/src/OOVPADatabase/XOnline/5558.inl index bfcb601d..2b891f80 100644 --- a/src/OOVPADatabase/XOnline/5558.inl +++ b/src/OOVPADatabase/XOnline/5558.inl @@ -26,11 +26,8 @@ // ****************************************************************** // * CXo::XOnlineLogon // ****************************************************************** -OOVPA_SIG_HEADER_XREF(CXo_XOnlineLogon, - 5558, - - XREF_CXo_XOnlineLogon, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CXo_XOnlineLogon, + 5558) OOVPA_SIG_MATCH( { 0x02, 0xEC }, diff --git a/src/OOVPADatabase/XOnline/5659.inl b/src/OOVPADatabase/XOnline/5659.inl index 0cba113b..043bf87a 100644 --- a/src/OOVPADatabase/XOnline/5659.inl +++ b/src/OOVPADatabase/XOnline/5659.inl @@ -26,11 +26,8 @@ // ****************************************************************** // * XoUpdateLaunchNewImageInternal // ****************************************************************** -OOVPA_SIG_HEADER_XREF(XoUpdateLaunchNewImageInternal, - 5659, - - XREF_XoUpdateLaunchNewImageInternal, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(XoUpdateLaunchNewImageInternal, + 5659) OOVPA_SIG_MATCH( { 0x00, 0x55 }, diff --git a/src/OOVPADatabase/XOnline/5788.inl b/src/OOVPADatabase/XOnline/5788.inl index 1e8ef615..7ddb2ea8 100644 --- a/src/OOVPADatabase/XOnline/5788.inl +++ b/src/OOVPADatabase/XOnline/5788.inl @@ -26,11 +26,8 @@ // ****************************************************************** // * XoUpdateLaunchNewImageInternal // ****************************************************************** -OOVPA_SIG_HEADER_XREF(XoUpdateLaunchNewImageInternal, - 5788, - - XREF_XoUpdateLaunchNewImageInternal, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(XoUpdateLaunchNewImageInternal, + 5788) OOVPA_SIG_MATCH( { 0x00, 0x55 }, diff --git a/src/OOVPADatabase/XOnline/5849.inl b/src/OOVPADatabase/XOnline/5849.inl index 51b6009c..53ad5d44 100644 --- a/src/OOVPADatabase/XOnline/5849.inl +++ b/src/OOVPADatabase/XOnline/5849.inl @@ -26,11 +26,8 @@ // ****************************************************************** // * CXo::XOnlineLogon // ****************************************************************** -OOVPA_SIG_HEADER_XREF(CXo_XOnlineLogon, - 5849, - - XREF_CXo_XOnlineLogon, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CXo_XOnlineLogon, + 5849) OOVPA_SIG_MATCH( { 0x02, 0xEC }, @@ -56,11 +53,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * CXo::XOnlineMatchSessionCreate // ****************************************************************** -OOVPA_SIG_HEADER_XREF(CXo_XOnlineMatchSessionCreate, - 5849, - - XREF_CXo_XOnlineMatchSessionCreate, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(CXo_XOnlineMatchSessionCreate, + 5849) OOVPA_SIG_MATCH( // push ebp diff --git a/src/OOVPADatabase/Xapi/3911.inl b/src/OOVPADatabase/Xapi/3911.inl index 3acbdb7a..a8561aac 100644 --- a/src/OOVPADatabase/Xapi/3911.inl +++ b/src/OOVPADatabase/Xapi/3911.inl @@ -79,8 +79,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 3911 and newer. OOVPA_SIG_HEADER_XREF(CreateMutexA, 3911, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( // call XapiFormatObjectAttributes @@ -103,8 +101,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 3911 and newer. OOVPA_SIG_HEADER_XREF(CreateThread, 3911, - - XREF_XAPI_CreateThread, XRefOne) OOVPA_SIG_MATCH( @@ -153,11 +149,8 @@ OOVPA_SIG_MATCH( // * OutputDebugStringA // ****************************************************************** // Generic OOVPA as of 3911 and newer. -OOVPA_SIG_HEADER_XREF(OutputDebugStringA, - 3911, - - XREF_XAPI_OutputDebugStringA, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(OutputDebugStringA, + 3911) OOVPA_SIG_MATCH( // push ebp @@ -184,8 +177,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 3911 and newer. OOVPA_SIG_HEADER_XREF(OutputDebugStringW, 3911, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -236,8 +227,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 3911 and newer. OOVPA_SIG_HEADER_XREF(XapiBootToDash, 3911, - - XREF_XapiBootToDash, XRefOne) OOVPA_SIG_MATCH( @@ -417,8 +406,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(XID_fCloseDevice, 3911, - - XREF_XID_fCloseDevice, XRefOne) OOVPA_SIG_MATCH( @@ -443,8 +430,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(XInputClose, 3911, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -718,8 +703,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(ConvertThreadToFiber, 3911, - - XRefNoSaveIndex, XRefFour) OOVPA_SIG_MATCH( @@ -860,11 +843,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * XUnmountAlternateTitleA // ****************************************************************** -OOVPA_SIG_HEADER_XREF(XUnmountAlternateTitleA, - 3911, - - XREF_XUnmountAlternateTitleA, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(XUnmountAlternateTitleA, + 3911) OOVPA_SIG_MATCH( { 0x0A, 0x65 }, @@ -882,8 +862,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(XMountMUA, 3911, - - XRefNoSaveIndex, XRefTwo) OOVPA_SIG_MATCH( @@ -924,8 +902,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 3911 and newer. OOVPA_SIG_HEADER_XREF(ExitThread, 3911, - - XRefNoSaveIndex, XRefTwo) OOVPA_SIG_MATCH( @@ -955,11 +931,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * XLaunchNewImageA // ****************************************************************** -OOVPA_SIG_HEADER_XREF(XLaunchNewImageA, - 3911, - - XREF_XLaunchNewImageA, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(XLaunchNewImageA, + 3911) OOVPA_SIG_MATCH( { 0x1E, 0x80 }, @@ -1114,8 +1087,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(XMountMURootA, 3911, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -1137,8 +1108,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 3911 and newer. OOVPA_SIG_HEADER_XREF(XMountUtilityDrive, 3911, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -1335,8 +1304,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 3911 and newer. OOVPA_SIG_HEADER_XREF(XapiThreadStartup, 3911, - - XREF_XapiThreadStartup, XRefTwo) OOVPA_SIG_MATCH( @@ -1372,8 +1339,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 3911 and newer. OOVPA_SIG_HEADER_XREF(MoveFileA, 3911, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -1429,8 +1394,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(XUnmountMU, 3911, - - XRefNoSaveIndex, XRefTwo) OOVPA_SIG_MATCH( @@ -1452,11 +1415,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * MU_Init // ****************************************************************** -OOVPA_SIG_HEADER_XREF(MU_Init, - 3911, - - XREF_MU_Init, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(MU_Init, + 3911) OOVPA_SIG_MATCH( // push ebp @@ -1479,8 +1439,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 3911 and newer. OOVPA_SIG_HEADER_XREF(XapiMapLetterToDirectory, 3911, - - XREF_XapiMapLetterToDirectory, XRefOne) OOVPA_SIG_MATCH( @@ -1507,11 +1465,8 @@ OOVPA_SIG_MATCH( // * IUsbInit::GetMaxDeviceTypeCount // ****************************************************************** // Generic OOVPA as of 3911 and newer. -OOVPA_SIG_HEADER_XREF(IUsbInit_GetMaxDeviceTypeCount, - 3911, - - XREF_IUsbInit_GetMaxDeviceTypeCount, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(IUsbInit_GetMaxDeviceTypeCount, + 3911) OOVPA_SIG_MATCH( // mov edx, [ecx + 0x9C] @@ -1530,11 +1485,8 @@ OOVPA_SIG_MATCH( // * _cinit // ****************************************************************** // Generic OOVPA as of 3911 and newer. -OOVPA_SIG_HEADER_XREF(_cinit, - 3911, - - XREF_XAPI__cinit, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(_cinit, + 3911) OOVPA_SIG_MATCH( // mov eax,[...] @@ -1563,11 +1515,8 @@ OOVPA_SIG_MATCH( // * _rtinit // ****************************************************************** // Generic OOVPA as of 3911 and newer. -OOVPA_SIG_HEADER_XREF(_rtinit, - 3911, - - XREF_XAPI__rtinit, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(_rtinit, + 3911) OOVPA_SIG_MATCH( // push esi; push edi @@ -1595,8 +1544,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 3911 and newer. OOVPA_SIG_HEADER_XREF(GetLastError, 3911, - - XREF_XAPI_GetLastError, XRefThree) OOVPA_SIG_MATCH( @@ -1629,8 +1576,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 3911 and newer. OOVPA_SIG_HEADER_XREF(SetLastError, 3911, - - XREF_XAPI_SetLastError, XRefThree) OOVPA_SIG_MATCH( @@ -1663,7 +1608,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 3911 and newer. OOVPA_SIG_HEADER_XREF(XapiSetLastNTError, 3911, - XREF_XapiSetLastNTError, XRefOne) OOVPA_SIG_MATCH( @@ -1690,8 +1634,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 3911 and newer. OOVPA_SIG_HEADER_XREF(XapiFormatObjectAttributes, 3911, - - XREF_XapiFormatObjectAttributes, XRefOne) OOVPA_SIG_MATCH( @@ -1721,8 +1663,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 3911 and newer. OOVPA_SIG_HEADER_XREF(XapiCallThreadNotifyRoutines, 3911, - - XREF_XapiCallThreadNotifyRoutines, XRefOne) OOVPA_SIG_MATCH( @@ -1751,8 +1691,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(UnhandledExceptionFilter, 3911, - - XREF_XAPI_UnhandledExceptionFilter, XRefOne) OOVPA_SIG_MATCH( @@ -1788,8 +1726,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 3911 and newer. OOVPA_SIG_HEADER_XREF(XapiSelectCachePartition, 3911, - - XREF_XapiSelectCachePartition, XRefTwo) OOVPA_SIG_MATCH( @@ -1827,8 +1763,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(mainXapiStartup, 3911, - - XREF_XAPI_mainXapiStartup, XRefTwo) OOVPA_SIG_MATCH( @@ -1859,8 +1793,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(mainCRTStartup, 3911, - - XRefNoSaveIndex, XRefThree) OOVPA_SIG_MATCH( diff --git a/src/OOVPADatabase/Xapi/4134.inl b/src/OOVPADatabase/Xapi/4134.inl index ef729d0b..11751765 100644 --- a/src/OOVPADatabase/Xapi/4134.inl +++ b/src/OOVPADatabase/Xapi/4134.inl @@ -68,11 +68,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * GetTypeInformation // ****************************************************************** -OOVPA_SIG_HEADER_XREF(GetTypeInformation, - 4134, - - XREF_XAPI_GetTypeInformation, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(GetTypeInformation, + 4134) OOVPA_SIG_MATCH( { 0x00, 0xB8 }, diff --git a/src/OOVPADatabase/Xapi/4242.inl b/src/OOVPADatabase/Xapi/4242.inl index 00eee90b..ebf5a71b 100644 --- a/src/OOVPADatabase/Xapi/4242.inl +++ b/src/OOVPADatabase/Xapi/4242.inl @@ -117,8 +117,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(XMountMUA, 4242, - - XRefNoSaveIndex, XRefTwo) OOVPA_SIG_MATCH( @@ -165,8 +163,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(XMountMURootA, 4242, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -219,8 +215,6 @@ OOVPA_SIG_MATCH( // Generic OOVPA as of 4242 and newer. OOVPA_SIG_HEADER_XREF(XUnmountMU, 4242, - - XRefNoSaveIndex, XRefTwo) OOVPA_SIG_MATCH( @@ -242,11 +236,8 @@ OOVPA_SIG_MATCH( // ****************************************************************** // * MU_Init // ****************************************************************** -OOVPA_SIG_HEADER_XREF(MU_Init, - 4242, - - XREF_MU_Init, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(MU_Init, + 4242) OOVPA_SIG_MATCH( // push ebp diff --git a/src/OOVPADatabase/Xapi/4361.inl b/src/OOVPADatabase/Xapi/4361.inl index 3aef1127..26c99e1f 100644 --- a/src/OOVPADatabase/Xapi/4361.inl +++ b/src/OOVPADatabase/Xapi/4361.inl @@ -105,8 +105,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(mainCRTStartup, 4361, - - XRefNoSaveIndex, XRefThree) OOVPA_SIG_MATCH( diff --git a/src/OOVPADatabase/Xapi/4721.inl b/src/OOVPADatabase/Xapi/4721.inl index 15a97102..fbb07dc7 100644 --- a/src/OOVPADatabase/Xapi/4721.inl +++ b/src/OOVPADatabase/Xapi/4721.inl @@ -26,11 +26,8 @@ // ****************************************************************** // * XLaunchNewImageA // ****************************************************************** -OOVPA_SIG_HEADER_XREF(XLaunchNewImageA, - 4721, - - XREF_XLaunchNewImageA, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(XLaunchNewImageA, + 4721) OOVPA_SIG_MATCH( { 0x03, 0x81 }, diff --git a/src/OOVPADatabase/Xapi/4831.inl b/src/OOVPADatabase/Xapi/4831.inl index 52363336..0cbbd040 100644 --- a/src/OOVPADatabase/Xapi/4831.inl +++ b/src/OOVPADatabase/Xapi/4831.inl @@ -54,8 +54,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(XID_fCloseDevice, 4831, - - XREF_XID_fCloseDevice, XRefOne) OOVPA_SIG_MATCH( @@ -211,8 +209,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(XReadMUMetaData, 4831, - - XRefNoSaveIndex, XRefOne) OOVPA_SIG_MATCH( @@ -234,8 +230,6 @@ OOVPA_SIG_MATCH( // NOTE: 3911 signature is exactly the same at start of offset 0x1F OOVPA_SIG_HEADER_XREF(UnhandledExceptionFilter, 4831, - - XREF_XAPI_UnhandledExceptionFilter, XRefOne) OOVPA_SIG_MATCH( @@ -276,8 +270,6 @@ OOVPA_SIG_MATCH( // ****************************************************************** OOVPA_SIG_HEADER_XREF(mainXapiStartup, 4831, - - XREF_XAPI_mainXapiStartup, XRefTwo) OOVPA_SIG_MATCH( diff --git a/src/OOVPADatabase/Xapi/5233.inl b/src/OOVPADatabase/Xapi/5233.inl index c9da4ab3..ed5d1d46 100644 --- a/src/OOVPADatabase/Xapi/5233.inl +++ b/src/OOVPADatabase/Xapi/5233.inl @@ -25,11 +25,8 @@ // * MU_Init // ****************************************************************** // Generic OOVPA as of 5233 and newer. -OOVPA_SIG_HEADER_XREF(MU_Init, - 5233, - - XREF_MU_Init, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(MU_Init, + 5233) OOVPA_SIG_MATCH( // push ebp diff --git a/src/OOVPADatabase/Xapi/5344.inl b/src/OOVPADatabase/Xapi/5344.inl index a66899af..b60944be 100644 --- a/src/OOVPADatabase/Xapi/5344.inl +++ b/src/OOVPADatabase/Xapi/5344.inl @@ -26,11 +26,8 @@ // ****************************************************************** // * XLaunchNewImageA // ****************************************************************** -OOVPA_SIG_HEADER_XREF(XLaunchNewImageA, - 5344, - - XREF_XLaunchNewImageA, - XRefZero) +OOVPA_SIG_HEADER_NO_XREF(XLaunchNewImageA, + 5344) OOVPA_SIG_MATCH( { 0x00, 0xB8 }, diff --git a/src/OOVPADatabase/Xapi_OOVPA.inl b/src/OOVPADatabase/Xapi_OOVPA.inl index 4dc7587d..4b88dc11 100644 --- a/src/OOVPADatabase/Xapi_OOVPA.inl +++ b/src/OOVPADatabase/Xapi_OOVPA.inl @@ -409,14 +409,16 @@ #include "Xapi/5344.inl" #include "Xapi/5455.inl" +#define REGISTER_OOVPAS_XAPI(Symbol, ...) REGISTER_OOVPAS_PREFIX(XAPI, Symbol, __VA_ARGS__) + // ****************************************************************** // * XAPILIB_OOVPA // ****************************************************************** OOVPATable XAPILIB_OOVPA[] = { // Without xrefs dependency - REGISTER_OOVPAS(_cinit, 3911), // Final generic OOVPA: 3911; Removed: 0 - REGISTER_OOVPAS(_rtinit, 3911), // Final generic OOVPA: 3911; Removed: 0 + REGISTER_OOVPAS_XAPI(_cinit, 3911), // Final generic OOVPA: 3911; Removed: 0 + REGISTER_OOVPAS_XAPI(_rtinit, 3911), // Final generic OOVPA: 3911; Removed: 0 REGISTER_OOVPAS_C(IUsbInit_GetMaxDeviceTypeCount, 3911), REGISTER_OOVPAS(XapiFormatObjectAttributes, 3911), // Final generic OOVPA: 3911; Removed: 0 REGISTER_OOVPAS(XapiCallThreadNotifyRoutines, 3911), // Final generic OOVPA: 3911; Removed: 0 @@ -425,42 +427,42 @@ OOVPATable XAPILIB_OOVPA[] = { REGISTER_OOVPAS(XUnmountAlternateTitleA, 3911), // With xrefs dependency (unorder, need to scan next before order list) - REGISTER_OOVPAS(mainXapiStartup, 3911, 4831), // Final generic OOVPA: 4831; Removed: 0 - REGISTER_OOVPAS(GetLastError, 3911), // Final generic OOVPA: 3911; Removed: 0 - REGISTER_OOVPAS(SetLastError, 3911), // Final generic OOVPA: 3911; Removed: 0 - REGISTER_OOVPAS(UnhandledExceptionFilter, 3911, 4831), // Final generic OOVPA: 4831 Removed: 0 + REGISTER_OOVPAS_XAPI(mainXapiStartup, 3911, 4831), // Final generic OOVPA: 4831; Removed: 0 + REGISTER_OOVPAS_XAPI(GetLastError, 3911), // Final generic OOVPA: 3911; Removed: 0 + REGISTER_OOVPAS_XAPI(SetLastError, 3911), // Final generic OOVPA: 3911; Removed: 0 + REGISTER_OOVPAS_XAPI(UnhandledExceptionFilter, 3911, 4831), // Final generic OOVPA: 4831 Removed: 0 REGISTER_OOVPAS(XapiBootToDash, 3911), // Final generic OOVPA: 3911; Removed: 0 REGISTER_OOVPAS(XapiSelectCachePartition, 3911), // Final generic OOVPA: 3911; Removed: 0 REGISTER_OOVPAS(XapiSetLastNTError, 3911), // Final generic OOVPA: 3911; Removed: 0 REGISTER_OOVPAS(XapiThreadStartup, 3911), // Final generic OOVPA: 3911; Removed: 0 // With xrefs dependency (order) - REGISTER_OOVPAS(CreateMutexA, 3911), // Final generic OOVPA: 3911; Removed: 0 - REGISTER_OOVPAS(CreateThread, 3911), // Final generic OOVPA: 3911; Removed: 0 - REGISTER_OOVPAS(ExitThread, 3911), // Final generic OOVPA: 3911; Removed: 0 - REGISTER_OOVPAS(MoveFileA, 3911), // Final generic OOVPA: 3911; Removed: 0 - REGISTER_OOVPAS(SwitchToThread, 3911), // Final generic OOVPA: 3911; Removed: 0 + REGISTER_OOVPAS_XAPI(CreateMutexA, 3911), // Final generic OOVPA: 3911; Removed: 0 + REGISTER_OOVPAS_XAPI(CreateThread, 3911), // Final generic OOVPA: 3911; Removed: 0 + REGISTER_OOVPAS_XAPI(ExitThread, 3911), // Final generic OOVPA: 3911; Removed: 0 + REGISTER_OOVPAS_XAPI(MoveFileA, 3911), // Final generic OOVPA: 3911; Removed: 0 + REGISTER_OOVPAS_XAPI(SwitchToThread, 3911), // Final generic OOVPA: 3911; Removed: 0 REGISTER_OOVPAS(XapiInitProcess, 3911, 3950, 4242, 4831, 5028), // obsolete, Too High Level (from 4721's comment) - REGISTER_OOVPAS(ConvertThreadToFiber, 3911), // Final generic OOVPA: 3911; Removed: 0 + REGISTER_OOVPAS_XAPI(ConvertThreadToFiber, 3911), // Final generic OOVPA: 3911; Removed: 0 REGISTER_OOVPAS(XCalculateSignatureBegin, 3911, 4034), // Final generic OOVPA: ????; Removed: 0 // TODO: need verification for 4034 against 3950 and lower. - REGISTER_OOVPAS(CreateFiber, 3911), - REGISTER_OOVPAS(DeleteFiber, 3911), - REGISTER_OOVPAS(GetExitCodeThread, 3911), // Final generic OOVPA: 3911; Removed: 0 - REGISTER_OOVPAS(GetOverlappedResult, 3911), - REGISTER_OOVPAS(GetThreadPriority, 3911), - REGISTER_OOVPAS(GetTimeZoneInformation, 3911), - REGISTER_OOVPAS(GetTypeInformation, 4134), // TODO: Actually introduced in some unknown XDK between 4134 and 4361 + REGISTER_OOVPAS_XAPI(CreateFiber, 3911), + REGISTER_OOVPAS_XAPI(DeleteFiber, 3911), + REGISTER_OOVPAS_XAPI(GetExitCodeThread, 3911), // Final generic OOVPA: 3911; Removed: 0 + REGISTER_OOVPAS_XAPI(GetOverlappedResult, 3911), + REGISTER_OOVPAS_XAPI(GetThreadPriority, 3911), + REGISTER_OOVPAS_XAPI(GetTimeZoneInformation, 3911), + REGISTER_OOVPAS_XAPI(GetTypeInformation, 4134), // TODO: Actually introduced in some unknown XDK between 4134 and 4361 REGISTER_OOVPAS_M(MU_Init, 3911, 4242, 5233), - REGISTER_OOVPAS(OutputDebugStringA, 3911), // Final generic OOVPA: 3911; Removed: 0 - REGISTER_OOVPAS(OutputDebugStringW, 3911), // Final generic OOVPA: 3911; Removed: 0 - REGISTER_OOVPAS(mainCRTStartup, 3911, 4361), // Final generic OOVPA: 4361; Removed: 0 - REGISTER_OOVPAS(QueueUserAPC, 3911), - REGISTER_OOVPAS(QueryPerformanceCounter, 3911), - REGISTER_OOVPAS(RaiseException, 3911), - REGISTER_OOVPAS(SetThreadPriority, 3911), - REGISTER_OOVPAS(SetThreadPriorityBoost, 3911), - REGISTER_OOVPAS(SignalObjectAndWait, 3911), - REGISTER_OOVPAS(SwitchToFiber, 3911), + REGISTER_OOVPAS_XAPI(OutputDebugStringA, 3911), // Final generic OOVPA: 3911; Removed: 0 + REGISTER_OOVPAS_XAPI(OutputDebugStringW, 3911), // Final generic OOVPA: 3911; Removed: 0 + REGISTER_OOVPAS_XAPI(mainCRTStartup, 3911, 4361), // Final generic OOVPA: 4361; Removed: 0 + REGISTER_OOVPAS_XAPI(QueueUserAPC, 3911), + REGISTER_OOVPAS_XAPI(QueryPerformanceCounter, 3911), + REGISTER_OOVPAS_XAPI(RaiseException, 3911), + REGISTER_OOVPAS_XAPI(SetThreadPriority, 3911), + REGISTER_OOVPAS_XAPI(SetThreadPriorityBoost, 3911), + REGISTER_OOVPAS_XAPI(SignalObjectAndWait, 3911), + REGISTER_OOVPAS_XAPI(SwitchToFiber, 3911), REGISTER_OOVPAS(XAutoPowerDownResetTimer, 3911), // Just calls KeSetTimer (from 3911's comment) REGISTER_OOVPAS(XFormatUtilityDrive, 4242), REGISTER_OOVPAS(XGetDeviceChanges, 3911), // Final generic OOVPA: 3911; Removed: 0 @@ -485,8 +487,8 @@ OOVPATable XAPILIB_OOVPA[] = { REGISTER_OOVPAS(XSetProcessQuantumLength, 4134), REGISTER_OOVPAS(XUnmountMU, 3911, 4242), REGISTER_OOVPAS(XapiFiberStartup, 3911), - REGISTER_OOVPAS(timeKillEvent, 3911), - REGISTER_OOVPAS(timeSetEvent, 3911), + REGISTER_OOVPAS_XAPI(timeKillEvent, 3911), + REGISTER_OOVPAS_XAPI(timeSetEvent, 3911), }; diff --git a/src/lib/internal_db_version.h b/src/lib/internal_db_version.h new file mode 100644 index 00000000..9753b0bb --- /dev/null +++ b/src/lib/internal_db_version.h @@ -0,0 +1,85 @@ +// This is an open source non-commercial project. Dear PVS-Studio, please check it. +// PVS-Studio Static Code Analyzer for C, C++ and C#: http://www.viva64.com +// ****************************************************************** +// * +// * XbSymbolDatabase is free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +// * +// * All rights reserved +// * +// ****************************************************************** +#pragma once + +// ****************************************************************** +// * Used for XbSymbolDatabase_LibraryVersion +// ****************************************************************** + +// Adapted from https://gist.github.com/underscorediscovery/81308642d0325fd386237cfa3b44785c +#define fnv1aprime 0x1000193; +void hash_fnv1a(unsigned int* hash, const void* key, const size_t len) +{ + const char* data = (char*)key; + for (unsigned int i = 0; i < len; ++i) { + unsigned char value = data[i]; + *hash ^= value; + *hash *= fnv1aprime; + } +} + +void HashAssumedLOOVPA(unsigned int* Hash, const OOVPA* pAssumedLOOVPA) +{ + // Number of offset-value pairs in the "Header" LOOVPA structure + unsigned int Size = pAssumedLOOVPA->Count * sizeof(LOVP); + + // Size of "Header" structure + Size += sizeof(OOVPA); + + // Part 1: The array of OOVPA::LOVP items + hash_fnv1a(Hash, pAssumedLOOVPA, Size); +} + +void HashOOVPATable(unsigned int* Hash, const OOVPATable* pTable) +{ + // Part 1: function name string + if (pTable->szFuncName != NULL) { + hash_fnv1a(Hash, pTable->szFuncName, strlen(pTable->szFuncName)); + } + + for (unsigned i = 0; i < pTable->count; i++) { + // Part 2: version number + hash_fnv1a(Hash, &pTable->revisions[i].Version, sizeof(pTable->revisions[i].Version)); + + // Part 3: LOOVPA + if (pTable->revisions[i].Oovpa) { + HashAssumedLOOVPA(Hash, pTable->revisions[i].Oovpa); + } + } +} + +void HashSymbolData(unsigned int* Hash, SymbolDatabaseList* pData) +{ + for (unsigned int i = 0; i < pData->SymbolsTableCount; ++i) { + HashOOVPATable(Hash, &pData->SymbolsTable[i]); + } +} + +const unsigned int HashSymbolDataArray(SymbolDatabaseList* pDataArray, unsigned int Count) +{ + unsigned int Hash = 0x811c9dc5; + for (unsigned int i = 0; i < Count; ++i) { + HashSymbolData(&Hash, pDataArray + i); + } + return Hash; +} diff --git a/src/lib/internal_functions.h b/src/lib/internal_functions.h new file mode 100644 index 00000000..aaf5e710 --- /dev/null +++ b/src/lib/internal_functions.h @@ -0,0 +1,617 @@ +// This is an open source non-commercial project. Dear PVS-Studio, please check it. +// PVS-Studio Static Code Analyzer for C, C++ and C#: http://www.viva64.com +// ****************************************************************** +// * +// * XbSymbolDatabase is free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +// * +// * All rights reserved +// * +// ****************************************************************** +#pragma once + +// ****************************************************************** +// * internal functions designed for XbSymbolDatabase purpose +// ****************************************************************** + +static SymbolDatabaseList* internal_FindLibraryDB(uint32_t library_flag, unsigned* db_i) +{ + unsigned db = *db_i; + for (; db < SymbolDBListCount; db++) { + // Check if library flag match then return symbol database. + if ((library_flag & SymbolDBList[db].LibSec.library) > 0) { + *db_i = db; + return &SymbolDBList[db]; + } + } + *db_i = db; + return NULL; +} + +// NOTE: PatrickvL state the arguments are named differently and the function does something that has another meaning, +// the implementation could be changed if the need ever arises. +static inline void GetXRefEntry(OOVPA* oovpa, int index, uint32_t* xref_out, uint16_t* offset_out) +{ + *xref_out = (unsigned int)((LOOVPA*)oovpa)->Lovp[index].xref.index; + *offset_out = ((LOOVPA*)oovpa)->Lovp[index].offset; +} + +static inline void GetOovpaEntry(OOVPA* oovpa, int index, uint32_t* offset_out, uint8_t* value_out) +{ + *offset_out = (unsigned int)((LOOVPA*)oovpa)->Lovp[index].offset; + *value_out = (uint8_t)((LOOVPA*)oovpa)->Lovp[index].value; +} + +static inline bool MatchXRefAddr(memptr_t cur, uintptr_t xb_start_virt_addr, xbaddr XRefAddr) +{ + xbaddr ActualAddr = *(xbaddr*)(cur); + // check if PC-relative or direct reference matches XRef + if ((ActualAddr + (xbaddr)((uintptr_t)cur - xb_start_virt_addr) + 4 != XRefAddr) && (ActualAddr != XRefAddr)) + return false; + + return true; +} + +static bool CompareOOVPAToAddress(iXbSymbolContext* pContext, OOVPA* Oovpa, memptr_t cur, uintptr_t xb_start_virt_addr) +{ + uint32_t v = 0; // verification counter + + // Check all XRefs, stop if any does not match + for (; v < Oovpa->XRefCount; v++) { + uint32_t XRef; + uint16_t Offset; + + // get currently registered (un)known address + GetXRefEntry(Oovpa, v, &XRef, &Offset); + xbaddr XRefAddr = pContext->xref_database[XRef]; + // Undetermined XRef cannot be checked yet + // (XbSymbolLocateFunction already checked this, but this check + // is cheap enough to keep, and keep this function generic). + if (XRefAddr == XREF_ADDR_UNDETERMINED) + return false; + + // Don't verify an xref that has to be (but isn't yet) derived + if (XRefAddr == XREF_ADDR_DERIVE) + continue; + + // check if PC-relative or direct reference matches XRef + if (!MatchXRefAddr(cur + Offset, xb_start_virt_addr, XRefAddr)) + return false; + } + + // Check all (Offset,Value)-pairs, stop if any does not match + for (; v < Oovpa->Count; v++) { + uint32_t Offset; + uint8_t ExpectedValue; + + // get offset + value pair + GetOovpaEntry(Oovpa, v, &Offset, &ExpectedValue); + uint8_t ActualValue = *(uint8_t*)(cur + Offset); + if (ActualValue != ExpectedValue) + return false; + } + + // all offsets matched + return true; +} + +// Return if the given (XRef'erenced) is not set yet. +static inline bool internal_IsXRefUnset(uint16_t XRef) +{ + return (XRef == (uint16_t)XREF_ADDR_UNDETERMINED) || (XRef == XREF_ADDR_DERIVE); +} + +// Return if the given (XRef'erenced) address is not set yet. +static inline bool internal_IsXRefAddrUnset(xbaddr XRefAddr) +{ + return (XRefAddr == XREF_ADDR_UNDETERMINED) || (XRefAddr == XREF_ADDR_DERIVE); +} + +// Return if the given (XRef'erenced) address is valid. +static bool internal_IsXRefAddrValid(xbaddr XRefAddr) +{ + return (XRefAddr + 1) > (XREF_ADDR_DERIVE + 1); // Implies also not equal to XREF_ADDR_UNDETERMINED (-1) nor XREF_ADDR_NOT_FOUND (0) +} + +static xbaddr internal_OOVPARevision_ConvertXRefRelativeAddrtToVirtAddr(iXbSymbolContext* pContext, + const OOVPATable* pSymbol, + const OOVPARevision* pRevision, + const char* xref_str, + XRefDatabaseOffset xref_target) +{ + if (pRevision->Oovpa->XRefCount == 0) { + // Should not be triggered when there is no xref listed. + output_message_format(&pContext->output, XB_OUTPUT_MESSAGE_ERROR, "%s (%hu) signature cannot have zero XRefCount when calling %s!", pSymbol->szFuncName, pRevision->Version, __func__); + return 0; + } + + xbaddr virt_start_addr = pContext->xref_database[pSymbol->xref]; + + LOVP* lovp = ((LOOVPA*)pRevision->Oovpa)->Lovp; + int offset = -1; + for (unsigned i = 0; i < pRevision->Oovpa->XRefCount; i++) { + if (lovp->xref.index == xref_target) { + offset = lovp->offset; + break; + } + } + + if (offset == -1) { + // If no match is found, then contributor need to verify both OOVPA revision and xref index are correct. + output_message_format(&pContext->output, XB_OUTPUT_MESSAGE_ERROR, "%s (%hu) signature does not have %s's xref entry!", pSymbol->szFuncName, pRevision->Version, xref_str); + return 0; + } + + virt_start_addr += offset + pContext->xref_database[xref_target] + 4 /*32 bit size of address space range */; + + return virt_start_addr; +} + +// Obligatory function for setting an address in the XRefDataBase +// (only initialization may write to XRefDataBase outside of this function). +static inline void internal_SetXRefDatabase(iXbSymbolContext* pContext, eLibraryType iLibraryType, uint32_t XRef, xbaddr XRefAddr) +{ + // Count when changing from an initial value to a valid value + if (internal_IsXRefAddrUnset(pContext->xref_database[XRef])) { + pContext->library_contexts[iLibraryType].xref_registered++; + } + pContext->xref_database[XRef] = XRefAddr; // Besides initialization, this is the only code that writes values to XRefDataBase +} + +// locate the given function, searching within lower and upper bounds +static void* internal_LocateFunction(iXbSymbolContext* pContext, + eLibraryType iLibraryType, + const char* szFuncName, + uint16_t version, + OOVPA* Oovpa, + const XbSDBSection* pSection, + bool xref_first_pass) +{ + memptr_t buffer_upper = (memptr_t)pSection->buffer_lower + pSection->buffer_size; + uintptr_t virt_start_relative = (uintptr_t)pSection->buffer_lower - pSection->xb_virt_addr; + + // skip out if this is an unnecessary search + if (!xref_first_pass && Oovpa->XRefCount == XRefZero) + return 0; + + uint32_t derive_indices = 0; + void* symbol_address = NULL; + + // Check all XRefs are known (if not, don't do a useless scan) : + for (unsigned int v = 0; v < Oovpa->XRefCount; v++) { + uint32_t XRef; + uint16_t Offset; + + // get currently registered (un)known address + GetXRefEntry(Oovpa, v, &XRef, &Offset); + xbaddr XRefAddr = pContext->xref_database[XRef]; + // Undetermined XRef cannot be checked yet + if (XRefAddr == XREF_ADDR_UNDETERMINED) + // Skip this scan over the address range + return 0; + + // Don't verify an xref that has to be (but isn't yet) derived + if (XRefAddr == XREF_ADDR_DERIVE) { + // Mark (up to index 32) which xref needs to be derived + derive_indices |= (1 << v); + continue; + } + } + + // correct upper bound with highest Oovpa offset + uint32_t count = Oovpa->Count; + { + uint32_t Offset; + uint8_t Value; // ignored + + GetOovpaEntry(Oovpa, count - 1, &Offset, &Value); + buffer_upper -= Offset; + } + + // + unsigned int detect_selection = Oovpa->DetectSelect; + unsigned int counter = 0; + + // search all of the buffer memory range + for (memptr_t cur = pSection->buffer_lower; cur < buffer_upper; cur++) { + if (CompareOOVPAToAddress(pContext, Oovpa, cur, virt_start_relative)) { + + // Increase the counter whenever detected address is found. + counter++; + + while (derive_indices > 0) { + uint32_t XRef; + uint16_t Offset; + uint32_t derive_index; + + // Extract an index from the indices mask + derive_index = BitScanReverse(derive_indices); + derive_indices ^= (1 << derive_index); + + // get currently registered (un)known address + GetXRefEntry(Oovpa, derive_index, &XRef, &Offset); + + // Calculate the address where the XRef resides and read the address it points to + uint32_t XRefAddr = *(uint32_t*)(cur + Offset); + + // NOTE: Commented out code belows are no longer valid since we are using lower and upper passdown only. + + /* For now assume it's a direct reference; + // TODO : Check if it's PC-relative reference? + if (XRefAddr + cur + Offset + 4 < XBE_MAX_VA) + XRefAddr = XRefAddr + cur + Offset + 4; + */ + + // Does the address seem valid? + /*if (XRefAddr < XBE_MAX_VA) { + // save and count the derived address + SetXRefDataBase(pContext, XRef, XRefAddr); + }*/ + + // Check if selection is default (zero) then perform the standard procedure. + if (detect_selection == 0) { + if (!pContext->scan_first_detect || (pContext->scan_first_detect && symbol_address == NULL)) { + internal_SetXRefDatabase(pContext, iLibraryType, XRef, XRefAddr); + } + } + // Otherwise, perform a detected selection procedure. + else { + // If counter match the target selection, then save the ref address. + if (detect_selection == counter) { + internal_SetXRefDatabase(pContext, iLibraryType, XRef, XRefAddr); + } + } + } + + // Check if selection is default (zero) then perform the standard procedure. + if (detect_selection == 0) { + + if (symbol_address != NULL) { + output_message_format(&pContext->output, XB_OUTPUT_MESSAGE_WARN, + "Duplicate symbol detection found for %s (%hu), 0x%08x vs 0x%08x", + szFuncName, version, symbol_address, cur - virt_start_relative); + } + + if (!pContext->scan_first_detect || (pContext->scan_first_detect && symbol_address == NULL)) { + symbol_address = cur - virt_start_relative; + } + + if (pContext->one_time_scan) { + break; + } + } + // Otherwise, perform a detected selection procedure. + else { + // If counter match the detected selection, then perform a force break here + // with address set. + if (detect_selection == counter) { + symbol_address = cur - virt_start_relative; + + if (pContext->one_time_scan) { + break; + } + } + // Otherwise, let's log debug info about what is skipped address detection. + else { + output_message_format(&pContext->output, XB_OUTPUT_MESSAGE_DEBUG, + "Skipped symbol detection found for %s (%hu), 0x%08x", + szFuncName, version, cur - virt_start_relative); + } + } + } + } + + return symbol_address; +} + +#define LocateFunctionCast(pContext, iLibraryType, szFuncName, version, Oovpa, pSection) \ + internal_LocateFunction(pContext, iLibraryType, szFuncName, version, (OOVPA*)Oovpa, pSection, false) + +// NOTE: Do not use direct call to this function. Use internal_RegisterValidXRefAddr_M macro instead. +static void internal_RegisterValidXRefAddr(iXbSymbolContext* pContext, + const char* library_name, + uint32_t library_flag, + uint32_t XRefIndex, + uint16_t version, + const char* symbol_name) +{ + xbaddr xSymbolAddr = pContext->xref_database[XRefIndex]; + + if (internal_IsXRefAddrValid(xSymbolAddr)) { + pContext->register_func(library_name, library_flag, symbol_name, xSymbolAddr, version); + } +} + +// Always use this to be aware of manual register xrefs such as variables. +#define internal_RegisterValidXRefAddr_M(...) \ + SYMBOL_COUNTER_VALUE; \ + internal_RegisterValidXRefAddr(__VA_ARGS__); + +static void internal_RegisterXRef(iXbSymbolContext* pContext, + const iXbSymbolLibrarySession* pLibrarySession, + uint32_t XRefIndex, + uint16_t version, + const char* symbol_name, + uint32_t symbol_addr, + bool do_register) +{ + const XbSDBLibrary* pLibrary = pLibrarySession->pLibrary; + xbaddr xRefAddr = pContext->xref_database[XRefIndex]; + + if (internal_IsXRefAddrValid(xRefAddr)) { + + if (pContext->xref_database[XRefIndex] != symbol_addr) { + output_message_format(&pContext->output, XB_OUTPUT_MESSAGE_WARN, + "Duplicate XREF address found for %s (%hu), %08X vs %08X!", + symbol_name, version, xRefAddr, symbol_addr); + } + + if (pContext->scan_first_detect) { + return; + } + } + + internal_SetXRefDatabase(pContext, pLibrarySession->iLibraryType, XRefIndex, symbol_addr); + if (do_register && pContext->register_func != NULL) { + pContext->register_func(pLibrary->name, pLibrary->flag, symbol_name, symbol_addr, version); + } +} + +// (Old / Manual) method +static void internal_RegisterSymbolManual(iXbSymbolContext* pContext, + const iXbSymbolLibrarySession* pLibrarySession, + const XRefDatabaseOffset xref, + uint16_t version, + const char* symbol_name, + uint32_t symbol_addr) +{ + const XbSDBLibrary* pLibrary = pLibrarySession->pLibrary; + + // If XRef is not found, save it then register once. + if (pContext->xref_database[xref] == XREF_ADDR_UNDETERMINED) { + internal_SetXRefDatabase(pContext, pLibrarySession->iLibraryType, xref, symbol_addr); + if (pContext->register_func != NULL) { + pContext->register_func(pLibrary->name, pLibrary->flag, symbol_name, symbol_addr, version); + } + } +} + +// Use _M suffix only, if OOVPA signature is not in database. +#define internal_RegisterSymbol_M(...) \ + SYMBOL_COUNTER_VALUE; \ + internal_RegisterSymbolManual(__VA_ARGS__); + +// New method +static void internal_RegisterSymbol(iXbSymbolContext* pContext, + const iXbSymbolLibrarySession* pLibrarySession, + const OOVPATable* pSymbol, + uint16_t version, + uint32_t symbol_addr) +{ + // forward to internal_RegisterSymbolManual to avoid need to copy paste between two identical functions. + internal_RegisterSymbolManual(pContext, pLibrarySession, pSymbol->xref, version, pSymbol->szFuncName, symbol_addr); +} + + +static OOVPATable* internal_OOVPATable_FindSymbolFunction(SymbolDatabaseList* LibraryDB, const char* szFuncName, unsigned scan_type) +{ + for (unsigned i = 0; i < LibraryDB->SymbolsTableCount; i++) { + + // Intended for optimization purpose without need to search every single symbol's string. + if ((scan_type & LibraryDB->SymbolsTable[i].scan_type) == 0) { + continue; + } + + if (strcmp(szFuncName, LibraryDB->SymbolsTable[i].szFuncName) == 0) { + return &LibraryDB->SymbolsTable[i]; + } + } + return NULL; +} + +static void internal_OOVPATable_scan(iXbSymbolContext* pContext, + const iXbSymbolLibrarySession* pLibrarySession, + const XbSDBSection* pSection, + bool xref_first_pass, + const OOVPATable* pSymbol, + OOVPARevision** pRevisionReturn, + void** pFuncReturn) +{ + const XbSDBLibrary* pLibrary = pLibrarySession->pLibrary; + const eLibraryType iLibraryType = pLibrarySession->iLibraryType; + + OOVPARevision* pLastKnownRevision = NULL; + void* pLastKnownFunc = 0; + + for (unsigned i = 0; i < pSymbol->count; i++) { + OOVPARevision* pRevision = &pSymbol->revisions[i]; + + // Skip higher build version + if (pContext->strict_build_version_limit && pLibrary->build_version < pRevision->Version) + continue; + + // Search for each function's location using the OOVPA + void* pFunc = internal_LocateFunction(pContext, iLibraryType, pSymbol->szFuncName, pRevision->Version, pRevision->Oovpa, pSection, xref_first_pass); + if (pFunc == 0) { + continue; + } + + if (pFunc == pLastKnownFunc && pLastKnownRevision == pRevision - 1) { + output_message_format(&pContext->output, XB_OUTPUT_MESSAGE_WARN, + "Duplicate OOVPA signature found for %s, %hu vs %hu!", + pSymbol->szFuncName, pLastKnownRevision->Version, pRevision->Version); + } + + if (pLibrary->build_version < pRevision->Version) { + output_message_format(&pContext->output, XB_OUTPUT_MESSAGE_WARN, + "OOVPA signature is too high for [%hu] %s!", + pRevision->Version, pSymbol->szFuncName); + } + + pLastKnownFunc = pFunc; + pLastKnownRevision = pRevision; + } + + *pFuncReturn = pLastKnownFunc; + *pRevisionReturn = pLastKnownRevision; +} + +static void internal_OOVPA_register(iXbSymbolContext* pContext, + const OOVPATable* Symbol, + const OOVPARevision* OovpaRevision, + const iXbSymbolLibrarySession* pLibrarySession, + xbaddr address) +{ + if (OovpaRevision != NULL) { + + internal_RegisterSymbol(pContext, pLibrarySession, Symbol, OovpaRevision->Version, address); + } +} + +static void internal_OOVPA_scan(iXbSymbolContext* pContext, + OOVPATable* SymbolsTable, + unsigned int SymbolsTableCount, + const iXbSymbolLibrarySession* pLibrarySession, + const XbSDBSection* pSection, + bool xref_first_pass) +{ + const XbSDBLibrary* pLibrary = pLibrarySession->pLibrary; + const eLibraryType iLibraryType = pLibrarySession->iLibraryType; + + // traverse the full OOVPA table + OOVPATable* pSymbolEnd = &SymbolsTable[SymbolsTableCount]; + OOVPATable* pSymbol = SymbolsTable; + + for (; pSymbol < pSymbolEnd; pSymbol++) { + + // We only want to do normal scan process. + // If there's a symbol require manual scan, skip it. + // Since manual scan is performed separately. + if ((pSymbol->scan_type & DB_ST_AUTO) == 0) { + continue; + } + + OOVPARevision* pLastKnownRevision = NULL; + void* pLastKnownFunc = 0; + + internal_OOVPATable_scan(pContext, + pLibrarySession, + pSection, + xref_first_pass, + pSymbol, + &pLastKnownRevision, + &pLastKnownFunc); + + if (pLastKnownRevision != NULL) { + internal_OOVPA_register(pContext, pSymbol, pLastKnownRevision, pLibrarySession, (xbaddr)(uintptr_t)pLastKnownFunc); + } + } +} + +// Intended design for manual scan without register. Could be expand +static void* internal_LocateSymbolFunction(iXbSymbolContext* pContext, + const iXbSymbolLibrarySession* pLibrarySession, + SymbolDatabaseList* pLibraryDB, + const char* szFuncName, + const XbSDBSection* pSection, + bool xref_first_pass, + OOVPATable** pSymbol, + OOVPARevision** pOOVPARevision) +{ + void* pFunc = 0; + OOVPARevision* pRevisionLocal = NULL; + OOVPATable* pSymbolLocal = internal_OOVPATable_FindSymbolFunction(pLibraryDB, szFuncName, DB_ST_MANUAL); + + if (pSymbolLocal) { + internal_OOVPATable_scan(pContext, + pLibrarySession, + pSection, + xref_first_pass, + pSymbolLocal, + &pRevisionLocal, + &pFunc); + } + + if (pSymbol) { + *pSymbol = pSymbolLocal; + } + + if (pOOVPARevision) { + *pOOVPARevision = pRevisionLocal; + } + return pFunc; +} + +static eLibraryType internal_GetLibraryType(uint32_t library) +{ + switch (library) { + default: + return LT_UNKNOWN; + case XbSymbolLib_D3D8: + case XbSymbolLib_D3D8LTCG: + return LT_D3D; + case XbSymbolLib_DSOUND: + case XbSymbolLib_XACTENG: + return LT_AUDIO; + case XbSymbolLib_JVS: + return LT_JVS; + case XbSymbolLib_XAPILIB: + return LT_XAPI; + case XbSymbolLib_XGRAPHC: + return LT_GRAPHIC; + case XbSymbolLib_XONLINE: + case XbSymbolLib_XONLINES: + case XbSymbolLib_XNET: + case XbSymbolLib_XNETS: + case XbSymbolLib_XNETN: + return LT_NETWORK; + } +} + +static bool internal_SetLibraryTypeStart(iXbSymbolContext* pContext, eLibraryType library_type) +{ + if (!iXbSymbolContext_AllowScanLibrary(pContext)) { + return false; + } + + bool ret = false; + + // Accept request if library type is known and is inactive. + if (library_type < LT_UNKNOWN && !pContext->library_contexts[library_type].is_active) { + // Then accept the scan request. + pContext->library_contexts[library_type].is_active = true; + ret = true; + output_message_format(&pContext->output, XB_OUTPUT_MESSAGE_DEBUG, "Library type active: %u", library_type); + } + + iXbSymbolContext_Unlock(pContext); + + return ret; +} + +static void internal_SetLibraryTypeEnd(iXbSymbolContext* pContext, eLibraryType library_type) +{ + (void)iXbSymbolContext_Lock(pContext); + + // If library is active, deny the scan request. + if (!pContext->library_contexts[library_type].is_active) { + output_message_format(&pContext->output, XB_OUTPUT_MESSAGE_ERROR, "Attempted to set already inactive library type %u.", library_type); + } + + pContext->library_contexts[library_type].is_active = false; + output_message_format(&pContext->output, XB_OUTPUT_MESSAGE_DEBUG, "Library type inactive: %u", library_type); + + iXbSymbolContext_Unlock(pContext); +} diff --git a/src/lib/internal_tests.h b/src/lib/internal_tests.h new file mode 100644 index 00000000..1bb22365 --- /dev/null +++ b/src/lib/internal_tests.h @@ -0,0 +1,297 @@ +// This is an open source non-commercial project. Dear PVS-Studio, please check it. +// PVS-Studio Static Code Analyzer for C, C++ and C#: http://www.viva64.com +// ****************************************************************** +// * +// * XbSymbolDatabase is free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +// * +// * All rights reserved +// * +// ****************************************************************** +#pragma once + +// ****************************************************************** +// * Used for XbSymbolDatabase_TestOOVPAs +// ****************************************************************** + +typedef struct _SymbolDatabaseVerifyContextUniform { + SymbolDatabaseList* data; + OOVPA* oovpa; + uint32_t symbol_index; + uint32_t revision_index; +} SymbolDatabaseVerifyContextUniform; + +typedef struct _SymbolDatabaseVerifyContext { + SymbolDatabaseVerifyContextUniform main; + SymbolDatabaseVerifyContextUniform against; + OutputHandler output; +} SymbolDatabaseVerifyContext; + +static int OOVPAErrorString(char* bufferTemp, SymbolDatabaseList* data, OOVPATable* symbol, uint32_t index) +{ + // Convert active data pointer to an index base on starting point of SymbolDBList. + unsigned int db_index = (unsigned int)(data - SymbolDBList); + // Convert active symbol pointer to an index base on starting point of SymbolsTable. + unsigned int sym_index = (unsigned int)(symbol - data->SymbolsTable); + + return sprintf(bufferTemp, "OOVPATable db=%2u, i=[%4u], b=%4hu s=%s[%4u]", db_index, sym_index, symbol->revisions[index].Version, symbol->szFuncName, index); +} + +static void SymbolDatabaseVerifyContext_OOVPAError(SymbolDatabaseVerifyContext* context, char* format, ...) +{ + char buffer[2048] = { 0 }; + static char bufferTemp[400] = { 0 }; + int ret_str_count; + + if (context->main.data != NULL) { + + ret_str_count = OOVPAErrorString(bufferTemp, context->main.data, context->main.data->SymbolsTable + context->main.symbol_index, context->main.revision_index); + (void)strncat(buffer, bufferTemp, ret_str_count); + } + + if (context->against.oovpa != NULL && context->against.data != NULL) { + (void)strcat(buffer, ", comparing against "); + + ret_str_count = OOVPAErrorString(bufferTemp, context->against.data, context->against.data->SymbolsTable + context->against.symbol_index, context->against.revision_index); + (void)strncat(buffer, bufferTemp, ret_str_count); + } + + // format specific error message + va_list args; + va_start(args, format); + ret_str_count = vsprintf(bufferTemp, format, args); + va_end(args); + + + (void)strcat(buffer, " : "); + (void)strncat(buffer, bufferTemp, ret_str_count); + + output_message(&context->output, XB_OUTPUT_MESSAGE_ERROR, buffer); +} + +static unsigned int SymbolDatabaseVerifyContext_VerifyDatabaseList(SymbolDatabaseVerifyContext* context); // forward + +static unsigned int SymbolDatabaseVerifyContext_VerifyOOVPA(SymbolDatabaseVerifyContext* context, OOVPA* oovpa) +{ + unsigned int error_count = 0; + + if (context->against.oovpa == NULL) { + // TODO : verify XRefSaveIndex and XRef's (how?) + + // verify offsets are in increasing order + uint32_t prev_offset; + uint8_t dummy_value; + GetOovpaEntry(oovpa, oovpa->XRefCount, &prev_offset, &dummy_value); + for (int p = oovpa->XRefCount + 1; p < oovpa->Count; p++) { + uint32_t curr_offset; + GetOovpaEntry(oovpa, p, &curr_offset, &dummy_value); + + if (!(curr_offset > prev_offset)) { + error_count++; + SymbolDatabaseVerifyContext_OOVPAError(context, + "Lovp[%2u] : Offset (0x%03x) must be larger then previous offset (0x%03x)", + p, curr_offset, prev_offset); + } + prev_offset = curr_offset; + } + + // find duplicate OOVPA's across all other data-table-oovpa's + context->main.oovpa = oovpa; + context->against.oovpa = oovpa; + error_count += SymbolDatabaseVerifyContext_VerifyDatabaseList(context); + context->against.oovpa = NULL; // reset scanning state + return error_count; + } + + // prevent checking an oovpa against itself + if ((&context->main.data->SymbolsTable[context->main.symbol_index].revisions + context->main.revision_index) == + (&context->against.data->SymbolsTable[context->against.symbol_index].revisions + context->against.revision_index)) { + return error_count; + } + + // compare {Offset, Value}-pairs between two OOVPA's + OOVPA *left = context->against.oovpa, *right = oovpa; + int l = 0, r = 0; + uint32_t left_offset, right_offset; + uint8_t left_value, right_value; + GetOovpaEntry(left, l, &left_offset, &left_value); + GetOovpaEntry(right, r, &right_offset, &right_value); + int unique_offset_left = 0; + int unique_offset_right = 0; + int equal_offset_value = 0; + int equal_offset_different_value = 0; + + while (true) { + bool left_next = true; + bool right_next = true; + + if (left_offset < right_offset) { + unique_offset_left++; + right_next = false; + } + else if (left_offset > right_offset) { + unique_offset_right++; + left_next = false; + } + else if (left_value == right_value) { + equal_offset_value++; + } + else { + equal_offset_different_value++; + } + + // increment r before use (in left_next) + if (right_next) { + r++; + } + + if (left_next) { + l++; + if (l >= left->Count) { + unique_offset_right += right->Count - r; + break; + } + + GetOovpaEntry(left, l, &left_offset, &left_value); + } + + if (right_next) { + if (r >= right->Count) { + unique_offset_left += left->Count - l; + break; + } + + GetOovpaEntry(right, r, &right_offset, &right_value); + } + } + + bool unique_detect_select; + // First, let's make sure DetectSelect is the same + if ((left->DetectSelect == right->DetectSelect) || + // Or left OOVPA is set to default detect and is different than right detect select. + (left->DetectSelect == 0 && left->DetectSelect != right->DetectSelect) || + // Or right OOVPA is set to default detect and is different than left detect select. + (right->DetectSelect == 0 && left->DetectSelect != right->DetectSelect)) { + unique_detect_select = false; + } + // When above checks are not found, then we know the detected selection is unique. + // Therefore ignore the OOVPA identical error. + else { + unique_detect_select = true; + } + + // no mismatching values on identical offsets? + if (equal_offset_different_value == 0) { + // enough matching OV-pairs? + if (equal_offset_value > 4) { + // no unique OV-pairs on either side? + if (unique_offset_left + unique_offset_right == 0) { + // If detect selection is not unique, then make an error report. + if (!unique_detect_select) { + error_count++; + SymbolDatabaseVerifyContext_OOVPAError(context, + "OOVPA's are identical", + unique_offset_left, + unique_offset_right); + } + } + else { + // not too many new OV-pairs on the left side? + if (unique_offset_left < 6) { + // not too many new OV-pairs on the right side? + if (unique_offset_right < 6) { + error_count++; + SymbolDatabaseVerifyContext_OOVPAError(context, + "OOVPA's are expanded (left +%d, right +%d)", + unique_offset_left, + unique_offset_right); + } + } + } + } + } + return error_count; +} + + +static unsigned int SymbolDatabaseVerifyContext_VerifyXRefSymbolVsRevision(SymbolDatabaseVerifyContext* context, const OOVPATable* table, uint32_t symbol_index, uint32_t revision_index) +{ + unsigned int error_count = 0; + if (!internal_IsXRefUnset(table[symbol_index].xref)) { + LOOVPA* loovpa = (LOOVPA*)table[symbol_index].revisions[revision_index].Oovpa; + } + return error_count; +} + +static unsigned int SymbolDatabaseVerifyContext_VerifyEntry(SymbolDatabaseVerifyContext* context, const OOVPATable* table, uint32_t symbol_index, uint32_t revision_index) +{ + unsigned int error_count = 0; + if (context->against.oovpa == NULL) { + context->main.symbol_index = symbol_index; + context->main.revision_index = revision_index; + + error_count += SymbolDatabaseVerifyContext_VerifyXRefSymbolVsRevision(context, table, symbol_index, revision_index); + } + else { + context->against.symbol_index = symbol_index; + context->against.revision_index = revision_index; + } + + + // verify the OOVPA of this entry + if (table[symbol_index].revisions[revision_index].Oovpa != NULL) { + error_count += SymbolDatabaseVerifyContext_VerifyOOVPA(context, table[symbol_index].revisions[revision_index].Oovpa); + } + return error_count; +} + +static unsigned int SymbolDatabaseVerifyContext_VerifyDatabase(SymbolDatabaseVerifyContext* context, SymbolDatabaseList* data) +{ + unsigned int error_count = 0; + if (context->against.oovpa == NULL) { + context->main.data = data; + } + else { + context->against.data = data; + } + + // Verify each entry in data's symbol table. + for (uint32_t s = 0; s < data->SymbolsTableCount; s++) { + // We only need to check from main, not against. + if (context->against.data == NULL) { + // For safety check purpose + if (internal_IsXRefUnset(data->SymbolsTable[s].xref)) { + output_message_format(&context->output, XB_OUTPUT_MESSAGE_ERROR, "%s cannot have unset xref.", data->SymbolsTable[s].szFuncName); + error_count++; + } + } + + // Check each revision entry in a symbol. + for (uint32_t r = 0; r < data->SymbolsTable[s].count; r++) { + error_count += SymbolDatabaseVerifyContext_VerifyEntry(context, data->SymbolsTable, s, r); + } + } + return error_count; +} + +static unsigned int SymbolDatabaseVerifyContext_VerifyDatabaseList(SymbolDatabaseVerifyContext* context) +{ + unsigned int error_count = 0; + // verify all SymbolDatabaseList's + for (uint32_t d = 0; d < SymbolDBListCount; d++) { + error_count += SymbolDatabaseVerifyContext_VerifyDatabase(context, &SymbolDBList[d]); + } + return error_count; +} diff --git a/src/lib/libXbSymbolDatabase.c b/src/lib/libXbSymbolDatabase.c index 5a0e1831..2c74c9f2 100644 --- a/src/lib/libXbSymbolDatabase.c +++ b/src/lib/libXbSymbolDatabase.c @@ -78,6 +78,7 @@ static inline uint32_t BitScanReverse(uint32_t value) // * Xbox Symbol OOVPA Database // ****************************************************************** +#include "list_xref.h" #include "Xapi_OOVPA.inl" #include "D3D8_OOVPA.inl" #include "D3D8LTCG_OOVPA.inl" @@ -354,36 +355,12 @@ static bool iXbSymbolContext_AllowScanLibrary(iXbSymbolContext* pContext) // * API functions to use with other projects. // ****************************************************************** -static SymbolDatabaseList* internal_FindLibraryDB(uint32_t library_flag, unsigned* db_i) -{ - unsigned db = *db_i; - for (; db < SymbolDBListCount; db++) { - // Check if library flag match then return symbol database. - if ((library_flag & SymbolDBList[db].LibSec.library) > 0) { - *db_i = db; - return &SymbolDBList[db]; - } - } - *db_i = db; - return NULL; -} - -bool XbSymbolContext_RegisterLibrary(XbSymbolContextHandle pHandle, uint32_t library_filter) -{ - iXbSymbolContext* pContext = (iXbSymbolContext*)pHandle; +#include "internal_functions.h" - if (!iXbSymbolContext_AllowSetParameter(pContext)) { - return false; - } - - // Check to make sure all flags are acceptable before set. - if ((library_filter & ~XbSymbolLib_ALL) > 0) { - return false; - } - pContext->library_filter = library_filter; - return true; -} +// ****************************************************************** +// * global API functions +// ****************************************************************** xb_output_message_t g_output_func = NULL; void XbSymbolDatabase_SetOutputMessage(xb_output_message_t message_func) @@ -401,33 +378,6 @@ bool XbSymbolDatabase_SetOutputVerbosity(xb_output_message verbose_level) return false; } -void XbSymbolContext_SetBypassBuildVersionLimit(XbSymbolContextHandle pHandle, bool bypass_limit) -{ - iXbSymbolContext* pContext = (iXbSymbolContext*)pHandle; - - if (iXbSymbolContext_AllowSetParameter(pContext)) { - pContext->strict_build_version_limit = !bypass_limit; - } -} - -void XbSymbolContext_SetContinuousSigScan(XbSymbolContextHandle pHandle, bool enable) -{ - iXbSymbolContext* pContext = (iXbSymbolContext*)pHandle; - - if (iXbSymbolContext_AllowSetParameter(pContext)) { - pContext->one_time_scan = !enable; - } -} - -void XbSymbolContext_SetFirstDetectAddressOnly(XbSymbolContextHandle pHandle, bool enable) -{ - iXbSymbolContext* pContext = (iXbSymbolContext*)pHandle; - - if (iXbSymbolContext_AllowSetParameter(pContext)) { - pContext->scan_first_detect = enable; - } -} - const char* XbSymbolDatabase_LibraryToString(uint32_t library_flag) { switch (library_flag) { @@ -708,532 +658,6 @@ uint32_t XbSymbolDatabase_GenerateSectionFilter(const void* xb_header_addr, XbSD return count; } -// NOTE: PatrickvL state the arguments are named differently and the function does something that has another meaning, -// the implementation could be changed if the need ever arises. -static inline void GetXRefEntry(OOVPA* oovpa, int index, uint32_t* xref_out, uint16_t* offset_out) -{ - *xref_out = (unsigned int)((LOOVPA*)oovpa)->Lovp[index].xref.index; - *offset_out = ((LOOVPA*)oovpa)->Lovp[index].offset; -} - -static inline void GetOovpaEntry(OOVPA* oovpa, int index, uint32_t* offset_out, uint8_t* value_out) -{ - *offset_out = (unsigned int)((LOOVPA*)oovpa)->Lovp[index].offset; - *value_out = (uint8_t)((LOOVPA*)oovpa)->Lovp[index].value; -} - -static inline bool MatchXRefAddr(memptr_t cur, uintptr_t xb_start_virt_addr, xbaddr XRefAddr) -{ - xbaddr ActualAddr = *(xbaddr*)(cur); - // check if PC-relative or direct reference matches XRef - if ((ActualAddr + (xbaddr)((uintptr_t)cur - xb_start_virt_addr) + 4 != XRefAddr) && (ActualAddr != XRefAddr)) - return false; - - return true; -} - -bool CompareOOVPAToAddress(iXbSymbolContext* pContext, OOVPA* Oovpa, memptr_t cur, uintptr_t xb_start_virt_addr) -{ - uint32_t v = 0; // verification counter - - // Check all XRefs, stop if any does not match - for (; v < Oovpa->XRefCount; v++) { - uint32_t XRef; - uint16_t Offset; - - // get currently registered (un)known address - GetXRefEntry(Oovpa, v, &XRef, &Offset); - xbaddr XRefAddr = pContext->xref_database[XRef]; - // Undetermined XRef cannot be checked yet - // (XbSymbolLocateFunction already checked this, but this check - // is cheap enough to keep, and keep this function generic). - if (XRefAddr == XREF_ADDR_UNDETERMINED) - return false; - - // Don't verify an xref that has to be (but isn't yet) derived - if (XRefAddr == XREF_ADDR_DERIVE) - continue; - - // check if PC-relative or direct reference matches XRef - if (!MatchXRefAddr(cur + Offset, xb_start_virt_addr, XRefAddr)) - return false; - } - - // Check all (Offset,Value)-pairs, stop if any does not match - for (; v < Oovpa->Count; v++) { - uint32_t Offset; - uint8_t ExpectedValue; - - // get offset + value pair - GetOovpaEntry(Oovpa, v, &Offset, &ExpectedValue); - uint8_t ActualValue = *(uint8_t*)(cur + Offset); - if (ActualValue != ExpectedValue) - return false; - } - - // all offsets matched - return true; -} - -// Return if the given (XRef'erenced) address is not set yet. -static inline bool internal_IsXRefAddrUnset(xbaddr XRefAddr) -{ - return (XRefAddr == XREF_ADDR_UNDETERMINED) || (XRefAddr == XREF_ADDR_DERIVE); -} - -// Return if the given (XRef'erenced) address is valid. -static bool internal_IsXRefAddrValid(xbaddr XRefAddr) -{ - return (XRefAddr + 1) > (XREF_ADDR_DERIVE + 1); // Implies also not equal to XREF_ADDR_UNDETERMINED (-1) nor XREF_ADDR_NOT_FOUND (0) -} - -static xbaddr internal_OOVPARevision_ConvertXRefRelativeAddrtToVirtAddr(iXbSymbolContext* pContext, - const char* signature_str, - const OOVPARevision* pRevision, - const char* xref_str, - XRefDatabaseOffset xref_target) -{ - if (pRevision->Oovpa->XRefCount == 0) { - // Should not be triggered when there is no xref listed. - output_message_format(&pContext->output, XB_OUTPUT_MESSAGE_ERROR, "%s (%hu) signature cannot have zero XRefCount when calling %s!", signature_str, pRevision->Version, __func__); - return 0; - } - - xbaddr virt_start_addr = pContext->xref_database[pRevision->Oovpa->XRefSaveIndex]; - - LOVP* lovp = ((LOOVPA*)pRevision->Oovpa)->Lovp; - int offset = -1; - for (unsigned i = 0; i < pRevision->Oovpa->XRefCount; i++) { - if (lovp->xref.index == xref_target) { - offset = lovp->offset; - break; - } - } - - if (offset == -1) { - // If no match is found, then contributor need to verify both OOVPA revision and xref index are correct. - output_message_format(&pContext->output, XB_OUTPUT_MESSAGE_ERROR, "%s (%hu) signature does not have %s's xref entry!", signature_str, pRevision->Version, xref_str); - return 0; - } - - virt_start_addr += offset + pContext->xref_database[xref_target] + 4 /*32 bit size of address space range */; - - return virt_start_addr; -} - -// Obligatory function for setting an address in the XRefDataBase -// (only initialization may write to XRefDataBase outside of this function). -static inline void internal_SetXRefDatabase(iXbSymbolContext* pContext, eLibraryType iLibraryType, uint32_t XRef, xbaddr XRefAddr) -{ - // Count when changing from an initial value to a valid value - if (internal_IsXRefAddrUnset(pContext->xref_database[XRef])) { - pContext->library_contexts[iLibraryType].xref_registered++; - } - pContext->xref_database[XRef] = XRefAddr; // Besides initialization, this is the only code that writes values to XRefDataBase -} - -// locate the given function, searching within lower and upper bounds -void* internal_LocateFunction(iXbSymbolContext* pContext, - eLibraryType iLibraryType, - const char* szFuncName, - uint16_t version, - OOVPA* Oovpa, - const XbSDBSection* pSection, - bool xref_first_pass) -{ - memptr_t buffer_upper = (memptr_t)pSection->buffer_lower + pSection->buffer_size; - uintptr_t virt_start_relative = (uintptr_t)pSection->buffer_lower - pSection->xb_virt_addr; - - // skip out if this is an unnecessary search - if (!xref_first_pass && Oovpa->XRefCount == XRefZero && Oovpa->XRefSaveIndex == XRefNoSaveIndex) - return 0; - - uint32_t derive_indices = 0; - void* symbol_address = NULL; - - // Check all XRefs are known (if not, don't do a useless scan) : - for (unsigned int v = 0; v < Oovpa->XRefCount; v++) { - uint32_t XRef; - uint16_t Offset; - - // get currently registered (un)known address - GetXRefEntry(Oovpa, v, &XRef, &Offset); - xbaddr XRefAddr = pContext->xref_database[XRef]; - // Undetermined XRef cannot be checked yet - if (XRefAddr == XREF_ADDR_UNDETERMINED) - // Skip this scan over the address range - return 0; - - // Don't verify an xref that has to be (but isn't yet) derived - if (XRefAddr == XREF_ADDR_DERIVE) { - // Mark (up to index 32) which xref needs to be derived - derive_indices |= (1 << v); - continue; - } - } - - // correct upper bound with highest Oovpa offset - uint32_t count = Oovpa->Count; - { - uint32_t Offset; - uint8_t Value; // ignored - - GetOovpaEntry(Oovpa, count - 1, &Offset, &Value); - buffer_upper -= Offset; - } - - // - unsigned int detect_selection = Oovpa->DetectSelect; - unsigned int counter = 0; - - // search all of the buffer memory range - for (memptr_t cur = pSection->buffer_lower; cur < buffer_upper; cur++) { - if (CompareOOVPAToAddress(pContext, Oovpa, cur, virt_start_relative)) { - - // Increase the counter whenever detected address is found. - counter++; - - while (derive_indices > 0) { - uint32_t XRef; - uint16_t Offset; - uint32_t derive_index; - - // Extract an index from the indices mask - derive_index = BitScanReverse(derive_indices); - derive_indices ^= (1 << derive_index); - - // get currently registered (un)known address - GetXRefEntry(Oovpa, derive_index, &XRef, &Offset); - - // Calculate the address where the XRef resides and read the address it points to - uint32_t XRefAddr = *(uint32_t*)(cur + Offset); - - // NOTE: Commented out code belows are no longer valid since we are using lower and upper passdown only. - - /* For now assume it's a direct reference; - // TODO : Check if it's PC-relative reference? - if (XRefAddr + cur + Offset + 4 < XBE_MAX_VA) - XRefAddr = XRefAddr + cur + Offset + 4; - */ - - // Does the address seem valid? - /*if (XRefAddr < XBE_MAX_VA) { - // save and count the derived address - SetXRefDataBase(pContext, XRef, XRefAddr); - }*/ - - // Check if selection is default (zero) then perform the standard procedure. - if (detect_selection == 0) { - if (!pContext->scan_first_detect || (pContext->scan_first_detect && symbol_address == NULL)) { - internal_SetXRefDatabase(pContext, iLibraryType, XRef, XRefAddr); - } - } - // Otherwise, perform a detected selection procedure. - else { - // If counter match the target selection, then save the ref address. - if (detect_selection == counter) { - internal_SetXRefDatabase(pContext, iLibraryType, XRef, XRefAddr); - } - } - } - - // Check if selection is default (zero) then perform the standard procedure. - if (detect_selection == 0) { - - if (symbol_address != NULL) { - output_message_format(&pContext->output, XB_OUTPUT_MESSAGE_WARN, - "Duplicate symbol detection found for %s (%hu), 0x%08x vs 0x%08x", - szFuncName, version, symbol_address, cur - virt_start_relative); - } - - if (!pContext->scan_first_detect || (pContext->scan_first_detect && symbol_address == NULL)) { - symbol_address = cur - virt_start_relative; - } - - if (pContext->one_time_scan) { - break; - } - } - // Otherwise, perform a detected selection procedure. - else { - // If counter match the detected selection, then perform a force break here - // with address set. - if (detect_selection == counter) { - symbol_address = cur - virt_start_relative; - - if (pContext->one_time_scan) { - break; - } - } - // Otherwise, let's log debug info about what is skipped address detection. - else { - output_message_format(&pContext->output, XB_OUTPUT_MESSAGE_DEBUG, - "Skipped symbol detection found for %s (%hu), 0x%08x", - szFuncName, version, cur - virt_start_relative); - } - } - } - } - - return symbol_address; -} - -#define LocateFunctionCast(pContext, iLibraryType, szFuncName, version, Oovpa, pSection) \ - internal_LocateFunction(pContext, iLibraryType, szFuncName, version, (OOVPA*)Oovpa, pSection, false) - -// NOTE: Do not use direct call to this function. Use internal_RegisterValidXRefAddr_M macro instead. -static void internal_RegisterValidXRefAddr(iXbSymbolContext* pContext, - const char* library_name, - uint32_t library_flag, - uint32_t XRefIndex, - uint16_t version, - const char* symbol_name) -{ - xbaddr xSymbolAddr = pContext->xref_database[XRefIndex]; - - if (internal_IsXRefAddrValid(xSymbolAddr)) { - pContext->register_func(library_name, library_flag, symbol_name, xSymbolAddr, version); - } -} - -// Always use this to be aware of manual register xrefs such as variables. -#define internal_RegisterValidXRefAddr_M(...) \ - SYMBOL_COUNTER_VALUE; \ - internal_RegisterValidXRefAddr(__VA_ARGS__); - -static void internal_RegisterXRef(iXbSymbolContext* pContext, - const iXbSymbolLibrarySession* pLibrarySession, - uint32_t XRefIndex, - uint16_t version, - const char* symbol_name, - uint32_t symbol_addr, - bool do_register) -{ - const XbSDBLibrary* pLibrary = pLibrarySession->pLibrary; - xbaddr xRefAddr = pContext->xref_database[XRefIndex]; - - if (internal_IsXRefAddrValid(xRefAddr)) { - - if (pContext->xref_database[XRefIndex] != symbol_addr) { - output_message_format(&pContext->output, XB_OUTPUT_MESSAGE_WARN, - "Duplicate XREF address found for %s (%hu), %08X vs %08X!", - symbol_name, version, xRefAddr, symbol_addr); - } - - if (pContext->scan_first_detect) { - return; - } - } - - internal_SetXRefDatabase(pContext, pLibrarySession->iLibraryType, XRefIndex, symbol_addr); - if (do_register && pContext->register_func != NULL) { - pContext->register_func(pLibrary->name, pLibrary->flag, symbol_name, symbol_addr, version); - } -} - -static void internal_RegisterSymbol(iXbSymbolContext* pContext, - const iXbSymbolLibrarySession* pLibrarySession, - uint32_t XRefIndex, - uint16_t version, - const char* symbol_name, - uint32_t symbol_addr) -{ - const XbSDBLibrary* pLibrary = pLibrarySession->pLibrary; - - // do we need to save the found address? - if (XRefIndex != XRefNoSaveIndex) { - // If XRef is not found, save it then register once. - if (pContext->xref_database[XRefIndex] == XREF_ADDR_UNDETERMINED) { - internal_SetXRefDatabase(pContext, pLibrarySession->iLibraryType, XRefIndex, symbol_addr); - if (pContext->register_func != NULL) { - pContext->register_func(pLibrary->name, pLibrary->flag, symbol_name, symbol_addr, version); - } - } - } - else if (pContext->register_func != NULL) { - pContext->register_func(pLibrary->name, pLibrary->flag, symbol_name, symbol_addr, version); - } -} - -// Use _M suffix only, if OOVPA signature is not in database. -#define internal_RegisterSymbol_M(...) \ - SYMBOL_COUNTER_VALUE; \ - internal_RegisterSymbol(__VA_ARGS__); - - -static OOVPATable* internal_OOVPATable_FindSymbolFunction(SymbolDatabaseList* LibraryDB, const char* szFuncName, unsigned scan_type) -{ - for (unsigned i = 0; i < LibraryDB->SymbolsTableCount; i++) { - - // Intended for optimization purpose without need to search every single symbol's string. - if ((scan_type & LibraryDB->SymbolsTable[i].scan_type) == 0) { - continue; - } - - if (strcmp(szFuncName, LibraryDB->SymbolsTable[i].szFuncName) == 0) { - return &LibraryDB->SymbolsTable[i]; - } - } - return NULL; -} - -static void internal_OOVPATable_scan(iXbSymbolContext* pContext, - const iXbSymbolLibrarySession* pLibrarySession, - const XbSDBSection* pSection, - bool xref_first_pass, - const OOVPATable* pSymbol, - OOVPARevision** pRevisionReturn, - void** pFuncReturn) -{ - const XbSDBLibrary* pLibrary = pLibrarySession->pLibrary; - const eLibraryType iLibraryType = pLibrarySession->iLibraryType; - - OOVPARevision* pLastKnownRevision = NULL; - void* pLastKnownFunc = 0; - - for (unsigned i = 0; i < pSymbol->count; i++) { - OOVPARevision* pRevision = &pSymbol->revisions[i]; - - // Skip higher build version - if (pContext->strict_build_version_limit && pLibrary->build_version < pRevision->Version) - continue; - - // Search for each function's location using the OOVPA - void* pFunc = internal_LocateFunction(pContext, iLibraryType, pSymbol->szFuncName, pRevision->Version, pRevision->Oovpa, pSection, xref_first_pass); - if (pFunc == 0) { - continue; - } - - if (pFunc == pLastKnownFunc && pLastKnownRevision == pRevision - 1) { - output_message_format(&pContext->output, XB_OUTPUT_MESSAGE_WARN, - "Duplicate OOVPA signature found for %s, %hu vs %hu!", - pSymbol->szFuncName, pLastKnownRevision->Version, pRevision->Version); - } - - if (pLibrary->build_version < pRevision->Version) { - output_message_format(&pContext->output, XB_OUTPUT_MESSAGE_WARN, - "OOVPA signature is too high for [%hu] %s!", - pRevision->Version, pSymbol->szFuncName); - } - - pLastKnownFunc = pFunc; - pLastKnownRevision = pRevision; - } - - *pFuncReturn = pLastKnownFunc; - *pRevisionReturn = pLastKnownRevision; -} - -static void internal_OOVPA_register(iXbSymbolContext* pContext, - const char* szFuncName, - const OOVPARevision* OovpaRevision, - const iXbSymbolLibrarySession* pLibrarySession, - xbaddr address) -{ - if (OovpaRevision != NULL) { - - OOVPA* Oovpa = OovpaRevision->Oovpa; - - internal_RegisterSymbol(pContext, pLibrarySession, Oovpa->XRefSaveIndex, OovpaRevision->Version, - szFuncName, address); - } -} - -static void internal_OOVPA_scan(iXbSymbolContext* pContext, - OOVPATable* SymbolsTable, - unsigned int SymbolsTableCount, - const iXbSymbolLibrarySession* pLibrarySession, - const XbSDBSection* pSection, - bool xref_first_pass) -{ - const XbSDBLibrary* pLibrary = pLibrarySession->pLibrary; - const eLibraryType iLibraryType = pLibrarySession->iLibraryType; - - // traverse the full OOVPA table - OOVPATable* pSymbolEnd = &SymbolsTable[SymbolsTableCount]; - OOVPATable* pSymbol = SymbolsTable; - - for (; pSymbol < pSymbolEnd; pSymbol++) { - - // We only want to do normal scan process. - // If there's a symbol require manual scan, skip it. - // Since manual scan is performed separately. - if ((pSymbol->scan_type & DB_ST_AUTO) == 0) { - continue; - } - - OOVPARevision* pLastKnownRevision = NULL; - void* pLastKnownFunc = 0; - - internal_OOVPATable_scan(pContext, - pLibrarySession, - pSection, - xref_first_pass, - pSymbol, - &pLastKnownRevision, - &pLastKnownFunc); - - if (pLastKnownRevision != NULL) { - internal_OOVPA_register(pContext, pSymbol->szFuncName, pLastKnownRevision, pLibrarySession, (xbaddr)(uintptr_t)pLastKnownFunc); - } - } -} - -// Intended design for manual scan without register. Could be expand -static void* internal_LocateSymbolFunction(iXbSymbolContext* pContext, - const iXbSymbolLibrarySession* pLibrarySession, - SymbolDatabaseList* pLibraryDB, - const char* szFuncName, - const XbSDBSection* pSection, - bool xref_first_pass, - OOVPARevision** pOOVPARevision) -{ - void* pFunc = 0; - OOVPARevision* pRevision = NULL; - OOVPATable* pSymbol = internal_OOVPATable_FindSymbolFunction(pLibraryDB, szFuncName, DB_ST_MANUAL); - - if (pSymbol) { - internal_OOVPATable_scan(pContext, - pLibrarySession, - pSection, - xref_first_pass, - pSymbol, - &pRevision, - &pFunc); - } - - if (pOOVPARevision) { - *pOOVPARevision = pRevision; - } - return pFunc; -} - -static eLibraryType internal_GetLibraryType(uint32_t library) -{ - switch (library) { - default: - return LT_UNKNOWN; - case XbSymbolLib_D3D8: - case XbSymbolLib_D3D8LTCG: - return LT_D3D; - case XbSymbolLib_DSOUND: - case XbSymbolLib_XACTENG: - return LT_AUDIO; - case XbSymbolLib_JVS: - return LT_JVS; - case XbSymbolLib_XAPILIB: - return LT_XAPI; - case XbSymbolLib_XGRAPHC: - return LT_GRAPHIC; - case XbSymbolLib_XONLINE: - case XbSymbolLib_XONLINES: - case XbSymbolLib_XNET: - case XbSymbolLib_XNETS: - case XbSymbolLib_XNETN: - return LT_NETWORK; - } -} - xbaddr XbSymbolDatabase_GetKernelThunkAddress(const void* xb_header_addr) { xb_xbe_type xbe_type = GetXbeType(xb_header_addr); @@ -1244,42 +668,30 @@ xbaddr XbSymbolDatabase_GetKernelThunkAddress(const void* xb_header_addr) return kernel_thunk_addr; } -static bool internal_SetLibraryTypeStart(iXbSymbolContext* pContext, eLibraryType library_type) +#include "internal_db_version.h" +unsigned int XbSymbolDatabase_LibraryVersion() { - if (!iXbSymbolContext_AllowScanLibrary(pContext)) { - return false; - } - - bool ret = false; - - // Accept request if library type is known and is inactive. - if (library_type < LT_UNKNOWN && !pContext->library_contexts[library_type].is_active) { - // Then accept the scan request. - pContext->library_contexts[library_type].is_active = true; - ret = true; - output_message_format(&pContext->output, XB_OUTPUT_MESSAGE_DEBUG, "Library type active: %u", library_type); + // Calculate this just once + static unsigned int CalculatedHash = 0; + if (CalculatedHash == 0) { + CalculatedHash = HashSymbolDataArray(SymbolDBList, SymbolDBListCount); } - - iXbSymbolContext_Unlock(pContext); - - return ret; + return CalculatedHash; } -static void internal_SetLibraryTypeEnd(iXbSymbolContext* pContext, eLibraryType library_type) +#include "internal_tests.h" +unsigned int XbSymbolDatabase_TestOOVPAs() { - (void)iXbSymbolContext_Lock(pContext); - - // If library is active, deny the scan request. - if (!pContext->library_contexts[library_type].is_active) { - output_message_format(&pContext->output, XB_OUTPUT_MESSAGE_ERROR, "Attempted to set already inactive library type %u.", library_type); - } - - pContext->library_contexts[library_type].is_active = false; - output_message_format(&pContext->output, XB_OUTPUT_MESSAGE_DEBUG, "Library type inactive: %u", library_type); - - iXbSymbolContext_Unlock(pContext); + SymbolDatabaseVerifyContext context = { 0 }; + context.output.func = g_output_func; + context.output.verbose_level = g_output_verbose_level; + return SymbolDatabaseVerifyContext_VerifyDatabaseList(&context); } +// ****************************************************************** +// * XbSymbolContextHandle manager functions +// ****************************************************************** + bool XbSymbolDatabase_CreateXbSymbolContext(XbSymbolContextHandle* ppHandle, xb_symbol_register_t register_func, XbSDBLibraryHeader library_input, @@ -1461,765 +873,56 @@ void XbSymbolContext_Release(XbSymbolContextHandle pHandle) free(pHandle); } -static void manual_scan_section_dx8_register_xrefs(iXbSymbolContext* pContext, - const iXbSymbolLibrarySession* pLibrarySession, - memptr_t pFunc, - xbaddr DerivedAddr_D3DRS_CULLMODE, - uint32_t patchOffset, - uint32_t Increment, - uint32_t Decrement) -{ - if (pFunc == NULL) { - return; - } - const XbSDBLibrary* pLibrary = pLibrarySession->pLibrary; - const eLibraryType iLibraryType = pLibrarySession->iLibraryType; - - // Temporary verification - is XREF_D3DDEVICE derived correctly? - xbaddr DerivedAddr_D3DDevice = *(xbaddr*)(pFunc + 0x03); - if (pContext->xref_database[XREF_D3DDEVICE] != DerivedAddr_D3DDevice) { - if (pContext->xref_database[XREF_D3DDEVICE] != XREF_ADDR_DERIVE) { - output_message(&pContext->output, XB_OUTPUT_MESSAGE_INFO, "Second derived XREF_D3DDEVICE differs from first!"); - } - - internal_SetXRefDatabase(pContext, pLibrarySession->iLibraryType, XREF_D3DDEVICE, DerivedAddr_D3DDevice); - } - pContext->register_func(pLibrary->name, pLibrary->flag, "D3DDEVICE", DerivedAddr_D3DDevice, 0); - - // Temporary verification - is XREF_D3D_RenderState_CullMode derived correctly? - if (pContext->xref_database[XREF_D3DRS_CULLMODE] != DerivedAddr_D3DRS_CULLMODE) { - - if (pContext->xref_database[XREF_D3DRS_CULLMODE] != XREF_ADDR_DERIVE) { - output_message(&pContext->output, XB_OUTPUT_MESSAGE_WARN, "Second derived XREF_D3D_RenderState_CullMode differs from first!"); - } - - internal_SetXRefDatabase(pContext, pLibrarySession->iLibraryType, XREF_D3DRS_CULLMODE, DerivedAddr_D3DRS_CULLMODE); - } - // Register the offset of D3DRS_CULLMODE, this can be used to programatically locate other render-states in the calling program - pContext->register_func(pLibrary->name, pLibrary->flag, "D3DRS_CULLMODE", DerivedAddr_D3DRS_CULLMODE, 0); - - // Derive address of EmuD3DDeferredRenderState from D3DRS_CULLMODE - xbaddr EmuD3DDeferredRenderState = DerivedAddr_D3DRS_CULLMODE - Decrement + Increment; - patchOffset -= Increment; - - // Derive address of a few other deferred render state slots (to help xref-based function location) - // SetXRefDataBase(pContext, iLibraryType, XREF_D3DRS_PSTEXTUREMODES, DerivedAddr_D3DRS_CULLMODE - 11*4); - // SetXRefDataBase(pContext, iLibraryType, XREF_D3DRS_VERTEXBLEND, DerivedAddr_D3DRS_CULLMODE - 10*4); - // SetXRefDataBase(pContext, iLibraryType, XREF_D3DRS_FOGCOLOR, DerivedAddr_D3DRS_CULLMODE - 9*4); - internal_SetXRefDatabase(pContext, iLibraryType, XREF_D3DRS_FILLMODE, DerivedAddr_D3DRS_CULLMODE - 8 * 4); - internal_SetXRefDatabase(pContext, iLibraryType, XREF_D3DRS_BACKFILLMODE, DerivedAddr_D3DRS_CULLMODE - 7 * 4); - internal_SetXRefDatabase(pContext, iLibraryType, XREF_D3DRS_TWOSIDEDLIGHTING, DerivedAddr_D3DRS_CULLMODE - 6 * 4); - // SetXRefDataBase(pContext, iLibraryType, XREF_D3DRS_NORMALIZENORMALS, DerivedAddr_D3DRS_CULLMODE - 5*4); - // SetXRefDataBase(pContext, iLibraryType, XREF_D3DRS_ZENABLE, DerivedAddr_D3DRS_CULLMODE - 4*4); - // SetXRefDataBase(pContext, iLibraryType, XREF_D3DRS_STENCILENABLE, DerivedAddr_D3DRS_CULLMODE - 3*4); - // SetXRefDataBase(pContext, iLibraryType, XREF_D3DRS_STENCILFAIL, DerivedAddr_D3DRS_CULLMODE - 2*4); - // SetXRefDataBase(pContext, iLibraryType, XREF_D3DRS_FRONTFACE, DerivedAddr_D3DRS_CULLMODE - 1*4); - // SetXRefDataBase(pContext, iLibraryType, XREF_D3DRS_CULLMODE, DerivedAddr_D3DRS_CULLMODE - 0*4); - // SetXRefDataBase(pContext, iLibraryType, XREF_D3DRS_TEXTUREFACTOR, DerivedAddr_D3DRS_CULLMODE + 1*4); - internal_SetXRefDatabase(pContext, iLibraryType, XREF_D3DRS_ZBIAS, DerivedAddr_D3DRS_CULLMODE + 2 * 4); - internal_SetXRefDatabase(pContext, iLibraryType, XREF_D3DRS_LOGICOP, DerivedAddr_D3DRS_CULLMODE + 3 * 4); - // SetXRefDataBase(pContext, iLibraryType, XREF_D3DRS_EDGEANTIALIAS, DerivedAddr_D3DRS_CULLMODE + 4*4); - internal_SetXRefDatabase(pContext, iLibraryType, XREF_D3DRS_MULTISAMPLEANTIALIAS, DerivedAddr_D3DRS_CULLMODE + 5 * 4); - internal_SetXRefDatabase(pContext, iLibraryType, XREF_D3DRS_MULTISAMPLEMASK, DerivedAddr_D3DRS_CULLMODE + 6 * 4); - internal_SetXRefDatabase(pContext, iLibraryType, XREF_D3DRS_MULTISAMPLEMODE, DerivedAddr_D3DRS_CULLMODE + 7 * 4); - internal_SetXRefDatabase(pContext, iLibraryType, XREF_D3DRS_MULTISAMPLERENDERTARGETMODE, DerivedAddr_D3DRS_CULLMODE + 8 * 4); - // SetXRefDataBase(pContext, iLibraryType, XREF_D3DRS_SHADOWFUNC, DerivedAddr_D3DRS_CULLMODE + 9*4); - // SetXRefDataBase(pContext, iLibraryType, XREF_D3DRS_LINEWIDTH, DerivedAddr_D3DRS_CULLMODE + 10*4); - - if (pLibrary->build_version >= 4627 && pLibrary->build_version <= 5933) { // Add XDK 4627 - internal_SetXRefDatabase(pContext, iLibraryType, XREF_D3DRS_SAMPLEALPHA, DerivedAddr_D3DRS_CULLMODE + 11 * 4); - } - - internal_SetXRefDatabase(pContext, iLibraryType, XREF_D3DRS_DXT1NOISEENABLE, EmuD3DDeferredRenderState + patchOffset - 3 * 4); - internal_SetXRefDatabase(pContext, iLibraryType, XREF_D3DRS_YUVENABLE, EmuD3DDeferredRenderState + patchOffset - 2 * 4); - internal_SetXRefDatabase(pContext, iLibraryType, XREF_D3DRS_OCCLUSIONCULLENABLE, EmuD3DDeferredRenderState + patchOffset - 1 * 4); - internal_SetXRefDatabase(pContext, iLibraryType, XREF_D3DRS_STENCILCULLENABLE, EmuD3DDeferredRenderState + patchOffset + 0 * 4); - internal_SetXRefDatabase(pContext, iLibraryType, XREF_D3DRS_ROPZCMPALWAYSREAD, EmuD3DDeferredRenderState + patchOffset + 1 * 4); - internal_SetXRefDatabase(pContext, iLibraryType, XREF_D3DRS_ROPZREAD, EmuD3DDeferredRenderState + patchOffset + 2 * 4); - internal_SetXRefDatabase(pContext, iLibraryType, XREF_D3DRS_DONOTCULLUNCOMPRESSED, EmuD3DDeferredRenderState + patchOffset + 3 * 4); - - pContext->register_func(pLibrary->name, pLibrary->flag, "D3DDeferredRenderState", EmuD3DDeferredRenderState, 0); -} +// ****************************************************************** +// * XbSymbolContext API functions +// ****************************************************************** -static void manual_scan_section_dx8_register_D3DTSS(iXbSymbolContext* pContext, - const iXbSymbolLibrarySession* pLibrarySession, - memptr_t pFunc, - uint32_t pXRefOffset) +void XbSymbolContext_SetBypassBuildVersionLimit(XbSymbolContextHandle pHandle, bool bypass_limit) { - if (pFunc == NULL) { - return; - } - const XbSDBLibrary* pLibrary = pLibrarySession->pLibrary; - const eLibraryType iLibraryType = pLibrarySession->iLibraryType; - - xbaddr DerivedAddr_D3DTSS_TEXCOORDINDEX = 0; - int Decrement = 0x70; // TODO : Rename into something understandable - - // TODO : Remove this when XREF_D3D_TextureState_TexCoordIndex derivation is deemed stable - { - DerivedAddr_D3DTSS_TEXCOORDINDEX = *(xbaddr*)(pFunc + pXRefOffset); - - // Temporary verification - is XREF_D3DTSS_TEXCOORDINDEX derived correctly? - if (pContext->xref_database[XREF_D3DTSS_TEXCOORDINDEX] != DerivedAddr_D3DTSS_TEXCOORDINDEX) { - - if (pContext->xref_database[XREF_D3DTSS_TEXCOORDINDEX] != XREF_ADDR_DERIVE) { - output_message(&pContext->output, XB_OUTPUT_MESSAGE_WARN, "Second derived XREF_D3DTSS_TEXCOORDINDEX differs from first!"); - } + iXbSymbolContext* pContext = (iXbSymbolContext*)pHandle; - //SetXRefDataBase(pContext, iLibraryType, XREF_D3DTSS_BUMPENV, DerivedAddr_D3DTSS_TEXCOORDINDEX - 28*4); - internal_SetXRefDatabase(pContext, iLibraryType, XREF_D3DTSS_TEXCOORDINDEX, DerivedAddr_D3DTSS_TEXCOORDINDEX); - //SetXRefDataBase(pContext, iLibraryType, XREF_D3DTSS_BORDERCOLOR, DerivedAddr_D3DTSS_TEXCOORDINDEX + 1*4); - //SetXRefDataBase(pContext, iLibraryType, XREF_D3DTSS_COLORKEYCOLOR, DerivedAddr_D3DTSS_TEXCOORDINDEX + 2*4); - } + if (iXbSymbolContext_AllowSetParameter(pContext)) { + pContext->strict_build_version_limit = !bypass_limit; } - - uint32_t EmuD3DDeferredTextureState = DerivedAddr_D3DTSS_TEXCOORDINDEX - Decrement; - - pContext->register_func(pLibrary->name, pLibrary->flag, "D3DDeferredTextureState", EmuD3DDeferredTextureState, 0); } -static void manual_scan_section_dx8_register_stream(iXbSymbolContext* pContext, - const iXbSymbolLibrarySession* pLibrarySession, - memptr_t pFunc, - uint32_t iCodeOffsetFor_g_Stream) -{ - if (pFunc == NULL) { - return; - } - const XbSDBLibrary* pLibrary = pLibrarySession->pLibrary; - - // Read address of Xbox_g_Stream from D3DDevice_SetStreamSource - uint32_t Derived_g_Stream = *((uint32_t*)(pFunc + iCodeOffsetFor_g_Stream)); - - // Temporary verification - is XREF_G_STREAM derived correctly? - // TODO : Remove this when XREF_G_STREAM derivation is deemed stable -#if 0 // TODO: How can we enforce it for callback? - VerifySymbolAddressAgainstXRef("g_Stream", Derived_g_Stream, XREF_G_STREAM); -#endif - - // Now that both Derived XREF and OOVPA-based function-contents match, - // correct base-address (because "g_Stream" is actually "g_Stream"+8") : - Derived_g_Stream -= 8; - pContext->register_func(pLibrary->name, pLibrary->flag, "g_Stream", Derived_g_Stream, 0); -} - -static bool manual_scan_section_dx8(iXbSymbolContext* pContext, - const iXbSymbolLibrarySession* pLibrarySession, - SymbolDatabaseList* pLibraryDB, - const XbSDBSection* pSection) +void XbSymbolContext_SetContinuousSigScan(XbSymbolContextHandle pHandle, bool enable) { - // Generic usage - memptr_t pFunc = 0; - xbaddr xSymbolAddr = 0; - // offset for stencil cull enable render state in the deferred render state buffer - uint32_t DerivedAddr_D3DRS_CULLMODE = 0; - int Decrement = 0; // TODO : Rename into something understandable - int Increment = 0; // TODO : Rename into something understandable - int patchOffset = 0; // TODO : Rename into something understandable - int OOVPA_version; - int iCodeOffsetFor_g_Stream; - int pXRefOffset = 0; // TODO : Rename into something understandable - uintptr_t virt_start_relative = (uintptr_t)pSection->buffer_lower - pSection->xb_virt_addr; - const XbSDBLibrary* pLibrary = pLibrarySession->pLibrary; - const eLibraryType iLibraryType = pLibrarySession->iLibraryType; - - OOVPARevision* pOOVPARevision = NULL; - - if (pLibrary->flag == XbSymbolLib_D3D8) { - - // locate D3DDevice_SetRenderState_CullMode first - if (pLibrary->build_version < 3911) { - // Not supported, currently ignored. - } - else { - pFunc = internal_LocateSymbolFunction(pContext, - pLibrarySession, - pLibraryDB, - "D3DDevice_SetRenderState_CullMode", - pSection, - false, - NULL); - } - - // then locate D3DDeferredRenderState - if (pFunc != 0) { - // NOTE: Is a requirement to align properly. - pFunc += virt_start_relative; - - // Read address of D3DRS_CULLMODE from D3DDevice_SetRenderState_CullMode - // TODO : Simplify this when XREF_D3D_RenderState_CullMode derivation is deemed stable - if (pLibrary->build_version < 3911) { - // Not supported, currently ignored. - } - else if (pLibrary->build_version < 4034) { - DerivedAddr_D3DRS_CULLMODE = *(uint32_t*)(pFunc + 0x25); - Decrement = 0x1FC; // TODO: Clean up (?) - Increment = 82 * 4; - patchOffset = 140 * 4; // Verified 3925 and 3948 - - //Decrement = 0x19F; // TODO: Clean up (?) - //Increment = 72 * 4; - //patchOffset = 142*4; // TODO: Verify - } - else if (pLibrary->build_version <= 4361) { - DerivedAddr_D3DRS_CULLMODE = *(uint32_t*)(pFunc + 0x2B); - Decrement = 0x200; - Increment = 82 * 4; - patchOffset = 142 * 4; - } - else if (pLibrary->build_version < 4627) { - DerivedAddr_D3DRS_CULLMODE = *(uint32_t*)(pFunc + 0x2B); - Decrement = 0x204; - Increment = 83 * 4; - patchOffset = 143 * 4; - } - else { // 4627-5933 - DerivedAddr_D3DRS_CULLMODE = *(uint32_t*)(pFunc + 0x2B); - Decrement = 0x24C; - Increment = 92 * 4; - patchOffset = 162 * 4; - } - } - } - else { // D3D8LTCG - // locate D3DDevice_SetRenderState_CullMode first - pFunc = internal_LocateSymbolFunction(pContext, - pLibrarySession, - pLibraryDB, - "D3DDevice_SetRenderState_CullMode", - pSection, - false, - &pOOVPARevision); - - if (pFunc != 0) { - - // D3DDevice_SetRenderState_CullMode assign pXRefOffset for D3DDeferredRenderState - switch (pOOVPARevision->Version) { - case 1045: - default: - pXRefOffset = 0x2D; // verified for 3925 - break; - case 1049: - pXRefOffset = 0x31; // verified for 4039 - break; - case 1052: - pXRefOffset = 0x34; - break; - case 1053: - pXRefOffset = 0x35; - break; - } - - // then locate D3DDeferredRenderState - - // NOTE: Is a requirement to align properly. - pFunc += virt_start_relative; - - // Read address of D3DRS_CULLMODE from D3DDevice_SetRenderState_CullMode - // TODO : Simplify this when XREF_D3D_RenderState_CullMode derivation is deemed stable - if (pLibrary->build_version < 3911) { - // Not supported, currently ignored. - } - else if (pLibrary->build_version < 4034) { - DerivedAddr_D3DRS_CULLMODE = *(uint32_t*)(pFunc + pXRefOffset); - Decrement = 0x1FC; // TODO: Clean up (?) - Increment = 82 * 4; - patchOffset = 140 * 4; // Verified 3925 and 3948 - - //Decrement = 0x19F; // TODO: Clean up (?) - //Increment = 72 * 4; - //patchOffset = 142*4; // TODO: Verify - } - else if (pLibrary->build_version <= 4361) { - DerivedAddr_D3DRS_CULLMODE = *(uint32_t*)(pFunc + pXRefOffset); - Decrement = 0x200; - Increment = 82 * 4; - patchOffset = 142 * 4; - } - else if (pLibrary->build_version < 4627) { - DerivedAddr_D3DRS_CULLMODE = *(uint32_t*)(pFunc + pXRefOffset); - Decrement = 0x204; - Increment = 83 * 4; - patchOffset = 143 * 4; - } - else { // 4627-5933 - // NOTE: Burnout 3 is (pFunc + 0x34), Black is (pFunc + 0x35) - DerivedAddr_D3DRS_CULLMODE = *(uint32_t*)(pFunc + pXRefOffset); - Decrement = 0x24C; - Increment = 92 * 4; - patchOffset = 162 * 4; - } - } - } - manual_scan_section_dx8_register_xrefs(pContext, pLibrarySession, pFunc, DerivedAddr_D3DRS_CULLMODE, patchOffset, Increment, Decrement); - - // then locate D3DDeferredTextureState - if (pLibrary->flag == XbSymbolLib_D3D8) { - - if (pLibrary->build_version < 3911) { - // Not supported, currently ignored. - pFunc = 0; - } - else { - pFunc = internal_LocateSymbolFunction(pContext, - pLibrarySession, - pLibraryDB, - "D3DDevice_SetTextureState_TexCoordIndex", - pSection, - false, - NULL); - - // TODO: Can we integrate below into XRef? - if (pLibrary->build_version < 4034) { - pXRefOffset = 0x11; - } - else if (pLibrary->build_version < 4242) { - pXRefOffset = 0x18; - } - else { - pXRefOffset = 0x19; - } - } - } - else { // D3D8LTCG - - /* - // TODO: Need some reform work for this portion. Since there are mixture of suffix involved. - // Current listing are: - // - D3DDevice_SetTextureState_TexCoordIndex (1944, 1958) - // - D3DDevice_SetTextureState_TexCoordIndex_0 (2039, 2058) - // - D3DDevice_SetTextureState_TexCoordIndex_4 (2040, 2045, 2058, 2052) - pFunc = internal_LocateSymbolFunction(pContext, - pLibrarySession, - pLibraryDB, - "", - pSection, - false, - pOOVPARevision); - //*/ - - // verified for 3925 - pFunc = LocateFunctionCast(pContext, iLibraryType, "D3DDevice_SetTextureState_TexCoordIndex_0", 2039, - &D3DDevice_SetTextureState_TexCoordIndex_0_2039, pSection); - pXRefOffset = 0x08; - - if (pFunc == 0) { // verified for 4039 - pFunc = LocateFunctionCast(pContext, iLibraryType, "D3DDevice_SetTextureState_TexCoordIndex_4", 2040, - &D3DDevice_SetTextureState_TexCoordIndex_4_2040, pSection); - pXRefOffset = 0x14; - } - - if (pFunc == 0) { // verified for 4432 - pFunc = LocateFunctionCast(pContext, iLibraryType, "D3DDevice_SetTextureState_TexCoordIndex", 1944, - &D3DDevice_SetTextureState_TexCoordIndex_1944, pSection); - pXRefOffset = 0x19; - } - - if (pFunc == 0) { // verified for 4531 - pFunc = LocateFunctionCast(pContext, iLibraryType, "D3DDevice_SetTextureState_TexCoordIndex_4", 2045, - &D3DDevice_SetTextureState_TexCoordIndex_4_2045, pSection); - pXRefOffset = 0x14; - } - - if (pFunc == 0) { // verified for 4627 and higher - pFunc = LocateFunctionCast(pContext, iLibraryType, "D3DDevice_SetTextureState_TexCoordIndex_4", 2058, - &D3DDevice_SetTextureState_TexCoordIndex_4_2058, pSection); - pXRefOffset = 0x14; - } - - if (pFunc == 0) { // verified for 4627 and higher - pFunc = LocateFunctionCast(pContext, iLibraryType, "D3DDevice_SetTextureState_TexCoordIndex", 1958, - &D3DDevice_SetTextureState_TexCoordIndex_1958, pSection); - pXRefOffset = 0x19; - } - - if (pFunc == 0) { // verified for World Series Baseball 2K3 - pFunc = LocateFunctionCast(pContext, iLibraryType, "D3DDevice_SetTextureState_TexCoordIndex_4", 2052, - &D3DDevice_SetTextureState_TexCoordIndex_4_2052, pSection); - pXRefOffset = 0x15; - } - - if (pFunc == 0) { // verified for Ski Racing 2006 - pFunc = LocateFunctionCast(pContext, iLibraryType, "D3DDevice_SetTextureState_TexCoordIndex_0", 2058, - &D3DDevice_SetTextureState_TexCoordIndex_0_2058, pSection); - pXRefOffset = 0x15; - } - } - - if (pFunc != 0) { - // NOTE: Is a requirement to align properly. - pFunc += virt_start_relative; - manual_scan_section_dx8_register_D3DTSS(pContext, pLibrarySession, pFunc, pXRefOffset); - } - - // Locate Xbox symbol "g_Stream" and store it's address - pFunc = 0; - // verified for D3D8 with 4361, 4627, 5344, 5558, 5659, 5788, 5849, 5933 - // and verified for LTCG with 4432, 4627, 5344, 5558, 5849 - iCodeOffsetFor_g_Stream = 0x22; - - // TODO: Need investigate reason for going with higher number first then lower last. - if (pLibrary->flag == XbSymbolLib_D3D8) { - if (pLibrary->build_version >= 4034) { - OOVPA_version = 4034; - pFunc = LocateFunctionCast(pContext, iLibraryType, "D3DDevice_SetStreamSource", 4034, - &D3DDevice_SetStreamSource_4034, pSection); - } - else { - OOVPA_version = 3911; - pFunc = LocateFunctionCast(pContext, iLibraryType, "D3DDevice_SetStreamSource", 3911, - &D3DDevice_SetStreamSource_3911, pSection); - iCodeOffsetFor_g_Stream = 0x23; // verified for 3911 - } - } - else { // D3D8LTCG - if (pLibrary->build_version > 4039) { - OOVPA_version = 4034; // TODO Verify - pFunc = LocateFunctionCast(pContext, iLibraryType, "D3DDevice_SetStreamSource", 1044, - &D3DDevice_SetStreamSource_1044, pSection); - } - - if (pFunc == 0) { // LTCG specific - - OOVPA_version = 4034; // TODO Verify - pFunc = LocateFunctionCast(pContext, iLibraryType, "D3DDevice_SetStreamSource_4", 2058, - &D3DDevice_SetStreamSource_4_2058, pSection); - iCodeOffsetFor_g_Stream = 0x1E; - } - - if (pFunc == 0) { // verified for 4039 - OOVPA_version = 4034; - pFunc = LocateFunctionCast(pContext, iLibraryType, "D3DDevice_SetStreamSource_8", 2040, - &D3DDevice_SetStreamSource_8_2040, pSection); - iCodeOffsetFor_g_Stream = 0x23; - } - - if (pFunc == 0) { // verified for 3925 - OOVPA_version = 3911; - pFunc = LocateFunctionCast(pContext, iLibraryType, "D3DDevice_SetStreamSource_8__LTCG_edx_StreamNumber", 1039, - &D3DDevice_SetStreamSource_8__LTCG_edx_StreamNumber_1039, pSection); - iCodeOffsetFor_g_Stream = 0x47; - } - } - - if (pFunc != 0) { - // NOTE: Is a requirement to align properly. - pFunc += virt_start_relative; - - manual_scan_section_dx8_register_stream(pContext, pLibrarySession, pFunc, iCodeOffsetFor_g_Stream); - } - - // Manual check require for able to self-register these symbols: - // * D3DDevice_SetSwapCallback - // * D3DDevice_SetVerticalBlankCallback - - // First, check if D3D__PDEVICE is found. - if (pContext->xref_database[XREF_D3DDEVICE] != XREF_ADDR_DERIVE && - // Then, check at least one of symbol's member variable is not found. - pContext->xref_database[XREF_OFFSET_D3DDEVICE_M_SWAPCALLBACK] == XREF_ADDR_UNDETERMINED) { - - // Scan if event handle variable is not yet derived. - if (pContext->xref_database[XREF_OFFSET_D3DDEVICE_M_VERTICALBLANKEVENT] == XREF_ADDR_DERIVE) { - xSymbolAddr = (xbaddr)(uintptr_t)internal_LocateSymbolFunction(pContext, - pLibrarySession, - pLibraryDB, - "D3DDevice__m_VerticalBlankEvent__ManualFindGeneric", - pSection, - false, - NULL); - } - - // We are not registering D3DDevice__m_VerticalBlankEvent__ManualFindGeneric itself, as it is NOT a symbol. - - - // If not found, skip manual register. - if (pContext->xref_database[XREF_OFFSET_D3DDEVICE_M_VERTICALBLANKEVENT] == XREF_ADDR_DERIVE) { - return false; - } + iXbSymbolContext* pContext = (iXbSymbolContext*)pHandle; - // Finally, manual register the symbol variables. - xSymbolAddr = pContext->xref_database[XREF_OFFSET_D3DDEVICE_M_VERTICALBLANKEVENT]; - internal_SetXRefDatabase(pContext, iLibraryType, XREF_OFFSET_D3DDEVICE_M_SWAPCALLBACK, xSymbolAddr - 8); - internal_SetXRefDatabase(pContext, iLibraryType, XREF_OFFSET_D3DDEVICE_M_VBLANKCALLBACK, xSymbolAddr - 4); - } - // If D3D__PDEVICE is not found, the scan is not complete - // and will continue scan to next given section. - else { - return false; + if (iXbSymbolContext_AllowSetParameter(pContext)) { + pContext->one_time_scan = !enable; } - - return true; } -static bool manual_scan_section_dsound(iXbSymbolContext* pContext, - const iXbSymbolLibrarySession* pLibrarySession, - SymbolDatabaseList* pLibraryDB, - const XbSDBSection* pSection) +void XbSymbolContext_SetFirstDetectAddressOnly(XbSymbolContextHandle pHandle, bool enable) { - // Generic usage - xbaddr xblower = pSection->xb_virt_addr; - xbaddr xbupper = pSection->xb_virt_addr + pSection->buffer_size; - uintptr_t virt_start_relative = (uintptr_t)pSection->buffer_lower - pSection->xb_virt_addr; - xbaddr xFuncAddr = 0; - memptr_t pFuncAddr = 0; - const XbSDBLibrary* pLibrary = pLibrarySession->pLibrary; - const eLibraryType iLibraryType = pLibrarySession->iLibraryType; - - /* - bool testRun = 1; - while (testRun) { - }//*/ - - // Scan for DirectSoundStream's constructor function. - if (pContext->xref_database[XREF_CDirectSoundStream_Constructor] == XREF_ADDR_UNDETERMINED) { - xFuncAddr = (xbaddr)(uintptr_t)internal_LocateSymbolFunction(pContext, - pLibrarySession, - pLibraryDB, - "CDirectSoundStream_Constructor", - pSection, - false, - NULL); - - // If not found, skip the rest of the scan. - if (xFuncAddr == 0) { - return false; - } - - internal_RegisterSymbol(pContext, pLibrarySession, XREF_CDirectSoundStream_Constructor, 3911, - "CDirectSoundStream_Constructor", xFuncAddr); - - // TODO: If possible, integrate into the OOVPA structure. - internal_RegisterXRef(pContext, pLibrarySession, XREF_DSS_VOICE_VTABLE, 3911, - NULL, *(xbaddr*)(virt_start_relative + xFuncAddr + 0x14), false); - internal_RegisterXRef(pContext, pLibrarySession, XREF_DSS_STREAM_VTABLE, 3911, - NULL, *(xbaddr*)(virt_start_relative + xFuncAddr + 0x1B), false); - } - - // Verify both variables are already set from the scan function above. - if (pContext->xref_database[XREF_DSS_STREAM_VTABLE] == XREF_ADDR_DERIVE || - pContext->xref_database[XREF_DSS_VOICE_VTABLE] == XREF_ADDR_DERIVE) { - - output_message(&pContext->output, XB_OUTPUT_MESSAGE_ERROR, "Something went wrong with finding DSS' vtables..."); - return false; - } - - // Finally, manually add CDirectSoundStream's AddRef and Release functions. - if (pContext->xref_database[XREF_CDirectSoundStream_AddRef] == XREF_ADDR_UNDETERMINED) { - xbaddr vtable = pContext->xref_database[XREF_DSS_STREAM_VTABLE]; - - if (xblower <= vtable && vtable < xbupper) { - pFuncAddr = (memptr_t)virt_start_relative + vtable; - - internal_RegisterSymbol_M(pContext, pLibrarySession, XREF_CDirectSoundStream_AddRef, 3911, - "CDirectSoundStream_AddRef", *(uint32_t*)(pFuncAddr + 0 * 4)); - - internal_RegisterSymbol_M(pContext, pLibrarySession, XREF_CDirectSoundStream_Release, 3911, - "CDirectSoundStream_Release", *(uint32_t*)(pFuncAddr + 1 * 4)); - - internal_RegisterSymbol_M(pContext, pLibrarySession, XRefNoSaveIndex, 3911, - "CDirectSoundStream_GetInfo", *(uint32_t*)(pFuncAddr + 2 * 4)); - - if (pLibrary->build_version < 4134) { - internal_RegisterSymbol_M(pContext, pLibrarySession, XRefNoSaveIndex, 3911, - "CDirectSoundStream_GetStatus__r1", *(uint32_t*)(pFuncAddr + 3 * 4)); - } - else { - internal_RegisterSymbol_M(pContext, pLibrarySession, XRefNoSaveIndex, 4134, - "CDirectSoundStream_GetStatus__r2", *(uint32_t*)(pFuncAddr + 3 * 4)); - } - - internal_RegisterSymbol_M(pContext, pLibrarySession, XRefNoSaveIndex, 3911, - "CDirectSoundStream_Process", *(uint32_t*)(pFuncAddr + 4 * 4)); - - internal_RegisterSymbol_M(pContext, pLibrarySession, XRefNoSaveIndex, 3911, - "CDirectSoundStream_Discontinuity", *(uint32_t*)(pFuncAddr + 5 * 4)); - - internal_RegisterSymbol_M(pContext, pLibrarySession, XRefNoSaveIndex, 3911, - "CDirectSoundStream_Flush", *(uint32_t*)(pFuncAddr + 6 * 4)); + iXbSymbolContext* pContext = (iXbSymbolContext*)pHandle; - // NOTE: it is possible to manual add GetInfo, GetStatus, Process, Discontinuity, - // and Flush functions. - } - else { - return false; - } + if (iXbSymbolContext_AllowSetParameter(pContext)) { + pContext->scan_first_detect = enable; } - - return true; } -static bool manual_scan_section_xapilib(iXbSymbolContext* pContext, - const iXbSymbolLibrarySession* pLibrarySession, - SymbolDatabaseList* pLibraryDB, - const XbSDBSection* pSection) +bool XbSymbolContext_RegisterLibrary(XbSymbolContextHandle pHandle, uint32_t library_filter) { - // Generic usage - uintptr_t virt_start_relative = (uintptr_t)pSection->buffer_lower - pSection->xb_virt_addr; - memptr_t buffer_upper = (memptr_t)pSection->buffer_lower + pSection->buffer_size; - xbaddr xXbAddr = 0; - const XbSDBLibrary* pLibrary = pLibrarySession->pLibrary; - const eLibraryType iLibraryType = pLibrarySession->iLibraryType; - OOVPARevision* pOOVPARevision = NULL; - - // Find XapiMapLetterToDirectory function - if (!internal_IsXRefAddrValid(pContext->xref_database[XREF_XapiMapLetterToDirectory])) { - const char* sig_func_str = "XapiMapLetterToDirectory"; - const char* xref_str = "XGetSectionSize"; - - xXbAddr = (xbaddr)(uintptr_t)internal_LocateSymbolFunction(pContext, - pLibrarySession, - pLibraryDB, - sig_func_str, - pSection, - false, - &pOOVPARevision); - - if (xXbAddr) { - internal_RegisterSymbol(pContext, pLibrarySession, XREF_XapiMapLetterToDirectory, pOOVPARevision->Version, - sig_func_str, xXbAddr); - - // Register XGetSectionSize function. - if (!internal_IsXRefAddrValid(pContext->xref_database[XREF_XGetSectionSize])) { - // If relative address is not recorded, then signature needs a fix. - output_message_format(&pContext->output, - XB_OUTPUT_MESSAGE_ERROR, - "Please verify %s (%hu) signature do contain %s's xref entry.", - sig_func_str, pOOVPARevision->Version, xref_str); - return false; - } - // Manually translate to virtual address from relative address. - xXbAddr = internal_OOVPARevision_ConvertXRefRelativeAddrtToVirtAddr(pContext, sig_func_str, pOOVPARevision, xref_str, XREF_XGetSectionSize); - if (!xXbAddr) { - // Error message is handled by above function. No extra message necessary here. - return false; - } - pContext->xref_database[XREF_XGetSectionSize] = XREF_ADDR_UNDETERMINED; // Force reset to able register - - internal_RegisterSymbol_M(pContext, pLibrarySession, XREF_XGetSectionSize, pOOVPARevision->Version, - xref_str, xXbAddr); - } - } - - // Find MU_Init function - if (!internal_IsXRefAddrValid(pContext->xref_database[XREF_MU_Init])) { - - xXbAddr = (xbaddr)(uintptr_t)internal_LocateSymbolFunction(pContext, - pLibrarySession, - pLibraryDB, - "MU_Init", - pSection, - false, - &pOOVPARevision); - - if (xXbAddr) { - internal_RegisterSymbol(pContext, pLibrarySession, XREF_MU_Init, pOOVPARevision->Version, - "MU_Init", xXbAddr); - } - } + iXbSymbolContext* pContext = (iXbSymbolContext*)pHandle; - if (!internal_IsXRefAddrValid(pContext->xref_database[XREF_MU_Init])) { - // If not found, skip the rest of the scan. + if (!iXbSymbolContext_AllowSetParameter(pContext)) { return false; } - - // Scan for IUsbInit::GetMaxDeviceTypeCount function. - if (!internal_IsXRefAddrValid(pContext->xref_database[XREF_IUsbInit_GetMaxDeviceTypeCount])) { - xXbAddr = (xbaddr)(uintptr_t)internal_LocateSymbolFunction(pContext, - pLibrarySession, - pLibraryDB, - "IUsbInit_GetMaxDeviceTypeCount", - pSection, - false, - NULL); - - // If not found, skip the rest of the scan. - if (xXbAddr == 0) { - return false; - } - - internal_RegisterSymbol(pContext, pLibrarySession, XREF_IUsbInit_GetMaxDeviceTypeCount, 3911, - "IUsbInit_GetMaxDeviceTypeCount", xXbAddr); - } - - - xXbAddr = 0; - // TODO: Move below into separate function. - // search all of the buffer memory range - for (memptr_t cur = (memptr_t)virt_start_relative + pContext->xref_database[XREF_MU_Init]; cur < buffer_upper; cur++) { - // We are looking for "leave; ret 0x04;" for end of function then stop searching. - if (cur[0] == 0xC9 && cur[1] == 0xC2 && cur[2] == 0x04) { - output_message_format(&pContext->output, XB_OUTPUT_MESSAGE_ERROR, "Could not find g_DeviceType_MU from MU_Init!"); - return false; - } - - // Look for possible push and call next to each other. - if (cur[0] == 0x68 && cur[5] == 0xE8) { - - // check if call is linked to IUsbInit_GetMaxDeviceTypeCount function. - xbaddr ActualAddr = *(xbaddr*)(cur + 6); - if (MatchXRefAddr(cur + 6, virt_start_relative, pContext->xref_database[XREF_IUsbInit_GetMaxDeviceTypeCount])) { - // this is where g_DeviceType_MU hardcode address reside in. - xXbAddr = *(xbaddr*)(cur + 1); - break; - } - } - } - - // register if g_DeviceType_MU is not valid. - if (!internal_IsXRefAddrValid(pContext->xref_database[XREF_g_DeviceType_MU])) { - - // Register g_DeviceType_MU - internal_RegisterSymbol_M(pContext, pLibrarySession, XREF_g_DeviceType_MU, 3911, - "g_DeviceType_MU", xXbAddr); + // Check to make sure all flags are acceptable before set. + if ((library_filter & ~XbSymbolLib_ALL) > 0) { + return false; } + pContext->library_filter = library_filter; return true; } -static bool manual_scan_library_custom(iXbSymbolContext* pContext, - custom_scan_func_t custom_scan_func, - const iXbSymbolLibrarySession* pLibSession) -{ - bool scan_ret = false; - - const XbSDBSection* pSectionScan; - - SymbolDatabaseList* pLibraryDB; - unsigned db_i = 0; - while (pLibraryDB = internal_FindLibraryDB(pLibSession->pLibrary->flag, &db_i)) { - db_i++; - for (unsigned int s = 0; s < pContext->section_input.count; s++) { - - // Initialize a matching specific section is currently pair with library in order to scan specific section only. - // By doing this method will reduce false detection dramatically. If it had happened before. - for (unsigned int d3 = 0; d3 < PAIRSCANSEC_MAX; d3++) { - if (pLibraryDB->LibSec.section[d3] != NULL && - strncmp(pContext->section_input.filters[s].name, pLibraryDB->LibSec.section[d3], 8) == 0) { - - pSectionScan = pContext->section_input.filters + s; - - output_message_format(&pContext->output, XB_OUTPUT_MESSAGE_DEBUG, "Scanning %.8s library in %.8s section", - pLibSession->pLibrary->name, pSectionScan->name); - - scan_ret = custom_scan_func(pContext, pLibSession, pLibraryDB, pSectionScan); - - if (scan_ret) { - // let's return true here instead of waste the loops for nothing. - return scan_ret; - } - } - } - } - // Use the break if there are 2+ bit flags set such as include LTCG flag in std flag's oovpa database like D3D8. - if ((pLibraryDB->LibSec.library & ~pLibSession->pLibrary->flag) == 0) { - break; - } - } - return scan_ret; -} - +#include "manual_custom.h" void XbSymbolContext_ScanManual(XbSymbolContextHandle pHandle) { iXbSymbolContext* pContext = (iXbSymbolContext*)pHandle; @@ -2397,31 +1100,18 @@ void XbSymbolContext_RegisterXRefs(XbSymbolContextHandle pHandle) return; } - xbaddr xD3D_pDeviceAddr = pContext->xref_database[XREF_D3DDEVICE]; - if (internal_IsXRefAddrValid(xD3D_pDeviceAddr)) { - // Register offset of D3DDevice__m_VertexShader - internal_RegisterValidXRefAddr_M(pContext, Lib_D3D8, XbSymbolLib_D3D8, XREF_OFFSET_D3DDEVICE_M_VERTEXSHADER, 0, "D3DDevice__m_VertexShader_OFFSET"); - } - - // XAPI library - xbaddr xg_XapiMountedMUs = pContext->xref_database[XREF_g_XapiMountedMUs]; - if (internal_IsXRefAddrValid(xg_XapiMountedMUs)) { - // Register g_XapiMountedMUs - internal_RegisterValidXRefAddr_M(pContext, Lib_XAPILIB, XbSymbolLib_XAPILIB, XREF_g_XapiMountedMUs, 0, "g_XapiMountedMUs"); - } - internal_RegisterValidXRefAddr_M(pContext, Lib_XAPILIB, XbSymbolLib_XAPILIB, XREF_g_XapiCurrentTopLevelFilter, 0, "g_XapiCurrentTopLevelFilter"); - internal_RegisterValidXRefAddr_M(pContext, Lib_XAPILIB, XbSymbolLib_XAPILIB, XREF_XAPI__tls_array, 0, "_tls_array"); - internal_RegisterValidXRefAddr_M(pContext, Lib_XAPILIB, XbSymbolLib_XAPILIB, XREF_XAPI__tls_index, 0, "_tls_index"); - internal_RegisterValidXRefAddr_M(pContext, Lib_XAPILIB, XbSymbolLib_XAPILIB, XREF_OFFSET_XapiCurrentFiber, 0, "XapiCurrentFiber_OFFSET"); - internal_RegisterValidXRefAddr_M(pContext, Lib_XAPILIB, XbSymbolLib_XAPILIB, XREF_OFFSET_XapiLastErrorCode, 0, "XapiLastErrorCode_OFFSET"); - internal_RegisterValidXRefAddr_M(pContext, Lib_XAPILIB, XbSymbolLib_XAPILIB, XREF_OFFSET_XapiThreadFiberData, 0, "XapiThreadFiberData_OFFSET"); - internal_RegisterValidXRefAddr_M(pContext, Lib_XAPILIB, XbSymbolLib_XAPILIB, XREF_XapiThreadNotifyRoutineList, 0, "XapiThreadNotifyRoutineList"); - - // Here, others could be registered + // Any symbols that are not registered, check into below function's library calls. + // Then add missing symbol(s) to appropriate library's function. + manual_register_symbols(pContext); iXbSymbolContext_Unlock(pContext); } + +// ****************************************************************** +// * global API functions (required to be at end of the file) +// ****************************************************************** + // Aka the basic example to handle the scan process. bool XbSymbolScan(const void* xb_header_addr, xb_symbol_register_t register_func, @@ -2521,334 +1211,3 @@ unsigned XbSymbolDatabase_GetTotalSymbols(uint32_t library_filter) } return total; } - -// ****************************************************************** -// * XbSymbolDatabase_LibraryVersion -// ****************************************************************** - -// Adapted from https://gist.github.com/underscorediscovery/81308642d0325fd386237cfa3b44785c -#define fnv1aprime 0x1000193; -void hash_fnv1a(unsigned int* hash, const void* key, const size_t len) -{ - const char* data = (char*)key; - for (unsigned int i = 0; i < len; ++i) { - unsigned char value = data[i]; - *hash ^= value; - *hash *= fnv1aprime; - } -} - -void HashAssumedLOOVPA(unsigned int* Hash, const OOVPA* pAssumedLOOVPA) -{ - // Number of offset-value pairs in the "Header" LOOVPA structure - unsigned int Size = pAssumedLOOVPA->Count * sizeof(LOVP); - - // Size of "Header" structure - Size += sizeof(OOVPA); - - // Part 1: The array of OOVPA::LOVP items - hash_fnv1a(Hash, pAssumedLOOVPA, Size); -} - -void HashOOVPATable(unsigned int* Hash, const OOVPATable* pTable) -{ - // Part 1: function name string - if (pTable->szFuncName != NULL) { - hash_fnv1a(Hash, pTable->szFuncName, strlen(pTable->szFuncName)); - } - - for (unsigned i = 0; i < pTable->count; i++) { - // Part 2: version number - hash_fnv1a(Hash, &pTable->revisions[i].Version, sizeof(pTable->revisions[i].Version)); - - // Part 3: LOOVPA - if (pTable->revisions[i].Oovpa) { - HashAssumedLOOVPA(Hash, pTable->revisions[i].Oovpa); - } - } -} - -void HashSymbolData(unsigned int* Hash, SymbolDatabaseList* pData) -{ - for (unsigned int i = 0; i < pData->SymbolsTableCount; ++i) { - HashOOVPATable(Hash, &pData->SymbolsTable[i]); - } -} - -const unsigned int HashSymbolDataArray(SymbolDatabaseList* pDataArray, unsigned int Count) -{ - unsigned int Hash = 0x811c9dc5; - for (unsigned int i = 0; i < Count; ++i) { - HashSymbolData(&Hash, pDataArray + i); - } - return Hash; -} - -unsigned int XbSymbolDatabase_LibraryVersion() -{ - // Calculate this just once - static unsigned int CalculatedHash = 0; - if (CalculatedHash == 0) { - CalculatedHash = HashSymbolDataArray(SymbolDBList, SymbolDBListCount); - } - return CalculatedHash; -} - - -// ****************************************************************** -// * XbSymbolDatabase_TestOOVPAs -// ****************************************************************** - -typedef struct _SymbolDatabaseVerifyContextUniform { - SymbolDatabaseList* data; - OOVPA* oovpa; - uint32_t symbol_index; - uint32_t revision_index; -} SymbolDatabaseVerifyContextUniform; - -typedef struct _SymbolDatabaseVerifyContext { - SymbolDatabaseVerifyContextUniform main; - SymbolDatabaseVerifyContextUniform against; - OutputHandler output; -} SymbolDatabaseVerifyContext; - -static int OOVPAErrorString(char* bufferTemp, SymbolDatabaseList* data, OOVPATable* symbol, uint32_t index) -{ - // Convert active data pointer to an index base on starting point of SymbolDBList. - unsigned int db_index = (unsigned int)(data - SymbolDBList); - // Convert active symbol pointer to an index base on starting point of SymbolsTable. - unsigned int sym_index = (unsigned int)(symbol - data->SymbolsTable); - - return sprintf(bufferTemp, "OOVPATable db=%2u, i=[%4u], b=%4hu s=%s[%4u]", db_index, sym_index, symbol->revisions[index].Version, symbol->szFuncName, index); -} - -static void SymbolDatabaseVerifyContext_OOVPAError(SymbolDatabaseVerifyContext* context, char* format, ...) -{ - char buffer[2048] = { 0 }; - static char bufferTemp[400] = { 0 }; - int ret_str_count; - - if (context->main.data != NULL) { - - ret_str_count = OOVPAErrorString(bufferTemp, context->main.data, context->main.data->SymbolsTable + context->main.symbol_index, context->main.revision_index); - (void)strncat(buffer, bufferTemp, ret_str_count); - } - - if (context->against.oovpa != NULL && context->against.data != NULL) { - (void)strcat(buffer, ", comparing against "); - - ret_str_count = OOVPAErrorString(bufferTemp, context->against.data, context->against.data->SymbolsTable + context->against.symbol_index, context->against.revision_index); - (void)strncat(buffer, bufferTemp, ret_str_count); - } - - // format specific error message - va_list args; - va_start(args, format); - ret_str_count = vsprintf(bufferTemp, format, args); - va_end(args); - - - (void)strcat(buffer, " : "); - (void)strncat(buffer, bufferTemp, ret_str_count); - - output_message(&context->output, XB_OUTPUT_MESSAGE_ERROR, buffer); -} - -static unsigned int SymbolDatabaseVerifyContext_VerifyDatabaseList(SymbolDatabaseVerifyContext* context); // forward - -static unsigned int SymbolDatabaseVerifyContext_VerifyOOVPA(SymbolDatabaseVerifyContext* context, OOVPA* oovpa) -{ - unsigned int error_count = 0; - - if (context->against.oovpa == NULL) { - // TODO : verify XRefSaveIndex and XRef's (how?) - - // verify offsets are in increasing order - uint32_t prev_offset; - uint8_t dummy_value; - GetOovpaEntry(oovpa, oovpa->XRefCount, &prev_offset, &dummy_value); - for (int p = oovpa->XRefCount + 1; p < oovpa->Count; p++) { - uint32_t curr_offset; - GetOovpaEntry(oovpa, p, &curr_offset, &dummy_value); - - if (!(curr_offset > prev_offset)) { - error_count++; - SymbolDatabaseVerifyContext_OOVPAError(context, - "Lovp[%2u] : Offset (0x%03x) must be larger then previous offset (0x%03x)", - p, curr_offset, prev_offset); - } - prev_offset = curr_offset; - } - - // find duplicate OOVPA's across all other data-table-oovpa's - context->main.oovpa = oovpa; - context->against.oovpa = oovpa; - error_count += SymbolDatabaseVerifyContext_VerifyDatabaseList(context); - context->against.oovpa = NULL; // reset scanning state - return error_count; - } - - // prevent checking an oovpa against itself - if ((&context->main.data->SymbolsTable[context->main.symbol_index].revisions + context->main.revision_index) == - (&context->against.data->SymbolsTable[context->against.symbol_index].revisions + context->against.revision_index)) { - return error_count; - } - - // compare {Offset, Value}-pairs between two OOVPA's - OOVPA *left = context->against.oovpa, *right = oovpa; - int l = 0, r = 0; - uint32_t left_offset, right_offset; - uint8_t left_value, right_value; - GetOovpaEntry(left, l, &left_offset, &left_value); - GetOovpaEntry(right, r, &right_offset, &right_value); - int unique_offset_left = 0; - int unique_offset_right = 0; - int equal_offset_value = 0; - int equal_offset_different_value = 0; - - while (true) { - bool left_next = true; - bool right_next = true; - - if (left_offset < right_offset) { - unique_offset_left++; - right_next = false; - } - else if (left_offset > right_offset) { - unique_offset_right++; - left_next = false; - } - else if (left_value == right_value) { - equal_offset_value++; - } - else { - equal_offset_different_value++; - } - - // increment r before use (in left_next) - if (right_next) { - r++; - } - - if (left_next) { - l++; - if (l >= left->Count) { - unique_offset_right += right->Count - r; - break; - } - - GetOovpaEntry(left, l, &left_offset, &left_value); - } - - if (right_next) { - if (r >= right->Count) { - unique_offset_left += left->Count - l; - break; - } - - GetOovpaEntry(right, r, &right_offset, &right_value); - } - } - - bool unique_detect_select; - // First, let's make sure DetectSelect is the same - if ((left->DetectSelect == right->DetectSelect) || - // Or left OOVPA is set to default detect and is different than right detect select. - (left->DetectSelect == 0 && left->DetectSelect != right->DetectSelect) || - // Or right OOVPA is set to default detect and is different than left detect select. - (right->DetectSelect == 0 && left->DetectSelect != right->DetectSelect)) { - unique_detect_select = false; - } - // When above checks are not found, then we know the detected selection is unique. - // Therefore ignore the OOVPA identical error. - else { - unique_detect_select = true; - } - - // no mismatching values on identical offsets? - if (equal_offset_different_value == 0) { - // enough matching OV-pairs? - if (equal_offset_value > 4) { - // no unique OV-pairs on either side? - if (unique_offset_left + unique_offset_right == 0) { - // If detect selection is not unique, then make an error report. - if (!unique_detect_select) { - error_count++; - SymbolDatabaseVerifyContext_OOVPAError(context, - "OOVPA's are identical", - unique_offset_left, - unique_offset_right); - } - } - else { - // not too many new OV-pairs on the left side? - if (unique_offset_left < 6) { - // not too many new OV-pairs on the right side? - if (unique_offset_right < 6) { - error_count++; - SymbolDatabaseVerifyContext_OOVPAError(context, - "OOVPA's are expanded (left +%d, right +%d)", - unique_offset_left, - unique_offset_right); - } - } - } - } - } - return error_count; -} - -static unsigned int SymbolDatabaseVerifyContext_VerifyEntry(SymbolDatabaseVerifyContext* context, const OOVPATable* table, uint32_t symbol_index, uint32_t revision_index) -{ - if (context->against.oovpa == NULL) { - context->main.symbol_index = symbol_index; - context->main.revision_index = revision_index; - } - else { - context->against.symbol_index = symbol_index; - context->against.revision_index = revision_index; - } - - // verify the OOVPA of this entry - if (table[symbol_index].revisions[revision_index].Oovpa != NULL) { - return SymbolDatabaseVerifyContext_VerifyOOVPA(context, table[symbol_index].revisions[revision_index].Oovpa); - } - return 0; -} - -static unsigned int SymbolDatabaseVerifyContext_VerifyDatabase(SymbolDatabaseVerifyContext* context, SymbolDatabaseList* data) -{ - unsigned int error_count = 0; - if (context->against.oovpa == NULL) { - context->main.data = data; - } - else { - context->against.data = data; - } - - // Verify each entry in data's symbol table. - for (uint32_t s = 0; s < data->SymbolsTableCount; s++) { - for (uint32_t r = 0; r < data->SymbolsTable[s].count; r++) { - error_count += SymbolDatabaseVerifyContext_VerifyEntry(context, data->SymbolsTable, s, r); - } - } - return error_count; -} - -static unsigned int SymbolDatabaseVerifyContext_VerifyDatabaseList(SymbolDatabaseVerifyContext* context) -{ - unsigned int error_count = 0; - // verify all SymbolDatabaseList's - for (uint32_t d = 0; d < SymbolDBListCount; d++) { - error_count += SymbolDatabaseVerifyContext_VerifyDatabase(context, &SymbolDBList[d]); - } - return error_count; -} - -unsigned int XbSymbolDatabase_TestOOVPAs() -{ - SymbolDatabaseVerifyContext context = { 0 }; - context.output.func = g_output_func; - context.output.verbose_level = g_output_verbose_level; - return SymbolDatabaseVerifyContext_VerifyDatabaseList(&context); -} diff --git a/src/lib/manual_custom.h b/src/lib/manual_custom.h new file mode 100644 index 00000000..cd7b0741 --- /dev/null +++ b/src/lib/manual_custom.h @@ -0,0 +1,80 @@ +// This is an open source non-commercial project. Dear PVS-Studio, please check it. +// PVS-Studio Static Code Analyzer for C, C++ and C#: http://www.viva64.com +// ****************************************************************** +// * +// * XbSymbolDatabase is free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +// * +// * All rights reserved +// * +// ****************************************************************** +#pragma once + +// ****************************************************************** +// * Used for XbSymbolContext_ScanManual +// ****************************************************************** + +// Each include is base on library requirement to do by hand +#include "manual_d3d8__ltcg.h" +#include "manual_dsound.h" +#include "manual_xapilib.h" + +static bool manual_scan_library_custom(iXbSymbolContext* pContext, + custom_scan_func_t custom_scan_func, + const iXbSymbolLibrarySession* pLibSession) +{ + bool scan_ret = false; + + const XbSDBSection* pSectionScan; + + SymbolDatabaseList* pLibraryDB; + unsigned db_i = 0; + while (pLibraryDB = internal_FindLibraryDB(pLibSession->pLibrary->flag, &db_i)) { + db_i++; + for (unsigned int s = 0; s < pContext->section_input.count; s++) { + + // Initialize a matching specific section is currently pair with library in order to scan specific section only. + // By doing this method will reduce false detection dramatically. If it had happened before. + for (unsigned int d3 = 0; d3 < PAIRSCANSEC_MAX; d3++) { + if (pLibraryDB->LibSec.section[d3] != NULL && + strncmp(pContext->section_input.filters[s].name, pLibraryDB->LibSec.section[d3], 8) == 0) { + + pSectionScan = pContext->section_input.filters + s; + + output_message_format(&pContext->output, XB_OUTPUT_MESSAGE_DEBUG, "Scanning %.8s library in %.8s section", + pLibSession->pLibrary->name, pSectionScan->name); + + scan_ret = custom_scan_func(pContext, pLibSession, pLibraryDB, pSectionScan); + + if (scan_ret) { + // let's return true here instead of waste the loops for nothing. + return scan_ret; + } + } + } + } + // Use the break if there are 2+ bit flags set such as include LTCG flag in std flag's oovpa database like D3D8. + if ((pLibraryDB->LibSec.library & ~pLibSession->pLibrary->flag) == 0) { + break; + } + } + return scan_ret; +} + +static inline void manual_register_symbols(iXbSymbolContext* pContext) +{ + manual_register_d3d8__ltcg(pContext); + manual_register_xapilib(pContext); +} diff --git a/src/lib/manual_d3d8__ltcg.h b/src/lib/manual_d3d8__ltcg.h new file mode 100644 index 00000000..0c487bad --- /dev/null +++ b/src/lib/manual_d3d8__ltcg.h @@ -0,0 +1,527 @@ +// This is an open source non-commercial project. Dear PVS-Studio, please check it. +// PVS-Studio Static Code Analyzer for C, C++ and C#: http://www.viva64.com +// ****************************************************************** +// * +// * XbSymbolDatabase is free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +// * +// * All rights reserved +// * +// ****************************************************************** +#pragma once + +static void manual_scan_section_dx8_register_xrefs(iXbSymbolContext* pContext, + const iXbSymbolLibrarySession* pLibrarySession, + memptr_t pFunc, + xbaddr DerivedAddr_D3DRS_CULLMODE, + uint32_t patchOffset, + uint32_t Increment, + uint32_t Decrement) +{ + if (pFunc == NULL) { + return; + } + const XbSDBLibrary* pLibrary = pLibrarySession->pLibrary; + const eLibraryType iLibraryType = pLibrarySession->iLibraryType; + + // Temporary verification - is XREF_D3DDEVICE derived correctly? + xbaddr DerivedAddr_D3DDevice = *(xbaddr*)(pFunc + 0x03); + if (pContext->xref_database[XREF_D3DDEVICE] != DerivedAddr_D3DDevice) { + + if (pContext->xref_database[XREF_D3DDEVICE] != XREF_ADDR_DERIVE) { + output_message(&pContext->output, XB_OUTPUT_MESSAGE_INFO, "Second derived XREF_D3DDEVICE differs from first!"); + } + + internal_SetXRefDatabase(pContext, pLibrarySession->iLibraryType, XREF_D3DDEVICE, DerivedAddr_D3DDevice); + } + pContext->register_func(pLibrary->name, pLibrary->flag, "D3DDEVICE", DerivedAddr_D3DDevice, 0); + + // Temporary verification - is XREF_D3D_RenderState_CullMode derived correctly? + if (pContext->xref_database[XREF_D3DRS_CULLMODE] != DerivedAddr_D3DRS_CULLMODE) { + + if (pContext->xref_database[XREF_D3DRS_CULLMODE] != XREF_ADDR_DERIVE) { + output_message(&pContext->output, XB_OUTPUT_MESSAGE_WARN, "Second derived XREF_D3D_RenderState_CullMode differs from first!"); + } + + internal_SetXRefDatabase(pContext, pLibrarySession->iLibraryType, XREF_D3DRS_CULLMODE, DerivedAddr_D3DRS_CULLMODE); + } + // Register the offset of D3DRS_CULLMODE, this can be used to programatically locate other render-states in the calling program + pContext->register_func(pLibrary->name, pLibrary->flag, "D3DRS_CULLMODE", DerivedAddr_D3DRS_CULLMODE, 0); + + // Derive address of EmuD3DDeferredRenderState from D3DRS_CULLMODE + xbaddr EmuD3DDeferredRenderState = DerivedAddr_D3DRS_CULLMODE - Decrement + Increment; + patchOffset -= Increment; + + // Derive address of a few other deferred render state slots (to help xref-based function location) + // SetXRefDataBase(pContext, iLibraryType, XREF_D3DRS_PSTEXTUREMODES, DerivedAddr_D3DRS_CULLMODE - 11*4); + // SetXRefDataBase(pContext, iLibraryType, XREF_D3DRS_VERTEXBLEND, DerivedAddr_D3DRS_CULLMODE - 10*4); + // SetXRefDataBase(pContext, iLibraryType, XREF_D3DRS_FOGCOLOR, DerivedAddr_D3DRS_CULLMODE - 9*4); + internal_SetXRefDatabase(pContext, iLibraryType, XREF_D3DRS_FILLMODE, DerivedAddr_D3DRS_CULLMODE - 8 * 4); + internal_SetXRefDatabase(pContext, iLibraryType, XREF_D3DRS_BACKFILLMODE, DerivedAddr_D3DRS_CULLMODE - 7 * 4); + internal_SetXRefDatabase(pContext, iLibraryType, XREF_D3DRS_TWOSIDEDLIGHTING, DerivedAddr_D3DRS_CULLMODE - 6 * 4); + // SetXRefDataBase(pContext, iLibraryType, XREF_D3DRS_NORMALIZENORMALS, DerivedAddr_D3DRS_CULLMODE - 5*4); + // SetXRefDataBase(pContext, iLibraryType, XREF_D3DRS_ZENABLE, DerivedAddr_D3DRS_CULLMODE - 4*4); + // SetXRefDataBase(pContext, iLibraryType, XREF_D3DRS_STENCILENABLE, DerivedAddr_D3DRS_CULLMODE - 3*4); + // SetXRefDataBase(pContext, iLibraryType, XREF_D3DRS_STENCILFAIL, DerivedAddr_D3DRS_CULLMODE - 2*4); + // SetXRefDataBase(pContext, iLibraryType, XREF_D3DRS_FRONTFACE, DerivedAddr_D3DRS_CULLMODE - 1*4); + // SetXRefDataBase(pContext, iLibraryType, XREF_D3DRS_CULLMODE, DerivedAddr_D3DRS_CULLMODE - 0*4); + // SetXRefDataBase(pContext, iLibraryType, XREF_D3DRS_TEXTUREFACTOR, DerivedAddr_D3DRS_CULLMODE + 1*4); + internal_SetXRefDatabase(pContext, iLibraryType, XREF_D3DRS_ZBIAS, DerivedAddr_D3DRS_CULLMODE + 2 * 4); + internal_SetXRefDatabase(pContext, iLibraryType, XREF_D3DRS_LOGICOP, DerivedAddr_D3DRS_CULLMODE + 3 * 4); + // SetXRefDataBase(pContext, iLibraryType, XREF_D3DRS_EDGEANTIALIAS, DerivedAddr_D3DRS_CULLMODE + 4*4); + internal_SetXRefDatabase(pContext, iLibraryType, XREF_D3DRS_MULTISAMPLEANTIALIAS, DerivedAddr_D3DRS_CULLMODE + 5 * 4); + internal_SetXRefDatabase(pContext, iLibraryType, XREF_D3DRS_MULTISAMPLEMASK, DerivedAddr_D3DRS_CULLMODE + 6 * 4); + internal_SetXRefDatabase(pContext, iLibraryType, XREF_D3DRS_MULTISAMPLEMODE, DerivedAddr_D3DRS_CULLMODE + 7 * 4); + internal_SetXRefDatabase(pContext, iLibraryType, XREF_D3DRS_MULTISAMPLERENDERTARGETMODE, DerivedAddr_D3DRS_CULLMODE + 8 * 4); + // SetXRefDataBase(pContext, iLibraryType, XREF_D3DRS_SHADOWFUNC, DerivedAddr_D3DRS_CULLMODE + 9*4); + // SetXRefDataBase(pContext, iLibraryType, XREF_D3DRS_LINEWIDTH, DerivedAddr_D3DRS_CULLMODE + 10*4); + + if (pLibrary->build_version >= 4627 && pLibrary->build_version <= 5933) { // Add XDK 4627 + internal_SetXRefDatabase(pContext, iLibraryType, XREF_D3DRS_SAMPLEALPHA, DerivedAddr_D3DRS_CULLMODE + 11 * 4); + } + + internal_SetXRefDatabase(pContext, iLibraryType, XREF_D3DRS_DXT1NOISEENABLE, EmuD3DDeferredRenderState + patchOffset - 3 * 4); + internal_SetXRefDatabase(pContext, iLibraryType, XREF_D3DRS_YUVENABLE, EmuD3DDeferredRenderState + patchOffset - 2 * 4); + internal_SetXRefDatabase(pContext, iLibraryType, XREF_D3DRS_OCCLUSIONCULLENABLE, EmuD3DDeferredRenderState + patchOffset - 1 * 4); + internal_SetXRefDatabase(pContext, iLibraryType, XREF_D3DRS_STENCILCULLENABLE, EmuD3DDeferredRenderState + patchOffset + 0 * 4); + internal_SetXRefDatabase(pContext, iLibraryType, XREF_D3DRS_ROPZCMPALWAYSREAD, EmuD3DDeferredRenderState + patchOffset + 1 * 4); + internal_SetXRefDatabase(pContext, iLibraryType, XREF_D3DRS_ROPZREAD, EmuD3DDeferredRenderState + patchOffset + 2 * 4); + internal_SetXRefDatabase(pContext, iLibraryType, XREF_D3DRS_DONOTCULLUNCOMPRESSED, EmuD3DDeferredRenderState + patchOffset + 3 * 4); + + pContext->register_func(pLibrary->name, pLibrary->flag, "D3DDeferredRenderState", EmuD3DDeferredRenderState, 0); +} + +static void manual_scan_section_dx8_register_D3DTSS(iXbSymbolContext* pContext, + const iXbSymbolLibrarySession* pLibrarySession, + memptr_t pFunc, + uint32_t pXRefOffset) +{ + if (pFunc == NULL) { + return; + } + const XbSDBLibrary* pLibrary = pLibrarySession->pLibrary; + const eLibraryType iLibraryType = pLibrarySession->iLibraryType; + + xbaddr DerivedAddr_D3DTSS_TEXCOORDINDEX = 0; + int Decrement = 0x70; // TODO : Rename into something understandable + + // TODO : Remove this when XREF_D3D_TextureState_TexCoordIndex derivation is deemed stable + { + DerivedAddr_D3DTSS_TEXCOORDINDEX = *(xbaddr*)(pFunc + pXRefOffset); + + // Temporary verification - is XREF_D3DTSS_TEXCOORDINDEX derived correctly? + if (pContext->xref_database[XREF_D3DTSS_TEXCOORDINDEX] != DerivedAddr_D3DTSS_TEXCOORDINDEX) { + + if (pContext->xref_database[XREF_D3DTSS_TEXCOORDINDEX] != XREF_ADDR_DERIVE) { + output_message(&pContext->output, XB_OUTPUT_MESSAGE_WARN, "Second derived XREF_D3DTSS_TEXCOORDINDEX differs from first!"); + } + + //SetXRefDataBase(pContext, iLibraryType, XREF_D3DTSS_BUMPENV, DerivedAddr_D3DTSS_TEXCOORDINDEX - 28*4); + internal_SetXRefDatabase(pContext, iLibraryType, XREF_D3DTSS_TEXCOORDINDEX, DerivedAddr_D3DTSS_TEXCOORDINDEX); + //SetXRefDataBase(pContext, iLibraryType, XREF_D3DTSS_BORDERCOLOR, DerivedAddr_D3DTSS_TEXCOORDINDEX + 1*4); + //SetXRefDataBase(pContext, iLibraryType, XREF_D3DTSS_COLORKEYCOLOR, DerivedAddr_D3DTSS_TEXCOORDINDEX + 2*4); + } + } + + uint32_t EmuD3DDeferredTextureState = DerivedAddr_D3DTSS_TEXCOORDINDEX - Decrement; + + pContext->register_func(pLibrary->name, pLibrary->flag, "D3DDeferredTextureState", EmuD3DDeferredTextureState, 0); +} + +static void manual_scan_section_dx8_register_stream(iXbSymbolContext* pContext, + const iXbSymbolLibrarySession* pLibrarySession, + memptr_t pFunc, + uint32_t iCodeOffsetFor_g_Stream) +{ + if (pFunc == NULL) { + return; + } + const XbSDBLibrary* pLibrary = pLibrarySession->pLibrary; + + // Read address of Xbox_g_Stream from D3DDevice_SetStreamSource + uint32_t Derived_g_Stream = *((uint32_t*)(pFunc + iCodeOffsetFor_g_Stream)); + + // Temporary verification - is XREF_G_STREAM derived correctly? + // TODO : Remove this when XREF_G_STREAM derivation is deemed stable +#if 0 // TODO: How can we enforce it for callback? + VerifySymbolAddressAgainstXRef("g_Stream", Derived_g_Stream, XREF_G_STREAM); +#endif + + // Now that both Derived XREF and OOVPA-based function-contents match, + // correct base-address (because "g_Stream" is actually "g_Stream"+8") : + Derived_g_Stream -= 8; + pContext->register_func(pLibrary->name, pLibrary->flag, "g_Stream", Derived_g_Stream, 0); +} + +static bool manual_scan_section_dx8(iXbSymbolContext* pContext, + const iXbSymbolLibrarySession* pLibrarySession, + SymbolDatabaseList* pLibraryDB, + const XbSDBSection* pSection) +{ + // Generic usage + memptr_t pFunc = 0; + xbaddr xSymbolAddr = 0; + // offset for stencil cull enable render state in the deferred render state buffer + uint32_t DerivedAddr_D3DRS_CULLMODE = 0; + int Decrement = 0; // TODO : Rename into something understandable + int Increment = 0; // TODO : Rename into something understandable + int patchOffset = 0; // TODO : Rename into something understandable + int OOVPA_version; + int iCodeOffsetFor_g_Stream; + int pXRefOffset = 0; // TODO : Rename into something understandable + uintptr_t virt_start_relative = (uintptr_t)pSection->buffer_lower - pSection->xb_virt_addr; + const XbSDBLibrary* pLibrary = pLibrarySession->pLibrary; + const eLibraryType iLibraryType = pLibrarySession->iLibraryType; + + OOVPARevision* pOOVPARevision = NULL; + + if (pLibrary->flag == XbSymbolLib_D3D8) { + + // locate D3DDevice_SetRenderState_CullMode first + if (pLibrary->build_version < 3911) { + // Not supported, currently ignored. + } + else { + pFunc = internal_LocateSymbolFunction(pContext, + pLibrarySession, + pLibraryDB, + "D3DDevice_SetRenderState_CullMode", + pSection, + true, + NULL, + NULL); + } + + // then locate D3DDeferredRenderState + if (pFunc != 0) { + // NOTE: Is a requirement to align properly. + pFunc += virt_start_relative; + + // Read address of D3DRS_CULLMODE from D3DDevice_SetRenderState_CullMode + // TODO : Simplify this when XREF_D3D_RenderState_CullMode derivation is deemed stable + if (pLibrary->build_version < 3911) { + // Not supported, currently ignored. + } + else if (pLibrary->build_version < 4034) { + DerivedAddr_D3DRS_CULLMODE = *(uint32_t*)(pFunc + 0x25); + Decrement = 0x1FC; // TODO: Clean up (?) + Increment = 82 * 4; + patchOffset = 140 * 4; // Verified 3925 and 3948 + + //Decrement = 0x19F; // TODO: Clean up (?) + //Increment = 72 * 4; + //patchOffset = 142*4; // TODO: Verify + } + else if (pLibrary->build_version <= 4361) { + DerivedAddr_D3DRS_CULLMODE = *(uint32_t*)(pFunc + 0x2B); + Decrement = 0x200; + Increment = 82 * 4; + patchOffset = 142 * 4; + } + else if (pLibrary->build_version < 4627) { + DerivedAddr_D3DRS_CULLMODE = *(uint32_t*)(pFunc + 0x2B); + Decrement = 0x204; + Increment = 83 * 4; + patchOffset = 143 * 4; + } + else { // 4627-5933 + DerivedAddr_D3DRS_CULLMODE = *(uint32_t*)(pFunc + 0x2B); + Decrement = 0x24C; + Increment = 92 * 4; + patchOffset = 162 * 4; + } + } + } + else { // D3D8LTCG + // locate D3DDevice_SetRenderState_CullMode first + pFunc = internal_LocateSymbolFunction(pContext, + pLibrarySession, + pLibraryDB, + "D3DDevice_SetRenderState_CullMode", + pSection, + true, + NULL, + &pOOVPARevision); + + if (pFunc != 0) { + + // D3DDevice_SetRenderState_CullMode assign pXRefOffset for D3DDeferredRenderState + switch (pOOVPARevision->Version) { + case 1045: + default: + pXRefOffset = 0x2D; // verified for 3925 + break; + case 1049: + pXRefOffset = 0x31; // verified for 4039 + break; + case 1052: + pXRefOffset = 0x34; + break; + case 1053: + pXRefOffset = 0x35; + break; + } + + // then locate D3DDeferredRenderState + + // NOTE: Is a requirement to align properly. + pFunc += virt_start_relative; + + // Read address of D3DRS_CULLMODE from D3DDevice_SetRenderState_CullMode + // TODO : Simplify this when XREF_D3D_RenderState_CullMode derivation is deemed stable + if (pLibrary->build_version < 3911) { + // Not supported, currently ignored. + } + else if (pLibrary->build_version < 4034) { + DerivedAddr_D3DRS_CULLMODE = *(uint32_t*)(pFunc + pXRefOffset); + Decrement = 0x1FC; // TODO: Clean up (?) + Increment = 82 * 4; + patchOffset = 140 * 4; // Verified 3925 and 3948 + + //Decrement = 0x19F; // TODO: Clean up (?) + //Increment = 72 * 4; + //patchOffset = 142*4; // TODO: Verify + } + else if (pLibrary->build_version <= 4361) { + DerivedAddr_D3DRS_CULLMODE = *(uint32_t*)(pFunc + pXRefOffset); + Decrement = 0x200; + Increment = 82 * 4; + patchOffset = 142 * 4; + } + else if (pLibrary->build_version < 4627) { + DerivedAddr_D3DRS_CULLMODE = *(uint32_t*)(pFunc + pXRefOffset); + Decrement = 0x204; + Increment = 83 * 4; + patchOffset = 143 * 4; + } + else { // 4627-5933 + // NOTE: Burnout 3 is (pFunc + 0x34), Black is (pFunc + 0x35) + DerivedAddr_D3DRS_CULLMODE = *(uint32_t*)(pFunc + pXRefOffset); + Decrement = 0x24C; + Increment = 92 * 4; + patchOffset = 162 * 4; + } + } + } + manual_scan_section_dx8_register_xrefs(pContext, pLibrarySession, pFunc, DerivedAddr_D3DRS_CULLMODE, patchOffset, Increment, Decrement); + + // then locate D3DDeferredTextureState + if (pLibrary->flag == XbSymbolLib_D3D8) { + + if (pLibrary->build_version < 3911) { + // Not supported, currently ignored. + pFunc = 0; + } + else { + pFunc = internal_LocateSymbolFunction(pContext, + pLibrarySession, + pLibraryDB, + "D3DDevice_SetTextureState_TexCoordIndex", + pSection, + true, + NULL, + NULL); + + // TODO: Can we integrate below into XRef? + if (pLibrary->build_version < 4034) { + pXRefOffset = 0x11; + } + else if (pLibrary->build_version < 4242) { + pXRefOffset = 0x18; + } + else { + pXRefOffset = 0x19; + } + } + } + else { // D3D8LTCG + + /* + // TODO: Need some reform work for this portion. Since there are mixture of suffix involved. + // Current listing are: + // - D3DDevice_SetTextureState_TexCoordIndex (1944, 1958) + // - D3DDevice_SetTextureState_TexCoordIndex_0 (2039, 2058) + // - D3DDevice_SetTextureState_TexCoordIndex_4 (2040, 2045, 2058, 2052) + pFunc = internal_LocateSymbolFunction(pContext, + pLibrarySession, + pLibraryDB, + "", + pSection, + false, + pOOVPARevision); + //*/ + + // verified for 3925 + pFunc = LocateFunctionCast(pContext, iLibraryType, "D3DDevice_SetTextureState_TexCoordIndex_0", 2039, + &D3DDevice_SetTextureState_TexCoordIndex_0_2039, pSection); + pXRefOffset = 0x08; + + if (pFunc == 0) { // verified for 4039 + pFunc = LocateFunctionCast(pContext, iLibraryType, "D3DDevice_SetTextureState_TexCoordIndex_4", 2040, + &D3DDevice_SetTextureState_TexCoordIndex_4_2040, pSection); + pXRefOffset = 0x14; + } + + if (pFunc == 0) { // verified for 4432 + pFunc = LocateFunctionCast(pContext, iLibraryType, "D3DDevice_SetTextureState_TexCoordIndex", 1944, + &D3DDevice_SetTextureState_TexCoordIndex_1944, pSection); + pXRefOffset = 0x19; + } + + if (pFunc == 0) { // verified for 4531 + pFunc = LocateFunctionCast(pContext, iLibraryType, "D3DDevice_SetTextureState_TexCoordIndex_4", 2045, + &D3DDevice_SetTextureState_TexCoordIndex_4_2045, pSection); + pXRefOffset = 0x14; + } + + if (pFunc == 0) { // verified for 4627 and higher + pFunc = LocateFunctionCast(pContext, iLibraryType, "D3DDevice_SetTextureState_TexCoordIndex_4", 2058, + &D3DDevice_SetTextureState_TexCoordIndex_4_2058, pSection); + pXRefOffset = 0x14; + } + + if (pFunc == 0) { // verified for 4627 and higher + pFunc = LocateFunctionCast(pContext, iLibraryType, "D3DDevice_SetTextureState_TexCoordIndex", 1958, + &D3DDevice_SetTextureState_TexCoordIndex_1958, pSection); + pXRefOffset = 0x19; + } + + if (pFunc == 0) { // verified for World Series Baseball 2K3 + pFunc = LocateFunctionCast(pContext, iLibraryType, "D3DDevice_SetTextureState_TexCoordIndex_4", 2052, + &D3DDevice_SetTextureState_TexCoordIndex_4_2052, pSection); + pXRefOffset = 0x15; + } + + if (pFunc == 0) { // verified for Ski Racing 2006 + pFunc = LocateFunctionCast(pContext, iLibraryType, "D3DDevice_SetTextureState_TexCoordIndex_0", 2058, + &D3DDevice_SetTextureState_TexCoordIndex_0_2058, pSection); + pXRefOffset = 0x15; + } + } + + if (pFunc != 0) { + // NOTE: Is a requirement to align properly. + pFunc += virt_start_relative; + manual_scan_section_dx8_register_D3DTSS(pContext, pLibrarySession, pFunc, pXRefOffset); + } + + // Locate Xbox symbol "g_Stream" and store it's address + pFunc = 0; + // verified for D3D8 with 4361, 4627, 5344, 5558, 5659, 5788, 5849, 5933 + // and verified for LTCG with 4432, 4627, 5344, 5558, 5849 + iCodeOffsetFor_g_Stream = 0x22; + + // TODO: Need investigate reason for going with higher number first then lower last. + if (pLibrary->flag == XbSymbolLib_D3D8) { + if (pLibrary->build_version >= 4034) { + OOVPA_version = 4034; + pFunc = LocateFunctionCast(pContext, iLibraryType, "D3DDevice_SetStreamSource", 4034, + &D3DDevice_SetStreamSource_4034, pSection); + } + else { + OOVPA_version = 3911; + pFunc = LocateFunctionCast(pContext, iLibraryType, "D3DDevice_SetStreamSource", 3911, + &D3DDevice_SetStreamSource_3911, pSection); + iCodeOffsetFor_g_Stream = 0x23; // verified for 3911 + } + } + else { // D3D8LTCG + if (pLibrary->build_version > 4039) { + OOVPA_version = 4034; // TODO Verify + pFunc = LocateFunctionCast(pContext, iLibraryType, "D3DDevice_SetStreamSource", 1044, + &D3DDevice_SetStreamSource_1044, pSection); + } + + if (pFunc == 0) { // LTCG specific + + OOVPA_version = 4034; // TODO Verify + pFunc = LocateFunctionCast(pContext, iLibraryType, "D3DDevice_SetStreamSource_4", 2058, + &D3DDevice_SetStreamSource_4_2058, pSection); + iCodeOffsetFor_g_Stream = 0x1E; + } + + if (pFunc == 0) { // verified for 4039 + OOVPA_version = 4034; + pFunc = LocateFunctionCast(pContext, iLibraryType, "D3DDevice_SetStreamSource_8", 2040, + &D3DDevice_SetStreamSource_8_2040, pSection); + iCodeOffsetFor_g_Stream = 0x23; + } + + if (pFunc == 0) { // verified for 3925 + OOVPA_version = 3911; + pFunc = LocateFunctionCast(pContext, iLibraryType, "D3DDevice_SetStreamSource_8__LTCG_edx_StreamNumber", 1039, + &D3DDevice_SetStreamSource_8__LTCG_edx_StreamNumber_1039, pSection); + iCodeOffsetFor_g_Stream = 0x47; + } + } + + if (pFunc != 0) { + // NOTE: Is a requirement to align properly. + pFunc += virt_start_relative; + + manual_scan_section_dx8_register_stream(pContext, pLibrarySession, pFunc, iCodeOffsetFor_g_Stream); + } + + // Manual check require for able to self-register these symbols: + // * D3DDevice_SetSwapCallback + // * D3DDevice_SetVerticalBlankCallback + + // First, check if D3D__PDEVICE is found. + if (pContext->xref_database[XREF_D3DDEVICE] != XREF_ADDR_DERIVE && + // Then, check at least one of symbol's member variable is not found. + pContext->xref_database[XREF_OFFSET_D3DDEVICE_M_SWAPCALLBACK] == XREF_ADDR_UNDETERMINED) { + + // Scan if event handle variable is not yet derived. + if (pContext->xref_database[XREF_OFFSET_D3DDEVICE_M_VERTICALBLANKEVENT] == XREF_ADDR_DERIVE) { + xSymbolAddr = (xbaddr)(uintptr_t)internal_LocateSymbolFunction(pContext, + pLibrarySession, + pLibraryDB, + "D3DDevice__m_VerticalBlankEvent__ManualFindGeneric", + pSection, + true, + NULL, + NULL); + } + + // We are not registering D3DDevice__m_VerticalBlankEvent__ManualFindGeneric itself, as it is NOT a symbol. + + + // If not found, skip manual register. + if (pContext->xref_database[XREF_OFFSET_D3DDEVICE_M_VERTICALBLANKEVENT] == XREF_ADDR_DERIVE) { + return false; + } + + // Finally, manual register the symbol variables. + xSymbolAddr = pContext->xref_database[XREF_OFFSET_D3DDEVICE_M_VERTICALBLANKEVENT]; + internal_SetXRefDatabase(pContext, iLibraryType, XREF_OFFSET_D3DDEVICE_M_SWAPCALLBACK, xSymbolAddr - 8); + internal_SetXRefDatabase(pContext, iLibraryType, XREF_OFFSET_D3DDEVICE_M_VBLANKCALLBACK, xSymbolAddr - 4); + } + // If D3D__PDEVICE is not found, the scan is not complete + // and will continue scan to next given section. + else { + return false; + } + + return true; +} + +static inline void manual_register_d3d8__ltcg(iXbSymbolContext* pContext) +{ + xbaddr xD3D_pDeviceAddr = pContext->xref_database[XREF_D3DDEVICE]; + if (internal_IsXRefAddrValid(xD3D_pDeviceAddr)) { + // Register offset of D3DDevice__m_VertexShader + internal_RegisterValidXRefAddr_M(pContext, Lib_D3D8, XbSymbolLib_D3D8, XREF_OFFSET_D3DDEVICE_M_VERTEXSHADER, 0, "D3DDevice__m_VertexShader_OFFSET"); + } +} diff --git a/src/lib/manual_dsound.h b/src/lib/manual_dsound.h new file mode 100644 index 00000000..efbe420c --- /dev/null +++ b/src/lib/manual_dsound.h @@ -0,0 +1,121 @@ +// This is an open source non-commercial project. Dear PVS-Studio, please check it. +// PVS-Studio Static Code Analyzer for C, C++ and C#: http://www.viva64.com +// ****************************************************************** +// * +// * XbSymbolDatabase is free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +// * +// * All rights reserved +// * +// ****************************************************************** +#pragma once + +static bool manual_scan_section_dsound(iXbSymbolContext* pContext, + const iXbSymbolLibrarySession* pLibrarySession, + SymbolDatabaseList* pLibraryDB, + const XbSDBSection* pSection) +{ + // Generic usage + xbaddr xblower = pSection->xb_virt_addr; + xbaddr xbupper = pSection->xb_virt_addr + pSection->buffer_size; + uintptr_t virt_start_relative = (uintptr_t)pSection->buffer_lower - pSection->xb_virt_addr; + xbaddr xFuncAddr = 0; + memptr_t pFuncAddr = 0; + const XbSDBLibrary* pLibrary = pLibrarySession->pLibrary; + const eLibraryType iLibraryType = pLibrarySession->iLibraryType; + OOVPATable* pSymbol = NULL; + + /* + bool testRun = 1; + while (testRun) { + }//*/ + + // Scan for DirectSoundStream's constructor function. + if (pContext->xref_database[XREF_CDirectSoundStream_Constructor] == XREF_ADDR_UNDETERMINED) { + xFuncAddr = (xbaddr)(uintptr_t)internal_LocateSymbolFunction(pContext, + pLibrarySession, + pLibraryDB, + "CDirectSoundStream_Constructor", + pSection, + true, + &pSymbol, + NULL); + + // If not found, skip the rest of the scan. + if (xFuncAddr == 0) { + return false; + } + + internal_RegisterSymbol(pContext, pLibrarySession, pSymbol, 3911, xFuncAddr); + + // TODO: If possible, integrate into the OOVPA structure. + internal_RegisterXRef(pContext, pLibrarySession, XREF_DSS_VOICE_VTABLE, 3911, + NULL, *(xbaddr*)(virt_start_relative + xFuncAddr + 0x14), false); + internal_RegisterXRef(pContext, pLibrarySession, XREF_DSS_STREAM_VTABLE, 3911, + NULL, *(xbaddr*)(virt_start_relative + xFuncAddr + 0x1B), false); + } + + // Verify both variables are already set from the scan function above. + if (pContext->xref_database[XREF_DSS_STREAM_VTABLE] == XREF_ADDR_DERIVE || + pContext->xref_database[XREF_DSS_VOICE_VTABLE] == XREF_ADDR_DERIVE) { + + output_message(&pContext->output, XB_OUTPUT_MESSAGE_ERROR, "Something went wrong with finding DSS' vtables..."); + return false; + } + + // Finally, manually add CDirectSoundStream's AddRef and Release functions. + if (pContext->xref_database[XREF_CDirectSoundStream_AddRef] == XREF_ADDR_UNDETERMINED) { + xbaddr vtable = pContext->xref_database[XREF_DSS_STREAM_VTABLE]; + + if (xblower <= vtable && vtable < xbupper) { + pFuncAddr = (memptr_t)virt_start_relative + vtable; + + internal_RegisterSymbol_M(pContext, pLibrarySession, XREF_CDirectSoundStream_AddRef, 3911, + "CDirectSoundStream_AddRef", *(uint32_t*)(pFuncAddr + 0 * 4)); + + internal_RegisterSymbol_M(pContext, pLibrarySession, XREF_CDirectSoundStream_Release, 3911, + "CDirectSoundStream_Release", *(uint32_t*)(pFuncAddr + 1 * 4)); + + internal_RegisterSymbol_M(pContext, pLibrarySession, XREF_CDirectSoundStream_GetInfo, 3911, + "CDirectSoundStream_GetInfo", *(uint32_t*)(pFuncAddr + 2 * 4)); + + if (pLibrary->build_version < 4134) { + internal_RegisterSymbol_M(pContext, pLibrarySession, XREF_CDirectSoundStream_GetStatus, 3911, + "CDirectSoundStream_GetStatus__r1", *(uint32_t*)(pFuncAddr + 3 * 4)); + } + else { + internal_RegisterSymbol_M(pContext, pLibrarySession, XREF_CDirectSoundStream_GetStatus, 4134, + "CDirectSoundStream_GetStatus__r2", *(uint32_t*)(pFuncAddr + 3 * 4)); + } + + internal_RegisterSymbol_M(pContext, pLibrarySession, XREF_CDirectSoundStream_Process, 3911, + "CDirectSoundStream_Process", *(uint32_t*)(pFuncAddr + 4 * 4)); + + internal_RegisterSymbol_M(pContext, pLibrarySession, XREF_CDirectSoundStream_Discontinuity, 3911, + "CDirectSoundStream_Discontinuity", *(uint32_t*)(pFuncAddr + 5 * 4)); + + internal_RegisterSymbol_M(pContext, pLibrarySession, XREF_CDirectSoundStream_Flush, 3911, + "CDirectSoundStream_Flush", *(uint32_t*)(pFuncAddr + 6 * 4)); + + // NOTE: it is possible to manual add GetInfo, GetStatus, Process, Discontinuity, + // and Flush functions. + } + else { + return false; + } + } + + return true; +} diff --git a/src/lib/manual_xapilib.h b/src/lib/manual_xapilib.h new file mode 100644 index 00000000..5532645e --- /dev/null +++ b/src/lib/manual_xapilib.h @@ -0,0 +1,169 @@ +// This is an open source non-commercial project. Dear PVS-Studio, please check it. +// PVS-Studio Static Code Analyzer for C, C++ and C#: http://www.viva64.com +// ****************************************************************** +// * +// * XbSymbolDatabase is free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +// * +// * All rights reserved +// * +// ****************************************************************** +#pragma once + +static bool manual_scan_section_xapilib(iXbSymbolContext* pContext, + const iXbSymbolLibrarySession* pLibrarySession, + SymbolDatabaseList* pLibraryDB, + const XbSDBSection* pSection) +{ + // Generic usage + uintptr_t virt_start_relative = (uintptr_t)pSection->buffer_lower - pSection->xb_virt_addr; + memptr_t buffer_upper = (memptr_t)pSection->buffer_lower + pSection->buffer_size; + xbaddr xXbAddr = 0; + const XbSDBLibrary* pLibrary = pLibrarySession->pLibrary; + const eLibraryType iLibraryType = pLibrarySession->iLibraryType; + OOVPARevision* pOOVPARevision = NULL; + OOVPATable* pSymbol = NULL; + + // Find XapiMapLetterToDirectory function + if (!internal_IsXRefAddrValid(pContext->xref_database[XREF_XapiMapLetterToDirectory])) { + const char* sig_func_str = "XapiMapLetterToDirectory"; + const char* xref_str = "XGetSectionSize"; + + xXbAddr = (xbaddr)(uintptr_t)internal_LocateSymbolFunction(pContext, + pLibrarySession, + pLibraryDB, + sig_func_str, + pSection, + true, + &pSymbol, + &pOOVPARevision); + + if (xXbAddr) { + internal_RegisterSymbol(pContext, pLibrarySession, pSymbol, pOOVPARevision->Version, xXbAddr); + + // Register XGetSectionSize function. + if (!internal_IsXRefAddrValid(pContext->xref_database[XREF_XGetSectionSize])) { + // If relative address is not recorded, then signature needs a fix. + output_message_format(&pContext->output, + XB_OUTPUT_MESSAGE_ERROR, + "Please verify %s (%hu) signature do contain %s's xref entry.", + sig_func_str, pOOVPARevision->Version, xref_str); + return false; + } + // Manually translate to virtual address from relative address. + xXbAddr = internal_OOVPARevision_ConvertXRefRelativeAddrtToVirtAddr(pContext, pSymbol, pOOVPARevision, xref_str, XREF_XGetSectionSize); + if (!xXbAddr) { + // Error message is handled by above function. No extra message necessary here. + return false; + } + pContext->xref_database[XREF_XGetSectionSize] = XREF_ADDR_UNDETERMINED; // Force reset to able register + + internal_RegisterSymbol_M(pContext, pLibrarySession, XREF_XGetSectionSize, pOOVPARevision->Version, + xref_str, xXbAddr); + } + } + + // Find MU_Init function + if (!internal_IsXRefAddrValid(pContext->xref_database[XREF_MU_Init])) { + + xXbAddr = (xbaddr)(uintptr_t)internal_LocateSymbolFunction(pContext, + pLibrarySession, + pLibraryDB, + "MU_Init", + pSection, + true, + &pSymbol, + &pOOVPARevision); + + if (xXbAddr) { + internal_RegisterSymbol(pContext, pLibrarySession, pSymbol, pOOVPARevision->Version, xXbAddr); + } + } + + if (!internal_IsXRefAddrValid(pContext->xref_database[XREF_MU_Init])) { + // If not found, skip the rest of the scan. + return false; + } + + + // Scan for IUsbInit::GetMaxDeviceTypeCount function. + if (!internal_IsXRefAddrValid(pContext->xref_database[XREF_IUsbInit_GetMaxDeviceTypeCount])) { + xXbAddr = (xbaddr)(uintptr_t)internal_LocateSymbolFunction(pContext, + pLibrarySession, + pLibraryDB, + "IUsbInit_GetMaxDeviceTypeCount", + pSection, + true, + &pSymbol, + NULL); + + // If not found, skip the rest of the scan. + if (xXbAddr == 0) { + return false; + } + + internal_RegisterSymbol(pContext, pLibrarySession, pSymbol, 3911, xXbAddr); + } + + + xXbAddr = 0; + // TODO: Move below into separate function. + // search all of the buffer memory range + for (memptr_t cur = (memptr_t)virt_start_relative + pContext->xref_database[XREF_MU_Init]; cur < buffer_upper; cur++) { + // We are looking for "leave; ret 0x04;" for end of function then stop searching. + if (cur[0] == 0xC9 && cur[1] == 0xC2 && cur[2] == 0x04) { + output_message_format(&pContext->output, XB_OUTPUT_MESSAGE_ERROR, "Could not find g_DeviceType_MU from MU_Init!"); + return false; + } + + // Look for possible push and call next to each other. + if (cur[0] == 0x68 && cur[5] == 0xE8) { + + // check if call is linked to IUsbInit_GetMaxDeviceTypeCount function. + xbaddr ActualAddr = *(xbaddr*)(cur + 6); + if (MatchXRefAddr(cur + 6, virt_start_relative, pContext->xref_database[XREF_IUsbInit_GetMaxDeviceTypeCount])) { + // this is where g_DeviceType_MU hardcode address reside in. + xXbAddr = *(xbaddr*)(cur + 1); + break; + } + } + } + + // register if g_DeviceType_MU is not valid. + if (!internal_IsXRefAddrValid(pContext->xref_database[XREF_g_DeviceType_MU])) { + + // Register g_DeviceType_MU + internal_RegisterSymbol_M(pContext, pLibrarySession, XREF_g_DeviceType_MU, 3911, + "g_DeviceType_MU", xXbAddr); + } + + return true; +} + +static inline void manual_register_xapilib(iXbSymbolContext* pContext) +{ + xbaddr xg_XapiMountedMUs = pContext->xref_database[XREF_g_XapiMountedMUs]; + if (internal_IsXRefAddrValid(xg_XapiMountedMUs)) { + // Register g_XapiMountedMUs + internal_RegisterValidXRefAddr_M(pContext, Lib_XAPILIB, XbSymbolLib_XAPILIB, XREF_g_XapiMountedMUs, 0, "g_XapiMountedMUs"); + } + internal_RegisterValidXRefAddr_M(pContext, Lib_XAPILIB, XbSymbolLib_XAPILIB, XREF_g_XapiCurrentTopLevelFilter, 0, "g_XapiCurrentTopLevelFilter"); + internal_RegisterValidXRefAddr_M(pContext, Lib_XAPILIB, XbSymbolLib_XAPILIB, XREF_XAPI__tls_array, 0, "_tls_array"); + internal_RegisterValidXRefAddr_M(pContext, Lib_XAPILIB, XbSymbolLib_XAPILIB, XREF_XAPI__tls_index, 0, "_tls_index"); + internal_RegisterValidXRefAddr_M(pContext, Lib_XAPILIB, XbSymbolLib_XAPILIB, XREF_OFFSET_XapiCurrentFiber, 0, "XapiCurrentFiber_OFFSET"); + internal_RegisterValidXRefAddr_M(pContext, Lib_XAPILIB, XbSymbolLib_XAPILIB, XREF_OFFSET_XapiLastErrorCode, 0, "XapiLastErrorCode_OFFSET"); + internal_RegisterValidXRefAddr_M(pContext, Lib_XAPILIB, XbSymbolLib_XAPILIB, XREF_OFFSET_XapiThreadFiberData, 0, "XapiThreadFiberData_OFFSET"); + internal_RegisterValidXRefAddr_M(pContext, Lib_XAPILIB, XbSymbolLib_XAPILIB, XREF_XapiThreadNotifyRoutineList, 0, "XapiThreadNotifyRoutineList"); +} diff --git a/src/xref/d3d8.def b/src/xref/d3d8.def new file mode 100644 index 00000000..342bae7d --- /dev/null +++ b/src/xref/d3d8.def @@ -0,0 +1,316 @@ +// ****************************************************************** +// * +// * XbSymbolDatabase is free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +// * +// * All rights reserved +// * +// ****************************************************************** + +// custom search (not for external project usage) +XREF_SYMBOL(D3DDevice__m_VerticalBlankEvent__ManualFindGeneric) + +// variable addresses +XREF_SYMBOL(D3DDEVICE) +XREF_SYMBOL(D3DRS_BACKFILLMODE) +XREF_SYMBOL(D3DRS_CULLMODE) +XREF_SYMBOL(D3DRS_DXT1NOISEENABLE) +XREF_SYMBOL(D3DRS_FILLMODE) +XREF_SYMBOL(D3DRS_LINEWIDTH) +XREF_SYMBOL(D3DRS_LOGICOP) +XREF_SYMBOL(D3DRS_MULTISAMPLEANTIALIAS) +XREF_SYMBOL(D3DRS_MULTISAMPLEMASK) +XREF_SYMBOL(D3DRS_MULTISAMPLEMODE) +XREF_SYMBOL(D3DRS_MULTISAMPLERENDERTARGETMODE) +XREF_SYMBOL(D3DRS_OCCLUSIONCULLENABLE) +XREF_SYMBOL(D3DRS_ROPZCMPALWAYSREAD) +XREF_SYMBOL(D3DRS_ROPZREAD) +XREF_SYMBOL(D3DRS_DONOTCULLUNCOMPRESSED) +XREF_SYMBOL(D3DRS_SAMPLEALPHA) +XREF_SYMBOL(D3DRS_STENCILCULLENABLE) +XREF_SYMBOL(D3DRS_STENCILENABLE) +XREF_SYMBOL(D3DRS_TWOSIDEDLIGHTING) +XREF_SYMBOL(D3DRS_YUVENABLE) +XREF_SYMBOL(D3DRS_ZBIAS) +XREF_SYMBOL(D3DTSS_TEXCOORDINDEX) +XREF_SYMBOL(G_STREAM) + + +// Offsets : +XREF_SYMBOL(OFFSET_D3DDEVICE_M_PIXELSHADER) // initially set to XREF_ADDR_DERIVE +XREF_SYMBOL(OFFSET_D3DDEVICE_M_TEXTURES) // initially set to XREF_ADDR_DERIVE +XREF_SYMBOL(OFFSET_D3DDEVICE_M_PALETTES) // initially set to XREF_ADDR_DERIVE +XREF_SYMBOL(OFFSET_D3DDEVICE_M_RENDERTARGET) // initially set to XREF_ADDR_DERIVE +XREF_SYMBOL(OFFSET_D3DDEVICE_M_DEPTHSTENCIL) // initially set to XREF_ADDR_DERIVE +XREF_SYMBOL(OFFSET_D3DDEVICE_M_VERTICALBLANKEVENT) // initially set to XREF_ADDR_DERIVE +XREF_SYMBOL(OFFSET_D3DDEVICE_M_SWAPCALLBACK) // initially set to XREF_ADDR_DERIVE +XREF_SYMBOL(OFFSET_D3DDEVICE_M_VBLANKCALLBACK) // initially set to XREF_ADDR_DERIVE +XREF_SYMBOL(OFFSET_D3DDEVICE_M_VERTEXSHADER) // initially set to XREF_ADDR_DERIVE + +// Functions +// include D3D8 prefix +XREF_SYMBOL(D3D8_Lock2DSurface) +XREF_SYMBOL(D3D8_Lock3DSurface) +XREF_SYMBOL(D3D8_Get2DSurfaceDesc) +// include D3D prefix +XREF_SYMBOL(D3D_CDevice_KickOff) +XREF_SYMBOL(D3D_CDevice_LazySetStateUP) +XREF_SYMBOL(D3D_CDevice_MakeSpace) +XREF_SYMBOL(D3D_CDevice_SetStateUP) +XREF_SYMBOL(D3D_CDevice_SetStateVB) +XREF_SYMBOL(D3D_CMiniport_CreateCtxDmaObject) +XREF_SYMBOL(D3D_CMiniport_GetDisplayCapabilities) +XREF_SYMBOL(D3D_CMiniport_InitHardware) +XREF_SYMBOL(D3D_CMiniport_IsFlipPending) +// D3D prefix +XREF_SYMBOL(D3D_AllocContiguousMemory) +XREF_SYMBOL(D3D_BlockOnResource) +XREF_SYMBOL(D3D_BlockOnTime) +XREF_SYMBOL(D3D_CheckDeviceFormat) +XREF_SYMBOL(D3D_ClearStateBlockFlags) +XREF_SYMBOL(D3D_CreateStandAloneSurface) +XREF_SYMBOL(D3D_DestroyResource) +XREF_SYMBOL(D3D_EnumAdapterModes) +XREF_SYMBOL(D3D_GetAdapterDisplayMode) +XREF_SYMBOL(D3D_GetAdapterIdentifier) +XREF_SYMBOL(D3D_GetAdapterModeCount) +XREF_SYMBOL(D3D_GetDeviceCaps) +XREF_SYMBOL(D3D_KickOffAndWaitForIdle) +XREF_SYMBOL(D3D_LazySetPointParams) +XREF_SYMBOL(D3D_MakeRequestedSpace) +XREF_SYMBOL(D3D_RecordStateBlock) +XREF_SYMBOL(D3D_SetCommonDebugRegisters) +XREF_SYMBOL(D3D_SetFence) +XREF_SYMBOL(D3D_SetPushBufferSize) +XREF_SYMBOL(D3D_SetTileNoWait) +XREF_SYMBOL(D3D_UpdateProjectionViewportTransform) +// D3DDevice prefix +XREF_SYMBOL(D3DDevice_AddRef) +XREF_SYMBOL(D3DDevice_ApplyStateBlock) +XREF_SYMBOL(D3DDevice_Begin) +XREF_SYMBOL(D3DDevice_BeginPush) +XREF_SYMBOL(D3DDevice_BeginPush2) +XREF_SYMBOL(D3DDevice_BeginPushBuffer) +XREF_SYMBOL(D3DDevice_BeginStateBig) +XREF_SYMBOL(D3DDevice_BeginStateBlock) +XREF_SYMBOL(D3DDevice_BeginVisibilityTest) +XREF_SYMBOL(D3DDevice_BlockOnFence) +XREF_SYMBOL(D3DDevice_BlockUntilVerticalBlank) +XREF_SYMBOL(D3DDevice_CaptureStateBlock) +XREF_SYMBOL(D3DDevice_Clear) +XREF_SYMBOL(D3DDevice_CopyRects) +XREF_SYMBOL(D3DDevice_CreateCubeTexture) +XREF_SYMBOL(D3DDevice_CreateImageSurface) +XREF_SYMBOL(D3DDevice_CreateIndexBuffer) +XREF_SYMBOL(D3DDevice_CreateIndexBuffer2) +XREF_SYMBOL(D3DDevice_CreatePalette) +XREF_SYMBOL(D3DDevice_CreatePalette2) +XREF_SYMBOL(D3DDevice_CreatePixelShader) +XREF_SYMBOL(D3DDevice_CreateStateBlock) +XREF_SYMBOL(D3DDevice_CreateTexture) +XREF_SYMBOL(D3DDevice_CreateTexture2) +XREF_SYMBOL(D3DDevice_CreateVertexBuffer) +XREF_SYMBOL(D3DDevice_CreateVertexBuffer2) +XREF_SYMBOL(D3DDevice_CreateVertexShader) +XREF_SYMBOL(D3DDevice_CreateVolumeTexture) +XREF_SYMBOL(D3DDevice_DeletePatch) +XREF_SYMBOL(D3DDevice_DeletePixelShader) +XREF_SYMBOL(D3DDevice_DeleteStateBlock) +XREF_SYMBOL(D3DDevice_DeleteVertexShader) +XREF_SYMBOL(D3DDevice_DrawIndexedVertices) +XREF_SYMBOL(D3DDevice_DrawIndexedVerticesUP) +XREF_SYMBOL(D3DDevice_DrawRectPatch) +XREF_SYMBOL(D3DDevice_DrawTriPatch) +XREF_SYMBOL(D3DDevice_DrawVertices) +XREF_SYMBOL(D3DDevice_DrawVerticesUP) +XREF_SYMBOL(D3DDevice_EnableOverlay) +XREF_SYMBOL(D3DDevice_End) +XREF_SYMBOL(D3DDevice_EndPush) +XREF_SYMBOL(D3DDevice_EndPushBuffer) +XREF_SYMBOL(D3DDevice_EndStateBlock) +XREF_SYMBOL(D3DDevice_EndVisibilityTest) +XREF_SYMBOL(D3DDevice_FlushVertexCache) +XREF_SYMBOL(D3DDevice_GetBackBuffer) +XREF_SYMBOL(D3DDevice_GetBackBuffer2) +XREF_SYMBOL(D3DDevice_GetBackMaterial) +XREF_SYMBOL(D3DDevice_GetCreationParameters) +XREF_SYMBOL(D3DDevice_GetDepthStencilSurface) +XREF_SYMBOL(D3DDevice_GetDepthStencilSurface2) +XREF_SYMBOL(D3DDevice_GetDeviceCaps) +XREF_SYMBOL(D3DDevice_GetDisplayFieldStatus) +XREF_SYMBOL(D3DDevice_GetDisplayMode) +XREF_SYMBOL(D3DDevice_GetGammaRamp) +XREF_SYMBOL(D3DDevice_GetLight) +XREF_SYMBOL(D3DDevice_GetLightEnable) +XREF_SYMBOL(D3DDevice_GetMaterial) +XREF_SYMBOL(D3DDevice_GetModelView) +XREF_SYMBOL(D3DDevice_GetOverlayUpdateStatus) +XREF_SYMBOL(D3DDevice_GetPersistedSurface2) +XREF_SYMBOL(D3DDevice_GetPixelShader) +XREF_SYMBOL(D3DDevice_GetProjectionViewportMatrix) +XREF_SYMBOL(D3DDevice_GetPushBufferOffset) +XREF_SYMBOL(D3DDevice_GetRenderTarget) +XREF_SYMBOL(D3DDevice_GetRenderTarget2) +XREF_SYMBOL(D3DDevice_GetScissors) +XREF_SYMBOL(D3DDevice_GetShaderConstantMode) +XREF_SYMBOL(D3DDevice_GetStreamSource2) +XREF_SYMBOL(D3DDevice_GetTexture2) +XREF_SYMBOL(D3DDevice_GetTile) +XREF_SYMBOL(D3DDevice_GetTransform) +XREF_SYMBOL(D3DDevice_GetVertexShader) +XREF_SYMBOL(D3DDevice_GetVertexShaderConstant) +XREF_SYMBOL(D3DDevice_GetVertexShaderDeclaration) +XREF_SYMBOL(D3DDevice_GetVertexShaderFunction) +XREF_SYMBOL(D3DDevice_GetVertexShaderInput) +XREF_SYMBOL(D3DDevice_GetVertexShaderSize) +XREF_SYMBOL(D3DDevice_GetVertexShaderType) +XREF_SYMBOL(D3DDevice_GetViewport) +XREF_SYMBOL(D3DDevice_GetViewportOffsetAndScale) +XREF_SYMBOL(D3DDevice_GetVisibilityTestResult) +XREF_SYMBOL(D3DDevice_InsertCallback) +XREF_SYMBOL(D3DDevice_InsertFence) +XREF_SYMBOL(D3DDevice_IsBusy) +XREF_SYMBOL(D3DDevice_IsFencePending) +XREF_SYMBOL(D3DDevice_KickPushBuffer) +XREF_SYMBOL(D3DDevice_LazySetStateVB) +XREF_SYMBOL(D3DDevice_LightEnable) +XREF_SYMBOL(D3DDevice_LoadVertexShader) +XREF_SYMBOL(D3DDevice_LoadVertexShaderProgram) +XREF_SYMBOL(D3DDevice_MakeSpace) +XREF_SYMBOL(D3DDevice_PersistDisplay) +XREF_SYMBOL(D3DDevice_Present) +XREF_SYMBOL(D3DDevice_PrimeVertexCache) +XREF_SYMBOL(D3DDevice_Release) +XREF_SYMBOL(D3DDevice_Reset) +XREF_SYMBOL(D3DDevice_RunPushBuffer) +XREF_SYMBOL(D3DDevice_RunVertexStateShader) +XREF_SYMBOL(D3DDevice_SelectVertexShader) +XREF_SYMBOL(D3DDevice_SelectVertexShaderDirect) +XREF_SYMBOL(D3DDevice_SetBackBufferScale) +XREF_SYMBOL(D3DDevice_SetBackMaterial) +XREF_SYMBOL(D3DDevice_SetDepthClipPlanes) +XREF_SYMBOL(D3DDevice_SetFlickerFilter) +XREF_SYMBOL(D3DDevice_SetGammaRamp) +XREF_SYMBOL(D3DDevice_SetIndices) +XREF_SYMBOL(D3DDevice_SetLight) +XREF_SYMBOL(D3DDevice_SetMaterial) +XREF_SYMBOL(D3DDevice_SetModelView) +XREF_SYMBOL(D3DDevice_SetPalette) +XREF_SYMBOL(D3DDevice_SetPixelShader) +XREF_SYMBOL(D3DDevice_SetPixelShaderConstant) +XREF_SYMBOL(D3DDevice_SetPixelShaderProgram) +XREF_SYMBOL(D3DDevice_SetRenderState) +XREF_SYMBOL(D3DDevice_SetRenderState2) +XREF_SYMBOL(D3DDevice_SetRenderState_BackFillMode) +XREF_SYMBOL(D3DDevice_SetRenderState_CullMode) +XREF_SYMBOL(D3DDevice_SetRenderState_Deferred) +XREF_SYMBOL(D3DDevice_SetRenderState_DoNotCullUncompressed) +XREF_SYMBOL(D3DDevice_SetRenderState_Dxt1NoiseEnable) +XREF_SYMBOL(D3DDevice_SetRenderState_EdgeAntiAlias) +XREF_SYMBOL(D3DDevice_SetRenderState_FillMode) +XREF_SYMBOL(D3DDevice_SetRenderState_FogColor) +XREF_SYMBOL(D3DDevice_SetRenderState_FrontFace) +XREF_SYMBOL(D3DDevice_SetRenderState_LineWidth) +XREF_SYMBOL(D3DDevice_SetRenderState_LogicOp) +XREF_SYMBOL(D3DDevice_SetRenderState_MultiSampleAntiAlias) +XREF_SYMBOL(D3DDevice_SetRenderState_MultiSampleMask) +XREF_SYMBOL(D3DDevice_SetRenderState_MultiSampleMode) +XREF_SYMBOL(D3DDevice_SetRenderState_MultiSampleRenderTargetMode) +XREF_SYMBOL(D3DDevice_SetRenderState_NormalizeNormals) +XREF_SYMBOL(D3DDevice_SetRenderState_OcclusionCullEnable) +XREF_SYMBOL(D3DDevice_SetRenderState_PSTextureModes) +XREF_SYMBOL(D3DDevice_SetRenderState_RopZCmpAlwaysRead) +XREF_SYMBOL(D3DDevice_SetRenderState_RopZRead) +XREF_SYMBOL(D3DDevice_SetRenderState_SampleAlpha) +XREF_SYMBOL(D3DDevice_SetRenderState_ShadowFunc) +XREF_SYMBOL(D3DDevice_SetRenderState_Simple) +XREF_SYMBOL(D3DDevice_SetRenderState_StencilCullEnable) +XREF_SYMBOL(D3DDevice_SetRenderState_StencilEnable) +XREF_SYMBOL(D3DDevice_SetRenderState_StencilFail) +XREF_SYMBOL(D3DDevice_SetRenderState_TextureFactor) +XREF_SYMBOL(D3DDevice_SetRenderState_TwoSidedLighting) +XREF_SYMBOL(D3DDevice_SetRenderState_VertexBlend) +XREF_SYMBOL(D3DDevice_SetRenderState_YuvEnable) +XREF_SYMBOL(D3DDevice_SetRenderState_ZBias) +XREF_SYMBOL(D3DDevice_SetRenderState_ZEnable) +XREF_SYMBOL(D3DDevice_SetRenderStateNotInline) +XREF_SYMBOL(D3DDevice_SetRenderTarget) +XREF_SYMBOL(D3DDevice_SetRenderTargetFast) +XREF_SYMBOL(D3DDevice_SetScissors) +XREF_SYMBOL(D3DDevice_SetScreenSpaceOffset) +XREF_SYMBOL(D3DDevice_SetShaderConstantMode) +XREF_SYMBOL(D3DDevice_SetSoftDisplayFilter) +XREF_SYMBOL(D3DDevice_SetStipple) +XREF_SYMBOL(D3DDevice_SetStreamSource) +XREF_SYMBOL(D3DDevice_SetSwapCallback) +XREF_SYMBOL(D3DDevice_SetTexture) +XREF_SYMBOL(D3DDevice_SetTextureState_BorderColor) +XREF_SYMBOL(D3DDevice_SetTextureState_BumpEnv) +XREF_SYMBOL(D3DDevice_SetTextureState_ColorKeyColor) +XREF_SYMBOL(D3DDevice_SetTextureState_TexCoordIndex) +XREF_SYMBOL(D3DDevice_SetTile) +XREF_SYMBOL(D3DDevice_SetTransform) +XREF_SYMBOL(D3DDevice_MultiplyTransform) +XREF_SYMBOL(D3DDevice_SetVertexData2f) +XREF_SYMBOL(D3DDevice_SetVertexData2s) +XREF_SYMBOL(D3DDevice_SetVertexData4f) +XREF_SYMBOL(D3DDevice_SetVertexData4s) +XREF_SYMBOL(D3DDevice_SetVertexData4ub) +XREF_SYMBOL(D3DDevice_SetVertexDataColor) +XREF_SYMBOL(D3DDevice_SetVertexShader) +XREF_SYMBOL(D3DDevice_SetVertexShaderConstant) +XREF_SYMBOL(D3DDevice_SetVertexShaderConstant1) +XREF_SYMBOL(D3DDevice_SetVertexShaderConstant1Fast) +XREF_SYMBOL(D3DDevice_SetVertexShaderConstant4) +XREF_SYMBOL(D3DDevice_SetVertexShaderConstantNotInline) +XREF_SYMBOL(D3DDevice_SetVertexShaderConstantNotInlineFast) +XREF_SYMBOL(D3DDevice_SetVertexShaderInput) +XREF_SYMBOL(D3DDevice_SetVertexShaderInputDirect) +XREF_SYMBOL(D3DDevice_SetVerticalBlankCallback) +XREF_SYMBOL(D3DDevice_SetViewport) +XREF_SYMBOL(D3DDevice_Swap) +XREF_SYMBOL(D3DDevice_SwitchTexture) +XREF_SYMBOL(D3DDevice_UpdateOverlay) +// D3D____Texture prefix +XREF_SYMBOL(D3DBaseTexture_GetLevelCount) +XREF_SYMBOL(D3DCubeTexture_GetCubeMapSurface) +XREF_SYMBOL(D3DCubeTexture_GetCubeMapSurface2) +XREF_SYMBOL(D3DCubeTexture_LockRect) +XREF_SYMBOL() +// D3DResource prefix +XREF_SYMBOL(D3DResource_AddRef) +XREF_SYMBOL(D3DResource_BlockUntilNotBusy) +XREF_SYMBOL(D3DResource_GetType) +XREF_SYMBOL(D3DResource_IsBusy) +XREF_SYMBOL(D3DResource_Register) +XREF_SYMBOL(D3DResource_Release) +// D3DTexture prefix +XREF_SYMBOL(D3DTexture_GetSurfaceLevel) +XREF_SYMBOL(D3DTexture_GetSurfaceLevel2) +XREF_SYMBOL(D3DTexture_LockRect) +// D3DVertexBuffer prefix +XREF_SYMBOL(D3DVertexBuffer_GetDesc) +XREF_SYMBOL(D3DVertexBuffer_Lock) +XREF_SYMBOL(D3DVertexBuffer_Lock2) +// misc prefixes +XREF_SYMBOL(D3DPalette_Lock) +XREF_SYMBOL(D3DPalette_Lock2) +XREF_SYMBOL(D3DSurface_GetDesc) +XREF_SYMBOL(D3DSurface_LockRect) +XREF_SYMBOL(D3DVolumeTexture_LockBox) +XREF_SYMBOL(XMETAL_StartPush) +XREF_SYMBOL(Direct3D_CheckDeviceMultiSampleType) +XREF_SYMBOL(Direct3D_CreateDevice) +XREF_SYMBOL(IDirect3DVertexBuffer8_Lock) diff --git a/src/xref/d3d8ltcg.def b/src/xref/d3d8ltcg.def new file mode 100644 index 00000000..eeab15b9 --- /dev/null +++ b/src/xref/d3d8ltcg.def @@ -0,0 +1,26 @@ +// ****************************************************************** +// * +// * XbSymbolDatabase is free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +// * +// * All rights reserved +// * +// ****************************************************************** + +// TODO: Verify each xref's function match with d3d8.def's function xrefs. + +// functions +XREF_SYMBOL(D3DDevice_SetTextureStageStateNotInline) +XREF_SYMBOL(D3D_KickOffAndWaitForIdle2) diff --git a/src/xref/dsound.def b/src/xref/dsound.def new file mode 100644 index 00000000..c7e928e2 --- /dev/null +++ b/src/xref/dsound.def @@ -0,0 +1,375 @@ +// ****************************************************************** +// * +// * XbSymbolDatabase is free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +// * +// * All rights reserved +// * +// ****************************************************************** + +// variable addresses +XREF_SYMBOL(DSS_VOICE_VTABLE) +XREF_SYMBOL(DSS_STREAM_VTABLE) + +// functions +XREF_SYMBOL(CDirectSound3DCalculator_Calculate3D) +XREF_SYMBOL(CDirectSound3DCalculator_GetMixBinVolumes) +XREF_SYMBOL(CDirectSound3DCalculator_GetPanData) +XREF_SYMBOL(CDirectSound3DCalculator_GetVoiceData) +XREF_SYMBOL(CDirectSoundBuffer_GetCurrentPosition) +XREF_SYMBOL(CDirectSoundBuffer_GetStatus) +XREF_SYMBOL(CDirectSoundBuffer_GetVoiceProperties) +XREF_SYMBOL(CDirectSoundBuffer_Lock) +XREF_SYMBOL(CDirectSoundBuffer_Pause) +XREF_SYMBOL(CDirectSoundBuffer_PauseEx) +XREF_SYMBOL(CDirectSoundBuffer_Play) +XREF_SYMBOL(CDirectSoundBuffer_PlayEx) +XREF_SYMBOL(CDirectSoundBuffer_Set3DVoiceData) +XREF_SYMBOL(CDirectSoundBuffer_SetAllParameters) +XREF_SYMBOL(CDirectSoundBuffer_SetBufferData) +XREF_SYMBOL(CDirectSoundBuffer_SetConeAngles) +XREF_SYMBOL(CDirectSoundBuffer_SetConeOrientation) +XREF_SYMBOL(CDirectSoundBuffer_SetConeOutsideVolume) +XREF_SYMBOL(CDirectSoundBuffer_SetCurrentPosition) +XREF_SYMBOL(CDirectSoundBuffer_SetDistanceFactor) +XREF_SYMBOL(CDirectSoundBuffer_SetDopplerFactor) +XREF_SYMBOL(CDirectSoundBuffer_SetEG) +XREF_SYMBOL(CDirectSoundBuffer_SetFilter) +XREF_SYMBOL(CDirectSoundBuffer_SetFormat) +XREF_SYMBOL(CDirectSoundBuffer_SetFrequency) +XREF_SYMBOL(CDirectSoundBuffer_SetHeadroom) +XREF_SYMBOL(CDirectSoundBuffer_SetI3DL2Source) +XREF_SYMBOL(CDirectSoundBuffer_SetLFO) +XREF_SYMBOL(CDirectSoundBuffer_SetLoopRegion) +XREF_SYMBOL(CDirectSoundBuffer_SetMaxDistance) +XREF_SYMBOL(CDirectSoundBuffer_SetMinDistance) +XREF_SYMBOL(CDirectSoundBuffer_SetMixBins) +XREF_SYMBOL(CDirectSoundBuffer_SetMixBinVolumes) +XREF_SYMBOL(CDirectSoundBuffer_SetMode) +XREF_SYMBOL(CDirectSoundBuffer_SetNotificationPositions) +XREF_SYMBOL(CDirectSoundBuffer_SetOutputBuffer) +XREF_SYMBOL(CDirectSoundBuffer_SetPitch) +XREF_SYMBOL(CDirectSoundBuffer_SetPlayRegion) +XREF_SYMBOL(CDirectSoundBuffer_SetPosition) +XREF_SYMBOL(CDirectSoundBuffer_SetRolloffCurve) +XREF_SYMBOL(CDirectSoundBuffer_SetRolloffFactor) +XREF_SYMBOL(CDirectSoundBuffer_SetVelocity) +XREF_SYMBOL(CDirectSoundBuffer_SetVolume) +XREF_SYMBOL(CDirectSoundBuffer_Stop) +XREF_SYMBOL(CDirectSoundBuffer_StopEx) +XREF_SYMBOL(CDirectSoundBuffer_Use3DVoiceData) +XREF_SYMBOL(CDirectSoundStream_AddRef) +XREF_SYMBOL(CDirectSoundStream_Constructor) +XREF_SYMBOL(CDirectSoundStream_Discontinuity) +XREF_SYMBOL(CDirectSoundStream_Flush) +XREF_SYMBOL(CDirectSoundStream_FlushEx) +XREF_SYMBOL(CDirectSoundStream_GetInfo) +XREF_SYMBOL(CDirectSoundStream_GetStatus) +XREF_SYMBOL(CDirectSoundStream_GetVoiceProperties) +XREF_SYMBOL(CDirectSoundStream_Pause) +XREF_SYMBOL(CDirectSoundStream_PauseEx) +XREF_SYMBOL(CDirectSoundStream_Process) +XREF_SYMBOL(CDirectSoundStream_Release) +XREF_SYMBOL(CDirectSoundStream_Set3DVoiceData) +XREF_SYMBOL(CDirectSoundStream_SetAllParameters) +XREF_SYMBOL(CDirectSoundStream_SetConeAngles) +XREF_SYMBOL(CDirectSoundStream_SetConeOrientation) +XREF_SYMBOL(CDirectSoundStream_SetConeOutsideVolume) +XREF_SYMBOL(CDirectSoundStream_SetDistanceFactor) +XREF_SYMBOL(CDirectSoundStream_SetDopplerFactor) +XREF_SYMBOL(CDirectSoundStream_SetEG) +XREF_SYMBOL(CDirectSoundStream_SetFilter) +XREF_SYMBOL(CDirectSoundStream_SetFormat) +XREF_SYMBOL(CDirectSoundStream_SetFrequency) +XREF_SYMBOL(CDirectSoundStream_SetHeadroom) +XREF_SYMBOL(CDirectSoundStream_SetI3DL2Source) +XREF_SYMBOL(CDirectSoundStream_SetLFO) +XREF_SYMBOL(CDirectSoundStream_SetMaxDistance) +XREF_SYMBOL(CDirectSoundStream_SetMinDistance) +XREF_SYMBOL(CDirectSoundStream_SetMixBins) +XREF_SYMBOL(CDirectSoundStream_SetMixBinVolumes_12) +XREF_SYMBOL(CDirectSoundStream_SetMixBinVolumes_8) +XREF_SYMBOL(CDirectSoundStream_SetMode) +XREF_SYMBOL(CDirectSoundStream_SetOutputBuffer) +XREF_SYMBOL(CDirectSoundStream_SetPitch) +XREF_SYMBOL(CDirectSoundStream_SetPosition) +XREF_SYMBOL(CDirectSoundStream_SetRolloffCurve) +XREF_SYMBOL(CDirectSoundStream_SetRolloffFactor) +XREF_SYMBOL(CDirectSoundStream_SetVelocity) +XREF_SYMBOL(CDirectSoundStream_SetVolume) +XREF_SYMBOL(CDirectSoundStream_Use3DVoiceData) +XREF_SYMBOL(CDirectSoundVoiceSettings_SetMixBins) +XREF_SYMBOL(CDirectSoundVoiceSettings_SetMixBinVolumes) +XREF_SYMBOL(CDirectSoundVoice_CommitDeferredSettings) +XREF_SYMBOL(CDirectSoundVoice_GetVoiceProperties) +XREF_SYMBOL(CDirectSoundVoice_Set3DVoiceData) +XREF_SYMBOL(CDirectSoundVoice_SetAllParameters) +XREF_SYMBOL(CDirectSoundVoice_SetConeAngles) +XREF_SYMBOL(CDirectSoundVoice_SetConeOrientation) +XREF_SYMBOL(CDirectSoundVoice_SetConeOutsideVolume) +XREF_SYMBOL(CDirectSoundVoice_SetDistanceFactor) +XREF_SYMBOL(CDirectSoundVoice_SetDopplerFactor) +XREF_SYMBOL(CDirectSoundVoice_SetEG) +XREF_SYMBOL(CDirectSoundVoice_SetFilter) +XREF_SYMBOL(CDirectSoundVoice_SetFormat) +XREF_SYMBOL(CDirectSoundVoice_SetFrequency) +XREF_SYMBOL(CDirectSoundVoice_SetHeadroom) +XREF_SYMBOL(CDirectSoundVoice_SetI3DL2Source) +XREF_SYMBOL(CDirectSoundVoice_SetLFO) +XREF_SYMBOL(CDirectSoundVoice_SetMaxDistance) +XREF_SYMBOL(CDirectSoundVoice_SetMinDistance) +XREF_SYMBOL(CDirectSoundVoice_SetMixBins) +XREF_SYMBOL(CDirectSoundVoice_SetMixBinVolumes) +XREF_SYMBOL(CDirectSoundVoice_SetMode) +XREF_SYMBOL(CDirectSoundVoice_SetOutputBuffer) +XREF_SYMBOL(CDirectSoundVoice_SetPitch) +XREF_SYMBOL(CDirectSoundVoice_SetPosition) +XREF_SYMBOL(CDirectSoundVoice_SetRolloffCurve) +XREF_SYMBOL(CDirectSoundVoice_SetRolloffFactor) +XREF_SYMBOL(CDirectSoundVoice_SetVelocity) +XREF_SYMBOL(CDirectSoundVoice_SetVolume) +XREF_SYMBOL(CDirectSoundVoice_Use3DVoiceData) +XREF_SYMBOL(CDirectSound_CommitDeferredSettings) +XREF_SYMBOL(CDirectSound_CommitEffectData) +XREF_SYMBOL(CDirectSound_CreateSoundBuffer) +XREF_SYMBOL(CDirectSound_CreateSoundStream) +XREF_SYMBOL(CDirectSound_DownloadEffectsImage) +XREF_SYMBOL(CDirectSound_DoWork) +XREF_SYMBOL(CDirectSound_EnableHeadphones) +XREF_SYMBOL(CDirectSound_GetCaps) +XREF_SYMBOL(CDirectSound_GetEffectData) +XREF_SYMBOL(CDirectSound_GetOutputLevels) +XREF_SYMBOL(CDirectSound_GetSpeakerConfig) +XREF_SYMBOL(CDirectSound_GetTime) +XREF_SYMBOL(CDirectSound_MapBufferData) +XREF_SYMBOL(CDirectSound_SetAllParameters) +XREF_SYMBOL(CDirectSound_SetDistanceFactor) +XREF_SYMBOL(CDirectSound_SetDopplerFactor) +XREF_SYMBOL(CDirectSound_SetEffectData) +XREF_SYMBOL(CDirectSound_SetI3DL2Listener) +XREF_SYMBOL(CDirectSound_SetMixBinHeadroom) +XREF_SYMBOL(CDirectSound_SetOrientation) +XREF_SYMBOL(CDirectSound_SetPosition) +XREF_SYMBOL(CDirectSound_SetRolloffFactor) +XREF_SYMBOL(CDirectSound_SetVelocity) +XREF_SYMBOL(CDirectSound_SynchPlayback) +XREF_SYMBOL(CDirectSound_UnmapBufferData) +XREF_SYMBOL(CFullHRTFSource_GetCenterVolume) +XREF_SYMBOL(CLightHRTFSource_GetCenterVolume) +XREF_SYMBOL(CFullHrtfSource_GetHrtfFilterPair) +XREF_SYMBOL(CHrtfSource_SetAlgorithm_FullHrtf) +XREF_SYMBOL(CHrtfSource_SetAlgorithm_LightHrtf) +XREF_SYMBOL(CHRTFSource_SetFullHRTF4Channel) +XREF_SYMBOL(CHRTFSource_SetFullHRTF5Channel) +XREF_SYMBOL(CHRTFSource_SetLightHRTF4Channel) +XREF_SYMBOL(CHRTFSource_SetLightHRTF5Channel) +XREF_SYMBOL(CLightHrtfSource_GetHrtfFilterPair) +XREF_SYMBOL(CMcpxAPU_Commit3dSettings) +XREF_SYMBOL(CMcpxAPU_ServiceDeferredCommandsLow) +XREF_SYMBOL(CMcpxAPU_Set3dDistanceFactor) +XREF_SYMBOL(CMcpxAPU_Set3dDopplerFactor) +XREF_SYMBOL(CMcpxAPU_Set3dParameters) +XREF_SYMBOL(CMcpxAPU_Set3dPosition) +XREF_SYMBOL(CMcpxAPU_Set3dRolloffFactor) +XREF_SYMBOL(CMcpxAPU_Set3dVelocity) +XREF_SYMBOL(CMcpxAPU_SetI3DL2Listener) +XREF_SYMBOL(CMcpxAPU_SetMixBinHeadroom) +XREF_SYMBOL(CMcpxAPU_SynchPlayback) +XREF_SYMBOL(CDirectSoundBufferSettings_SetBufferData) +XREF_SYMBOL(CMcpxBuffer_GetCurrentPosition) +XREF_SYMBOL(CMcpxBuffer_GetStatus) +XREF_SYMBOL(CMcpxBuffer_Pause) +XREF_SYMBOL(CMcpxBuffer_Pause_Ex) +XREF_SYMBOL(CMcpxBuffer_Play) +XREF_SYMBOL(CMcpxBuffer_Play_Ex) +XREF_SYMBOL(CMcpxBuffer_SetBufferData) +XREF_SYMBOL(CMcpxBuffer_SetCurrentPosition) +XREF_SYMBOL(CMcpxBuffer_Stop) +XREF_SYMBOL(CMcpxBuffer_Stop_Ex) +XREF_SYMBOL(CMcpxStream_Discontinuity) +XREF_SYMBOL(CMcpxStream_Flush) +XREF_SYMBOL(CMcpxStream_GetStatus) +XREF_SYMBOL(CMcpxStream_Pause) +XREF_SYMBOL(CMcpxStream_Pause_Ex) +XREF_SYMBOL(CMcpxStream_Stop) +XREF_SYMBOL(CMcpxStream_Stop_Ex) +XREF_SYMBOL(CMcpxVoiceClient_Commit3dSettings) +XREF_SYMBOL(CMcpxVoiceClient_GetVoiceProperties) +XREF_SYMBOL(CMcpxVoiceClient_Set3dConeOrientation) +XREF_SYMBOL(CMcpxVoiceClient_Set3dConeOutsideVolume) +XREF_SYMBOL(CMcpxVoiceClient_Set3dMaxDistance) +XREF_SYMBOL(CMcpxVoiceClient_Set3dMinDistance) +XREF_SYMBOL(CMcpxVoiceClient_Set3dMode) +XREF_SYMBOL(CMcpxVoiceClient_Set3dParameters) +XREF_SYMBOL(CMcpxVoiceClient_Set3dPosition) +XREF_SYMBOL(CMcpxVoiceClient_Set3dVelocity) +XREF_SYMBOL(CMcpxVoiceClient_SetEG) +XREF_SYMBOL(CMcpxVoiceClient_SetFilter) +XREF_SYMBOL(CMcpxVoiceClient_SetI3DL2Source) +XREF_SYMBOL(CMcpxVoiceClient_SetLFO) +XREF_SYMBOL(CMcpxVoiceClient_SetMixBins) +XREF_SYMBOL(CMcpxVoiceClient_SetPitch) +XREF_SYMBOL(CMcpxVoiceClient_SetVolume) +XREF_SYMBOL(CSensaura3d_GetFullHRTFFilterPair) +XREF_SYMBOL(CSensaura3d_GetLiteHRTFFilterPair) +XREF_SYMBOL(D3D_CommonSetRenderTarget) +XREF_SYMBOL(DirectSoundEnterCriticalSection) +XREF_SYMBOL(DSound_CMemoryManager_PoolAlloc) +XREF_SYMBOL(DSound_CRefCount_AddRef) +XREF_SYMBOL(DSound_CRefCount_Release) +XREF_SYMBOL(IDirectSound_CreateSoundBuffer) +XREF_SYMBOL(IDirectSound_CreateSoundStream) +XREF_SYMBOL(WaveFormat_CreateXboxAdpcmFormat) +XREF_SYMBOL(XAudioCalculatePitch) + + + + +XREF_SYMBOL(IDirectSound3DCalculator_Calculate3D) +XREF_SYMBOL(IDirectSound3DCalculator_GetMixBinVolumes) +XREF_SYMBOL(IDirectSound3DCalculator_GetPanData) +XREF_SYMBOL(IDirectSound3DCalculator_GetVoiceData) + +XREF_SYMBOL(IDirectSoundBuffer_AddRef) +XREF_SYMBOL(IDirectSoundBuffer_GetCurrentPosition) +XREF_SYMBOL(IDirectSoundBuffer_GetStatus) +XREF_SYMBOL(IDirectSoundBuffer_GetVoiceProperties) +XREF_SYMBOL(IDirectSoundBuffer_Lock) +XREF_SYMBOL(IDirectSoundBuffer_Pause) +XREF_SYMBOL(IDirectSoundBuffer_PauseEx) +XREF_SYMBOL(IDirectSoundBuffer_Play) +XREF_SYMBOL(IDirectSoundBuffer_PlayEx) +XREF_SYMBOL(IDirectSoundBuffer_Release) +//XREF_SYMBOL(IDirectSoundBuffer_Restore) // Xbox does not use it plus can't create OOVPA for it. +XREF_SYMBOL(IDirectSoundBuffer_Set3DVoiceData) +XREF_SYMBOL(IDirectSoundBuffer_SetAllParameters) +XREF_SYMBOL(IDirectSoundBuffer_SetBufferData) +XREF_SYMBOL(IDirectSoundBuffer_SetConeAngles) +XREF_SYMBOL(IDirectSoundBuffer_SetConeOrientation) +XREF_SYMBOL(IDirectSoundBuffer_SetConeOutsideVolume) +XREF_SYMBOL(IDirectSoundBuffer_SetCurrentPosition) +XREF_SYMBOL(IDirectSoundBuffer_SetDistanceFactor) +XREF_SYMBOL(IDirectSoundBuffer_SetDopplerFactor) +XREF_SYMBOL(IDirectSoundBuffer_SetEG) +XREF_SYMBOL(IDirectSoundBuffer_SetFilter) +XREF_SYMBOL(IDirectSoundBuffer_SetFormat) +XREF_SYMBOL(IDirectSoundBuffer_SetFrequency) +XREF_SYMBOL(IDirectSoundBuffer_SetHeadroom) +XREF_SYMBOL(IDirectSoundBuffer_SetI3DL2Source) +XREF_SYMBOL(IDirectSoundBuffer_SetLFO) +XREF_SYMBOL(IDirectSoundBuffer_SetLoopRegion) +XREF_SYMBOL(IDirectSoundBuffer_SetMaxDistance) +XREF_SYMBOL(IDirectSoundBuffer_SetMinDistance) +XREF_SYMBOL(IDirectSoundBuffer_SetMixBins) +XREF_SYMBOL(IDirectSoundBuffer_SetMixBinVolumes) +XREF_SYMBOL(IDirectSoundBuffer_SetMode) +XREF_SYMBOL(IDirectSoundBuffer_SetNotificationPositions) +XREF_SYMBOL(IDirectSoundBuffer_SetOutputBuffer) +XREF_SYMBOL(IDirectSoundBuffer_SetPitch) +XREF_SYMBOL(IDirectSoundBuffer_SetPlayRegion) +XREF_SYMBOL(IDirectSoundBuffer_SetPosition) +XREF_SYMBOL(IDirectSoundBuffer_SetRolloffCurve) +XREF_SYMBOL(IDirectSoundBuffer_SetRolloffFactor) +XREF_SYMBOL(IDirectSoundBuffer_SetVelocity) +XREF_SYMBOL(IDirectSoundBuffer_SetVolume) +XREF_SYMBOL(IDirectSoundBuffer_Stop) +XREF_SYMBOL(IDirectSoundBuffer_StopEx) +XREF_SYMBOL(IDirectSoundBuffer_Unlock) +XREF_SYMBOL(IDirectSoundBuffer_Use3DVoiceData) + +XREF_SYMBOL(IDirectSoundStream_GetVoiceProperties) +XREF_SYMBOL(IDirectSoundStream_FlushEx) +XREF_SYMBOL(IDirectSoundStream_Pause) +XREF_SYMBOL(IDirectSoundStream_PauseEx) +XREF_SYMBOL(IDirectSoundStream_Set3DVoiceData) +XREF_SYMBOL(IDirectSoundStream_SetAllParameters) +XREF_SYMBOL(IDirectSoundStream_SetConeAngles) +XREF_SYMBOL(IDirectSoundStream_SetConeOrientation) +XREF_SYMBOL(IDirectSoundStream_SetConeOutsideVolume) +XREF_SYMBOL(IDirectSoundStream_SetDistanceFactor) +XREF_SYMBOL(IDirectSoundStream_SetDopplerFactor) +XREF_SYMBOL(IDirectSoundStream_SetEG) +XREF_SYMBOL(IDirectSoundStream_SetLFO) +XREF_SYMBOL(IDirectSoundStream_SetFilter) +XREF_SYMBOL(IDirectSoundStream_SetFormat) +XREF_SYMBOL(IDirectSoundStream_SetFrequency) +XREF_SYMBOL(IDirectSoundStream_SetHeadroom) +XREF_SYMBOL(IDirectSoundStream_SetI3DL2Source) +XREF_SYMBOL(IDirectSoundStream_SetMaxDistance) +XREF_SYMBOL(IDirectSoundStream_SetMinDistance) +XREF_SYMBOL(IDirectSoundStream_SetMixBins) +XREF_SYMBOL(IDirectSoundStream_SetMixBinVolumes) +XREF_SYMBOL(IDirectSoundStream_SetMode) +XREF_SYMBOL(IDirectSoundStream_SetOutputBuffer) +XREF_SYMBOL(IDirectSoundStream_SetPitch) +XREF_SYMBOL(IDirectSoundStream_SetPosition) +XREF_SYMBOL(IDirectSoundStream_SetRolloffCurve) +XREF_SYMBOL(IDirectSoundStream_SetRolloffFactor) +XREF_SYMBOL(IDirectSoundStream_SetVelocity) +XREF_SYMBOL(IDirectSoundStream_SetVolume) +XREF_SYMBOL(IDirectSoundStream_Use3DVoiceData) + +XREF_SYMBOL(IDirectSound_AddRef) +XREF_SYMBOL(IDirectSound_CommitDeferredSettings) +XREF_SYMBOL(IDirectSound_CommitEffectData) +//XREF_SYMBOL(IDirectSound_Compact) // Xbox does not use it plus can't create OOVPA for it. + +XREF_SYMBOL(IDirectSound_DownloadEffectsImage) +XREF_SYMBOL(IDirectSound_EnableHeadphones) +XREF_SYMBOL(IDirectSound_GetCaps) +XREF_SYMBOL(IDirectSound_GetEffectData) +XREF_SYMBOL(IDirectSound_GetOutputLevels) +XREF_SYMBOL(IDirectSound_GetSpeakerConfig) +XREF_SYMBOL(IDirectSound_GetTime) +XREF_SYMBOL(IDirectSound_MapBufferData) +XREF_SYMBOL(IDirectSound_Release) +XREF_SYMBOL(IDirectSound_SetAllParameters) +//XREF_SYMBOL(IDirectSound_SetCooperativeLevel) // Xbox does not use it plus can't create OOVPA for it. +XREF_SYMBOL(IDirectSound_SetDistanceFactor) +XREF_SYMBOL(IDirectSound_SetDopplerFactor) +XREF_SYMBOL(IDirectSound_SetEffectData) +XREF_SYMBOL(IDirectSound_SetI3DL2Listener) +XREF_SYMBOL(IDirectSound_SetMixBinHeadroom) +XREF_SYMBOL(IDirectSound_SetOrientation) +XREF_SYMBOL(IDirectSound_SetPosition) +XREF_SYMBOL(IDirectSound_SetRolloffFactor) +XREF_SYMBOL(IDirectSound_SetVelocity) +XREF_SYMBOL(IDirectSound_SynchPlayback) +XREF_SYMBOL(IDirectSound_UnmapBufferData) + +XREF_SYMBOL(DirectSoundCreate) +XREF_SYMBOL(DirectSoundCreateBuffer) +XREF_SYMBOL(DirectSoundCreateStream) +XREF_SYMBOL(DirectSoundDoWork) +XREF_SYMBOL(DirectSoundGetSampleTime) +XREF_SYMBOL(DirectSoundOverrideSpeakerConfig) +XREF_SYMBOL(DirectSoundUseFullHRTF) +XREF_SYMBOL(DirectSoundUseLightHRTF) +XREF_SYMBOL(DirectSoundUseFullHRTF4Channel) +XREF_SYMBOL(DirectSoundUseLightHRTF4Channel) + +XREF_SYMBOL(IsValidFormat) + +XREF_SYMBOL(XAudioDownloadEffectsImage) +XREF_SYMBOL(XAudioSetEffectData) +XREF_SYMBOL(XAudioCreatePcmFormat) +XREF_SYMBOL(XAudioCreateAdpcmFormat) + +XREF_SYMBOL(XFileCreateMediaObject) +XREF_SYMBOL(XFileCreateMediaObjectAsync) +XREF_SYMBOL(XFileCreateMediaObjectEx) + +XREF_SYMBOL(XWaveFileCreateMediaObject) +XREF_SYMBOL(XWaveFileCreateMediaObjectEx) diff --git a/src/xref/jvs.def b/src/xref/jvs.def new file mode 100644 index 00000000..4cf1769a --- /dev/null +++ b/src/xref/jvs.def @@ -0,0 +1,87 @@ +// ****************************************************************** +// * +// * XbSymbolDatabase is free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +// * +// * All rights reserved +// * +// ****************************************************************** + +// variables +XREF_SYMBOL(JVS_SendCommand_String) +XREF_SYMBOL(JvsBACKUP_Read_String) +XREF_SYMBOL(JvsBACKUP_Write_String) +XREF_SYMBOL(JvsEEPROM_Read_String) +XREF_SYMBOL(JvsEEPROM_Write_String) +XREF_SYMBOL(JvsFirmwareDownload_String) +XREF_SYMBOL(JvsFirmwareUpload_String) +XREF_SYMBOL(JvsNodeReceivePacket_String) +XREF_SYMBOL(JvsNodeSendPacket_String) +XREF_SYMBOL(JvsRTC_Read_String) +XREF_SYMBOL(JvsRTC_Write_String) +XREF_SYMBOL(JvsScFirmwareDownload_String) +XREF_SYMBOL(JvsScFirmwareUpload_String) +XREF_SYMBOL(JvsScReceiveMidi_String) +XREF_SYMBOL(JvsScReceiveRs323c_String) +XREF_SYMBOL(JvsScSendMidi_String) +XREF_SYMBOL(JvsScSendRs323c_String) + +// functions +XREF_SYMBOL(JVS_SendCommand) +XREF_SYMBOL(JVS_SendCommand2) +XREF_SYMBOL(JVS_SendCommand3) +XREF_SYMBOL(JvsBACKUP_Read) +XREF_SYMBOL(JvsBACKUP_Read2) +XREF_SYMBOL(JvsBACKUP_Read3) +XREF_SYMBOL(JvsBACKUP_Write) +XREF_SYMBOL(JvsBACKUP_Write2) +XREF_SYMBOL(JvsEEPROM_Read) +XREF_SYMBOL(JvsEEPROM_Read2) +XREF_SYMBOL(JvsEEPROM_Read3) +XREF_SYMBOL(JvsEEPROM_Write) +XREF_SYMBOL(JvsEEPROM_Write2) +XREF_SYMBOL(JvsEEPROM_Write3) +XREF_SYMBOL(JvsFirmwareDownload) +XREF_SYMBOL(JvsFirmwareDownload2) +XREF_SYMBOL(JvsFirmwareDownload3) +XREF_SYMBOL(JvsFirmwareDownload4) +XREF_SYMBOL(JvsFirmwareUpload) +XREF_SYMBOL(JvsFirmwareUpload2) +XREF_SYMBOL(JvsFirmwareUpload3) +XREF_SYMBOL(JvsFirmwareUpload4) +XREF_SYMBOL(JvsNodeReceivePacket) +XREF_SYMBOL(JvsNodeReceivePacket2) +XREF_SYMBOL(JvsNodeSendPacket) +XREF_SYMBOL(JvsNodeSendPacket2) +XREF_SYMBOL(JvsRTC_Read) +XREF_SYMBOL(JvsRTC_Read2) +XREF_SYMBOL(JvsRTC_Read3) +XREF_SYMBOL(JvsRTC_Write) +XREF_SYMBOL(JvsRTC_Write2) +XREF_SYMBOL(JvsScFirmwareDownload) +XREF_SYMBOL(JvsScFirmwareDownload2) +XREF_SYMBOL(JvsScFirmwareDownload3) +XREF_SYMBOL(JvsScFirmwareDownload4) +XREF_SYMBOL(JvsScFirmwareUpload) +XREF_SYMBOL(JvsScFirmwareUpload2) +XREF_SYMBOL(JvsScFirmwareUpload3) +XREF_SYMBOL(JvsScReceiveMidi) +XREF_SYMBOL(JvsScReceiveMidi2) +XREF_SYMBOL(JvsScReceiveRs323c) +XREF_SYMBOL(JvsScReceiveRs323c2) +XREF_SYMBOL(JvsScSendMidi) +XREF_SYMBOL(JvsScSendMidi2) +XREF_SYMBOL(JvsScSendRs323c) +XREF_SYMBOL(JvsScSendRs323c2) diff --git a/src/xref/list_xref.h b/src/xref/list_xref.h new file mode 100644 index 00000000..cb23c267 --- /dev/null +++ b/src/xref/list_xref.h @@ -0,0 +1,427 @@ +// ****************************************************************** +// * +// * XbSymbolDatabase is free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +// * +// * All rights reserved +// * +// ****************************************************************** +#pragma once + +// ****************************************************************** +// * XRefDatabaseOffset +// ****************************************************************** +typedef enum _XRefDatabaseOffset { + // BEGIN - DO NOT REARRANGE (kernel thunk) + XREF_KT_FUNC_AvGetSavedDataAddress = 1, // 0x0001 (001) + XREF_KT_FUNC_AvSendTVEncoderOption, // 0x0002 (002) + XREF_KT_FUNC_AvSetDisplayMode, // 0x0003 (003) + XREF_KT_FUNC_AvSetSavedDataAddress, // 0x0004 (004) + XREF_KT_FUNC_DbgBreakPoint, // 0x0005 (005) + XREF_KT_FUNC_DbgBreakPointWithStatus, // 0x0006 (006) + XREF_KT_FUNC_DbgLoadImageSymbols, // 0x0007 (007) DEVKIT + XREF_KT_FUNC_DbgPrint, // 0x0008 (008) + XREF_KT_FUNC_HalReadSMCTrayState, // 0x0009 (009) + XREF_KT_FUNC_DbgPrompt, // 0x000A (010) + XREF_KT_FUNC_DbgUnLoadImageSymbols, // 0x000B (011) DEVKIT + XREF_KT_FUNC_ExAcquireReadWriteLockExclusive, // 0x000C (012) + XREF_KT_FUNC_ExAcquireReadWriteLockShared, // 0x000D (013) + XREF_KT_FUNC_ExAllocatePool, // 0x000E (014) + XREF_KT_FUNC_ExAllocatePoolWithTag, // 0x000F (015) + XREF_KT_VAR__ExEventObjectType, // 0x0010 (016) + XREF_KT_FUNC_ExFreePool, // 0x0011 (017) + XREF_KT_FUNC_ExInitializeReadWriteLock, // 0x0012 (018) + XREF_KT_FUNC_ExInterlockedAddLargeInteger, // 0x0013 (019) + XREF_KT_FUNC_ExInterlockedAddLargeStatistic, // 0x0014 (020) + XREF_KT_FUNC_ExInterlockedCompareExchange64, // 0x0015 (021) + XREF_KT_VAR__ExMutantObjectType, // 0x0016 (022) + XREF_KT_FUNC_ExQueryPoolBlockSize, // 0x0017 (023) + XREF_KT_FUNC_ExQueryNonVolatileSetting, // 0x0018 (024) + XREF_KT_FUNC_ExReadWriteRefurbInfo, // 0x0019 (025) + XREF_KT_FUNC_ExRaiseException, // 0x001A (026) + XREF_KT_FUNC_ExRaiseStatus, // 0x001B (027) + XREF_KT_FUNC_ExReleaseReadWriteLock, // 0x001C (028) + XREF_KT_FUNC_ExSaveNonVolatileSetting, // 0x001D (029) + XREF_KT_VAR__ExSemaphoreObjectType, // 0x001E (030) + XREF_KT_VAR__ExTimerObjectType, // 0x001F (031) + XREF_KT_FUNC_ExfInterlockedInsertHeadList, // 0x0020 (032) + XREF_KT_FUNC_ExfInterlockedInsertTailList, // 0x0021 (033) + XREF_KT_FUNC_ExfInterlockedRemoveHeadList, // 0x0022 (034) + XREF_KT_FUNC_FscGetCacheSize, // 0x0023 (035) + XREF_KT_FUNC_FscInvalidateIdleBlocks, // 0x0024 (036) + XREF_KT_FUNC_FscSetCacheSize, // 0x0025 (037) + XREF_KT_FUNC_HalClearSoftwareInterrupt, // 0x0026 (038) + XREF_KT_FUNC_HalDisableSystemInterrupt, // 0x0027 (039) + XREF_KT_VAR__HalDiskCachePartitionCount, // 0x0028 (040) + XREF_KT_VAR__HalDiskModelNumber, // 0x0029 (041) + XREF_KT_VAR__HalDiskSerialNumber, // 0x002A (042) + XREF_KT_FUNC_HalEnableSystemInterrupt, // 0x002B (043) + XREF_KT_FUNC_HalGetInterruptVector, // 0x002C (044) + XREF_KT_FUNC_HalReadSMBusValue, // 0x002D (045) + XREF_KT_FUNC_HalReadWritePCISpace, // 0x002E (046) + XREF_KT_FUNC_HalRegisterShutdownNotification, // 0x002F (047) + XREF_KT_FUNC_HalRequestSoftwareInterrupt, // 0x0030 (048) + XREF_KT_FUNC_HalReturnToFirmware, // 0x0031 (049) + XREF_KT_FUNC_HalWriteSMBusValue, // 0x0032 (050) + XREF_KT_FUNC_InterlockedCompareExchange, // 0x0033 (051) + XREF_KT_FUNC_InterlockedDecrement, // 0x0034 (052) + XREF_KT_FUNC_InterlockedIncrement, // 0x0035 (053) + XREF_KT_FUNC_InterlockedExchange, // 0x0036 (054) + XREF_KT_FUNC_InterlockedExchangeAdd, // 0x0037 (055) + XREF_KT_FUNC_InterlockedFlushSList, // 0x0038 (056) + XREF_KT_FUNC_InterlockedPopEntrySList, // 0x0039 (057) + XREF_KT_FUNC_InterlockedPushEntrySList, // 0x003A (058) + XREF_KT_FUNC_IoAllocateIrp, // 0x003B (059) + XREF_KT_FUNC_IoBuildAsynchronousFsdRequest, // 0x003C (060) + XREF_KT_FUNC_IoBuildDeviceIoControlRequest, // 0x003D (061) + XREF_KT_FUNC_IoBuildSynchronousFsdRequest, // 0x003E (062) + XREF_KT_FUNC_IoCheckShareAccess, // 0x003F (063) + XREF_KT_VAR__IoCompletionObjectType, // 0x0040 (064) + XREF_KT_FUNC_IoCreateDevice, // 0x0041 (065) + XREF_KT_FUNC_IoCreateFile, // 0x0042 (066) + XREF_KT_FUNC_IoCreateSymbolicLink, // 0x0043 (067) + XREF_KT_FUNC_IoDeleteDevice, // 0x0044 (068) + XREF_KT_FUNC_IoDeleteSymbolicLink, // 0x0045 (069) + XREF_KT_VAR__IoDeviceObjectType, // 0x0046 (070) + XREF_KT_VAR__IoFileObjectType, // 0x0047 (071) + XREF_KT_FUNC_IoFreeIrp, // 0x0048 (072) + XREF_KT_FUNC_IoInitializeIrp, // 0x0049 (073) + XREF_KT_FUNC_IoInvalidDeviceRequest, // 0x004A (074) + XREF_KT_FUNC_IoQueryFileInformation, // 0x004B (075) + XREF_KT_FUNC_IoQueryVolumeInformation, // 0x004C (076) + XREF_KT_FUNC_IoQueueThreadIrp, // 0x004D (077) + XREF_KT_FUNC_IoRemoveShareAccess, // 0x004E (078) + XREF_KT_FUNC_IoSetIoCompletion, // 0x004F (079) + XREF_KT_FUNC_IoSetShareAccess, // 0x0050 (080) + XREF_KT_FUNC_IoStartNextPacket, // 0x0051 (081) + XREF_KT_FUNC_IoStartNextPacketByKey, // 0x0052 (082) + XREF_KT_FUNC_IoStartPacket, // 0x0053 (083) + XREF_KT_FUNC_IoSynchronousDeviceIoControlRequest, // 0x0054 (084) + XREF_KT_FUNC_IoSynchronousFsdRequest, // 0x0055 (085) + XREF_KT_FUNC_IofCallDriver, // 0x0056 (086) + XREF_KT_FUNC_IofCompleteRequest, // 0x0057 (087) + XREF_KT_VAR__KdDebuggerEnabled, // 0x0058 (088) + XREF_KT_VAR__KdDebuggerNotPresent, // 0x0059 (089) + XREF_KT_FUNC_IoDismountVolume, // 0x005A (090) + XREF_KT_FUNC_IoDismountVolumeByName, // 0x005B (091) + XREF_KT_FUNC_KeAlertResumeThread, // 0x005C (092) + XREF_KT_FUNC_KeAlertThread, // 0x005D (093) + XREF_KT_FUNC_KeBoostPriorityThread, // 0x005E (094) + XREF_KT_FUNC_KeBugCheck, // 0x005F (095) + XREF_KT_FUNC_KeBugCheckEx, // 0x0060 (096) + XREF_KT_FUNC_KeCancelTimer, // 0x0061 (097) + XREF_KT_FUNC_KeConnectInterrupt, // 0x0062 (098) + XREF_KT_FUNC_KeDelayExecutionThread, // 0x0063 (099) + XREF_KT_FUNC_KeDisconnectInterrupt, // 0x0064 (100) + XREF_KT_FUNC_KeEnterCriticalRegion, // 0x0065 (101) + XREF_KT_VAR__MmGlobalData, // 0x0066 (102) + XREF_KT_FUNC_KeGetCurrentIrql, // 0x0067 (103) + XREF_KT_FUNC_KeGetCurrentThread, // 0x0068 (104) + XREF_KT_FUNC_KeInitializeApc, // 0x0069 (105) + XREF_KT_FUNC_KeInitializeDeviceQueue, // 0x006A (106) + XREF_KT_FUNC_KeInitializeDpc, // 0x006B (107) + XREF_KT_FUNC_KeInitializeEvent, // 0x006C (108) + XREF_KT_FUNC_KeInitializeInterrupt, // 0x006D (109) + XREF_KT_FUNC_KeInitializeMutant, // 0x006E (110) + XREF_KT_FUNC_KeInitializeQueue, // 0x006F (111) + XREF_KT_FUNC_KeInitializeSemaphore, // 0x0070 (112) + XREF_KT_FUNC_KeInitializeTimerEx, // 0x0071 (113) + XREF_KT_FUNC_KeInsertByKeyDeviceQueue, // 0x0072 (114) + XREF_KT_FUNC_KeInsertDeviceQueue, // 0x0073 (115) + XREF_KT_FUNC_KeInsertHeadQueue, // 0x0074 (116) + XREF_KT_FUNC_KeInsertQueue, // 0x0075 (117) + XREF_KT_FUNC_KeInsertQueueApc, // 0x0076 (118) + XREF_KT_FUNC_KeInsertQueueDpc, // 0x0077 (119) + XREF_KT_VAR__KeInterruptTime, // 0x0078 (120) + XREF_KT_FUNC_KeIsExecutingDpc, // 0x0079 (121) + XREF_KT_FUNC_KeLeaveCriticalRegion, // 0x007A (122) + XREF_KT_FUNC_KePulseEvent, // 0x007B (123) + XREF_KT_FUNC_KeQueryBasePriorityThread, // 0x007C (124) + XREF_KT_FUNC_KeQueryInterruptTime, // 0x007D (125) + XREF_KT_FUNC_KeQueryPerformanceCounter, // 0x007E (126) + XREF_KT_FUNC_KeQueryPerformanceFrequency, // 0x007F (127) + XREF_KT_FUNC_KeQuerySystemTime, // 0x0080 (128) + XREF_KT_FUNC_KeRaiseIrqlToDpcLevel, // 0x0081 (129) + XREF_KT_FUNC_KeRaiseIrqlToSynchLevel, // 0x0082 (130) + XREF_KT_FUNC_KeReleaseMutant, // 0x0083 (131) + XREF_KT_FUNC_KeReleaseSemaphore, // 0x0084 (132) + XREF_KT_FUNC_KeRemoveByKeyDeviceQueue, // 0x0085 (133) + XREF_KT_FUNC_KeRemoveDeviceQueue, // 0x0086 (134) + XREF_KT_FUNC_KeRemoveEntryDeviceQueue, // 0x0087 (135) + XREF_KT_FUNC_KeRemoveQueue, // 0x0088 (136) + XREF_KT_FUNC_KeRemoveQueueDpc, // 0x0089 (137) + XREF_KT_FUNC_KeResetEvent, // 0x008A (138) + XREF_KT_FUNC_KeRestoreFloatingPointState, // 0x008B (139) + XREF_KT_FUNC_KeResumeThread, // 0x008C (140) + XREF_KT_FUNC_KeRundownQueue, // 0x008D (141) + XREF_KT_FUNC_KeSaveFloatingPointState, // 0x008E (142) + XREF_KT_FUNC_KeSetBasePriorityThread, // 0x008F (143) + XREF_KT_FUNC_KeSetDisableBoostThread, // 0x0090 (144) + XREF_KT_FUNC_KeSetEvent, // 0x0091 (145) + XREF_KT_FUNC_KeSetEventBoostPriority, // 0x0092 (146) + XREF_KT_FUNC_KeSetPriorityProcess, // 0x0093 (147) + XREF_KT_FUNC_KeSetPriorityThread, // 0x0094 (148) + XREF_KT_FUNC_KeSetTimer, // 0x0095 (149) + XREF_KT_FUNC_KeSetTimerEx, // 0x0096 (150) + XREF_KT_FUNC_KeStallExecutionProcessor, // 0x0097 (151) + XREF_KT_FUNC_KeSuspendThread, // 0x0098 (152) + XREF_KT_FUNC_KeSynchronizeExecution, // 0x0099 (153) + XREF_KT_VAR__KeSystemTime, // 0x009A (154) + XREF_KT_FUNC_KeTestAlertThread, // 0x009B (155) + XREF_KT_VAR__KeTickCount, // 0x009C (156) + XREF_KT_VAR__KeTimeIncrement, // 0x009D (157) + XREF_KT_FUNC_KeWaitForMultipleObjects, // 0x009E (158) + XREF_KT_FUNC_KeWaitForSingleObject, // 0x009F (159) + XREF_KT_FUNC_KfRaiseIrql, // 0x00A0 (160) + XREF_KT_FUNC_KfLowerIrql, // 0x00A1 (161) + XREF_KT_VAR__KiBugCheckData, // 0x00A2 (162) + XREF_KT_FUNC_KiUnlockDispatcherDatabase, // 0x00A3 (163) + XREF_KT_VAR__LaunchDataPage, // 0x00A4 (164) + XREF_KT_FUNC_MmAllocateContiguousMemory, // 0x00A5 (165) + XREF_KT_FUNC_MmAllocateContiguousMemoryEx, // 0x00A6 (166) + XREF_KT_FUNC_MmAllocateSystemMemory, // 0x00A7 (167) + XREF_KT_FUNC_MmClaimGpuInstanceMemory, // 0x00A8 (168) + XREF_KT_FUNC_MmCreateKernelStack, // 0x00A9 (169) + XREF_KT_FUNC_MmDeleteKernelStack, // 0x00AA (170) + XREF_KT_FUNC_MmFreeContiguousMemory, // 0x00AB (171) + XREF_KT_FUNC_MmFreeSystemMemory, // 0x00AC (172) + XREF_KT_FUNC_MmGetPhysicalAddress, // 0x00AD (173) + XREF_KT_FUNC_MmIsAddressValid, // 0x00AE (174) + XREF_KT_FUNC_MmLockUnlockBufferPages, // 0x00AF (175) + XREF_KT_FUNC_MmLockUnlockPhysicalPage, // 0x00B0 (176) + XREF_KT_FUNC_MmMapIoSpace, // 0x00B1 (177) + XREF_KT_FUNC_MmPersistContiguousMemory, // 0x00B2 (178) + XREF_KT_FUNC_MmQueryAddressProtect, // 0x00B3 (179) + XREF_KT_FUNC_MmQueryAllocationSize, // 0x00B4 (180) + XREF_KT_FUNC_MmQueryStatistics, // 0x00B5 (181) + XREF_KT_FUNC_MmSetAddressProtect, // 0x00B6 (182) + XREF_KT_FUNC_MmUnmapIoSpace, // 0x00B7 (183) + XREF_KT_FUNC_NtAllocateVirtualMemory, // 0x00B8 (184) + XREF_KT_FUNC_NtCancelTimer, // 0x00B9 (185) + XREF_KT_FUNC_NtClearEvent, // 0x00BA (186) + XREF_KT_FUNC_NtClose, // 0x00BB (187) + XREF_KT_FUNC_NtCreateDirectoryObject, // 0x00BC (188) + XREF_KT_FUNC_NtCreateEvent, // 0x00BD (189) + XREF_KT_FUNC_NtCreateFile, // 0x00BE (190) + XREF_KT_FUNC_NtCreateIoCompletion, // 0x00BF (191) + XREF_KT_FUNC_NtCreateMutant, // 0x00C0 (192) + XREF_KT_FUNC_NtCreateSemaphore, // 0x00C1 (193) + XREF_KT_FUNC_NtCreateTimer, // 0x00C2 (194) + XREF_KT_FUNC_NtDeleteFile, // 0x00C3 (195) + XREF_KT_FUNC_NtDeviceIoControlFile, // 0x00C4 (196) + XREF_KT_FUNC_NtDuplicateObject, // 0x00C5 (197) + XREF_KT_FUNC_NtFlushBuffersFile, // 0x00C6 (198) + XREF_KT_FUNC_NtFreeVirtualMemory, // 0x00C7 (199) + XREF_KT_FUNC_NtFsControlFile, // 0x00C8 (200) + XREF_KT_FUNC_NtOpenDirectoryObject, // 0x00C9 (201) + XREF_KT_FUNC_NtOpenFile, // 0x00CA (202) + XREF_KT_FUNC_NtOpenSymbolicLinkObject, // 0x00CB (203) + XREF_KT_FUNC_NtProtectVirtualMemory, // 0x00CC (204) + XREF_KT_FUNC_NtPulseEvent, // 0x00CD (205) + XREF_KT_FUNC_NtQueueApcThread, // 0x00CE (206) + XREF_KT_FUNC_NtQueryDirectoryFile, // 0x00CF (207) + XREF_KT_FUNC_NtQueryDirectoryObject, // 0x00D0 (208) + XREF_KT_FUNC_NtQueryEvent, // 0x00D1 (209) + XREF_KT_FUNC_NtQueryFullAttributesFile, // 0x00D2 (210) + XREF_KT_FUNC_NtQueryInformationFile, // 0x00D3 (211) + XREF_KT_FUNC_NtQueryIoCompletion, // 0x00D4 (212) + XREF_KT_FUNC_NtQueryMutant, // 0x00D5 (213) + XREF_KT_FUNC_NtQuerySemaphore, // 0x00D6 (214) + XREF_KT_FUNC_NtQuerySymbolicLinkObject, // 0x00D7 (215) + XREF_KT_FUNC_NtQueryTimer, // 0x00D8 (216) + XREF_KT_FUNC_NtQueryVirtualMemory, // 0x00D9 (217) + XREF_KT_FUNC_NtQueryVolumeInformationFile, // 0x00DA (218) + XREF_KT_FUNC_NtReadFile, // 0x00DB (219) + XREF_KT_FUNC_NtReadFileScatter, // 0x00DC (220) + XREF_KT_FUNC_NtReleaseMutant, // 0x00DD (221) + XREF_KT_FUNC_NtReleaseSemaphore, // 0x00DE (222) + XREF_KT_FUNC_NtRemoveIoCompletion, // 0x00DF (223) + XREF_KT_FUNC_NtResumeThread, // 0x00E0 (224) + XREF_KT_FUNC_NtSetEvent, // 0x00E1 (225) + XREF_KT_FUNC_NtSetInformationFile, // 0x00E2 (226) + XREF_KT_FUNC_NtSetIoCompletion, // 0x00E3 (227) + XREF_KT_FUNC_NtSetSystemTime, // 0x00E4 (228) + XREF_KT_FUNC_NtSetTimerEx, // 0x00E5 (229) + XREF_KT_FUNC_NtSignalAndWaitForSingleObjectEx, // 0x00E6 (230) + XREF_KT_FUNC_NtSuspendThread, // 0x00E7 (231) + XREF_KT_FUNC_NtUserIoApcDispatcher, // 0x00E8 (232) + XREF_KT_FUNC_NtWaitForSingleObject, // 0x00E9 (233) + XREF_KT_FUNC_NtWaitForSingleObjectEx, // 0x00EA (234) + XREF_KT_FUNC_NtWaitForMultipleObjectsEx, // 0x00EB (235) + XREF_KT_FUNC_NtWriteFile, // 0x00EC (236) + XREF_KT_FUNC_NtWriteFileGather, // 0x00ED (237) + XREF_KT_FUNC_NtYieldExecution, // 0x00EE (238) + XREF_KT_FUNC_ObCreateObject, // 0x00EF (239) + XREF_KT_VAR__ObDirectoryObjectType, // 0x00F0 (240) + XREF_KT_FUNC_ObInsertObject, // 0x00F1 (241) + XREF_KT_FUNC_ObMakeTemporaryObject, // 0x00F2 (242) + XREF_KT_FUNC_ObOpenObjectByName, // 0x00F3 (243) + XREF_KT_FUNC_ObOpenObjectByPointer, // 0x00F4 (244) + XREF_KT_VAR__ObpObjectHandleTable, // 0x00F5 (245) + XREF_KT_FUNC_ObReferenceObjectByHandle, // 0x00F6 (246) + XREF_KT_FUNC_ObReferenceObjectByName, // 0x00F7 (247) + XREF_KT_FUNC_ObReferenceObjectByPointer, // 0x00F8 (248) + XREF_KT_VAR__ObSymbolicLinkObjectType, // 0x00F9 (249) + XREF_KT_FUNC_ObfDereferenceObject, // 0x00FA (250) + XREF_KT_FUNC_ObfReferenceObject, // 0x00FB (251) + XREF_KT_FUNC_PhyGetLinkState, // 0x00FC (252) + XREF_KT_FUNC_PhyInitialize, // 0x00FD (253) + XREF_KT_FUNC_PsCreateSystemThread, // 0x00FE (254) + XREF_KT_FUNC_PsCreateSystemThreadEx, // 0x00FF (255) + XREF_KT_FUNC_PsQueryStatistics, // 0x0100 (256) + XREF_KT_FUNC_PsSetCreateThreadNotifyRoutine, // 0x0101 (257) + XREF_KT_FUNC_PsTerminateSystemThread, // 0x0102 (258) + XREF_KT_VAR__PsThreadObjectType, // 0x0103 (259) + XREF_KT_FUNC_RtlAnsiStringToUnicodeString, // 0x0104 (260) + XREF_KT_FUNC_RtlAppendStringToString, // 0x0105 (261) + XREF_KT_FUNC_RtlAppendUnicodeStringToString, // 0x0106 (262) + XREF_KT_FUNC_RtlAppendUnicodeToString, // 0x0107 (263) + XREF_KT_FUNC_RtlAssert, // 0x0108 (264) + XREF_KT_FUNC_RtlCaptureContext, // 0x0109 (265) + XREF_KT_FUNC_RtlCaptureStackBackTrace, // 0x010A (266) + XREF_KT_FUNC_RtlCharToInteger, // 0x010B (267) + XREF_KT_FUNC_RtlCompareMemory, // 0x010C (268) + XREF_KT_FUNC_RtlCompareMemoryUlong, // 0x010D (269) + XREF_KT_FUNC_RtlCompareString, // 0x010E (270) + XREF_KT_FUNC_RtlCompareUnicodeString, // 0x010F (271) + XREF_KT_FUNC_RtlCopyString, // 0x0110 (272) + XREF_KT_FUNC_RtlCopyUnicodeString, // 0x0111 (273) + XREF_KT_FUNC_RtlCreateUnicodeString, // 0x0112 (274) + XREF_KT_FUNC_RtlDowncaseUnicodeChar, // 0x0113 (275) + XREF_KT_FUNC_RtlDowncaseUnicodeString, // 0x0114 (276) + XREF_KT_FUNC_RtlEnterCriticalSection, // 0x0115 (277) + XREF_KT_FUNC_RtlEnterCriticalSectionAndRegion, // 0x0116 (278) + XREF_KT_FUNC_RtlEqualString, // 0x0117 (279) + XREF_KT_FUNC_RtlEqualUnicodeString, // 0x0118 (280) + XREF_KT_FUNC_RtlExtendedIntegerMultiply, // 0x0119 (281) + XREF_KT_FUNC_RtlExtendedLargeIntegerDivide, // 0x011A (282) + XREF_KT_FUNC_RtlExtendedMagicDivide, // 0x011B (283) + XREF_KT_FUNC_RtlFillMemory, // 0x011C (284) + XREF_KT_FUNC_RtlFillMemoryUlong, // 0x011D (285) + XREF_KT_FUNC_RtlFreeAnsiString, // 0x011E (286) + XREF_KT_FUNC_RtlFreeUnicodeString, // 0x011F (287) + XREF_KT_FUNC_RtlGetCallersAddress, // 0x0120 (288) + XREF_KT_FUNC_RtlInitAnsiString, // 0x0121 (289) + XREF_KT_FUNC_RtlInitUnicodeString, // 0x0122 (290) + XREF_KT_FUNC_RtlInitializeCriticalSection, // 0x0123 (291) + XREF_KT_FUNC_RtlIntegerToChar, // 0x0124 (292) + XREF_KT_FUNC_RtlIntegerToUnicodeString, // 0x0125 (293) + XREF_KT_FUNC_RtlLeaveCriticalSection, // 0x0126 (294) + XREF_KT_FUNC_RtlLeaveCriticalSectionAndRegion, // 0x0127 (295) + XREF_KT_FUNC_RtlLowerChar, // 0x0128 (296) + XREF_KT_FUNC_RtlMapGenericMask, // 0x0129 (297) + XREF_KT_FUNC_RtlMoveMemory, // 0x012A (298) + XREF_KT_FUNC_RtlMultiByteToUnicodeN, // 0x012B (299) + XREF_KT_FUNC_RtlMultiByteToUnicodeSize, // 0x012C (300) + XREF_KT_FUNC_RtlNtStatusToDosError, // 0x012D (301) + XREF_KT_FUNC_RtlRaiseException, // 0x012E (302) + XREF_KT_FUNC_RtlRaiseStatus, // 0x012F (303) + XREF_KT_FUNC_RtlTimeFieldsToTime, // 0x0130 (304) + XREF_KT_FUNC_RtlTimeToTimeFields, // 0x0131 (305) + XREF_KT_FUNC_RtlTryEnterCriticalSection, // 0x0132 (306) + XREF_KT_FUNC_RtlUlongByteSwap, // 0x0133 (307) + XREF_KT_FUNC_RtlUnicodeStringToAnsiString, // 0x0134 (308) + XREF_KT_FUNC_RtlUnicodeStringToInteger, // 0x0135 (309) + XREF_KT_FUNC_RtlUnicodeToMultiByteN, // 0x0136 (310) + XREF_KT_FUNC_RtlUnicodeToMultiByteSize, // 0x0137 (311) + XREF_KT_FUNC_RtlUnwind, // 0x0138 (312) + XREF_KT_FUNC_RtlUpcaseUnicodeChar, // 0x0139 (313) + XREF_KT_FUNC_RtlUpcaseUnicodeString, // 0x013A (314) + XREF_KT_FUNC_RtlUpcaseUnicodeToMultiByteN, // 0x013B (315) + XREF_KT_FUNC_RtlUpperChar, // 0x013C (316) + XREF_KT_FUNC_RtlUpperString, // 0x013D (317) + XREF_KT_FUNC_RtlUshortByteSwap, // 0x013E (318) + XREF_KT_FUNC_RtlWalkFrameChain, // 0x013F (319) + XREF_KT_FUNC_RtlZeroMemory, // 0x0140 (320) + XREF_KT_VAR__XboxEEPROMKey, // 0x0141 (321) + XREF_KT_VAR__XboxHardwareInfo, // 0x0142 (322) + XREF_KT_VAR__XboxHDKey, // 0x0143 (323) + XREF_KT_VAR__XboxKrnlVersion, // 0x0144 (324) + XREF_KT_VAR__XboxSignatureKey, // 0x0145 (325) + XREF_KT_VAR__XeImageFileName, // 0x0146 (326) + XREF_KT_FUNC_XeLoadSection, // 0x0147 (327) + XREF_KT_FUNC_XeUnloadSection, // 0x0148 (328) + XREF_KT_FUNC_PortBufferRead_uint8, // 0x0149 (329) + XREF_KT_FUNC_PortBufferRead_uint16, // 0x014A (330) + XREF_KT_FUNC_PortBufferRead_uint32, // 0x014B (331) + XREF_KT_FUNC_PortBufferWrite_uint8, // 0x014C (332) + XREF_KT_FUNC_PortBufferWrite_uint16, // 0x014D (333) + XREF_KT_FUNC_PortBufferWrite_uint32, // 0x014E (334) + XREF_KT_FUNC_XcSHAInit, // 0x014F (335) + XREF_KT_FUNC_XcSHAUpdate, // 0x0150 (336) + XREF_KT_FUNC_XcSHAFinal, // 0x0151 (337) + XREF_KT_FUNC_XcRC4Key, // 0x0152 (338) + XREF_KT_FUNC_XcRC4Crypt, // 0x0153 (339) + XREF_KT_FUNC_XcHMAC, // 0x0154 (340) + XREF_KT_FUNC_XcPKEncPublic, // 0x0155 (341) + XREF_KT_FUNC_XcPKDecPrivate, // 0x0156 (342) + XREF_KT_FUNC_XcPKGetKeyLen, // 0x0157 (343) + XREF_KT_FUNC_XcVerifyPKCS1Signature, // 0x0158 (344) + XREF_KT_FUNC_XcModExp, // 0x0159 (345) + XREF_KT_FUNC_XcDESKeyParity, // 0x015A (346) + XREF_KT_FUNC_XcKeyTable, // 0x015B (347) + XREF_KT_FUNC_XcBlockCrypt, // 0x015C (348) + XREF_KT_FUNC_XcBlockCryptCBC, // 0x015D (349) + XREF_KT_FUNC_XcCryptService, // 0x015E (350) + XREF_KT_FUNC_XcUpdateCrypto, // 0x015F (351) + XREF_KT_FUNC_RtlRip, // 0x0160 (352) + XREF_KT_VAR__XboxLANKey, // 0x0161 (353) + XREF_KT_VAR__XboxAlternateSignatureKeys, // 0x0162 (354) + XREF_KT_VAR__XePublicKeyData, // 0x0163 (355) + XREF_KT_VAR__HalBootSMCVideoMode, // 0x0164 (356) + XREF_KT_VAR__IdexChannelObject, // 0x0165 (357) + XREF_KT_FUNC_HalIsResetOrShutdownPending, // 0x0166 (358) + XREF_KT_FUNC_IoMarkIrpMustComplete, // 0x0167 (359) + XREF_KT_FUNC_HalInitiateShutdown, // 0x0168 (360) + XREF_KT_FUNC_RtlSnprintf, // 0x0169 (361) + XREF_KT_FUNC_RtlSprintf, // 0x016A (362) + XREF_KT_FUNC_RtlVsnprintf, // 0x016B (363) + XREF_KT_FUNC_RtlVsprintf, // 0x016C (364) + XREF_KT_FUNC_HalEnableSecureTrayEject, // 0x016D (365) + XREF_KT_FUNC_HalWriteSMCScratchRegister, // 0x016E (366) + XREF_KT_FUNC_UnknownAPI367, // 0x016F (367) + XREF_KT_FUNC_UnknownAPI368, // 0x0170 (368) + XREF_KT_FUNC_UnknownAPI369, // 0x0171 (369) + XREF_KT_FUNC_XProfpControl, // 0x0172 (370) PROFILING + XREF_KT_FUNC_XProfpGetData, // 0x0173 (371) PROFILING + XREF_KT_FUNC_IrtClientInitFast, // 0x0174 (372) PROFILING + XREF_KT_FUNC_IrtSweep, // 0x0175 (373) PROFILING + XREF_KT_FUNC_MmDbgAllocateMemory, // 0x0176 (374) DEVKIT ONLY! + XREF_KT_FUNC_MmDbgFreeMemory, // 0x0177 (375) DEVKIT ONLY! + XREF_KT_FUNC_MmDbgQueryAvailablePages, // 0x0178 (376) DEVKIT ONLY! + XREF_KT_FUNC_MmDbgReleaseAddress, // 0x0179 (377) DEVKIT ONLY! + XREF_KT_FUNC_MmDbgWriteCheck, // 0x017A (378) DEVKIT ONLY! + XREF_KT_COUNT, +// // END - DO NOT REARRANGE (kernel thunk) + +#define XREF_SYMBOL(e) XREF_##e, +#include "d3d8.def" +#include "d3d8ltcg.def" +#include "dsound.def" +#include "jvs.def" +#include "xacteng.def" +#include "xapilib.def" +#include "xgraphic.def" +#include "xnet.def" +#include "xonline.def" +#undef XREF_SYMBOL + + XREF_COUNT // XREF_COUNT must always be last. + // Also, if XREF_COUNT > sizeof(uint16), enlarge struct OOVPA.XRefSaveIndex (and Value somehow) +} XRefDatabaseOffset; + +#define XREF_ADDR_UNDETERMINED -1 +#define XREF_ADDR_NOT_FOUND ((void*)0) +#define XREF_ADDR_DERIVE 1 diff --git a/src/xref/xacteng.def b/src/xref/xacteng.def new file mode 100644 index 00000000..167ac5f2 --- /dev/null +++ b/src/xref/xacteng.def @@ -0,0 +1,51 @@ +// ****************************************************************** +// * +// * XbSymbolDatabase is free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +// * +// * All rights reserved +// * +// ****************************************************************** + +// XACT +// +s + +// functions +// XACT prefix +XREF_SYMBOL(XACT_CEngine_RegisterWaveBank) +XREF_SYMBOL(XACT_CEngine_RegisterStreamedWaveBank) +XREF_SYMBOL(XACT_CEngine_CreateSoundBank) +XREF_SYMBOL(XACT_CEngine_DownloadEffectsImage) +XREF_SYMBOL(XACT_CEngine_CreateSoundSource) +XREF_SYMBOL(XACT_CSoundBank_GetSoundCueIndexFromFriendlyName) +XREF_SYMBOL(XACT_CSoundBank_Play) +XREF_SYMBOL(XACT_CEngine_RegisterNotification) +XREF_SYMBOL(XACT_CEngine_GetNotification) +XREF_SYMBOL(XACT_CEngine_UnRegisterWaveBank) +XREF_SYMBOL(XACTEngineCreate) +XREF_SYMBOL(XACTEngineDoWork) +// IXACTEngine prefix +XREF_SYMBOL(IXACTEngine_CreateSoundBank) +XREF_SYMBOL(IXACTEngine_CreateSoundSource) +XREF_SYMBOL(IXACTEngine_DownloadEffectsImage) +XREF_SYMBOL(IXACTEngine_GetNotification) +XREF_SYMBOL(IXACTEngine_RegisterNotification) +XREF_SYMBOL(IXACTEngine_RegisterStreamedWaveBank) +XREF_SYMBOL(IXACTEngine_RegisterWaveBank) +XREF_SYMBOL(IXACTEngine_UnRegisterWaveBank) +// IXACTSoundBank prefix +XREF_SYMBOL(IXACTSoundBank_GetSoundCueIndexFromFriendlyName) +XREF_SYMBOL(IXACTSoundBank_Play) +XREF_SYMBOL(IXACTSoundBank_PlayEx) diff --git a/src/xref/xapilib.def b/src/xref/xapilib.def new file mode 100644 index 00000000..0038b49c --- /dev/null +++ b/src/xref/xapilib.def @@ -0,0 +1,107 @@ +// ****************************************************************** +// * +// * XbSymbolDatabase is free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +// * +// * All rights reserved +// * +// ****************************************************************** + +// Variables +XREF_SYMBOL(XAPI__tls_array) // initially set to XREF_ADDR_DERIVE +XREF_SYMBOL(XAPI__tls_index) // initially set to XREF_ADDR_DERIVE +XREF_SYMBOL(g_DeviceType_MU) // initially set to XREF_ADDR_DERIVE +XREF_SYMBOL(g_XapiCurrentTopLevelFilter) // initially set to XREF_ADDR_DERIVE +XREF_SYMBOL(g_XapiMountedMUs) // initially set to XREF_ADDR_DERIVE + +// Offsets +XREF_SYMBOL(OFFSET_XapiCurrentFiber) // initially set to XREF_ADDR_DERIVE +XREF_SYMBOL(OFFSET_XapiLastErrorCode) // initially set to XREF_ADDR_DERIVE +XREF_SYMBOL(OFFSET_XapiThreadFiberData) // initially set to XREF_ADDR_DERIVE + +// Functions +// include XAPI prefix +XREF_SYMBOL(IUsbInit_GetMaxDeviceTypeCount) +XREF_SYMBOL(MU_Init) +XREF_SYMBOL(XAPI__cinit) +XREF_SYMBOL(XAPI__rtinit) +XREF_SYMBOL(XAPI_ConvertThreadToFiber) +XREF_SYMBOL(XAPI_CreateFiber) +XREF_SYMBOL(XAPI_CreateMutexA) +XREF_SYMBOL(XAPI_CreateThread) +XREF_SYMBOL(XAPI_DeleteFiber) +XREF_SYMBOL(XAPI_ExitThread) +XREF_SYMBOL(XAPI_GetExitCodeThread) +XREF_SYMBOL(XAPI_GetLastError) +XREF_SYMBOL(XAPI_GetOverlappedResult) +XREF_SYMBOL(XAPI_GetThreadPriority) +XREF_SYMBOL(XAPI_GetTimeZoneInformation) +XREF_SYMBOL(XAPI_GetTypeInformation) +XREF_SYMBOL(XAPI_mainCRTStartup) +XREF_SYMBOL(XAPI_mainXapiStartup) +XREF_SYMBOL(XAPI_MoveFileA) +XREF_SYMBOL(XAPI_OutputDebugStringA) +XREF_SYMBOL(XAPI_OutputDebugStringW) +XREF_SYMBOL(XAPI_QueueUserAPC) +XREF_SYMBOL(XAPI_QueryPerformanceCounter) +XREF_SYMBOL(XAPI_RaiseException) +XREF_SYMBOL(XAPI_SetLastError) +XREF_SYMBOL(XAPI_SetThreadPriority) +XREF_SYMBOL(XAPI_SetThreadPriorityBoost) +XREF_SYMBOL(XAPI_SignalObjectAndWait) +XREF_SYMBOL(XAPI_SwitchToFiber) +XREF_SYMBOL(XAPI_SwitchToThread) +XREF_SYMBOL(XAPI_timeKillEvent) +XREF_SYMBOL(XAPI_timeSetEvent) +XREF_SYMBOL(XAPI_UnhandledExceptionFilter) +// Xapi prefix +XREF_SYMBOL(XapiBootToDash) +XREF_SYMBOL(XapiCallThreadNotifyRoutines) +XREF_SYMBOL(XapiFormatObjectAttributes) +XREF_SYMBOL(XapiInitProcess) +XREF_SYMBOL(XapiMapLetterToDirectory) +XREF_SYMBOL(XapiSelectCachePartition) +XREF_SYMBOL(XapiSetLastNTError) +XREF_SYMBOL(XapiThreadNotifyRoutineList) +XREF_SYMBOL(XapiThreadStartup) +// X prefix +XREF_SYMBOL(XAutoPowerDownResetTimer) +XREF_SYMBOL(XCalculateSignatureBegin) +XREF_SYMBOL(XFormatUtilityDrive) +XREF_SYMBOL(XGetDeviceChanges) +XREF_SYMBOL(XGetDeviceEnumerationStatus) +XREF_SYMBOL(XGetDevices) +XREF_SYMBOL(XGetLaunchInfo) +XREF_SYMBOL(XGetSectionSize) +XREF_SYMBOL(XID_fCloseDevice) +XREF_SYMBOL(XInitDevices) +XREF_SYMBOL(XInputClose) +XREF_SYMBOL(XInputGetCapabilities) +XREF_SYMBOL(XInputGetDeviceDescription) +XREF_SYMBOL(XInputGetState) +XREF_SYMBOL(XInputOpen) +XREF_SYMBOL(XInputPoll) +XREF_SYMBOL(XInputSetState) +XREF_SYMBOL(XLaunchNewImageA) +XREF_SYMBOL(XMountAlternateTitleA) +XREF_SYMBOL(XMountMUA) +XREF_SYMBOL(XMountMURootA) +XREF_SYMBOL(XMountUtilityDrive) +XREF_SYMBOL(XReadMUMetaData) +XREF_SYMBOL(XRegisterThreadNotifyRoutine) +XREF_SYMBOL(XSetProcessQuantumLength) +XREF_SYMBOL(XUnmountAlternateTitleA) +XREF_SYMBOL(XUnmountMU) +XREF_SYMBOL(XapiFiberStartup) diff --git a/src/xref/xgraphic.def b/src/xref/xgraphic.def new file mode 100644 index 00000000..94a762d4 --- /dev/null +++ b/src/xref/xgraphic.def @@ -0,0 +1,33 @@ +// ****************************************************************** +// * +// * XbSymbolDatabase is free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +// * +// * All rights reserved +// * +// ****************************************************************** + +// functions +XREF_SYMBOL(XFONT_OpenBitmapFontFromMemory) +XREF_SYMBOL(XGCompressRect) +XREF_SYMBOL(XGIsSwizzledFormat) +XREF_SYMBOL(XGSetIndexBufferHeader) +XREF_SYMBOL(XGSetTextureHeader) +XREF_SYMBOL(XGSetVertexBufferHeader) +XREF_SYMBOL(XGSwizzleBox) +XREF_SYMBOL(XGSwizzleRect) +XREF_SYMBOL(XGUnswizzleBox) +XREF_SYMBOL(XGUnswizzleRect) +XREF_SYMBOL(XGWriteSurfaceOrTextureToXPR) diff --git a/src/xref/xnet.def b/src/xref/xnet.def new file mode 100644 index 00000000..615600f9 --- /dev/null +++ b/src/xref/xnet.def @@ -0,0 +1,32 @@ +// ****************************************************************** +// * +// * XbSymbolDatabase is free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +// * +// * All rights reserved +// * +// ****************************************************************** + +XREF_SYMBOL(XnInit) +XREF_SYMBOL(WSAStartup) +XREF_SYMBOL(XNetStartup) +XREF_SYMBOL(XNetGetEthernetLinkStatus) +XREF_SYMBOL(bind) +XREF_SYMBOL(connect) +XREF_SYMBOL(ioctlsocket) +XREF_SYMBOL(listen) +XREF_SYMBOL(recv) +XREF_SYMBOL(send) +XREF_SYMBOL(socket) diff --git a/src/xref/xonline.def b/src/xref/xonline.def new file mode 100644 index 00000000..9273484e --- /dev/null +++ b/src/xref/xonline.def @@ -0,0 +1,35 @@ +// ****************************************************************** +// * +// * XbSymbolDatabase is free software; you can redistribute them +// * and/or modify them under the terms of the GNU General Public +// * License as published by the Free Software Foundation; either +// * version 2 of the license, or (at your option) any later version. +// * +// * This program is distributed in the hope that it will be useful, +// * but WITHOUT ANY WARRANTY; without even the implied warranty of +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// * GNU General Public License for more details. +// * +// * You should have recieved a copy of the GNU General Public License +// * along with this program; see the file COPYING. +// * If not, write to the Free Software Foundation, Inc., +// * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +// * +// * All rights reserved +// * +// ****************************************************************** +// +s + +XREF_SYMBOL(CXo_XOnlineLogon) +XREF_SYMBOL(CXo_XOnlineMatchSearch) +XREF_SYMBOL(CXo_XOnlineMatchSearchResultsLen) +XREF_SYMBOL(CXo_XOnlineMatchSearchGetResults) +XREF_SYMBOL(CXo_XOnlineMatchSessionUpdate) +XREF_SYMBOL(CXo_XOnlineMatchSessionCreate) +XREF_SYMBOL(XOnlineLogon) +XREF_SYMBOL(XOnlineMatchSearch) +XREF_SYMBOL(XOnlineMatchSearchGetResults) +XREF_SYMBOL(XOnlineMatchSearchResultsLen) +XREF_SYMBOL(XOnlineMatchSessionCreate) +XREF_SYMBOL(XOnlineMatchSessionUpdate) +XREF_SYMBOL(XoUpdateLaunchNewImageInternal)