rocketleaguesdk 2.0.0 → 2.0.1

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.
package/examples/basic.ts CHANGED
@@ -7,24 +7,24 @@
7
7
  * Run with: bun run examples/basic.ts
8
8
  */
9
9
 
10
- import Memory from 'bun-memory';
10
+ import Memory from "bun-memory";
11
11
 
12
- import { GNames, GObjects } from 'rocketleaguesdk/types/offsets';
13
- import { Object as UObject, FNameEntry } from 'rocketleaguesdk/offsets/Core';
12
+ import { GNames, GObjects } from "rocketleaguesdk/types/offsets";
13
+ import { Object_ as UObject, FNameEntry } from "rocketleaguesdk/offsets/Core";
14
14
  import {
15
15
  GFxNameplatesManager_TA,
16
16
  GFxData_Nameplate_TA,
17
17
  NameplateComponentCar_TA,
18
18
  Vehicle_TA,
19
19
  CarComponent_Boost_TA,
20
- } from 'rocketleaguesdk/offsets/TAGame';
20
+ } from "rocketleaguesdk/offsets/TAGame";
21
21
 
22
22
  // Attach to the Rocket League process and get the main module
23
- const rl = new Memory('RocketLeague.exe');
24
- const module = rl.modules['RocketLeague.exe'];
23
+ const rl = new Memory("RocketLeague.exe");
24
+ const module = rl.modules["RocketLeague.exe"];
25
25
 
26
26
  if (module === undefined) {
27
- throw new Error('module must not be undefined.');
27
+ throw new Error("module must not be undefined.");
28
28
  }
29
29
 
30
30
  // Lookup tables for caching resolved names and object pointers
