|
Bicameral Engine
GPU-resident engine for a magic-research open-world game
|
#include "sim/lab_box.h"#include <algorithm>#include <array>#include <cstring>#include <format>#include <type_traits>#include "sim/multires_nest_internal.h"Go to the source code of this file.
Namespaces | |
| namespace | bicameral |
| namespace | bicameral::sim |
| namespace | bicameral::sim::anonymous_namespace{lab_box.cpp} |
Functions | |
| void | bicameral::sim::anonymous_namespace{lab_box.cpp}::SetPayload (Command &command, uint32_t word, uint32_t value) |
| Command | bicameral::sim::anonymous_namespace{lab_box.cpp}::MakeLabCommand (uint64_t targetTick, uint32_t sequence, uint32_t type, LabCellPosition cell, uint32_t temperatureMilliKelvin) |
| template<typename T> | |
| bool | bicameral::sim::anonymous_namespace{lab_box.cpp}::SameBytes (const std::vector< T > &a, const std::vector< T > &b) |
| template<typename T> | |
| void | bicameral::sim::anonymous_namespace{lab_box.cpp}::Append (std::vector< std::byte > &bytes, const T &value) |
| template<typename T> | |
| bool | bicameral::sim::anonymous_namespace{lab_box.cpp}::Take (std::span< const std::byte > &bytes, T &value) |
| Command | bicameral::sim::MakeLabFillCommand (uint64_t targetTick, uint32_t sequence, LabCellPosition cell, std::span< const SpeciesAmount > contents, uint32_t temperatureMilliKelvin) |
| Command | bicameral::sim::MakeLabTemperatureCommand (uint64_t targetTick, uint32_t sequence, LabCellPosition cell, uint32_t temperatureMilliKelvin) |
| lab::LabCommand | bicameral::sim::ToLabCommand (const Command &command) |
| std::vector< LabMaterial > | bicameral::sim::MakeLabMaterials (const BakedReactionTable &table) |
| MultiresCapacity | bicameral::sim::LabBoxCapacity (const BakedReactionTable &table) |
| MultiresNest | bicameral::sim::MakeLabBoxNest (const BakedReactionTable &table) |
| RxCell | bicameral::sim::LabBoxCell (const MultiresNest &nest, uint32_t index) |
| uint32_t | bicameral::sim::ApplyLabCommands (MultiresNest &nest, const BakedReactionTable &table, std::span< const Command > commands) |
| void | bicameral::sim::StepLabBox (MultiresNest &nest, const BakedReactionTable &table, uint64_t tick, std::span< const Command > commands) |
| std::optional< LabMismatch > | bicameral::sim::FindLabMismatch (const MultiresNest &cpu, const MultiresNest &gpu, uint64_t tick) |
| std::vector< std::byte > | bicameral::sim::SerializeLabRecording (const LabRecording &recording) |
| std::expected< LabRecording, std::string > | bicameral::sim::ParseLabRecording (std::span< const std::byte > bytes) |