orpheu_advanced.inc
Original include source with line numbers.
| 1 | |
| 2 | #if defined _orpheu_advanced_included |
| 3 | #endinput |
| 4 | #endif |
| 5 | #define _orpheu_advanced_included |
| 6 | |
| 7 | #include <orpheu_const> |
| 8 | |
| 9 | /** |
| 10 | * Gets the bytes found at an address |
| 11 | * |
| 12 | * @param address The direct address in memory |
| 13 | * @param bytes An array to hold the bytes |
| 14 | * @param count The number of bytes to get |
| 15 | */ |
| 16 | native OrpheuGetBytesAtAddress(address,bytes[],count) |
| 17 | |
| 18 | /** |
| 19 | * Gets the address in memory of a function given a handler to it |
| 20 | * |
| 21 | * @param function A handler to the function |
| 22 | * |
| 23 | * @return The address o the function |
| 24 | */ |
| 25 | native OrpheuGetFunctionAddress(OrpheuFunction:function) |
| 26 | |
| 27 | /** |
| 28 | * Gets a handle to a struct given an address in memory |
| 29 | * |
| 30 | * @param structType The type of the struct |
| 31 | * @param address The address where the struct is in |
| 32 | * |
| 33 | * @return A handler to the struct |
| 34 | */ |
| 35 | native OrpheuStruct:OrpheuGetStructFromAddress(OrpheuStructType:structType,address) |
| 36 | |
| 37 | /** |
| 38 | * Gets the handler to a function given its address and the name that you give it in the file where you define the function |
| 39 | * |
| 40 | * @param address The address where the function is |
| 41 | * @param libFunctionName The name of the function as it is in the file where the function is defined |
| 42 | * @param className The name of the class if the function belongs to one |
| 43 | * |
| 44 | * @return A handler to the function |
| 45 | */ |
| 46 | native OrpheuFunction:OrpheuCreateFunction(address,const libFunctionName[],const classname[]="") |
| 47 | |
| 48 | /** |
| 49 | * Gets the offset of the adress where the function is located to the base address of its library |
| 50 | * |
| 51 | * @param function A handler to the function |
| 52 | * |
| 53 | * @return The offset |
| 54 | */ |
| 55 | native OrpheuGetFunctionOffset(OrpheuFunction:function) |
| 56 | |
| 57 | /** |
| 58 | * Gets the adress of a library |
| 59 | * |
| 60 | * @param libraryName The name of the library. For the mod library (cstrike,czero,etc) use "mod" |
| 61 | * |
| 62 | * @return The address |
| 63 | */ |
| 64 | native OrpheuGetLibraryAddress(const libraryName[]) |
| 65 | |
| 66 | /** |
| 67 | * This native should retrieve the address of functions called from an address |
| 68 | * For example by passing the address of the function X, and 1 as n, it should retrieve the address of the first |
| 69 | * function called in X. It isn't confirmed to work on every condition and it should be use for experiments only |
| 70 | * to help retrieving functions on Windows |
| 71 | * |
| 72 | * @param address The address to start the search at |
| 73 | * @param number The number of the the call starting at 1 from the address |
| 74 | * |
| 75 | * @return The address of the function called |
| 76 | */ |
| 77 | native OrpheuGetNextCallAtAddress(address,number) |
| 78 | |