Kawe Mazidjatari
e9fac084fe
Fix struct -> class compiler warning
...
'dtMeshTile' is defined as struct, but declared as class, causing a compiler warning. Fixed by declaring it as struct.
2023-04-02 01:23:07 +02:00
Kawe Mazidjatari
4357c9dbf3
Fix many compiler warnings
...
Fix many compiler warnings indicating potentially unwanted implicit conversions/truncations.
2023-04-02 00:59:24 +02:00
Kawe Mazidjatari
69624baa10
NavMesh debug draw code refactor
...
* Use mathlib SIMD wrappers instead, this is to maintain compatibility across different platforms/compilers.
* Moved camera distance logic to separate method.
2023-04-01 20:54:10 +02:00
Kawe Mazidjatari
f2d1b9e643
Fix crash caused by returning unsigned values
...
Function returned '-1' as 'ULONG_MAX'. This patch fixes this problem while suppressing compiler warnings.
2023-04-01 17:39:22 +02:00
Kawe Mazidjatari
371e15db41
Fix many verbose compiler warnings
...
Many compiler warnings regarding implicit conversions.
2023-03-18 16:45:43 +01:00
Kawe Mazidjatari
cae5037324
Initial fix for older game builds
...
SDK compiles and works for the S1 game now, still needs to be debugged further.
2023-03-01 00:09:38 +01:00
Kawe Mazidjatari
ad66236a90
Fix compile error
...
Var was renamed.
2023-02-23 23:47:58 +01:00
Kawe Mazidjatari
68ae16d93a
Fix bug in 'Detour_LevelShutdown'
...
Pointer in array never got nulled after getting freed, causing undefined behavior. Also made a dedicated function for clearing a NavMesh slot by hull.
2023-02-18 13:21:31 +01:00
Kawe Mazidjatari
0b85476011
Belongs to the previous commit
2023-02-13 23:47:12 +01:00
Kawe Mazidjatari
d52bbfec08
Fix invalid alignment for 'MatchMetrics'
2023-02-12 18:03:12 +01:00
Kawe Mazidjatari
b1f2f47058
Update names across codebase
2023-02-12 15:06:08 +01:00
Kawe Mazidjatari
649e6cb63c
CBaseAnimating: move trailing padding
...
Move trailing padding from 'CBaseAnimating' to start of 'CBaseAnimatingOverlay' (VFTable).
2023-02-04 01:01:32 +01:00
Kawe Mazidjatari
c2efdb59ae
Move CViewRender vtable init to GetCon
2023-01-31 23:43:29 +01:00
Kawe Mazidjatari
b33c8794a0
Reorder registration order
...
Slight reorder, removed 'VStudioRenderContext' from dedicated.
2023-01-31 17:21:16 +01:00
Kawe Mazidjatari
918535ff0f
Fix crash during bots simulation
...
Wrong ptr to 'CUserCmd::Reset'.
2023-01-31 00:03:40 +01:00
Kawe Mazidjatari
9ea06aa65d
Use 'Assert' instead
2023-01-25 19:21:06 +01:00
Amos
d76ed1098a
Improve VFTable address logging
...
More standardized VFTable address logging.
2023-01-25 11:19:53 +01:00
Kawe Mazidjatari
a618990937
Detour code refactor
...
This change was planned for a long time. This moves all REGISTER calls to a single translation unit, this is required as we currently added a very dirty workaround for not registering duplicates by checking if VFTable pointer was already present in the vector... Registering from single translation unit prevents duplicate instances that gets created if header is included by more cpp files.
Reworking this reduced 100kb+ of compiled code. This commit also reworked the way functions/variables/constant gets logged with their addresses; the new code formats them on the fly, and allows for resize at any time. Formatting is no longer required by programmer.
TODO: currently there are some compile errors for dedicated and client dll's. These will be resolved very soon as they need to be properly worked out still (server & client only stuff needs to be properly split). Use the 'main' (stable) branch for the time being if you need to compile these dll's.
2023-01-25 02:26:52 +01:00
Kawe Mazidjatari
e281aea990
Fix client.dll/dedicated.dll compile errors
2023-01-24 18:39:12 +01:00
Kawe Mazidjatari
19447f1122
Improve debug draw depth test toggle logic
...
* Add box depth test cvar from engine for 'CBaseAnimating::DrawServerHitboxes'.
* Use noDepthTest field from OverlayBox_t instead of the cvar.
2023-01-24 12:05:09 +01:00
Kawe Mazidjatari
888989d2b3
Fully working implementation of 'sv_showhitboxes'
...
Setting 'sv_showhitboxes' to 0 will enable it on everything deriving from CBaseAnimating, and having a valid studiohdr/hitbox. -1 means off, value > 0 will select entity by index (value of 'sv_showhitbox').
2023-01-24 00:53:45 +01:00
Kawe Mazidjatari
6e5ad71855
Remove hitbox drawing test code
...
Was only hooked up to lag compensation code for testing.
2023-01-24 00:39:41 +01:00
Kawe Mazidjatari
2c7636ec0d
Initial 'EntityByIndex' implementation
2023-01-23 23:40:40 +01:00
Kawe Mazidjatari
66ef9fb6a0
Fix crash in hitbox drawing code and light restructure
...
* Fix null pointer dereference crash in server hitbox drawing code; implemented a proper getter for CStudioHdr.
* Moved 'baseentity.h/cpp' to 'game/server/' instead.
* Overall light cleanup.
2023-01-23 23:21:29 +01:00
Kawe Mazidjatari
094a6e4fa5
Initial hitbox drawing implementation
...
Currently only hooked up to lag compensation code. Will be hooked up to 'sv_showhitboxes' in the future (drawing hitboxes of all animating).
2023-01-23 02:22:51 +01:00
Kawe Mazidjatari
502a1d2324
Switch box overlay transform type to 'matrix3x4_t'
...
Actual type turned out to be 'matrix3x4_t' after further reverse engineering.
2023-01-23 02:20:21 +01:00
Kawe Mazidjatari
07ef57536d
Add modelinfo vftable pointers
2023-01-22 16:48:16 +01:00
Kawe Mazidjatari
4b5d24a51f
Fix trace filter shadow bug
...
Shadow: VFTable was never set.
2023-01-22 13:05:26 +01:00
Kawe Mazidjatari
d7f3209525
Mapped out hit group standards
...
Mapped out from Squirrel code.
2023-01-22 12:06:05 +01:00
Kawe Mazidjatari
15429d3f8f
Add 'CTraceFilterSimple' to SDK
2023-01-21 16:22:16 +01:00
Kawe Mazidjatari
eff106e415
Improve CCollisionProperty
...
Set 'm_pOuter' to CBaseEntity*.
2023-01-21 16:18:12 +01:00
Kawe Mazidjatari
08746bcedd
player.h cleanup
2023-01-21 16:17:28 +01:00
Kawe Mazidjatari
6811642734
Remove copyright notice from player.h
...
Structure uses next to no Valve material, and is heavily modified/custom. Removed copyright notice.
2023-01-20 22:17:04 +01:00
Kawe Mazidjatari
1d8e61ebff
Fixup 'CMoveHelperServer' and 'CMoveHelperClient'
...
Uncomment field.
2023-01-20 17:21:34 +01:00
Kawe Mazidjatari
9720d8b0f1
Fix 'g_pGlobals' and 'UTIL_PlayerByIndex()'
...
'UTIL_PlayerByIndex' now returns the player from the edict array properly, 'g_pGlobals' had to be dereferenced twice.
2023-01-20 14:07:25 +01:00
Kawe Mazidjatari
4710b51fa3
Experimental bot simulation implementation
...
Simulate bot user commands on the server. The simulation system is experimental and only runs if cvar 'sv_simulateBots' is set, and bots are created on the server.
2023-01-20 01:23:08 +01:00
Kawe Mazidjatari
dcf05a0adf
CClientEntityList reversal
...
Slightly reversed CClientEntityList while looking around its singleton.
2023-01-20 00:28:49 +01:00
Kawe Mazidjatari
82c914c2fd
Detour 'Physics_RunThinkFunctions'
...
Hook will be used to run simulation for bots.
2023-01-19 22:53:45 +01:00
Kawe Mazidjatari
e7522ce0d6
Fix compile error
...
IMoveHelper compile error in player.h.
2023-01-19 21:51:43 +01:00
Kawe Mazidjatari
934d18809a
Finish 'CPlayer::RunNullCommand'
2023-01-19 21:45:15 +01:00
Kawe Mazidjatari
1853f3d643
CPlayer: Finish user command executor
...
Command executor finished. Also improved the structure slightly to use CUserCmd instead of padded characters for 'm_LastCmd'.
2023-01-19 20:48:41 +01:00
Kawe Mazidjatari
119bd9ae61
CUserCmd improvements
...
* Adjust structure size to that of the implementation in the S3 executable.
* Added copy method (copies a source usercmd into current).
2023-01-19 20:45:59 +01:00
Kawe Mazidjatari
9231861f87
Light cleanup in movehelper_server.h
2023-01-19 19:39:36 +01:00
Kawe Mazidjatari
05748e6184
Add client movehelper to SDK
...
Structure and vftable align 100%.
2023-01-19 19:39:15 +01:00
Kawe Mazidjatari
7279039226
Delete empty files
2023-01-19 18:57:28 +01:00
Kawe Mazidjatari
754c986e3d
Add server movehelper to SDK
...
Initial implementation of server movehelper. IMoveHelper interface class is fully reversed and aligns with implementation in engine. CMoveHelperServer is also reversed, excect for CGameTrace, though this isn't necessary for now.
2023-01-19 18:52:46 +01:00
Kawe Mazidjatari
afe8efbc2a
Add CUserCmd class to SDK
...
Implemented CUserCmd to SDK. Constructor resets the class using the game's 'Reset' implementation as the majority of the structure is unknown.
2023-01-19 16:11:48 +01:00
Kawe Mazidjatari
b2ffab07c3
Fix mistake
...
Should be 'm_lastUCmdSimulationRemainderTime' instead of 'm_totalExtraClientCmdTimeAttempted'.
2023-01-19 15:29:53 +01:00
Kawe Mazidjatari
54f08bd887
Work-in-progress user command executor
...
* Added some getters in 'CBaseEntity' and 'CServerNetworkProperty'.
* Implemented 'CPlayer::SetTimeBase'.
* WIP implementation of 'CPlayer::RunNullCommand'.
2023-01-19 15:25:45 +01:00
Kawe Mazidjatari
d4b576bd49
Light structures cleanup
2023-01-19 15:06:08 +01:00