Skip to content

Commit c230fa8

Browse files
committed
hitPosition
1 parent 9b9a259 commit c230fa8

File tree

4 files changed

+5
-3
lines changed

4 files changed

+5
-3
lines changed

Client/game_sa/CWorldSA.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,7 @@ CEntity* CWorldSA::TestSphereAgainstWorld(const CVector& sphereCenter, float rad
8484
return nullptr;
8585

8686
result.collisionDetected = true;
87+
result.hitPosition = entity->Placeable.matrix->vPos;
8788
result.modelID = entity->m_nModelIndex;
8889
result.type = entity->nType;
8990
result.lodID = entity->m_pLod ? entity->m_pLod->m_nModelIndex : 0;

Client/mods/deathmatch/logic/luadefs/CLuaWorldDefs.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2280,7 +2280,7 @@ void CLuaWorldDefs::ResetWorldProperties(std::optional<bool> resetSpecialWorldPr
22802280
g_pClientGame->ResetWorldProperties(ResetWorldPropsInfo{resetSpecialWorldProperties.value_or(true), resetWorldProperties.value_or(true), resetWeatherProperties.value_or(true), resetLODs.value_or(true), resetSounds.value_or(true)});
22812281
}
22822282

2283-
CLuaMultiReturn<bool, CClientEntity*, int, int, int> CLuaWorldDefs::TestSphereAgainstWorld(CVector sphereCenter, float radius, std::optional<CClientEntity*> ignoredEntity, std::optional<bool> checkBuildings, std::optional<bool> checkVehicles, std::optional<bool> checkPeds, std::optional<bool> checkObjects, std::optional<bool> checkDummies, std::optional<bool> cameraIgnore)
2283+
CLuaMultiReturn<bool, CClientEntity*, float, float, float, int, int, int> CLuaWorldDefs::TestSphereAgainstWorld(CVector sphereCenter, float radius, std::optional<CClientEntity*> ignoredEntity, std::optional<bool> checkBuildings, std::optional<bool> checkVehicles, std::optional<bool> checkPeds, std::optional<bool> checkObjects, std::optional<bool> checkDummies, std::optional<bool> cameraIgnore)
22842284
{
22852285
STestSphereAgainstWorldResult result;
22862286
CClientEntity* collidedEntity = nullptr;
@@ -2289,5 +2289,5 @@ CLuaMultiReturn<bool, CClientEntity*, int, int, int> CLuaWorldDefs::TestSphereAg
22892289
if (entity)
22902290
collidedEntity = reinterpret_cast<CClientEntity*>(entity->GetStoredPointer());
22912291

2292-
return {result.collisionDetected, collidedEntity, result.modelID, result.lodID, result.type};
2292+
return {result.collisionDetected, collidedEntity, result.hitPosition.fX, result.hitPosition.fY, result.hitPosition.fZ, result.modelID, result.lodID, result.type};
22932293
}

Client/mods/deathmatch/logic/luadefs/CLuaWorldDefs.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -141,7 +141,7 @@ class CLuaWorldDefs : public CLuaDefs
141141

142142
static void ResetWorldProperties(std::optional<bool> resetSpecialWorldProperties, std::optional<bool> resetWorldProperties, std::optional<bool> resetWeatherProperties, std::optional<bool> resetLODs, std::optional<bool> resetSounds) noexcept;
143143

144-
static CLuaMultiReturn<bool, CClientEntity*, int, int, int> TestSphereAgainstWorld(CVector sphereCenter, float radius, std::optional<CClientEntity*> ignoredEntity, std::optional<bool> checkBuildings, std::optional<bool> checkVehicles, std::optional<bool> checkPeds, std::optional<bool> checkObjects, std::optional<bool> checkDummies, std::optional<bool> cameraIgnore);
144+
static CLuaMultiReturn<bool, CClientEntity*, float, float, float, int, int, int> TestSphereAgainstWorld(CVector sphereCenter, float radius, std::optional<CClientEntity*> ignoredEntity, std::optional<bool> checkBuildings, std::optional<bool> checkVehicles, std::optional<bool> checkPeds, std::optional<bool> checkObjects, std::optional<bool> checkDummies, std::optional<bool> cameraIgnore);
145145

146146
};
147147

Client/sdk/game/CWorld.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@ struct SProcessLineOfSightMaterialInfoResult {
6464
struct STestSphereAgainstWorldResult
6565
{
6666
bool collisionDetected{false};
67+
CVector hitPosition{};
6768
std::uint32_t modelID{0};
6869
std::uint32_t lodID{0};
6970
std::uint8_t type{0};

0 commit comments

Comments
 (0)