Skip to content

Commit

Permalink
Merge pull request #167 from altmp/ALTV-627
Browse files Browse the repository at this point in the history
ALTV-627 make wheel api shared
  • Loading branch information
OlegTrofimov authored Jan 22, 2025
2 parents a6f3067 + 484690e commit bd3cba9
Show file tree
Hide file tree
Showing 5 changed files with 129 additions and 129 deletions.
88 changes: 44 additions & 44 deletions c-api/cache/CachedVehicle.h
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,11 @@ namespace cache
_lockState(base->GetLockState()),
_petrolTankHealth(base->GetPetrolTankHealth()),
_wheelsCount(base->GetWheelsCount()),
_steeringAngle(base->GetSteeringAngle()),
_wheelCambers(base->GetWheelsCount(), 0.0f),
_wheelTrackWidths(base->GetWheelsCount(), 0.0f),
_wheelHeights(base->GetWheelsCount(), 0.0f),
_wheelTyreRadiuses(base->GetWheelsCount(), 0.0f),
_wheelTyreWidths(base->GetWheelsCount(), 0.0f),
#ifdef ALT_SERVER_API
_dirtLevel(base->GetDirtLevel()),
_isNeonActive(base->IsNeonActive()),
Expand Down Expand Up @@ -120,16 +124,12 @@ namespace cache
_currentRPM(base->GetCurrentRPM()),
_speedVector(base->GetSpeedVector()),
_maxGear(base->GetMaxGear()),
_steeringAngle(base->GetSteeringAngle()),
_isHandingModified(base->IsHandlingModified()),
_lightsIndicator(base->GetLightsIndicator()),
_seatCount(base->GetSeatCount()),
_occupiedSeatsCount(base->GetOccupiedSeatsCount()),
_taxiLight(base->IsTaxiLightOn()),
_wheelCambers(base->GetWheelsCount(), 0.0f),
_wheelTrackWidths(base->GetWheelsCount(), 0.0f),
_wheelHeights(base->GetWheelsCount(), 0.0f),
_wheelTyreRadiuses(base->GetWheelsCount(), 0.0f),
_wheelTyreWidths(base->GetWheelsCount(), 0.0f),
_wheelSurfaceMaterials(base->GetWheelsCount(), 0u),
_engineTemperature(base->GetEngineTemperature()),
_fuelLevel(base->GetFuelLevel()),
Expand All @@ -145,12 +145,12 @@ namespace cache
{
auto wheels = base->GetWheelsCount();
for (uint8_t i = 0; i < wheels; i++) {
#ifdef ALT_CLIENT_API
_wheelCambers[i] = base->GetWheelCamber(i);
_wheelTrackWidths[i] = base->GetWheelTrackWidth(i);
_wheelHeights[i] = base->GetWheelHeight(i);
_wheelTyreRadiuses[i] = base->GetWheelTyreRadius(i);
_wheelTyreWidths[i] = base->GetWheelTyreWidth(i);
#ifdef ALT_CLIENT_API
_wheelSurfaceMaterials[i] = base->GetWheelSurfaceMaterial(i);
_wheelDynamicFlag[i] = base->GetWheelDynamicFlag(i, 0);
_wheelConfigFlag[i] = base->GetWheelConfigFlag(i, 0);
Expand Down Expand Up @@ -506,7 +506,43 @@ namespace cache
alt::Vector3f _velocity;
alt::Vector3f GetVelocity() const override {
return _velocity;
}
}

std::vector<float> _wheelCambers;
float GetWheelCamber(uint8_t wheel) const override {
return _wheelCambers.size() <= wheel ? 0 : _wheelCambers[wheel];
}
void SetWheelCamber(uint8_t wheel, float value) override {}

std::vector<float> _wheelTrackWidths;
float GetWheelTrackWidth(uint8_t wheel) const override {
return _wheelTrackWidths.size() <= wheel ? 0 : _wheelTrackWidths[wheel];
}
void SetWheelTrackWidth(uint8_t wheel, float value) override {}

std::vector<float> _wheelHeights;
float GetWheelHeight(uint8_t wheel) const override {
return _wheelHeights.size() <= wheel ? 0 : _wheelHeights[wheel];
}
void SetWheelHeight(uint8_t wheel, float value) override {}

std::vector<float> _wheelTyreRadiuses;
float GetWheelTyreRadius(uint8_t wheel) const override {
return _wheelTyreRadiuses.size() <= wheel ? 0 : _wheelTyreRadiuses[wheel];
}
void SetWheelTyreRadius(uint8_t wheel, float value) override {}

std::vector<float> _wheelRimRadiuses;
float GetWheelRimRadius(uint8_t wheel) const override {
return _wheelRimRadiuses.size() <= wheel ? 0 : _wheelRimRadiuses[wheel];
}
void SetWheelRimRadius(uint8_t wheel, float value) override {}

std::vector<float> _wheelTyreWidths;
float GetWheelTyreWidth(uint8_t wheel) const override {
return _wheelTyreWidths.size() <= wheel ? 0 : _wheelTyreWidths[wheel];
}
void SetWheelTyreWidth(uint8_t wheel, float value) override {}

#ifdef ALT_SERVER_API
void SetFixed() override {}
Expand Down Expand Up @@ -856,42 +892,6 @@ namespace cache
}
void ToggleTaxiLight(bool state) override {}

