14TEST(SnesTileTest, UnpackBppTile) {
16 std::vector<uint8_t> data1bpp = {0x80, 0x40, 0x20, 0x10,
17 0x08, 0x04, 0x02, 0x01};
19 EXPECT_EQ(tile1bpp.data[0], 1);
20 EXPECT_EQ(tile1bpp.data[7], 0);
21 EXPECT_EQ(tile1bpp.data[56], 0);
22 EXPECT_EQ(tile1bpp.data[63], 1);
25 std::vector<uint8_t> data2bpp = {0x80, 0x40, 0x20, 0x10, 0x08, 0x04,
26 0x02, 0x01, 0x01, 0x02, 0x04, 0x08,
27 0x10, 0x20, 0x40, 0x80};
29 EXPECT_EQ(tile2bpp.data[0], 3);
30 EXPECT_EQ(tile2bpp.data[7],
32 EXPECT_EQ(tile2bpp.data[56],
34 EXPECT_EQ(tile2bpp.data[63], 3);
37 std::vector<uint8_t> data4bpp = {
38 0x80, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02, 0x01, 0x01, 0x02, 0x04,
39 0x08, 0x10, 0x20, 0x40, 0x80, 0x80, 0x40, 0x20, 0x10, 0x08, 0x04,
40 0x02, 0x01, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80};
42 EXPECT_EQ(tile4bpp.data[0], 0xF);
43 EXPECT_EQ(tile4bpp.data[7],
45 EXPECT_EQ(tile4bpp.data[56],
47 EXPECT_EQ(tile4bpp.data[63], 0xF);
50TEST(SnesTileTest, PackBppTile) {
53 std::fill(tile1bpp.
data, tile1bpp.
data + 64, 0);
55 tile1bpp.
data[63] = 1;
57 EXPECT_EQ(packed1bpp[0], 0x80);
58 EXPECT_EQ(packed1bpp[7], 0x01);
62 std::fill(tile2bpp.
data, tile2bpp.
data + 64, 0);
65 tile2bpp.
data[56] = 2;
66 tile2bpp.
data[63] = 3;
68 EXPECT_EQ(packed2bpp[0], 0x80);
69 EXPECT_EQ(packed2bpp[1], 0x80);
70 EXPECT_EQ(packed2bpp[14], 0x01);
71 EXPECT_EQ(packed2bpp[15], 0x01);
74TEST(SnesTileTest, ConvertBpp) {
76 std::vector<uint8_t> data2bpp = {0x80, 0x40, 0x20, 0x10, 0x08, 0x04,
77 0x02, 0x01, 0x01, 0x02, 0x04, 0x08,
78 0x10, 0x20, 0x40, 0x80};
80 EXPECT_EQ(converted4bpp.size(), 32);
83 std::vector<uint8_t> data4bpp = {
84 0x80, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02, 0x01, 0x01, 0x02, 0x04,
85 0x08, 0x10, 0x20, 0x40, 0x80, 0x80, 0x40, 0x20, 0x10, 0x08, 0x04,
86 0x02, 0x01, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80};
88 EXPECT_EQ(converted2bpp.size(), 16);
112TEST(SnesTileTest, TileInfoToWord) {
118 EXPECT_EQ(word & 0x3FF, 0x123);
119 EXPECT_TRUE(word & 0x8000);
120 EXPECT_TRUE(word & 0x4000);
121 EXPECT_TRUE(word & 0x2000);
122 EXPECT_EQ((word >> 10) & 0x07, 3);
138 gfx::Tile32 tile32(0x1234, 0x5678, 0x9ABC, 0xDEF0);
139 EXPECT_EQ(tile32.
tile0_, 0x1234);
140 EXPECT_EQ(tile32.
tile1_, 0x5678);
141 EXPECT_EQ(tile32.
tile2_, 0x9ABC);
142 EXPECT_EQ(tile32.
tile3_, 0xDEF0);
146 EXPECT_EQ(packed, 0xDEF09ABC56781234);
150 EXPECT_EQ(tile32FromPacked.
tile0_, 0x1234);
151 EXPECT_EQ(tile32FromPacked.
tile1_, 0x5678);
152 EXPECT_EQ(tile32FromPacked.
tile2_, 0x9ABC);
153 EXPECT_EQ(tile32FromPacked.
tile3_, 0xDEF0);
156 EXPECT_TRUE(tile32 == tile32FromPacked);