@rlsdk/steam 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (78) hide show
  1. package/README.md +166 -0
  2. package/classes/AkAudio.ts +620 -0
  3. package/classes/Core.ts +1489 -0
  4. package/classes/Engine.ts +25512 -0
  5. package/classes/GFxUI.ts +480 -0
  6. package/classes/IpDrv.ts +2146 -0
  7. package/classes/OnlineSubsystemEOS.ts +954 -0
  8. package/classes/OnlineSubsystemSteamworks.ts +933 -0
  9. package/classes/ProjectX.ts +14003 -0
  10. package/classes/TAGame.ts +54138 -0
  11. package/classes/WinDrv.ts +116 -0
  12. package/classes/XAudio2.ts +13 -0
  13. package/classes/index.ts +20 -0
  14. package/constants/AkAudio.ts +6 -0
  15. package/constants/Core.ts +28 -0
  16. package/constants/Engine.ts +109 -0
  17. package/constants/GFxUI.ts +6 -0
  18. package/constants/IpDrv.ts +13 -0
  19. package/constants/OnlineSubsystemEOS.ts +6 -0
  20. package/constants/OnlineSubsystemSteamworks.ts +6 -0
  21. package/constants/ProjectX.ts +19 -0
  22. package/constants/TAGame.ts +79 -0
  23. package/constants/WinDrv.ts +6 -0
  24. package/constants/XAudio2.ts +6 -0
  25. package/constants/index.ts +14 -0
  26. package/enums/AkAudio.ts +121 -0
  27. package/enums/Core.ts +1646 -0
  28. package/enums/Engine.ts +3782 -0
  29. package/enums/GFxUI.ts +111 -0
  30. package/enums/IpDrv.ts +321 -0
  31. package/enums/OnlineSubsystemEOS.ts +25 -0
  32. package/enums/OnlineSubsystemSteamworks.ts +62 -0
  33. package/enums/ProjectX.ts +624 -0
  34. package/enums/TAGame.ts +2637 -0
  35. package/enums/WinDrv.ts +6 -0
  36. package/enums/XAudio2.ts +6 -0
  37. package/enums/index.ts +18 -0
  38. package/index.ts +11 -0
  39. package/offsets/AkAudio.ts +1049 -0
  40. package/offsets/Core.ts +1765 -0
  41. package/offsets/Engine.ts +26914 -0
  42. package/offsets/GFxUI.ts +525 -0
  43. package/offsets/IpDrv.ts +2259 -0
  44. package/offsets/OnlineSubsystemEOS.ts +602 -0
  45. package/offsets/OnlineSubsystemSteamworks.ts +1283 -0
  46. package/offsets/ProjectX.ts +14375 -0
  47. package/offsets/TAGame.ts +47649 -0
  48. package/offsets/WinDrv.ts +180 -0
  49. package/offsets/XAudio2.ts +102 -0
  50. package/offsets/globals.ts +13 -0
  51. package/offsets/index.ts +21 -0
  52. package/package.json +134 -0
  53. package/parameters/AkAudio.ts +780 -0
  54. package/parameters/Core.ts +4839 -0
  55. package/parameters/Engine.ts +37953 -0
  56. package/parameters/GFxUI.ts +1450 -0
  57. package/parameters/IpDrv.ts +7591 -0
  58. package/parameters/OnlineSubsystemEOS.ts +4309 -0
  59. package/parameters/OnlineSubsystemSteamworks.ts +4391 -0
  60. package/parameters/ProjectX.ts +31213 -0
  61. package/parameters/TAGame.ts +129564 -0
  62. package/parameters/WinDrv.ts +276 -0
  63. package/parameters/XAudio2.ts +4 -0
  64. package/parameters/index.ts +19 -0
  65. package/structs/AkAudio.ts +132 -0
  66. package/structs/Core.ts +750 -0
  67. package/structs/Engine.ts +5968 -0
  68. package/structs/GFxUI.ts +136 -0
  69. package/structs/IpDrv.ts +681 -0
  70. package/structs/OnlineSubsystemEOS.ts +23 -0
  71. package/structs/OnlineSubsystemSteamworks.ts +306 -0
  72. package/structs/ProjectX.ts +2527 -0
  73. package/structs/TAGame.ts +7487 -0
  74. package/structs/WinDrv.ts +6 -0
  75. package/structs/XAudio2.ts +6 -0
  76. package/structs/index.ts +18 -0
  77. package/types/GameDefines.ts +35 -0
  78. package/types/index.ts +9 -0
