OsuSync / OsuRTDataProvider

A sync plugin, get OSU! game data from memory.
GNU Lesser General Public License v3.0
64 stars 17 forks source link

New Event: Cursor Data #20

Closed l3lackShark closed 4 years ago

l3lackShark commented 4 years ago

Is it possible to add an event for raw cursor coordinates? (with TourneyMode support, if possible) (and HTTP API please)

l3lackShark commented 4 years ago

Here is the signature: 66 0F D6 07 C6 05 36 61 ?? ?? 00 Attach debugger in Cheat Engine whenever you are watching replays to get the actual value. To get Height you do WIDTHADDR+4

KedamaOvO commented 4 years ago

I haven't had time to add new features to ORTDP recently, you can create a PR to the repo.

Keytoyze commented 4 years ago

Here is the signature: 66 0F D6 07 C6 05 36 61 ?? ?? 00 Attach debugger in Cheat Engine whenever you are watching replays to get the actual value. To get Height you do WIDTHADDR+4

The raw cursor data has three types: online replay watching, offline replay watching, and game playing. These three types have diverse signatures.

For game playing, the signature is: 83 7E 60 00 74 2C A1 ?? ?? ?? ?? 8B 50 1C 8B 4A 04. The n-th cursor data can be found by the following offsets: 0x34, 0x4, 0x8+4*n, 0x0.

For online replay watching, the signature is: D9 5D C0 EB 4E A1 ?? ?? ?? ?? 8B 48 34 4E. The cursor data is linear storage, and the header of data can be found by the following offsets: 0x34, 0x4, 0x8, 0x0.

For offline replay watching, the offsets are the same as online, and the signature is: 75 0E 33 D2 89 15 ?? ?? ?? ?? 89 15.

Each cursor data has a length of 32 bytes. The offsets of x, y, z and timestamp are 4, 8, 12 and 16.

KedamaOvO commented 4 years ago

@l3lackShark released.