Repository navigation
ForeverTAS 0.2.2
ForeverTAS 0.2.2
- Search, scripting, telemetry, race-viewer, and map-rendering fixes for the 0.2.2 release.
- CUDA acceleration supports NVIDIA GeForce GTX 750/750 Ti, GTX 900-series, GTX 10-series, GTX 16-series, and RTX 20/30/40/50-series GPUs, plus many NVIDIA workstation GPUs. CPU mode works without an NVIDIA GPU.
- Linux x86_64 AppImage and Windows x86_64 ZIP are attached below.
Condition scripting
Conditions select which evaluation ticks are eligible. Use one comparison per non-empty line; all lines are ANDed. Identifiers/functions are case-insensitive.
Syntax: comparisons >, <, >=, <=, =; arithmetic +, -, *, /; scalar parentheses; numeric constants; vector literals (x, y, z). ==, !=, OR, and comments are not supported. Scripts are limited to 256 compiled instructions.
Functions: kmh(x) (m/s → km/h), deg(x) (radians → degrees), time_since(x) (current simulation time minus x, in seconds), distance(a, b) (3D Euclidean distance), variable(name) / var(name) (external variable; quoted names are also accepted).
Scalar variables:
- Position:
car.x,car.y,car.z; aliasescar.position.x,car.position.y,car.position.z. - Previous position:
car.prev.x,car.prev.y,car.prev.z; aliasescar.prev.position.x,car.prev.position.y,car.prev.position.z. - World linear velocity:
car.vel.x,car.vel.y,car.vel.z; aliasescar.velocity.x,car.velocity.y,car.velocity.z. - Previous world linear velocity:
car.prev.vel.x,car.prev.vel.y,car.prev.vel.z; aliasescar.prev.velocity.x,car.prev.velocity.y,car.prev.velocity.z. - Angular velocity:
car.vel.pitch,car.vel.yaw,car.vel.roll; aliasescar.velocity.pitch,car.velocity.yaw,car.velocity.roll. - Previous angular velocity:
car.prev.vel.pitch,car.prev.vel.yaw,car.prev.vel.roll; aliasescar.prev.velocity.pitch,car.prev.velocity.yaw,car.prev.velocity.roll. - Local velocity:
car.localvel.x,car.localvel.y,car.localvel.z; aliasescar.localvelocity.x,car.localvelocity.y,car.localvelocity.z. - Previous local velocity:
car.prev.localvel.x,car.prev.localvel.y,car.prev.localvel.z; aliasescar.prev.localvelocity.x,car.prev.localvelocity.y,car.prev.localvelocity.z. - Speed magnitudes:
car.speed,car.prev.speed,car.localspeed,car.prev.localspeed. - Rotation:
car.yaw,car.pitch,car.roll; aliasescar.rotation.yaw,car.rotation.pitch,car.rotation.roll. - Previous rotation:
car.prev.yaw,car.prev.pitch,car.prev.roll; aliasescar.prev.rotation.yaw,car.prev.rotation.pitch,car.prev.rotation.roll. - Car state:
car.freewheel,car.lateralcontact,car.sliding(aliasescar.is_sliding,car.is),car.gear,car.rpm,car.turning_rate(aliascar.tr),car.turbo_type(aliascar.tt),car.turbo_boost_factor(aliascar.tbf),car.cps(collected checkpoint count). - Search state:
iterations,last_improvement.time,last_restart.time. - Wheels: for each of
frontleft,frontright,backleft,backright:car.wheels.<wheel>.groundcontact,car.wheels.<wheel>.is_sliding(aliascar.wheels.<wheel>.is), andcar.wheels.<wheel>.surface.
Vector variables (usable by distance): car.pos / car.position, car.prev.pos / car.prev.position, car.vel / car.velocity, car.prev.vel / car.prev.velocity, car.localvel / car.localvelocity, car.prev.localvel / car.prev.localvelocity.
External variable: when the Point Target evaluator is selected, bf_target_point is available as a 3D vector through variable(bf_target_point) / var(bf_target_point).