package/README.md ADDED
@@ -0,0 +1,166 @@
1
+ # Rocket League (Steam) TypeScript SDK
2
+
3
+ Auto-generated TypeScript type definitions for Rocket League's (Steam) Unreal Engine 3 classes, structs, enums, and constants.
4
+
5
+ ## Installation
6
+
7
+ ```bash
8
+ bun add @rlsdk/steam bun-memory
9
+ ```
10
+
11
+ ## Usage
12
+
13
+ This SDK provides type definitions and offset constants for use with memory reading libraries like `bun-memory`.
14
+
15
+ ```typescript
16
+ import Memory from "bun-memory";
17
+
18
+ import { CarComponent_Boost_TA } from "@rlsdk/steam/offsets/TAGame";
19
+ import { GNames, GObjects } from "@rlsdk/steam/offsets";
20
+ import { Object_ as UObject, FNameEntry } from "@rlsdk/steam/offsets/Core";
21
+
22
+ // Connect to Rocket League (Steam)
23
+ const rl = new Memory("RocketLeague.exe");
24
+ const module = rl.modules["RocketLeague.exe"];
25
+
26
+ // Read GNames and GObjects arrays
27
+ const gNamePtrs = rl.tArrayUPtr(module.base + GNames);
28
+ const gObjectPtrs = rl.tArrayUPtr(module.base + GObjects);
29
+
30
+ // Read boost amount using exported offsets
31
+ const boostAmount = rl.f32(
32
+ boostComponentPtr + CarComponent_Boost_TA.CurrentBoostAmount,
33
+ );
34
+ ```
35
+
36
+ See the `examples/` directory for a complete working example.
37
+
38
+ ## Understanding the Type Comments
39
+
40
+ Each property includes a comment with memory layout information:
41
+
42
+ ```typescript
43
+ export type UCarComponent_Boost_TA = UCarComponent_TA & {
44
+ MaxBoostAmount: number; // 0x032c (0x0004) [float]
45
+ CurrentBoostAmount: number; // 0x0338 (0x0004) [float]
46
+ };
47
+ ```
48
+
49
+ - `0x032c` - Offset from the start of the object in memory
50
+ - `0x0004` - Size of the property in bytes
51
+ - `[float]` - Native C++ type (helps choose the correct memory read method)
52
+
53
+ ### Native Type to Memory Method Mapping
54
+
55
+ | Native Type | Size | Memory Method |
56
+ | ------------ | ---- | ----------------------------------- |
57
+ | `int32` | 4 | `rl.i32()` |
58
+ | `uint32` | 4 | `rl.u32()` |
59
+ | `uint8` | 1 | `rl.u8()` |
60
+ | `uint64` | 8 | `rl.u64()` |
61
+ | `float` | 4 | `rl.f32()` |
62
+ | `FString` | 16 | Custom (pointer to wide string) |
63
+ | `FName` | 8 | `rl.i32()` for index |
64
+ | `FVector` | 12 | `rl.vector3()` |
65
+ | `TArray<T>` | 16 | Custom (pointer + count + capacity) |
66
+ | `SomeClass*` | 8 | `rl.uPtr()` |
67
+
68
+ ### Boolean Bitfields
69
+
70
+ UE3 packs multiple boolean properties into single `uint32_t` values. When you see multiple bools at the same offset with different bitmasks, they share a bitfield:
71
+
72
+ ```typescript
73
+ export type UGFxData_Nameplate_TA = UGFxDataRow_X & {
74
+ bHideFullNameplate: boolean; // 0x00bc (0x0004) [bool : 0x1]
75
+ bIsTargetLocked: boolean; // 0x00bc (0x0004) [bool : 0x2]
76
+ bInKnockoutGameMode: boolean; // 0x00bc (0x0004) [bool : 0x4]
77
+ bIsDistracted: boolean; // 0x00bc (0x0004) [bool : 0x8]
78
+ };
79
+ ```
80
+
81
+ To read a bitfield bool:
82
+
83
+ ```typescript
84
+ const bitfield = rl.u32(objectAddr + 0x00bcn);
85
+ const bHideFullNameplate = (bitfield & 0x1) !== 0;
86
+ const bIsTargetLocked = (bitfield & 0x2) !== 0;
87
+ const bInKnockoutGameMode = (bitfield & 0x4) !== 0;
88
+ ```
89
+
90
+ To write a bitfield bool:
91
+
92
+ ```typescript
93
+ let bitfield = rl.u32(objectAddr + 0x00bcn);
94
+ // Set bIsTargetLocked to true
95
+ bitfield |= 0x2;
96
+ // Set bIsTargetLocked to false
97
+ bitfield &= ~0x2;
98
+ rl.writeU32(objectAddr + 0x00bcn, bitfield);
99
+ ```
100
+
101
+ When a bool has `[bool : 0x1]` and is at a unique offset, it's a standalone `uint32_t` bool (not packed).
102
+
103
+ ## SDK Structure
104
+
105
+ ```
106
+ @rlsdk/steam/
107
+ ├── classes/ # UClass definitions (game objects)
108
+ │ ├── Core.ts
109
+ │ ├── Engine.ts
110
+ │ ├── TAGame.ts # Rocket League (Steam) specific classes
111
+ │ └── ...
112
+ ├── structs/ # UStruct definitions (data structures)
113
+ │ ├── Core.ts
114
+ │ ├── Engine.ts
115
+ │ └── ...
116
+ ├── enums/ # UEnum definitions
117
+ │ ├── Core.ts
118
+ │ ├── Engine.ts
119
+ │ └── ...
120
+ ├── constants/ # UConst definitions
121
+ ├── parameters/ # Function parameter structs
122
+ ├── types/ # Core type definitions
123
+ └── index.ts # Main entry point
124
+ ```
125
+
126
+ ## Key Classes
127
+
128
+ ### TAGame Package (Rocket League)
129
+
130
+ - `UCarComponent_Boost_TA` - Boost component with current/max boost
131
+ - `UCarComponent_Dodge_TA` - Dodge/flip state
132
+ - `UCarComponent_Jump_TA` - Jump state
133
+ - `UBall_TA` - Ball object
134
+ - `UCar_TA` - Car object
135
+ - `UPRI_TA` - Player replication info
136
+ - `UGameEvent_Soccar_TA` - Match state
137
+
138
+ ### Engine Package (Unreal Engine)
139
+
140
+ - `UObject` - Base class for all objects
141
+ - `UActor` - Base class for placed objects
142
+ - `UPawn` - Base class for controllable entities
143
+ - `UPlayerController` - Player input handling
144
+
145
+ ## Finding Objects in Memory
146
+
147
+ The SDK types describe object layouts, but you need GObjects/GNames to find objects:
148
+
149
+ 1. **GObjects** - Global array of all UObject instances
150
+ 2. **GNames** - Global array of FName strings
151
+
152
+ See the `examples/` directory for working code examples.
153
+
154
+ ## Version Compatibility
155
+
156
+ This SDK was generated for a specific version of Rocket League (Steam). Game updates may change:
157
+
158
+ - Property offsets
159
+ - Class sizes
160
+ - New/removed properties
161
+
162
+ Regenerate the SDK after game updates using the generator tool.
163
+
164
+ ## License
165
+
166
+ MIT