├── osu!rx
├── Core
│ ├── HitScanResult.cs
│ ├── Timewarp.cs
│ └── Relax.cs
├── Configuration
│ ├── Playstyles.cs
│ └── ConfigManager.cs
├── packages.config
├── osu
│ ├── Memory
│ │ ├── Objects
│ │ │ ├── OsuObject.cs
│ │ │ ├── OsuStates.cs
│ │ │ ├── OsuHitObjectManager.cs
│ │ │ ├── OsuPlayer.cs
│ │ │ └── OsuConfigManager.cs
│ │ ├── Signatures.cs
│ │ └── OsuProcess.cs
│ ├── OsuWindow.cs
│ └── OsuManager.cs
├── App.config
├── Helpers
│ ├── CryptoHelper.cs
│ ├── Extensions.cs
│ └── CurveHelper.cs
├── Dependencies
│ └── DependencyContainer.cs
├── Properties
│ └── AssemblyInfo.cs
├── osu!rx.csproj
└── Program.cs
├── LICENSE
├── osu!rx.sln
├── README.md
└── .gitignore
/osu!rx/Core/HitScanResult.cs:
--------------------------------------------------------------------------------
1 | namespace osu_rx.Core
2 | {
3 | public enum HitScanResult
4 | {
5 | CanHit,
6 | ShouldHit,
7 | Wait,
8 | MoveToNextObject
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/osu!rx/Configuration/Playstyles.cs:
--------------------------------------------------------------------------------
1 | namespace osu_rx.Configuration
2 | {
3 | public enum PlayStyles
4 | {
5 | Singletap,
6 | Alternate,
7 | MouseOnly,
8 | TapX
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/osu!rx/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/osu!rx/osu/Memory/Objects/OsuObject.cs:
--------------------------------------------------------------------------------
1 | using osu_rx.Dependencies;
2 | using System;
3 |
4 | namespace osu_rx.osu.Memory.Objects
5 | {
6 | public abstract class OsuObject
7 | {
8 | protected OsuProcess OsuProcess;
9 |
10 | public virtual UIntPtr BaseAddress { get; protected set; }
11 |
12 | public OsuObject() => OsuProcess = DependencyContainer.Get();
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/osu!rx/App.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/osu!rx/osu/Memory/Objects/OsuStates.cs:
--------------------------------------------------------------------------------
1 | namespace osu_rx.osu.Memory.Objects
2 | {
3 | public enum OsuStates
4 | {
5 | Menu,
6 | Edit,
7 | Play,
8 | Exit,
9 | SelectEdit,
10 | SelectPlay,
11 | SelectDrawings,
12 | Rank,
13 | Update,
14 | Busy,
15 | Unknown,
16 | Lobby,
17 | MatchSetup,
18 | SelectMulti,
19 | RankingVs,
20 | OnlineSelection,
21 | OptionsOffsetWizard,
22 | RankingTagCoop,
23 | RankingTeam,
24 | BeatmapImport,
25 | PackageUpdater,
26 | Benchmark,
27 | Tourney,
28 | Charts
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/osu!rx/Helpers/CryptoHelper.cs:
--------------------------------------------------------------------------------
1 | using System.Globalization;
2 | using System.Security.Cryptography;
3 |
4 | namespace osu_rx.Helpers
5 | {
6 | public class CryptoHelper
7 | {
8 | private static readonly NumberFormatInfo numberFormat = new CultureInfo(@"en-US", false).NumberFormat;
9 | private static MD5 md5 = MD5.Create();
10 |
11 | public static string GetMD5String(byte[] data)
12 | {
13 | lock (md5)
14 | data = md5.ComputeHash(data);
15 |
16 | char[] str = new char[data.Length * 2];
17 | for (int i = 0; i < data.Length; i++)
18 | data[i].ToString("x2", numberFormat).CopyTo(0, str, i * 2, 2);
19 |
20 | return new string(str);
21 | }
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/osu!rx/Helpers/Extensions.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Drawing;
3 | using System.Numerics;
4 |
5 | namespace osu_rx.Helpers
6 | {
7 | public static class Extensions
8 | {
9 | public static float NextFloat(this Random random, float min, float max) => (float)random.NextDouble() * (max - min) + min;
10 |
11 | public static bool AlmostEquals(this double d, double value, double allowance) => Math.Abs(d - value) <= allowance;
12 |
13 | public static bool AlmostEquals(this float f, float value, float allowance) => Math.Abs(f - value) <= allowance;
14 |
15 | public static Vector2 ToVector2(this Point point) => new Vector2(point.X, point.Y);
16 |
17 | public static float Clamp(this float value, float min, float max) => value < min ? min : value > max ? max : value;
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/osu!rx/Dependencies/DependencyContainer.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 |
4 | namespace osu_rx.Dependencies
5 | {
6 | public class DependencyContainer
7 | {
8 | private static List