Migrate 32 engine definitions into validated startup-loaded TOML files and separate configuration and snapshots from scenario assembly. Add camera-based stereo propagation from shared pipe geometry, preserve exhaust character, tune carburetor mixtures and idle, use ignition cuts for carb engines, and support returning to the scenario menu. Validation: full Windows build and all 14 CTest checks passed.
17 lines
537 B
C++
17 lines
537 B
C++
#pragma once
|
|
#include "FluidSim/AudioProcessing.hpp"
|
|
#include <array>
|
|
|
|
namespace fluidsim::port {
|
|
struct ScenarioSnapshot;
|
|
// Fractions refer to simulated pipe length; positions are world metres.
|
|
// Both the pipe mesh and its acoustic mouths use these same routes.
|
|
struct PipeRoute {
|
|
std::array<Vec3, 5> points{};
|
|
std::array<float, 5> fractions{};
|
|
unsigned count{};
|
|
};
|
|
std::array<PipeRoute, 32> scenario_pipe_routes(const ScenarioSnapshot& state);
|
|
std::array<Vec3, 3> scenario_sound_sources(const ScenarioSnapshot& state);
|
|
}
|