Skip to content

Commit 650ff3a

Browse files
Merge pull request Interesting-exe#15 from Interesting-exe/16-10-25
October 16th update
2 parents d2097e0 + 8181e63 commit 650ff3a

3 files changed

Lines changed: 50 additions & 43 deletions

File tree

gamedata/cs2fixes.games.txt

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
{
2727
"library" "server"
2828
"windows" "\x4C\x89\x44\x24\x18\x55\x53\x56\x57\x41\x55\x41\x56\x48\x8D\xAC\x24\xF8\xFE\xFF\xFF"
29-
"linux" "\x55\x48\x89\xE5\x41\x57\x41\x56\x49\x89\xD6\x41\x55\x49\x89\xFD\x41\x54\x53\x48\x89\xF3\x48\x81\xEC\xD8\x01\x00\x00"
29+
"linux" "\x55\x48\x89\xE5\x41\x57\x49\x89\xFF\x41\x56\x49\x89\xCE\x41\x55\x49\x89\xD5"
3030
}
3131
// String: "Noise removal", there should be 3 customermachine checks
3232
"HammerNoCustomerMachine"
@@ -234,29 +234,29 @@
234234
}
235235
"Teleport"
236236
{
237-
"windows" "165"
238-
"linux" "164"
237+
"windows" "168"
238+
"linux" "167"
239239
}
240240
"CollisionRulesChanged"
241241
{
242-
"windows" "189"
243-
"linux" "188"
242+
"windows" "191"
243+
"linux" "190"
244244
}
245245
"IsEntityPawn"
246246
{
247-
"windows" "172"
248-
"linux" "171"
247+
"windows" "174"
248+
"linux" "173"
249249
}
250250
"IsEntityController"
251251
{
252-
"windows" "173"
253-
"linux" "172"
252+
"windows" "175"
253+
"linux" "174"
254254
}
255255
// String: "%s<%i><%s><%s>" ChangeTeam() CTMDBG..."
256256
"CCSPlayerController_ChangeTeam"
257257
{
258-
"windows" "106"
259-
"linux" "105"
258+
"windows" "109"
259+
"linux" "108"
260260
}
261261
// Look for the kill command, go through its callback and you should a find call like this, with v9 being a pawn pointer:
262262
// return (*(*v9 + 2872LL))(v9, v27, 0LL);
@@ -274,13 +274,13 @@
274274
}
275275
"PassesTriggerFilters"
276276
{
277-
"windows" "269"
278-
"linux" "270"
277+
"windows" "271"
278+
"linux" "272"
279279
}
280280
"CCSPlayerController_Respawn"
281281
{
282-
"windows" "275"
283-
"linux" "277"
282+
"windows" "277"
283+
"linux" "279"
284284
}
285285
"GetHammerUniqueId"
286286
{

src/cs2_sdk/entity/services.h

Lines changed: 34 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -261,15 +261,14 @@ struct SubtickMove
261261
bool pressed;
262262
};
263263

