Skip to content

use vehicle state values as option for bonk detection #14

Description

@ezio416

In CSceneVehicleVisState there are some hidden values that trigger when I crash, either from the front, back, or at all. I thought these were related to accel penalty but now I think they're actually sparks. Taken from Current Effects plugin, some safety removed for brevity:

uint16 penalty1Offset = 0;
int GetPenalty1(CSceneVehicleVisState@ state) {  // front/back impact strength? 0 - 16,843,009
    if (penalty1Offset == 0) {
        const Reflection::MwClassInfo@ type = Reflection::GetType("CSceneVehicleVisState");
        penalty1Offset = type.GetMember("WaterImmersionCoef").Offset - 8;
    }

    return Dev::GetOffsetInt32(state, penalty1Offset);
}

uint16 penalty2Offset = 0;
int GetPenalty2(CSceneVehicleVisState@ state) {  // back impact? 0 - 1
    if (penalty2Offset == 0) {
        const Reflection::MwClassInfo@ type = Reflection::GetType("CSceneVehicleVisState");
        penalty2Offset = type.GetMember("WaterImmersionCoef").Offset - 4;
    }

    return Dev::GetOffsetInt32(state, penalty2Offset);
}

uint16 penalty3Offset = 0;
int GetPenalty3(CSceneVehicleVisState@ state) {  // any impact? 0 - ~1,065,000,000
    if (penalty3Offset == 0) {
        const Reflection::MwClassInfo@ type = Reflection::GetType("CSceneVehicleVisState");
        penalty3Offset = type.GetMember("WetnessValue01").Offset + 8;
    }

    return Dev::GetOffsetInt32(state, penalty3Offset);
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestnexttm2020questionFurther information is requested

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions