alliedmodders / hl2sdk

Half-Life 2 SDK Mirrors
https://github.com/valvesoftware
344 stars 164 forks source link

Add CEntityKeyValues #183

Closed vanz696 closed 9 months ago

vanz696 commented 9 months ago

Continuing this pr https://github.com/alliedmodders/hl2sdk/pull/137

Copy/assignment constructors in some classes have been removed and default constructors are now used instead.

GAMMACASE commented 9 months ago

Given the EntitySystem() addition/change, can you also update this https://github.com/alliedmodders/hl2sdk/blob/93634522571546158941589835acbef2fe7add4e/game/shared/ehandle.h#L21-L25 to adopt this change? (basically just removing the extern definition there and using EntitySystem() call instead, that's assuming you'd define the EntitySystem() in the entitysystem.h as I mentioned in code comments)

Wend4r commented 9 months ago

While the PR is open, please add matrix3x4_t getter by KV3_SUBTYPE_MATRIX3X4 to KeyValues3 like this one

matrix3x4_t GetMatrix3x4( matrix3x4_t defaultValue = matrix3x4_t( Vector( 0.0f, 0.0f, 0.0f ), Vector( 0.0f, 0.0f, 0.0f ), Vector( 0.0f, 0.0f, 0.0f ), Vector( 0.0f, 0.0f, 0.0f ) ) ) const { return GetVecBasedObj<matrix3x4_t>( 3*4, defaultValue ); }

And (get/set)ting it in CEntityKeyValues. This is needs to get a world offset if entity is doing to create it - https://github.com/alliedmodders/hl2sdk/pull/175/files#diff-60fcd3e06a3727934612d196ceb438e901c24792788c846f97f65f3493ef96deR84 (matrix3x4a_t the same as matrix3x4_t)

Wend4r commented 9 months ago

Thanks ❤

GAMMACASE commented 9 months ago

As usual, insane stuff! Thanks for your contribution!