264-
// Size: 0xE8
265-
class CMoveData
264+
class CMoveDataBase
266265
{
267266
public:
268-
CMoveData() = default;
269-
270-
CMoveData(const CMoveData &source)
267+
CMoveDataBase() = default;
268+
CMoveDataBase(const CMoveDataBase &source)
271269
// clang-format off
272-
: moveDataFlags {source.moveDataFlags},
270+
: m_bHasZeroFrametime {source.m_bHasZeroFrametime},
271+
m_bIsLateCommand {source.m_bIsLateCommand},
273272
m_nPlayerHandle {source.m_nPlayerHandle},
274273
m_vecAbsViewAngles {source.m_vecAbsViewAngles},
275274
m_vecViewAngles {source.m_vecViewAngles},
@@ -279,23 +278,16 @@ class CMoveData
279278
m_flUpMove {source.m_flUpMove},
280279
m_vecVelocity {source.m_vecVelocity},
281280
m_vecAngles {source.m_vecAngles},
281+
m_vecUnknown {source.m_vecUnknown},
282282
m_bHasSubtickInputs {source.m_bHasSubtickInputs},
283+
unknown {source.unknown},
283284
m_collisionNormal {source.m_collisionNormal},
284-
m_groundNormal {source.m_groundNormal},
285+
m_groundNormal {source.m_groundNormal},
285286
m_vecAbsOrigin {source.m_vecAbsOrigin},
286287
m_nTickCount {source.m_nTickCount},
287288
m_nTargetTick {source.m_nTargetTick},
288-
m_flSubtickEndFraction {source.m_flSubtickEndFraction},
289289
m_flSubtickStartFraction {source.m_flSubtickStartFraction},
290-
m_outWishVel {source.m_outWishVel},
291-
m_vecOldAngles {source.m_vecOldAngles},
292-
m_flMaxSpeed {source.m_flMaxSpeed},
293-
m_flClientMaxSpeed {source.m_flClientMaxSpeed},
294-
m_flSubtickAccelSpeed {source.m_flSubtickAccelSpeed},
295-
m_bJumpedThisTick {source.m_bJumpedThisTick},
296-
m_bOnGround {source.m_bOnGround},
297-
m_bShouldApplyGravity {source.m_bShouldApplyGravity},
298-
m_bGameCodeMovedPlayer {source.m_bGameCodeMovedPlayer}
290+
m_flSubtickEndFraction {source.m_flSubtickEndFraction}
299291
// clang-format on
300292
{
301293
for (int i = 0; i < source.m_AttackSubtickMoves.Count(); i++)
@@ -330,7 +322,8 @@ class CMoveData
330322
}
331323

332324
public:
333-
uint8_t moveDataFlags;
325+
bool m_bHasZeroFrametime: 1;
326+
bool m_bIsLateCommand: 1;
334327
CHandle<CCSPlayerPawn> m_nPlayerHandle;
335328
QAngle m_vecAbsViewAngles;
336329
QAngle m_vecViewAngles;
@@ -339,28 +332,42 @@ class CMoveData
339332
float m_flSideMove; // Warning! Flipped compared to CS:GO, moving right gives negative value
340333
float m_flUpMove;
341334
Vector m_vecVelocity;
342-
Vector m_vecAngles;
335+
QAngle m_vecAngles;
336+
Vector m_vecUnknown;
343337
CUtlVector<SubtickMove> m_SubtickMoves;
344338
CUtlVector<SubtickMove> m_AttackSubtickMoves;
345339
bool m_bHasSubtickInputs;
340+
float unknown; // Set to 1.0 during SetupMove, never change during gameplay. Is apparently used for weapon services stuff.
346341
CUtlVector<touchlist_t> m_TouchList;
347342
Vector m_collisionNormal;
348343
Vector m_groundNormal; // unsure
349344
Vector m_vecAbsOrigin;
350345
int32_t m_nTickCount;
351346
int32_t m_nTargetTick;
352-
float m_flSubtickEndFraction;
353347
float m_flSubtickStartFraction;
354-
bool m_nGameModeMovedPlayer;
348+
float m_flSubtickEndFraction;
349+
};
350+
351+
class CMoveData : public CMoveDataBase
352+
{
353+
public:
354+
CMoveData() = default;
355+
356+
CMoveData(const CMoveData &source)
357+
: CMoveDataBase(source), m_outWishVel {source.m_outWishVel}, m_vecOldAngles {source.m_vecOldAngles},
358+
m_vecAccelPerSecond {source.m_vecAccelPerSecond}, m_vecInputRotated {source.m_vecInputRotated}, m_flMaxSpeed {source.m_flMaxSpeed}
359+
{
360+
}
361+
355362
Vector m_outWishVel;
356-
Vector m_vecOldAngles;
363+
QAngle m_vecOldAngles;
364+
Vector m_vecAccelPerSecond; // related to accel and friction
365+
Vector m_vecInputRotated;
357366
float m_flMaxSpeed;
358367
float m_flClientMaxSpeed;
359-
float m_flSubtickAccelSpeed; // Related to ground acceleration subtick stuff with sv_stopspeed and friction
360-
bool m_bJumpedThisTick; // something to do with basevelocity and the tick the player jumps
361-
bool m_bOnGround;
362-
bool m_bShouldApplyGravity;
368+
float m_flFrictionDecel;
369+
bool m_bInAir;
363370
bool m_bGameCodeMovedPlayer; // true if usercmd cmd number == (m_nGameCodeHasMovedPlayerAfterCommand + 1)
364371
};
365372

366-
static_assert(sizeof(CMoveData) == 256, "Class didn't match expected size");
373+
static_assert(sizeof(CMoveData) == 296, "Class didn't match expected size");

0 commit comments

Comments
 (0)