skip to content
==> tests/constants.c <==
1/* Every constant of @ajax/mesh-abi-view-doom equals the Rust's (values printed by the Rust itself), and the
2 * Rust const asserts that need a function call hold. Generated from alpha-rust-mesh. */
3#include "mesh/abi/view_doom.h"
4#include "mesh/check.h"
5
6#include <stdint.h>
7#include <string.h>
8
9int main(void) {
10    CHECK_U(MESH_DOOM_WIDTH, UINT64_C(128));
11    CHECK_U(MESH_DOOM_D_POS_X, UINT64_C(0));
12    CHECK_U(MESH_DOOM_D_POS_Y, UINT64_C(4));
13    CHECK_U(MESH_DOOM_D_DIR_X, UINT64_C(8));
14    CHECK_U(MESH_DOOM_D_DIR_Y, UINT64_C(12));
15    CHECK_U(MESH_DOOM_D_PLANE_X, UINT64_C(16));
16    CHECK_U(MESH_DOOM_D_PLANE_Y, UINT64_C(20));
17    CHECK_U(MESH_DOOM_D_ROWS, UINT64_C(24));
18    CHECK_U(MESH_DOOM_D_MAX_STEPS, UINT64_C(28));
19    CHECK_U(MESH_DOOM_D_FRAME, UINT64_C(32));
20    CHECK_U(MESH_DOOM_D_POSE_T, UINT64_C(36));
21    CHECK_U(MESH_DOOM_D_KEYS, UINT64_C(40));
22    CHECK_U(MESH_DOOM_D_MAP, UINT64_C(256));
23    CHECK_U(MESH_DOOM_D_HEIGHT, UINT64_C(4096));
24    CHECK_U(MESH_DOOM_D_KIND, UINT64_C(5120));
25    CHECK_U(MESH_DOOM_D_SIDE, UINT64_C(6144));
26    CHECK_U(MESH_DOOM_D_DIST, UINT64_C(7168));
27    CHECK_U(MESH_DOOM_PLACE_STATE_LEN, 3);
28    CHECK_U(MESH_DOOM_PLACE_STATE[0].off, UINT64_C(0));
29    CHECK_U(MESH_DOOM_PLACE_STATE[0].len, UINT64_C(36));
30    CHECK_U(MESH_DOOM_PLACE_STATE[1].off, UINT64_C(40));
31    CHECK_U(MESH_DOOM_PLACE_STATE[1].len, UINT64_C(4));
32    CHECK_U(MESH_DOOM_PLACE_STATE[2].off, UINT64_C(256));
33    CHECK_U(MESH_DOOM_PLACE_STATE[2].len, UINT64_C(1024));
34    CHECK_U(MESH_DOOM_PLACE_OUT_LEN, 4);
35    CHECK_U(MESH_DOOM_PLACE_OUT[0].off, UINT64_C(4096));
36    CHECK_U(MESH_DOOM_PLACE_OUT[0].len, UINT64_C(512));
37    CHECK_U(MESH_DOOM_PLACE_OUT[1].off, UINT64_C(5120));
38    CHECK_U(MESH_DOOM_PLACE_OUT[1].len, UINT64_C(512));
39    CHECK_U(MESH_DOOM_PLACE_OUT[2].off, UINT64_C(6144));
40    CHECK_U(MESH_DOOM_PLACE_OUT[2].len, UINT64_C(512));
41    CHECK_U(MESH_DOOM_PLACE_OUT[3].off, UINT64_C(7168));
42    CHECK_U(MESH_DOOM_PLACE_OUT[3].len, UINT64_C(512));
43    CHECK_U(MESH_DOOM_OUT_BYTES, UINT64_C(2048));
44    CHECK_U(MESH_DOOM_D_SHOW, UINT64_C(8192));
45    CHECK_U(MESH_DOOM_SHOW_HEIGHT, UINT64_C(0));
46    CHECK_U(MESH_DOOM_SHOW_KIND, UINT64_C(512));
47    CHECK_U(MESH_DOOM_SHOW_SIDE, UINT64_C(1024));
48    CHECK_U(MESH_DOOM_SHOW_DIST, UINT64_C(1536));
49    CHECK_U(MESH_DOOM_VIEW_BYTES, UINT64_C(16384));
50    CHECK_U(MESH_DOOM_SNAP_BYTES, UINT64_C(12544));
51    CHECK_U(MESH_DOOM_INPUT_BYTES, UINT64_C(64));
52    CHECK_F32_BITS(MESH_DOOM_ROWS, 0x42400000u);
53    CHECK_U(MESH_DOOM_MAX_STEPS, UINT64_C(64));
54    CHECK_U(MESH_DOOM_POSE_WAIT_NS, UINT64_C(100000000));
55    CHECK_S(MESH_DOOM_KEYS, "wsadqe");
56    CHECK_F32_BITS(MESH_DOOM_MOVE, 0x3e800000u);
57    CHECK_F32_BITS(MESH_DOOM_TURN_COS, 0x3f7c1c5cu);
58    CHECK_F32_BITS(MESH_DOOM_TURN_SIN, 0x3e31d0d4u);
59    CHECK_F32_BITS(MESH_DOOM_PLANE, 0x3f28f5c3u);
60    CHECK_F32_BITS(MESH_DOOM_RADIUS, 0x3e4ccccdu);
61    CHECK_U(MESH_DOOM_START_LEN, 6);
62    CHECK_F32_BITS(MESH_DOOM_START[0], 0x41080000u);
63    CHECK_F32_BITS(MESH_DOOM_START[1], 0x41280000u);
64    CHECK_F32_BITS(MESH_DOOM_START[2], 0x00000000u);
65    CHECK_F32_BITS(MESH_DOOM_START[3], 0xbf800000u);
66    CHECK_F32_BITS(MESH_DOOM_START[4], 0x3f28f5c3u);
67    CHECK_F32_BITS(MESH_DOOM_START[5], 0x00000000u);
68    CHECK_U(MESH_DOOM_MAP_LEN, 16);
69    CHECK(memcmp(MESH_DOOM_MAP[0], "1111111111111111", 16) == 0);
70    CHECK(memcmp(MESH_DOOM_MAP[1], "1......2.......1", 16) == 0);
71    CHECK(memcmp(MESH_DOOM_MAP[2], "1......2..3.3..1", 16) == 0);
72    CHECK(memcmp(MESH_DOOM_MAP[3], "1..44..2.......1", 16) == 0);
73    CHECK(memcmp(MESH_DOOM_MAP[4], "1..44.....3.3..1", 16) == 0);
74    CHECK(memcmp(MESH_DOOM_MAP[5], "1......2.......1", 16) == 0);
75    CHECK(memcmp(MESH_DOOM_MAP[6], "12222.2222..2221", 16) == 0);
76    CHECK(memcmp(MESH_DOOM_MAP[7], "1..............1", 16) == 0);
77    CHECK(memcmp(MESH_DOOM_MAP[8], "1.5.5.....6....1", 16) == 0);
78    CHECK(memcmp(MESH_DOOM_MAP[9], "1........666...1", 16) == 0);
79    CHECK(memcmp(MESH_DOOM_MAP[10], "1.5.5.....6....1", 16) == 0);
80    CHECK(memcmp(MESH_DOOM_MAP[11], "1..............1", 16) == 0);
81    CHECK(memcmp(MESH_DOOM_MAP[12], "1777.7777..7..71", 16) == 0);
82    CHECK(memcmp(MESH_DOOM_MAP[13], "1...........7..1", 16) == 0);
83    CHECK(memcmp(MESH_DOOM_MAP[14], "1...7...7......1", 16) == 0);
84    CHECK(memcmp(MESH_DOOM_MAP[15], "1111111111111111", 16) == 0);
85    CHECK_U(MESH_DOOM_C_FRAMES, UINT64_C(0));
86    CHECK_U(MESH_DOOM_C_KEYS, UINT64_C(1));
87    CHECK_U(MESH_DOOM_C_STALLS, UINT64_C(2));
88    CHECK_U(MESH_DOOM_C_FOLLOWS, UINT64_C(3));
89    CHECK(mesh_doom_map_cell(0, 0) == 1); /* doom::map_cell(0, 0) == 1 */
90    CHECK(mesh_doom_map_cell(1, 1) == 0); /* doom::map_cell(1, 1) == 0 */
91    return mesh_check_done();
92}