Skip to content

Commit

Permalink
fix gain cap conversion
Browse files Browse the repository at this point in the history
  • Loading branch information
a1xd committed Oct 15, 2020
1 parent 85fd3d3 commit 0f30065
Showing 1 changed file with 5 additions and 7 deletions.
12 changes: 5 additions & 7 deletions converter/converter.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -133,10 +133,10 @@ ra::accel_args convert_quake(const ia_settings_t& ia_settings, bool legacy) {
double offset = get("Offset").value_or(0);

ra::accel_args args;

double accel_b = std::pow(accel * prescale, power - 1) / sens;
double accel_e = 1 / (power - 1);
args.accel = std::pow(accel_b, accel_e);
double powm1 = power - 1;
double rpowm1 = 1 / powm1;
double accel_b = std::pow(accel * prescale, powm1) / sens;
args.accel = std::pow(accel_b, rpowm1);
args.exponent = power;
args.legacy_offset = legacy;
args.offset = offset;
Expand All @@ -147,9 +147,7 @@ ra::accel_args convert_quake(const ia_settings_t& ia_settings, bool legacy) {
args.scale_cap = cap_converted;
}
else {
double b = (cap_converted - 1) / power;
double e = 1 / (power - 1);
args.gain_cap = offset + (1 / accel) * std::pow(b, e);
args.gain_cap = offset + std::pow(cap_converted - 1, rpowm1) / args.accel;
}

return args;
Expand Down

0 comments on commit 0f30065

Please sign in to comment.