@@ -85,7 +85,9 @@ function tick() {
85
85
  ticks++;
86
86
 
87
87
  try {
88
- const gfxNameplatesManager_TAPtrs = fNameToGObjectPtrs.get('GFxNameplatesManager_TA');
88
+ const gfxNameplatesManager_TAPtrs = fNameToGObjectPtrs.get(
89
+ "GFxNameplatesManager_TA"
90
+ );
89
91
 
90
92
  if (!gfxNameplatesManager_TAPtrs?.length) {
91
93
  return;
@@ -93,35 +95,51 @@ function tick() {
93
95
 
94
96
  for (const gfxNameplatesManager_TAPtr of gfxNameplatesManager_TAPtrs) {
95
97
  const uGFxData_Nameplate_TAPtrs = rl.tArrayUPtr(
96
- gfxNameplatesManager_TAPtr + BigInt(GFxNameplatesManager_TA.NameplateRows)
98
+ gfxNameplatesManager_TAPtr +
99
+ BigInt(GFxNameplatesManager_TA.NameplateRows)
97
100
  );
98
101
 
99
102
  for (const uGFxData_Nameplate_TAPtr of uGFxData_Nameplate_TAPtrs) {
100
103
  const uNameplateComponentCar_TA = rl.uPtr(
101
- uGFxData_Nameplate_TAPtr + BigInt(GFxData_Nameplate_TA.NameplateComponent)
104
+ uGFxData_Nameplate_TAPtr +
105
+ BigInt(GFxData_Nameplate_TA.NameplateComponent)
102
106
  );
103
107
 
104
108
  if (uNameplateComponentCar_TA === 0n) {
105
109
  continue;
106
110
  }
107
111
 
108
- const uCarPtr = rl.uPtr(uNameplateComponentCar_TA + BigInt(NameplateComponentCar_TA.Car));
112
+ const uCarPtr = rl.uPtr(
113
+ uNameplateComponentCar_TA + BigInt(NameplateComponentCar_TA.Car)
114
+ );
109
115
 
110
116
  if (uCarPtr === 0n) {
111
117
  continue;
112
118
  }
113
119
 
114
- const uCarComponent_Boost_TAPtr = rl.uPtr(uCarPtr + BigInt(Vehicle_TA.BoostComponent));
120
+ const uCarComponent_Boost_TAPtr = rl.uPtr(
121
+ uCarPtr + BigInt(Vehicle_TA.BoostComponent)
122
+ );
115
123
 
116
124
  if (uCarComponent_Boost_TAPtr === 0n) {
117
125
  continue;
118
126
  }
119
127
 
120
- const currentBoostAmount = rl.f32(uCarComponent_Boost_TAPtr + BigInt(CarComponent_Boost_TA.CurrentBoostAmount));
128
+ const currentBoostAmount = rl.f32(
129
+ uCarComponent_Boost_TAPtr +
130
+ BigInt(CarComponent_Boost_TA.CurrentBoostAmount)
131
+ );
121
132
 
122
133
  // Write the boost amount to the nameplate and enable boost rendering
123
- void rl.f32(uGFxData_Nameplate_TAPtr + BigInt(GFxData_Nameplate_TA.BoostAmount), currentBoostAmount);
124
- void rl.u32(uGFxData_Nameplate_TAPtr + BigInt(GFxData_Nameplate_TA.bRenderBoostAmount), 0x20);
134
+ void rl.f32(
135
+ uGFxData_Nameplate_TAPtr + BigInt(GFxData_Nameplate_TA.BoostAmount),
136
+ currentBoostAmount
137
+ );
138
+ void rl.u32(
139
+ uGFxData_Nameplate_TAPtr +
140
+ BigInt(GFxData_Nameplate_TA.bRenderBoostAmount),
141
+ 0x20
142
+ );
125
143
  }
126
144
  }
127
145
  } catch (error) {
@@ -138,6 +156,6 @@ setImmediate(tick);
138
156
  // Log tick rate every second for performance monitoring
139
157
  setInterval(() => {
140
158
  console.clear();
141
- console.log('[RL] Ticks: %d', ticks);
159
+ console.log("[RL] Ticks: %d", ticks);
142
160
  ticks = 0;
143
161
  }, 1_000);
@@ -6,8 +6,21 @@
6
6
  * Import these to read/write memory at the correct locations.
7
7
  */
8
8
 
9
- import { Actor, ActorComponent, ActorFactory, InterpTrack, InterpTrackFloatBase, InterpTrackInst, Keypoint, SeqAct_Latent, SequenceAction, SequenceEvent, Volume } from './Engine';
10
- import { Object, Subsystem } from './Core';
9
+ /**
10
+ * Engine.ActorFactory Offsets
11
+ * Size: 0x009C
12
+ * Extends: Object
13
+ */
14
+ export const ActorFactory = {
15
+ GameplayActorClass: 0x0060, // 0x0060 (0x0008) [UClass*]
16
+ MenuName: 0x0068, // 0x0068 (0x0010) [FString]
17
+ MenuPriority: 0x0078, // 0x0078 (0x0004) [int32]
18
+ AlternateMenuPriority: 0x007C, // 0x007C (0x0004) [int32]
19
+ NewActorClassName: 0x0080, // 0x0080 (0x0010) [FString]
20
+ NewActorClass: 0x0090, // 0x0090 (0x0008) [UClass*]
21
+ bPlaceable: 0x0098, // 0x0098 (0x0004) [bool : 0x1]
22
+ bShowInEditorQuickMenu: 0x0098, // 0x0098 (0x0004) [bool : 0x2]
23
+ } as const;
11
24
 
12
25
  /**
13
26
  * AkAudio.ActorFactoryAkAmbientSound Offsets
@@ -19,6 +32,15 @@ export const ActorFactoryAkAmbientSound = {
19
32
  ...ActorFactory,
20
33
  } as const;
21
34
 
35
+ /**
36
+ * Engine.Keypoint Offsets
37
+ * Size: 0x0270
38
+ * Extends: Actor
39
+ */
40
+ export const Keypoint = {
41
+ SpriteComp: 0x0268, // 0x0268 (0x0008) [unknown]
42
+ } as const;
43
+
22
44
  /**
23
45
  * AkAudio.AkAmbientSound Offsets
24
46
  * Size: 0x0280
@@ -42,6 +64,15 @@ export const AkAmbientSoundActor = {
42
64
  ...Keypoint,
43
65
  } as const;
44
66
 
67
+ /**
68
+ * Core.Subsystem Offsets
69
+ * Size: 0x0068
70
+ * Extends: Object
71
+ */
72
+ export const Subsystem = {
73
+ VfTable_FExec: 0x0060, // 0x0060 (0x0008) [FPointer]
74
+ } as const;
75
+
45
76
  /**
46
77
  * AkAudio.AkAudioDevice Offsets
47
78
  * Size: 0x01B0
@@ -57,6 +88,172 @@ export const AkAudioDevice = {
57
88
  ...Subsystem,
58
89
  } as const;
59
90
 
91
+ /**
92
+ * Engine.Actor Offsets
93
+ * Size: 0x0268
94
+ * Extends: Object
95
+ */
96
+ export const Actor = {
97
+ ActorDependantPSCs: 0x0060, // 0x0060 (0x0010) [TArray<unknown>]
98
+ Components: 0x0070, // 0x0070 (0x0010) [TArray<unknown>]
99
+ AllComponents: 0x0080, // 0x0080 (0x0010) [TArray<unknown>]
100
+ Location: 0x0090, // 0x0090 (0x000C) [FVector]
101
+ Rotation: 0x009C, // 0x009C (0x000C) [FRotator]
102
+ DrawScale: 0x00A8, // 0x00A8 (0x0004) [float]
103
+ DrawScale3D: 0x00AC, // 0x00AC (0x000C) [FVector]
104
+ PrePivot: 0x00B8, // 0x00B8 (0x000C) [FVector]
105
+ EditorIconColor: 0x00C4, // 0x00C4 (0x0004) [FColor]
106
+ DetachFence: 0x00C8, // 0x00C8 (0x0004) [FRenderCommandFence]
107
+ CustomTimeDilation: 0x00CC, // 0x00CC (0x0004) [float]
108
+ Physics: 0x00D0, // 0x00D0 (0x0001) [EPhysics]
109
+ RemoteRole: 0x00D1, // 0x00D1 (0x0001) [ENetRole]
110
+ Role: 0x00D2, // 0x00D2 (0x0001) [ENetRole]
111
+ CollisionType: 0x00D3, // 0x00D3 (0x0001) [ECollisionType]
112
+ ReplicatedCollisionType: 0x00D4, // 0x00D4 (0x0001) [ECollisionType]
113
+ TickGroup: 0x00D5, // 0x00D5 (0x0001) [ETickingGroup]
114
+ Owner: 0x00D8, // 0x00D8 (0x0008) [UActor*]
115
+ Base: 0x00E0, // 0x00E0 (0x0008) [UActor*]
116
+ Timers: 0x00E8, // 0x00E8 (0x0010) [TArray<FTimerData>]
117
+ bStatic: 0x00F8, // 0x00F8 (0x0004) [bool : 0x1]
118
+ bHidden: 0x00F8, // 0x00F8 (0x0004) [bool : 0x2]
119
+ bHiddenSelf: 0x00F8, // 0x00F8 (0x0004) [bool : 0x4]
120
+ bNoDelete: 0x00F8, // 0x00F8 (0x0004) [bool : 0x8]
121
+ bDeleteMe: 0x00F8, // 0x00F8 (0x0004) [bool : 0x10]
122
+ bTicked: 0x00F8, // 0x00F8 (0x0004) [bool : 0x20]
123
+ bOnlyOwnerSee: 0x00F8, // 0x00F8 (0x0004) [bool : 0x40]
124
+ bTickIsDisabled: 0x00F8, // 0x00F8 (0x0004) [bool : 0x80]
125
+ bWorldGeometry: 0x00F8, // 0x00F8 (0x0004) [bool : 0x100]
126
+ bIgnoreRigidBodyPawns: 0x00F8, // 0x00F8 (0x0004) [bool : 0x200]
127
+ bOrientOnSlope: 0x00F8, // 0x00F8 (0x0004) [bool : 0x400]
128
+ bIgnoreEncroachers: 0x00F8, // 0x00F8 (0x0004) [bool : 0x800]
129
+ bPushedByEncroachers: 0x00F8, // 0x00F8 (0x0004) [bool : 0x1000]
130
+ bDestroyedByInterpActor: 0x00F8, // 0x00F8 (0x0004) [bool : 0x2000]
131
+ bRouteBeginPlayEvenIfStatic: 0x00F8, // 0x00F8 (0x0004) [bool : 0x4000]
132
+ bIsMoving: 0x00F8, // 0x00F8 (0x0004) [bool : 0x8000]
133
+ bAlwaysEncroachCheck: 0x00F8, // 0x00F8 (0x0004) [bool : 0x10000]
134
+ bHasAlternateTargetLocation: 0x00F8, // 0x00F8 (0x0004) [bool : 0x20000]
135
+ bCanStepUpOn: 0x00F8, // 0x00F8 (0x0004) [bool : 0x40000]
136
+ bNetTemporary: 0x00F8, // 0x00F8 (0x0004) [bool : 0x80000]
137
+ bOnlyRelevantToOwner: 0x00F8, // 0x00F8 (0x0004) [bool : 0x100000]
138
+ bNetDirty: 0x00F8, // 0x00F8 (0x0004) [bool : 0x200000]
139
+ bAlwaysRelevant: 0x00F8, // 0x00F8 (0x0004) [bool : 0x400000]
140
+ bReplicateInstigator: 0x00F8, // 0x00F8 (0x0004) [bool : 0x800000]
141
+ bReplicateMovement: 0x00F8, // 0x00F8 (0x0004) [bool : 0x1000000]
142
+ bSkipActorPropertyReplication: 0x00F8, // 0x00F8 (0x0004) [bool : 0x2000000]
143
+ bUpdateSimulatedPosition: 0x00F8, // 0x00F8 (0x0004) [bool : 0x4000000]
144
+ bTearOff: 0x00F8, // 0x00F8 (0x0004) [bool : 0x8000000]
145
+ bOnlyDirtyReplication: 0x00F8, // 0x00F8 (0x0004) [bool : 0x10000000]
146
+ bAllowFluidSurfaceInteraction: 0x00F8, // 0x00F8 (0x0004) [bool : 0x20000000]
147
+ bDemoRecording: 0x00F8, // 0x00F8 (0x0004) [bool : 0x40000000]
148
+ bDemoOwner: 0x00F8, // 0x00F8 (0x0004) [bool : 0x-80000000]
149
+ bForceDemoRelevant: 0x00FC, // 0x00FC (0x0004) [bool : 0x1]
150
+ bNetInitialRotation: 0x00FC, // 0x00FC (0x0004) [bool : 0x2]
151
+ bReplicateRigidBodyLocation: 0x00FC, // 0x00FC (0x0004) [bool : 0x4]
152
+ bKillDuringLevelTransition: 0x00FC, // 0x00FC (0x0004) [bool : 0x8]
153
+ bExchangedRoles: 0x00FC, // 0x00FC (0x0004) [bool : 0x10]
154
+ bConsiderAllStaticMeshComponentsForStreaming: 0x00FC, // 0x00FC (0x0004) [bool : 0x20]
155
+ bDebug: 0x00FC, // 0x00FC (0x0004) [bool : 0x40]
156
+ bPostRenderIfNotVisible: 0x00FC, // 0x00FC (0x0004) [bool : 0x80]
157
+ bForceNetUpdate: 0x00FC, // 0x00FC (0x0004) [bool : 0x100]
158
+ bForcePacketUpdate: 0x00FC, // 0x00FC (0x0004) [bool : 0x200]
159
+ bPendingNetUpdate: 0x00FC, // 0x00FC (0x0004) [bool : 0x400]
160
+ bHardAttach: 0x00FC, // 0x00FC (0x0004) [bool : 0x800]
161
+ bIgnoreBaseRotation: 0x00FC, // 0x00FC (0x0004) [bool : 0x1000]
162
+ bShadowParented: 0x00FC, // 0x00FC (0x0004) [bool : 0x2000]
163
+ bSkipAttachedMoves: 0x00FC, // 0x00FC (0x0004) [bool : 0x4000]
164
+ bCanBeAdheredTo: 0x00FC, // 0x00FC (0x0004) [bool : 0x8000]
165
+ bCanBeFrictionedTo: 0x00FC, // 0x00FC (0x0004) [bool : 0x10000]
166
+ bGameRelevant: 0x00FC, // 0x00FC (0x0004) [bool : 0x20000]
167
+ bMovable: 0x00FC, // 0x00FC (0x0004) [bool : 0x40000]
168
+ bShouldBaseAtStartup: 0x00FC, // 0x00FC (0x0004) [bool : 0x80000]
169
+ bPendingDelete: 0x00FC, // 0x00FC (0x0004) [bool : 0x100000]
170
+ bCanTeleport: 0x00FC, // 0x00FC (0x0004) [bool : 0x200000]
171
+ bAlwaysTick: 0x00FC, // 0x00FC (0x0004) [bool : 0x400000]
172
+ bBlocksNavigation: 0x00FC, // 0x00FC (0x0004) [bool : 0x800000]
173
+ BlockRigidBody: 0x00FC, // 0x00FC (0x0004) [bool : 0x1000000]
174
+ bCollideWhenPlacing: 0x00FC, // 0x00FC (0x0004) [bool : 0x2000000]
175
+ bCollideActors: 0x00FC, // 0x00FC (0x0004) [bool : 0x4000000]
176
+ bCollideWorld: 0x00FC, // 0x00FC (0x0004) [bool : 0x8000000]
177
+ bCollideComplex: 0x00FC, // 0x00FC (0x0004) [bool : 0x10000000]
178
+ bBlockActors: 0x00FC, // 0x00FC (0x0004) [bool : 0x20000000]
179
+ bBlocksTeleport: 0x00FC, // 0x00FC (0x0004) [bool : 0x40000000]
180
+ bMoveIgnoresDestruction: 0x00FC, // 0x00FC (0x0004) [bool : 0x-80000000]
181
+ bProjectileMoveSingleBlocking: 0x0100, // 0x0100 (0x0004) [bool : 0x1]
182
+ bNoEncroachCheck: 0x0100, // 0x0100 (0x0004) [bool : 0x2]
183
+ bCollideAsEncroacher: 0x0100, // 0x0100 (0x0004) [bool : 0x4]
184
+ bPhysRigidBodyOutOfWorldCheck: 0x0100, // 0x0100 (0x0004) [bool : 0x8]
185
+ bComponentOutsideWorld: 0x0100, // 0x0100 (0x0004) [bool : 0x10]
186
+ bForceOctreeSNFilter: 0x0100, // 0x0100 (0x0004) [bool : 0x20]
187
+ bForceOctreeMNFilter: 0x0100, // 0x0100 (0x0004) [bool : 0x40]
188
+ bRigidBodyWasAwake: 0x0100, // 0x0100 (0x0004) [bool : 0x80]
189
+ bCallRigidBodyWakeEvents: 0x0100, // 0x0100 (0x0004) [bool : 0x100]
190
+ bBounce: 0x0100, // 0x0100 (0x0004) [bool : 0x200]
191
+ bJustTeleported: 0x0100, // 0x0100 (0x0004) [bool : 0x400]
192
+ bEnableMobileTouch: 0x0100, // 0x0100 (0x0004) [bool : 0x800]
193
+ bNetInitial: 0x0100, // 0x0100 (0x0004) [bool : 0x1000]
194
+ bNetOwner: 0x0100, // 0x0100 (0x0004) [bool : 0x2000]
195
+ bHiddenEd: 0x0100, // 0x0100 (0x0004) [bool : 0x4000]
196
+ bEditable: 0x0100, // 0x0100 (0x0004) [bool : 0x8000]
197
+ bHiddenEdGroup: 0x0100, // 0x0100 (0x0004) [bool : 0x10000]
198
+ bHiddenEdLayer: 0x0100, // 0x0100 (0x0004) [bool : 0x20000]
199
+ bHiddenEdCustom: 0x0100, // 0x0100 (0x0004) [bool : 0x40000]
200
+ bHiddenEdTemporary: 0x0100, // 0x0100 (0x0004) [bool : 0x80000]
201
+ bHiddenEdLevel: 0x0100, // 0x0100 (0x0004) [bool : 0x100000]
202
+ bHiddenEdScene: 0x0100, // 0x0100 (0x0004) [bool : 0x200000]
203
+ bHiddenEdNoPhysics: 0x0100, // 0x0100 (0x0004) [bool : 0x400000]
204
+ bEdShouldSnap: 0x0100, // 0x0100 (0x0004) [bool : 0x800000]
205
+ bTempEditor: 0x0100, // 0x0100 (0x0004) [bool : 0x1000000]
206
+ bPathColliding: 0x0100, // 0x0100 (0x0004) [bool : 0x2000000]
207
+ bPathTemp: 0x0100, // 0x0100 (0x0004) [bool : 0x4000000]
208
+ bScriptInitialized: 0x0100, // 0x0100 (0x0004) [bool : 0x8000000]
209
+ bLockLocation: 0x0100, // 0x0100 (0x0004) [bool : 0x10000000]
210
+ bForceAllowKismetModification: 0x0100, // 0x0100 (0x0004) [bool : 0x20000000]
211
+ bDedicatedServerRelevant: 0x0100, // 0x0100 (0x0004) [bool : 0x40000000]
212
+ bLockedFromEditorDeletion: 0x0100, // 0x0100 (0x0004) [bool : 0x-80000000]
213
+ bComponentsDirty: 0x0104, // 0x0104 (0x0004) [bool : 0x1]
214
+ bUpdateComponentsIfEmpty: 0x0104, // 0x0104 (0x0004) [bool : 0x2]
215
+ bDebugEffectIsRelevant: 0x0104, // 0x0104 (0x0004) [bool : 0x4]
216
+ SkelMeshCompTickTag: 0x0108, // 0x0108 (0x0004) [int32]
217
+ NetTag: 0x010C, // 0x010C (0x0004) [int32]
218
+ NetUpdateTime: 0x0110, // 0x0110 (0x0004) [float]
219
+ NetUpdateFrequency: 0x0114, // 0x0114 (0x0004) [float]
220
+ NetPriority: 0x0118, // 0x0118 (0x0004) [float]
221
+ LastNetUpdateTime: 0x011C, // 0x011C (0x0004) [float]
222
+ LastForcePacketUpdateTime: 0x0120, // 0x0120 (0x0004) [float]
223
+ TimeSinceLastTick: 0x0124, // 0x0124 (0x0004) [float]
224
+ Instigator: 0x0128, // 0x0128 (0x0008) [UPawn*]
225
+ WorldInfo: 0x0130, // 0x0130 (0x0008) [UWorldInfo*]
226
+ LifeSpan: 0x0138, // 0x0138 (0x0004) [float]
227
+ CreationTime: 0x013C, // 0x013C (0x0004) [float]
228
+ LastRenderTime: 0x0140, // 0x0140 (0x0004) [float]
229
+ Tag: 0x0144, // 0x0144 (0x0008) [FName]
230
+ InitialState: 0x014C, // 0x014C (0x0008) [FName]
231
+ Layer: 0x0154, // 0x0154 (0x0008) [FName]
232
+ Group: 0x015C, // 0x015C (0x0008) [FName]
233
+ HiddenEditorViews: 0x0168, // 0x0168 (0x0008) [uint64]
234
+ Touching: 0x0170, // 0x0170 (0x0010) [TArray<UActor*>]
235
+ Children: 0x0180, // 0x0180 (0x0010) [TArray<UActor*>]
236
+ LatentFloat: 0x0190, // 0x0190 (0x0004) [float]
237
+ LatentSeqNode: 0x0198, // 0x0198 (0x0008) [UAnimNodeSequence*]
238
+ PhysicsVolume: 0x01A0, // 0x01A0 (0x0008) [UPhysicsVolume*]
239
+ Velocity: 0x01A8, // 0x01A8 (0x000C) [FVector]
240
+ Acceleration: 0x01B4, // 0x01B4 (0x000C) [FVector]
241
+ AngularVelocity: 0x01C0, // 0x01C0 (0x000C) [FVector]
242
+ BaseSkelComponent: 0x01D0, // 0x01D0 (0x0008) [unknown]
243
+ BaseBoneName: 0x01D8, // 0x01D8 (0x0008) [FName]
244
+ Attached: 0x01E0, // 0x01E0 (0x0010) [TArray<UActor*>]
245
+ RelativeLocation: 0x01F0, // 0x01F0 (0x000C) [FVector]
246
+ RelativeRotation: 0x01FC, // 0x01FC (0x000C) [FRotator]
247
+ CollisionComponent: 0x0208, // 0x0208 (0x0008) [unknown]
248
+ OverlapTag: 0x0210, // 0x0210 (0x0004) [int32]
249
+ RotationRate: 0x0214, // 0x0214 (0x000C) [FRotator]
250
+ PendingTouch: 0x0220, // 0x0220 (0x0008) [UActor*]
251
+ SupportedEvents: 0x0228, // 0x0228 (0x0010) [TArray<UClass*>]
252
+ GeneratedEvents: 0x0238, // 0x0238 (0x0010) [TArray<USequenceEvent*>]
253
+ LatentActions: 0x0248, // 0x0248 (0x0010) [TArray<USeqAct_Latent*>]
254
+ IgnoredTouchClasses: 0x0258, // 0x0258 (0x0010) [TArray<UClass*>]
255
+ } as const;
256
+
60
257
  /**
61
258
  * AkAudio.AkBusActor Offsets
62
259
  * Size: 0x0279
@@ -69,6 +266,23 @@ export const AkBusActor = {
69
266
  ...Actor,
70
267
  } as const;
71
268
 
269
+ /**
270
+ * Engine.ActorComponent Offsets
271
+ * Size: 0x009D
272
+ * Extends: Component
273
+ */
274
+ export const ActorComponent = {
275
+ LocalViewers: 0x0070, // 0x0070 (0x0010) [TArray<UPlayerController*>]
276
+ BulletSceneGroup: 0x0080, // 0x0080 (0x0001) [uint8]
277
+ Scene: 0x0088, // 0x0088 (0x0008) [FPointer]
278
+ Owner: 0x0090, // 0x0090 (0x0008) [UActor*]
279
+ bAttached: 0x0098, // 0x0098 (0x0004) [bool : 0x1]
280
+ bTickInEditor: 0x0098, // 0x0098 (0x0004) [bool : 0x2]
281
+ bNeedsReattach: 0x0098, // 0x0098 (0x0004) [bool : 0x4]
282
+ bNeedsUpdateTransform: 0x0098, // 0x0098 (0x0004) [bool : 0x8]
283
+ TickGroup: 0x009C, // 0x009C (0x0001) [ETickingGroup]
284
+ } as const;
285
+
72
286
  /**
73
287
  * AkAudio.AkComponent Offsets
74
288
  * Size: 0x00B4
@@ -81,6 +295,26 @@ export const AkComponent = {
81
295
  ...ActorComponent,
82
296
  } as const;
83
297
 
298
+ /**
299
+ * Core.Object Offsets
300
+ * Size: 0x0060
301
+ */
302
+ export const Object_ = {
303
+ VfTableObject: 0x0000, // 0x0000 (0x0008) [FPointer]
304
+ HashNext: 0x0008, // 0x0008 (0x0008) [FPointer]
305
+ ObjectFlags: 0x0010, // 0x0010 (0x0008) [uint64]
306
+ HashOuterNext: 0x0018, // 0x0018 (0x0008) [FPointer]
307
+ StateFrame: 0x0020, // 0x0020 (0x0008) [FPointer]
308
+ Linker: 0x0028, // 0x0028 (0x0008) [UObject*]
309
+ LinkerIndex: 0x0030, // 0x0030 (0x0008) [FPointer]
310
+ ObjectInternalInteger: 0x0038, // 0x0038 (0x0004) [int32]
311
+ NetIndex: 0x003C, // 0x003C (0x0004) [int32]
312
+ Outer: 0x0040, // 0x0040 (0x0008) [UObject*]
313
+ Name: 0x0048, // 0x0048 (0x0008) [FName]
314
+ Class: 0x0050, // 0x0050 (0x0008) [UClass*]
315
+ ObjectArchetype: 0x0058, // 0x0058 (0x0008) [UObject*]
316
+ } as const;
317
+
84
318
  /**
85
319
  * AkAudio.AkDevice Offsets
86
320
  * Size: 0x00B8
@@ -96,7 +330,7 @@ export const AkDevice = {
96
330
  MasterAudioBusName: 0x0090, // 0x0090 (0x0008) [FName]
97
331
  GameplayAudioBusName: 0x0098, // 0x0098 (0x0008) [FName]
98
332
  __EventInitialized__Delegate: 0x00A0, // 0x00A0 (0x0018) [FScriptDelegate]
99
- ...Object,
333
+ ...Object_,
100
334
  } as const;
101
335
 
102
336
  /**
@@ -106,7 +340,19 @@ export const AkDevice = {
106
340
  */
107
341
  export const AkDialogueEvent = {
108
342
  Arguments: 0x0060, // 0x0060 (0x0010) [TArray<UAkSwitch*>]
109
- ...Object,
343
+ ...Object_,
344
+ } as const;
345
+
346
+ /**
347
+ * Engine.Volume Offsets
348
+ * Size: 0x02A4
349
+ * Extends: Brush
350
+ */
351
+ export const Volume = {
352
+ AssociatedActor: 0x0298, // 0x0298 (0x0008) [UActor*]
353
+ bForcePawnWalk: 0x02A0, // 0x02A0 (0x0004) [bool : 0x1]
354
+ bProcessAllActors: 0x02A0, // 0x02A0 (0x0004) [bool : 0x2]
355
+ bPawnsOnly: 0x02A0, // 0x02A0 (0x0004) [bool : 0x4]
110
356
  } as const;
111
357
 
112
358
  /**
@@ -130,7 +376,7 @@ export const AkEnvironments = {
130
376
  ActorEnvironments: 0x0078, // 0x0078 (0x0010) [TArray<FAkActorEnvironment>]
131
377
  bLevelDirty: 0x0088, // 0x0088 (0x0004) [bool : 0x1]
132
378
  bActorEnvironmentDirty: 0x0088, // 0x0088 (0x0004) [bool : 0x2]
133
- ...Object,
379
+ ...Object_,
134
380
  } as const;
135
381
 
136
382
  /**
@@ -150,7 +396,7 @@ export const AkMusicAnalysis = {
150
396
  __EventNewMusicTrack__Delegate: 0x00C8, // 0x00C8 (0x0018) [FScriptDelegate]
151
397
  __EventMusicBeat__Delegate: 0x00E0, // 0x00E0 (0x0018) [FScriptDelegate]
152
398
  __EventMusicBar__Delegate: 0x00F8, // 0x00F8 (0x0018) [FScriptDelegate]
153
- ...Object,
399
+ ...Object_,
154
400
  } as const;
155
401
 
156
402
  /**
@@ -161,7 +407,7 @@ export const AkMusicAnalysis = {
161
407
  export const AkMusicDevice = {
162
408
  __EventTrackStart__Delegate: 0x0060, // 0x0060 (0x0018) [FScriptDelegate]
163
409
  __EventTrackEnd__Delegate: 0x0078, // 0x0078 (0x0018) [FScriptDelegate]
164
- ...Object,
410
+ ...Object_,
165
411
  } as const;
166
412
 
167
413
  /**
@@ -239,7 +485,7 @@ export const AkRevPhysicsSimulation = {
239
485
  EngineResistance: 0x0090, // 0x0090 (0x0004) [float]
240
486
  NetForce: 0x0094, // 0x0094 (0x0004) [float]
241
487
  __EventGearChange__Delegate: 0x0098, // 0x0098 (0x0018) [FScriptDelegate]
242
- ...Object,
488
+ ...Object_,
243
489
  } as const;
244
490
 
245
491
  /**
@@ -251,7 +497,7 @@ export const AkSoundBanksInfo = {
251
497
  StreamedFileNames: 0x0060, // 0x0060 (0x0010) [TArray<FString>]
252
498
  SoundBanks: 0x0070, // 0x0070 (0x0010) [TArray<FSoundBankInfo>]
253
499
  EventToBankMap: 0x0080, // 0x0080 (0x0008) [unknown]
254
- ...Object,
500
+ ...Object_,
255
501
  } as const;
256
502
 
257
503
  /**
@@ -263,7 +509,7 @@ export const AkSoundCue = {
263
509
  RequiredBank: 0x0060, // 0x0060 (0x0008) [UAkBank*]
264
510
  StartEvent: 0x0068, // 0x0068 (0x0010) [FString]
265
511
  StopEvent: 0x0078, // 0x0078 (0x0010) [FString]
266
- ...Object,
512
+ ...Object_,
267
513
  } as const;
268
514
 
269
515
  /**
@@ -297,7 +543,33 @@ export const AkSoundSource = {
297
543
  * Extends: Object
298
544
  */
299
545
  export const AkSwitch = {
300
- ...Object,
546
+ ...Object_,
547
+ } as const;
548
+
549
+ /**
550
+ * Engine.InterpTrack Offsets
551
+ * Size: 0x00C4
552
+ * Extends: Object
553
+ */
554
+ export const InterpTrack = {
555
+ VfTable_FInterpEdInputInterface: 0x0060, // 0x0060 (0x0008) [FPointer]
556
+ CurveEdVTable: 0x0068, // 0x0068 (0x0008) [FPointer]
557
+ SubTracks: 0x0070, // 0x0070 (0x0010) [TArray<UInterpTrack*>]
558
+ SubTrackGroups: 0x0080, // 0x0080 (0x0010) [TArray<FSubTrackGroup>]
559
+ SupportedSubTracks: 0x0090, // 0x0090 (0x0010) [TArray<FSupportedSubTrackInfo>]
560
+ TrackInstClass: 0x00A0, // 0x00A0 (0x0008) [UClass*]
561
+ ActiveCondition: 0x00A8, // 0x00A8 (0x0001) [ETrackActiveCondition]
562
+ TrackTitle: 0x00B0, // 0x00B0 (0x0010) [FString]
563
+ bOnePerGroup: 0x00C0, // 0x00C0 (0x0004) [bool : 0x1]
564
+ bDirGroupOnly: 0x00C0, // 0x00C0 (0x0004) [bool : 0x2]
565
+ bDisableTrack: 0x00C0, // 0x00C0 (0x0004) [bool : 0x4]
566
+ bIsAnimControlTrack: 0x00C0, // 0x00C0 (0x0004) [bool : 0x8]
567
+ bSubTrackOnly: 0x00C0, // 0x00C0 (0x0004) [bool : 0x10]
568
+ bVisible: 0x00C0, // 0x00C0 (0x0004) [bool : 0x20]
569
+ bIsSelected: 0x00C0, // 0x00C0 (0x0004) [bool : 0x40]
570
+ bIsRecording: 0x00C0, // 0x00C0 (0x0004) [bool : 0x80]
571
+ bIsCollapsed: 0x00C0, // 0x00C0 (0x0004) [bool : 0x100]
572
+ ...Object_,
301
573
  } as const;
302
574
 
303
575
  /**
@@ -311,6 +583,17 @@ export const InterpTrackAkEvent = {
311
583
  ...InterpTrack,
312
584
  } as const;
313
585
 
586
+ /**
587
+ * Engine.InterpTrackFloatBase Offsets
588
+ * Size: 0x00E4
589
+ * Extends: InterpTrack
590
+ */
591
+ export const InterpTrackFloatBase = {
592
+ FloatTrack: 0x00C8, // 0x00C8 (0x0018) [FInterpCurveFloat]
593
+ CurveTension: 0x00E0, // 0x00E0 (0x0004) [float]
594
+ ...InterpTrack,
595
+ } as const;
596
+
314
597
  /**
315
598
  * AkAudio.InterpTrackAkRTPC Offsets
316
599
  * Size: 0x00F8
@@ -321,6 +604,15 @@ export const InterpTrackAkRTPC = {
321
604
  ...InterpTrackFloatBase,
322
605
  } as const;
323
606
 
607
+ /**
608
+ * Engine.InterpTrackInst Offsets
609
+ * Size: 0x0060
610
+ * Extends: Object
611
+ */
612
+ export const InterpTrackInst = {
613
+ ...Object_,
614
+ } as const;
615
+
324
616
  /**
325
617
  * AkAudio.InterpTrackInstAkEvent Offsets
326
618
  * Size: 0x0064
@@ -340,6 +632,17 @@ export const InterpTrackInstAkRTPC = {
340
632
  ...InterpTrackInst,
341
633
  } as const;
342
634
 
635
+ /**
636
+ * Engine.SequenceAction Offsets
637
+ * Size: 0x0160
638
+ * Extends: SequenceOp
639
+ */
640
+ export const SequenceAction = {
641
+ HandlerName: 0x0140, // 0x0140 (0x0008) [FName]
642
+ bCallHandler: 0x0148, // 0x0148 (0x0004) [bool : 0x1]
643
+ Targets: 0x0150, // 0x0150 (0x0010) [TArray<UObject*>]
644
+ } as const;
645
+
343
646
  /**
344
647
  * AkAudio.SeqAct_AkClearBanks Offsets
345
648
  * Size: 0x0160
@@ -360,6 +663,18 @@ export const SeqAct_AkEnvironment = {
360
663
  ...SequenceAction,
361
664
  } as const;
362
665
 
666
+ /**
667
+ * Engine.SeqAct_Latent Offsets
668
+ * Size: 0x0178
669
+ * Extends: SequenceAction
670
+ */
671
+ export const SeqAct_Latent = {
672
+ LatentActors: 0x0160, // 0x0160 (0x0010) [TArray<UActor*>]
673
+ bAborted: 0x0170, // 0x0170 (0x0004) [bool : 0x1]
674
+ LatentActivationTime: 0x0174, // 0x0174 (0x0004) [float]
675
+ ...SequenceAction,
676
+ } as const;
677
+
363
678
  /**
364
679
  * AkAudio.SeqAct_AkLoadBank Offsets
365
680
  * Size: 0x018C
@@ -481,6 +796,27 @@ export const SeqAct_AkStopAll = {
481
796
  ...SequenceAction,
482
797
  } as const;
483
798
 
799
+ /**
800
+ * Engine.SequenceEvent Offsets
801
+ * Size: 0x017C
802
+ * Extends: SequenceOp
803
+ */
804
+ export const SequenceEvent = {
805
+ DuplicateEvts: 0x0140, // 0x0140 (0x0010) [TArray<USequenceEvent*>]
806
+ Originator: 0x0150, // 0x0150 (0x0008) [UActor*]
807
+ Instigator: 0x0158, // 0x0158 (0x0008) [UActor*]
808
+ ActivationTime: 0x0160, // 0x0160 (0x0004) [float]
809
+ TriggerCount: 0x0164, // 0x0164 (0x0004) [int32]
810
+ MaxTriggerCount: 0x0168, // 0x0168 (0x0004) [int32]
811
+ ReTriggerDelay: 0x016C, // 0x016C (0x0004) [float]
812
+ bEnabled: 0x0170, // 0x0170 (0x0004) [bool : 0x1]
813
+ bPlayerOnly: 0x0170, // 0x0170 (0x0004) [bool : 0x2]
814
+ bRegistered: 0x0170, // 0x0170 (0x0004) [bool : 0x4]
815
+ bClientSideOnly: 0x0170, // 0x0170 (0x0004) [bool : 0x8]
816
+ Priority: 0x0174, // 0x0174 (0x0001) [uint8]
817
+ MaxWidth: 0x0178, // 0x0178 (0x0004) [int32]
818
+ } as const;
819
+
484
820
  /**
485
821
  * AkAudio.SeqEvent_AkMusicCue Offsets
486
822
  * Size: 0x0190
@@ -491,7 +827,6 @@ export const SeqEvent_AkMusicCue = {
491
827
  ...SequenceEvent,
492
828
  } as const;
493
829
 
494
-
495
830
  /**
496
831
  * ScriptStruct AkAudio.AkSoundSource.ActiveSound Offsets
497
832
  * Size: 0x0010