std::vector<float> _wheelCambers;
float GetWheelCamber(uint8_t wheel) const override {
return _wheelCambers.size() <= wheel ? 0 : _wheelCambers[wheel];
}
void SetWheelCamber(uint8_t wheel, float value) override {}

std::vector<float> _wheelTrackWidths;
float GetWheelTrackWidth(uint8_t wheel) const override {
return _wheelTrackWidths.size() <= wheel ? 0 : _wheelTrackWidths[wheel];
}
void SetWheelTrackWidth(uint8_t wheel, float value) override {}

std::vector<float> _wheelHeights;
float GetWheelHeight(uint8_t wheel) const override {
return _wheelHeights.size() <= wheel ? 0 : _wheelHeights[wheel];
}
void SetWheelHeight(uint8_t wheel, float value) override {}

std::vector<float> _wheelTyreRadiuses;
float GetWheelTyreRadius(uint8_t wheel) const override {
return _wheelTyreRadiuses.size() <= wheel ? 0 : _wheelTyreRadiuses[wheel];
}
void SetWheelTyreRadius(uint8_t wheel, float value) override {}

std::vector<float> _wheelRimRadiuses;
float GetWheelRimRadius(uint8_t wheel) const override {
return _wheelRimRadiuses.size() <= wheel ? 0 : _wheelRimRadiuses[wheel];
}
void SetWheelRimRadius(uint8_t wheel, float value) override {}

std::vector<float> _wheelTyreWidths;
float GetWheelTyreWidth(uint8_t wheel) const override {
return _wheelTyreWidths.size() <= wheel ? 0 : _wheelTyreWidths[wheel];
}
void SetWheelTyreWidth(uint8_t wheel, float value) override {}

std::vector<uint32_t> _wheelSurfaceMaterials;
uint32_t GetWheelSurfaceMaterial(uint8_t wheel) const override {
return _wheelSurfaceMaterials.size() <= wheel ? 0 : _wheelSurfaceMaterials[wheel];
Expand Down
95 changes: 47 additions & 48 deletions c-api/entities/vehicle.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,53 @@ float Vehicle_GetSteeringAngle(alt::IVehicle* vehicle)
return vehicle->GetSteeringAngle();
}

float Vehicle_GetWheelCamber(alt::IVehicle* vehicle, uint8_t wheel) {
return vehicle->GetWheelCamber(wheel);
}

void Vehicle_SetWheelCamber(alt::IVehicle* vehicle, uint8_t wheel, float value) {
vehicle->SetWheelCamber(wheel, value);
}

float Vehicle_GetWheelTrackWidth(alt::IVehicle* vehicle, uint8_t wheel) {
return vehicle->GetWheelTrackWidth(wheel);
}

void Vehicle_SetWheelTrackWidth(alt::IVehicle* vehicle, uint8_t wheel, float value) {
vehicle->SetWheelTrackWidth(wheel, value);
}

float Vehicle_GetWheelHeight(alt::IVehicle* vehicle, uint8_t wheel) {
return vehicle->GetWheelHeight(wheel);
}

void Vehicle_SetWheelHeight(alt::IVehicle* vehicle, uint8_t wheel, float value) {
vehicle->SetWheelHeight(wheel, value);
}

