summaryrefslogtreecommitdiff
path: root/include/sim_core.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/sim_core.h')
-rw-r--r--include/sim_core.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/include/sim_core.h b/include/sim_core.h
new file mode 100644
index 0000000..88533d0
--- /dev/null
+++ b/include/sim_core.h
@@ -0,0 +1,17 @@
+#ifndef SIM_CORE_H
+#define SIM_CORE_H
+
+#include <type_traits>
+#include "fixed_point.h"
+
+struct SimState {
+ fp_t stage_width;
+ fp_t stage_height;
+ fp_t camera_x;
+ fp_t camera_y;
+};
+
+static_assert(std::is_trivially_copyable_v<SimState>, "SimState must be trivially copyable for rollback");
+static_assert(sizeof(SimState) == 16, "SimState size changed unexpectedly");
+
+#endif // !SIM_CORE_H