|
| 1 | +"Games" |
| 2 | +{ |
| 3 | + /* Team Fortress 2 */ |
| 4 | + "tf" |
| 5 | + { |
| 6 | + "Offsets" |
| 7 | + { |
| 8 | + "CAttributeManager::OnAttributeValuesChanged" //use instead of ClearCache/NotifyManagerOfAttributeValueChanges |
| 9 | + { |
| 10 | + "windows" "12" |
| 11 | + "linux" "13" |
| 12 | + "mac" "13" |
| 13 | + } |
| 14 | + "CEconItemView::GetItemDefinition" |
| 15 | + { |
| 16 | + "windows" "4" |
| 17 | + "linux" "5" |
| 18 | + "mac" "5" |
| 19 | + } |
| 20 | + } |
| 21 | + "Signatures" |
| 22 | + { |
| 23 | + "CEconItemSchema::GetItemDefinition" |
| 24 | + { |
| 25 | + "library" "server" |
| 26 | + "windows" "\x55\x8B\xEC\x56\x8B\xF1\x8D\x45\x08\x57\x50\x8D\x4E\x60\xE8\x2A\x2A\x2A\x2A\x85\xC0" |
| 27 | + "linux" "@_ZN15CEconItemSchema17GetItemDefinitionEi" |
| 28 | + "mac" "@_ZN15CEconItemSchema17GetItemDefinitionEi" |
| 29 | + } |
| 30 | + "CEconItemView::GetSOCData" |
| 31 | + { |
| 32 | + "library" "server" |
| 33 | + "windows" "\x56\x8B\xF1\x8B\x46\x28\x85\xC0\x75\x2A\xE8\x2A\x2A\x2A\x2A\xFF\x76\x20\x8B\xC8\x8B\x10\xFF\x52\x44\x85\xC0\x74\x2A\xFF\x76\x14\x8B\xC8\xFF\x76\x10\xE8\x96\x8B\xFD\xFF\x5E\x2A\x2A\x2A\x2A\xC3" |
| 34 | + "linux" "@_ZNK13CEconItemView10GetSOCDataEv" |
| 35 | + "mac" "@_ZNK13CEconItemView10GetSOCDataEv" |
| 36 | + } |
| 37 | + "CEconItem::SetCustomName" |
| 38 | + { |
| 39 | + "library" "server" |
| 40 | + "windows" "\x55\x8B\xEC\xA1\x8C\xB3\x85\x10\x83\xEC\x14\x53\x8B\xD9\x56\x57\xA8\x01\x75\x2A\x83\xC8\x01\xC7\x05\x80\xB3\x85\x10\x04\x1A\x69\x10\x68\x04\x1A\x69\x10\xA3\x8C\xB3\x85\x10\xE8\x60\x22\x01\x00" |
| 41 | + "linux" "@_ZN9CEconItem13SetCustomNameEPKc" |
| 42 | + "mac" "@_ZN9CEconItem13SetCustomNameEPKc" |
| 43 | + } |
| 44 | + "GEconItemSchema" |
| 45 | + { |
| 46 | + "library" "server" |
| 47 | + "windows" "\xE8\x2A\x2A\x2A\x2A\x83\xC0\x04\xC3" |
| 48 | + "linux" "@_Z15GEconItemSchemav" |
| 49 | + "mac" "@_Z15GEconItemSchemav" |
| 50 | + } |
| 51 | + "CEconItemSchema::GetAttributeDefinition" //int, returns CEconItemAttributeDefinition |
| 52 | + { |
| 53 | + "library" "server" |
| 54 | + "windows" "\x55\x8B\xEC\x83\xEC\x40\x53\x56\x8B\xD9\x8D\x4D\xC4\x57" |
| 55 | + "linux" "@_ZN15CEconItemSchema22GetAttributeDefinitionEi" |
| 56 | + "mac" "@_ZN15CEconItemSchema22GetAttributeDefinitionEi" |
| 57 | + } |
| 58 | + "CEconItemSchema::GetAttributeDefinitionByName" //const char*, returns CEconItemAttributeDefinition |
| 59 | + { |
| 60 | + "library" "server" |
| 61 | + "windows" "\x55\x8B\xEC\x83\xEC\x1C\x53\x8B\xD9\x8B\x0D\x2A\x2A\x2A\x2A\x56\x33\xF6\x89\x5D\xF8\x89\x75\xE4\x89\x75\xE8" |
| 62 | + "linux" "@_ZN15CEconItemSchema28GetAttributeDefinitionByNameEPKc" |
| 63 | + "mac" "@_ZN15CEconItemSchema28GetAttributeDefinitionByNameEPKc" |
| 64 | + } |
| 65 | + "CAttributeList::RemoveAttribute" //CEconItemAttributeDefinition*, returns CEconItemAttributeDefinition |
| 66 | + { |
| 67 | + "library" "server" |
| 68 | + "windows" "\x55\x8B\xEC\x51\x53\x8B\xD9\x56\x33\xF6\x8B\x43\x10\x89\x45\xFC\x85\xC0\x7E\x2A\x57\x33\xFF" |
| 69 | + "linux" "@_ZN14CAttributeList15RemoveAttributeEPK28CEconItemAttributeDefinition" |
| 70 | + "mac" "@_ZN14CAttributeList15RemoveAttributeEPK28CEconItemAttributeDefinition" |
| 71 | + } |
| 72 | + "CAttributeList::SetRuntimeAttributeValue" //CEconItemAttributeDefinition*, float, returns void but somehow SetReturnInfo makes it return some nonzero client-based integer if success |
| 73 | + { |
| 74 | + "library" "server" |
| 75 | + "windows" "\x55\x8B\xEC\x83\xEC\x14\x33\xD2\x53\x8B\xD9\x56\x57\x8B\x73\x10\x85\xF6" |
| 76 | + "linux" "@_ZN14CAttributeList24SetRuntimeAttributeValueEPK28CEconItemAttributeDefinitionf" |
| 77 | + "mac" "@_ZN14CAttributeList24SetRuntimeAttributeValueEPK28CEconItemAttributeDefinitionf" |
| 78 | + } |
| 79 | + "CAttributeList::GetAttributeByID" //int, returns CEconAttribute address |
| 80 | + { |
| 81 | + "library" "server" |
| 82 | + "windows" "\x55\x8B\xEC\x51\x8B\xC1\x53\x56\x33\xF6\x89\x45\xFC\x8B\x58\x10" |
| 83 | + "linux" "@_ZNK14CAttributeList16GetAttributeByIDEi" |
| 84 | + "mac" "@_ZNK14CAttributeList16GetAttributeByIDEi" |
| 85 | + } |
| 86 | + "CAttributeList::DestroyAllAttributes" //this, returns int |
| 87 | + { |
| 88 | + "library" "server" |
| 89 | + "windows" "\x56\x8B\xF1\x83\x7E\x10\x00\x74\x2A\xC7\x46\x10\x00\x00\x00\x00" |
| 90 | + "linux" "@_ZN14CAttributeList20DestroyAllAttributesEv" |
| 91 | + "mac" "@_ZN14CAttributeList20DestroyAllAttributesEv" |
| 92 | + } |
| 93 | + // Found this to be unused, commented out because of that |
| 94 | +// "CAttributeList::NotifyManagerOfAttributeValueChanges" //this, presumably returns CAttributeManager |
| 95 | +// { |
| 96 | +// "library" "server" |
| 97 | +// "windows" "\x56\x8B\xF1\x83\x7E\x10\x00\x74\x2A" |
| 98 | +// "linux" "@_ZN14CAttributeList36NotifyManagerOfAttributeValueChangesEv" |
| 99 | +// "mac" "@_ZN14CAttributeList36NotifyManagerOfAttributeValueChangesEv" |
| 100 | +// } |
| 101 | +//This apparently still works, and is called by the above |
| 102 | + "CAttributeManager::ClearCache" //returns void |
| 103 | + { |
| 104 | + "library" "server" |
| 105 | + "windows" "\x55\x8B\xEC\x51\x56\x8B\xF1\x80\x73\x3C\x00\x0F\x85\x1A\x01\x00\x00" |
| 106 | + "linux" "@_ZN17CAttributeManager10ClearCacheEv" |
| 107 | + "mac" "@_ZN17CAttributeManager10ClearCacheEv" |
| 108 | + } |
| 109 | +//The following are old, broken, and generally unusable as of July 10, 2013 |
| 110 | +// "CAttributeList::GetAttributeByID" //int, returns CEconAttribute address |
| 111 | +// { |
| 112 | +// "library" "server" |
| 113 | +// "windows" "\x55\x8B\xEC\x51\x53\x8B\xD9\x8B\x43\x10" |
| 114 | +// "linux" "@_ZN14CAttributeList16GetAttributeByIDEi" |
| 115 | +// "mac" "@_ZN14CAttributeList16GetAttributeByIDEi" |
| 116 | +// } |
| 117 | +// "CAttributeList::GetAttributeByName" //const char*, returns CEconAttribute address |
| 118 | +// { |
| 119 | +// "library" "server" |
| 120 | +// "windows" "\x55\x8B\xEC\x51\x8B\x45\x08\x53\x50\x8B\xD9" |
| 121 | +// "linux" "@_ZNK14CAttributeList18GetAttributeByNameEPKc" |
| 122 | +// "mac" "@_ZNK14CAttributeList18GetAttributeByNameEPKc" |
| 123 | +// } |
| 124 | +// "CAttributeList::SetOrAddAttributeValueByName" //const char*, float, returns void but somehow SetReturnInfo makes it return some nonzero client-based integer if success |
| 125 | +// { |
| 126 | +// "library" "server" |
| 127 | +// "windows" "\x55\x8B\xEC\x8B\x45\x08\x83\xEC\x18\x57" |
| 128 | +// "linux" "@_ZN14CAttributeList28SetOrAddAttributeValueByNameEPKcf" |
| 129 | +// "mac" "@_ZN14CAttributeList28SetOrAddAttributeValueByNameEPKcf" |
| 130 | +// } |
| 131 | +// "CAttributeList::RemoveAttribute" //const char*, returns void |
| 132 | +// { |
| 133 | +// "library" "server" |
| 134 | +// "windows" "\x55\x8B\xEC\x51\x56\x8B\xF1\x8B\x46\x10" |
| 135 | +// "linux" "@_ZN14CAttributeList15RemoveAttributeEPKc" |
| 136 | +// "mac" "@_ZN14CAttributeList15RemoveAttributeEPKc" |
| 137 | +// } |
| 138 | +//The following aren't used since the above work for any entity with attributes and the below work only for CTFPlayer |
| 139 | +//These are in every other regard identical to CAttributeList::SetOrAddAttributeValueByName and CAttributeList::RemoveAttribute |
| 140 | +// "CTFPlayer::SetOrAddAttributeValueByName" //const char*, float, returns returns void but somehow SetReturnInfo makes it return some nonzero client-based integer if success |
| 141 | +// { |
| 142 | +// "library" "server" |
| 143 | +// "windows" "\x55\x8B\xEC\x8B\x45\x08\x85\xC0\x74\x2A\x50\x81\xC1\x04\x0A\x00\x00" |
| 144 | +// "linux" "@_ZN9CTFPlayer28SetOrAddAttributeValueByNameEPKcf" |
| 145 | +// "mac" "@_ZN9CTFPlayer28SetOrAddAttributeValueByNameEPKcf" |
| 146 | +// } |
| 147 | +// "CTFPlayer::RemovePlayerAttribute" //const char*, returns void |
| 148 | +// { |
| 149 | +// "library" "server" |
| 150 | +// "windows" "\x55\x8B\xEC\x8B\x45\x08\x85\xC0\x74\x2A\x80\x38\x00" |
| 151 | +// "linux" "@_ZN9CTFPlayer21RemovePlayerAttributeEPKc" |
| 152 | +// "mac" "@_ZN9CTFPlayer21RemovePlayerAttributeEPKc" |
| 153 | +// } |
| 154 | + } |
| 155 | + } |
| 156 | +} |
0 commit comments