float Vehicle_GetWheelTyreRadius(alt::IVehicle* vehicle, uint8_t wheel) {
return vehicle->GetWheelTyreRadius(wheel);
}

void Vehicle_SetWheelTyreRadius(alt::IVehicle* vehicle, uint8_t wheel, float value) {
vehicle->SetWheelTyreRadius(wheel, value);
}

float Vehicle_GetWheelRimRadius(alt::IVehicle* vehicle, uint8_t wheel) {
return vehicle->GetWheelRimRadius(wheel);
}

void Vehicle_SetWheelRimRadius(alt::IVehicle* vehicle, uint8_t wheel, float value) {
vehicle->SetWheelRimRadius(wheel, value);
}

float Vehicle_GetWheelTyreWidth(alt::IVehicle* vehicle, uint8_t wheel) {
return vehicle->GetWheelTyreWidth(wheel);
}

void Vehicle_SetWheelTyreWidth(alt::IVehicle* vehicle, uint8_t wheel, float value) {
vehicle->SetWheelTyreWidth(wheel, value);
}

#ifdef ALT_SERVER_API
alt::IPlayer* Vehicle_GetDriver(alt::IVehicle* vehicle) {
Expand Down Expand Up @@ -989,54 +1036,6 @@ uint8_t Vehicle_IsTaxiLightOn(alt::IVehicle* vehicle) {
return vehicle->IsTaxiLightOn();
}

float Vehicle_GetWheelCamber(alt::IVehicle* vehicle, uint8_t wheel) {
return vehicle->GetWheelCamber(wheel);
}

void Vehicle_SetWheelCamber(alt::IVehicle* vehicle, uint8_t wheel, float value) {
vehicle->SetWheelCamber(wheel, value);
}

float Vehicle_GetWheelTrackWidth(alt::IVehicle* vehicle, uint8_t wheel) {
return vehicle->GetWheelTrackWidth(wheel);
}

void Vehicle_SetWheelTrackWidth(alt::IVehicle* vehicle, uint8_t wheel, float value) {
vehicle->SetWheelTrackWidth(wheel, value);
}

float Vehicle_GetWheelHeight(alt::IVehicle* vehicle, uint8_t wheel) {
return vehicle->GetWheelHeight(wheel);
}

void Vehicle_SetWheelHeight(alt::IVehicle* vehicle, uint8_t wheel, float value) {
vehicle->SetWheelHeight(wheel, value);
}

float Vehicle_GetWheelTyreRadius(alt::IVehicle* vehicle, uint8_t wheel) {
return vehicle->GetWheelTyreRadius(wheel);
}

void Vehicle_SetWheelTyreRadius(alt::IVehicle* vehicle, uint8_t wheel, float value) {
vehicle->SetWheelTyreRadius(wheel, value);
}

float Vehicle_GetWheelRimRadius(alt::IVehicle* vehicle, uint8_t wheel) {
return vehicle->GetWheelRimRadius(wheel);
}

void Vehicle_SetWheelRimRadius(alt::IVehicle* vehicle, uint8_t wheel, float value) {
vehicle->SetWheelRimRadius(wheel, value);
}

float Vehicle_GetWheelTyreWidth(alt::IVehicle* vehicle, uint8_t wheel) {
return vehicle->GetWheelTyreWidth(wheel);
}

void Vehicle_SetWheelTyreWidth(alt::IVehicle* vehicle, uint8_t wheel, float value) {
vehicle->SetWheelTyreWidth(wheel, value);
}

uint32_t Vehicle_GetWheelSurfaceMaterial(alt::IVehicle* vehicle, uint8_t wheel) {
return vehicle->GetWheelSurfaceMaterial(wheel);
}
Expand Down
25 changes: 13 additions & 12 deletions c-api/entities/vehicle.h
Original file line number Diff line number Diff line change
Expand Up @@ -298,18 +298,19 @@ EXPORT_CLIENT uint8_t Vehicle_GetOccupiedSeatsCount(alt::IVehicle* vehicle);
EXPORT_CLIENT void Vehicle_ToggleTaxiLight(alt::IVehicle* vehicle, uint8_t state);
EXPORT_CLIENT uint8_t Vehicle_IsTaxiLightOn(alt::IVehicle* vehicle);

EXPORT_CLIENT float Vehicle_GetWheelCamber(alt::IVehicle* vehicle, uint8_t wheel);
EXPORT_CLIENT void Vehicle_SetWheelCamber(alt::IVehicle* vehicle, uint8_t wheel, float value);
EXPORT_CLIENT float Vehicle_GetWheelTrackWidth(alt::IVehicle* vehicle, uint8_t wheel);
EXPORT_CLIENT void Vehicle_SetWheelTrackWidth(alt::IVehicle* vehicle, uint8_t wheel, float value);
EXPORT_CLIENT float Vehicle_GetWheelHeight(alt::IVehicle* vehicle, uint8_t wheel);
EXPORT_CLIENT void Vehicle_SetWheelHeight(alt::IVehicle* vehicle, uint8_t wheel, float value);
EXPORT_CLIENT float Vehicle_GetWheelTyreRadius(alt::IVehicle* vehicle, uint8_t wheel);
EXPORT_CLIENT void Vehicle_SetWheelTyreRadius(alt::IVehicle* vehicle, uint8_t wheel, float value);
EXPORT_CLIENT float Vehicle_GetWheelRimRadius(alt::IVehicle* vehicle, uint8_t wheel);
EXPORT_CLIENT void Vehicle_SetWheelRimRadius(alt::IVehicle* vehicle, uint8_t wheel, float value);
EXPORT_CLIENT float Vehicle_GetWheelTyreWidth(alt::IVehicle* vehicle, uint8_t wheel);
EXPORT_CLIENT void Vehicle_SetWheelTyreWidth(alt::IVehicle* vehicle, uint8_t wheel, float value);
EXPORT_SHARED float Vehicle_GetWheelCamber(alt::IVehicle* vehicle, uint8_t wheel);
EXPORT_SHARED void Vehicle_SetWheelCamber(alt::IVehicle* vehicle, uint8_t wheel, float value);
EXPORT_SHARED float Vehicle_GetWheelTrackWidth(alt::IVehicle* vehicle, uint8_t wheel);
EXPORT_SHARED void Vehicle_SetWheelTrackWidth(alt::IVehicle* vehicle, uint8_t wheel, float value);
EXPORT_SHARED float Vehicle_GetWheelHeight(alt::IVehicle* vehicle, uint8_t wheel);
EXPORT_SHARED void Vehicle_SetWheelHeight(alt::IVehicle* vehicle, uint8_t wheel, float value);
EXPORT_SHARED float Vehicle_GetWheelTyreRadius(alt::IVehicle* vehicle, uint8_t wheel);
EXPORT_SHARED void Vehicle_SetWheelTyreRadius(alt::IVehicle* vehicle, uint8_t wheel, float value);
EXPORT_SHARED float Vehicle_GetWheelRimRadius(alt::IVehicle* vehicle, uint8_t wheel);
EXPORT_SHARED void Vehicle_SetWheelRimRadius(alt::IVehicle* vehicle, uint8_t wheel, float value);
EXPORT_SHARED float Vehicle_GetWheelTyreWidth(alt::IVehicle* vehicle, uint8_t wheel);
EXPORT_SHARED void Vehicle_SetWheelTyreWidth(alt::IVehicle* vehicle, uint8_t wheel, float value);

EXPORT_CLIENT uint32_t Vehicle_GetWheelSurfaceMaterial(alt::IVehicle* vehicle, uint8_t wheel);

EXPORT_CLIENT float Vehicle_GetEngineTemperature(alt::IVehicle* vehicle);
Expand Down
48 changes: 24 additions & 24 deletions c-api/func_table.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -696,16 +696,10 @@ inline uint64_t capiHashes[] = {
9710490073882806517UL,
9716002269308828916UL,
11483934154441286346UL,
13303370691287708161UL,
5271385185182015743UL,
883185529540149226UL,
1338791052731372072UL,
13382865868223894905UL,
13422594452494959622UL,
1528473557310374151UL,
491499874893114118UL,
4686947598406478597UL,
10175809585401109345UL,
2075764309745505478UL,
5876755422566029523UL,
16400280465546780439UL,
Expand Down Expand Up @@ -856,14 +850,8 @@ inline uint64_t capiHashes[] = {
10816077278672307073UL,
18123777833957296121UL,
15515593616288926025UL,
10533830814607560700UL,
17284682775935975738UL,
8015620088058696041UL,
14037400183140364255UL,
3095801372631152772UL,
2293924763385881861UL,
16643704314243471312UL,
1387113924672541868UL,
4622127485385870092UL,
2202580267134569763UL,
12282797124788259414UL,
Expand Down Expand Up @@ -1323,7 +1311,19 @@ inline uint64_t capiHashes[] = {
15007201997776333277UL,
18440829979133890169UL,
7918377113203812466UL,
13303370691287708161UL,
1338791052731372072UL,
13382865868223894905UL,
6954962557541059864UL,
491499874893114118UL,
4686947598406478597UL,
10175809585401109345UL,
10533830814607560700UL,
14037400183140364255UL,
3095801372631152772UL,
2293924763385881861UL,
16643704314243471312UL,
1387113924672541868UL,
11281256725988059002UL,
17591737229607710977UL,
10283452716932486351UL,
Expand Down Expand Up @@ -2518,16 +2518,10 @@ inline void* capiPointers[] = {
(void*) Vehicle_GetSeatCount,
(void*) Vehicle_GetSpeedVector,
(void*) Vehicle_GetSuspensionHeight,
(void*) Vehicle_GetWheelCamber,
(void*) Vehicle_GetWheelConfigFlag,
(void*) Vehicle_GetWheelDynamicFlag,
(void*) Vehicle_GetWheelHeight,
(void*) Vehicle_GetWheelRimRadius,
(void*) Vehicle_GetWheelSpeed,
(void*) Vehicle_GetWheelSurfaceMaterial,
(void*) Vehicle_GetWheelTrackWidth,
(void*) Vehicle_GetWheelTyreRadius,
(void*) Vehicle_GetWheelTyreWidth,
(void*) Vehicle_Handling_GetAntiRollBarBiasFront,
(void*) Vehicle_Handling_GetAntiRollBarBiasRear,
(void*) Vehicle_Handling_GetAntiRollBarForce,
Expand Down Expand Up @@ -2678,14 +2672,8 @@ inline void* capiPointers[] = {
(void*) Vehicle_SetSteeringAngle,
(void*) Vehicle_SetSuspensionHeight,
(void*) Vehicle_SetupTransmission,
(void*) Vehicle_SetWheelCamber,
(void*) Vehicle_SetWheelConfigFlag,
(void*) Vehicle_SetWheelDynamicFlag,
(void*) Vehicle_SetWheelHeight,
(void*) Vehicle_SetWheelRimRadius,
(void*) Vehicle_SetWheelTrackWidth,
(void*) Vehicle_SetWheelTyreRadius,
(void*) Vehicle_SetWheelTyreWidth,
(void*) Vehicle_ToggleTaxiLight,
(void*) VirtualEntity_IsStreamedIn,
(void*) WeaponData_GetAccuracySpread,
Expand Down Expand Up @@ -3145,7 +3133,19 @@ inline void* capiPointers[] = {
(void*) Vehicle_GetID,
(void*) Vehicle_GetPetrolTankHealth,
(void*) Vehicle_GetSteeringAngle,
(void*) Vehicle_GetWheelCamber,
(void*) Vehicle_GetWheelHeight,
(void*) Vehicle_GetWheelRimRadius,
(void*) Vehicle_GetWheelsCount,
(void*) Vehicle_GetWheelTrackWidth,
(void*) Vehicle_GetWheelTyreRadius,
(void*) Vehicle_GetWheelTyreWidth,
(void*) Vehicle_SetWheelCamber,
(void*) Vehicle_SetWheelHeight,
(void*) Vehicle_SetWheelRimRadius,
(void*) Vehicle_SetWheelTrackWidth,
(void*) Vehicle_SetWheelTyreRadius,
(void*) Vehicle_SetWheelTyreWidth,
(void*) VirtualEntity_GetGroup,
(void*) VirtualEntity_GetID,
(void*) VirtualEntity_GetStreamingDistance,
Expand Down
2 changes: 1 addition & 1 deletion cpp-sdk
Submodule cpp-sdk updated 1 files
+14 −13 objects/IVehicle.h

0 comments on commit bd3cba9

Please sign in to comment.