Load engines from TOML and improve scenario audio and carb tuning
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.
This commit is contained in:
16
include/FluidSim/ScenarioGeometry.hpp
Normal file
16
include/FluidSim/ScenarioGeometry.hpp
Normal file
@@ -0,0 +1,16 @@
|
||||
#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);
|
||||
}
|
||||
Reference in New Issue
Block a user