Removed TEXTURETYPE_PALETTE_PIXELART

This doesn't make any sense since the pixel art algorithm uses a box filter to get an average pixel value which isn't possible with indexed textures.
This commit is contained in:
Sam Lantinga
2025-10-03 17:13:45 -07:00
parent ac2c834021
commit 49d51a0d3c
35 changed files with 11785 additions and 12946 deletions

View File

@@ -107,36 +107,17 @@ else
else else
eq r0.x, cb0[0].y, l(4.000000) eq r0.x, cb0[0].y, l(4.000000)
if_nz r0.x if_nz r0.x
deriv_rtx_coarse r2.xy, v1.xyxx sample_indexable(texture2d)(float,float,float,float) r2.x, v1.xyxx, t0.xyzw, s0
deriv_rty_coarse r2.zw, v1.xxxy sample_indexable(texture2d)(float,float,float,float) r2.yz, v1.xyxx, t1.zxyw, s0
add r3.xy, |r2.zwzz|, |r2.xyxx| add r2.xyz, r2.xyzx, cb0[3].xyzx
mul r3.xy, r3.xyxx, cb0[1].zwzz dp3 r1.x, r2.xyzx, cb0[4].xyzx
max r3.xy, r3.xyxx, l(0.000010, 0.000010, 0.000000, 0.000000) dp3 r1.y, r2.xyzx, cb0[5].xyzx
min r3.xy, r3.xyxx, l(1.000000, 1.000000, 0.000000, 0.000000) dp3 r1.z, r2.xyzx, cb0[6].xyzx
mul r3.zw, r3.xxxy, l(0.000000, 0.000000, 0.500000, 0.500000)
mad r3.zw, v1.xxxy, cb0[1].zzzw, -r3.zzzw
add r3.xy, -r3.xyxx, l(1.000000, 1.000000, 0.000000, 0.000000)
frc r4.xy, r3.zwzz
add r4.zw, -r3.xxxy, l(0.000000, 0.000000, 1.000000, 1.000000)
add r3.xy, -r3.xyxx, r4.xyxx
div r4.xy, l(1.000000, 1.000000, 1.000000, 1.000000), r4.zwzz
mul_sat r3.xy, r3.xyxx, r4.xyxx
mad r4.xy, r3.xyxx, l(-2.000000, -2.000000, 0.000000, 0.000000), l(3.000000, 3.000000, 0.000000, 0.000000)
mul r3.xy, r3.xyxx, r3.xyxx
round_ni r3.zw, r3.zzzw
mad r3.xy, r4.xyxx, r3.xyxx, r3.zwzz
add r3.xy, r3.xyxx, l(0.500000, 0.500000, 0.000000, 0.000000)
mul r3.xy, r3.xyxx, cb0[1].xyxx
sample_d_indexable(texture2d)(float,float,float,float) r0.x, r3.xyxx, t0.xyzw, s0, r2.xyxx, r2.zwzz
mad r0.x, r0.x, l(255.000000), l(0.500000)
mul r2.x, r0.x, l(0.003906)
mov r2.y, l(0.500000)
sample_indexable(texture2d)(float,float,float,float) r1.xyzw, r2.xyxx, t1.xyzw, s1
else else
eq r0.x, cb0[0].y, l(5.000000) eq r0.x, cb0[0].y, l(5.000000)
if_nz r0.x if_nz r0.x
sample_indexable(texture2d)(float,float,float,float) r2.x, v1.xyxx, t0.xyzw, s0 sample_indexable(texture2d)(float,float,float,float) r2.x, v1.xyxx, t0.xyzw, s0
sample_indexable(texture2d)(float,float,float,float) r2.yz, v1.xyxx, t1.zxyw, s0 sample_indexable(texture2d)(float,float,float,float) r2.yz, v1.xyxx, t1.zyxw, s0
add r2.xyz, r2.xyzx, cb0[3].xyzx add r2.xyz, r2.xyzx, cb0[3].xyzx
dp3 r1.x, r2.xyzx, cb0[4].xyzx dp3 r1.x, r2.xyzx, cb0[4].xyzx
dp3 r1.y, r2.xyzx, cb0[5].xyzx dp3 r1.y, r2.xyzx, cb0[5].xyzx
@@ -145,28 +126,18 @@ else
eq r0.x, cb0[0].y, l(6.000000) eq r0.x, cb0[0].y, l(6.000000)
if_nz r0.x if_nz r0.x
sample_indexable(texture2d)(float,float,float,float) r2.x, v1.xyxx, t0.xyzw, s0 sample_indexable(texture2d)(float,float,float,float) r2.x, v1.xyxx, t0.xyzw, s0
sample_indexable(texture2d)(float,float,float,float) r2.yz, v1.xyxx, t1.zyxw, s0 sample_indexable(texture2d)(float,float,float,float) r2.y, v1.xyxx, t1.yxzw, s0
sample_indexable(texture2d)(float,float,float,float) r2.z, v1.xyxx, t2.yzxw, s0
add r2.xyz, r2.xyzx, cb0[3].xyzx add r2.xyz, r2.xyzx, cb0[3].xyzx
dp3 r1.x, r2.xyzx, cb0[4].xyzx dp3 r1.x, r2.xyzx, cb0[4].xyzx
dp3 r1.y, r2.xyzx, cb0[5].xyzx dp3 r1.y, r2.xyzx, cb0[5].xyzx
dp3 r1.z, r2.xyzx, cb0[6].xyzx dp3 r1.z, r2.xyzx, cb0[6].xyzx
else else
eq r0.x, cb0[0].y, l(7.000000) mov r1.xyz, l(1.000000,0,0,0)
if_nz r0.x
sample_indexable(texture2d)(float,float,float,float) r2.x, v1.xyxx, t0.xyzw, s0
sample_indexable(texture2d)(float,float,float,float) r2.y, v1.xyxx, t1.yxzw, s0
sample_indexable(texture2d)(float,float,float,float) r2.z, v1.xyxx, t2.yzxw, s0
add r2.xyz, r2.xyzx, cb0[3].xyzx
dp3 r1.x, r2.xyzx, cb0[4].xyzx
dp3 r1.y, r2.xyzx, cb0[5].xyzx
dp3 r1.z, r2.xyzx, cb0[6].xyzx
else
mov r1.xyz, l(1.000000,0,0,0)
endif
endif endif
endif endif
mov r1.w, l(1.000000)
endif endif
mov r1.w, l(1.000000)
endif endif
endif endif
endif endif
@@ -254,20 +225,20 @@ else
endif endif
mul o0.xyzw, r1.xyzw, v2.xyzw mul o0.xyzw, r1.xyzw, v2.xyzw
ret ret
// Approximately 189 instruction slots used // Approximately 160 instruction slots used
#endif #endif
const BYTE g_main[] = const BYTE g_main[] =
{ {
68, 88, 66, 67, 21, 212, 68, 88, 66, 67, 189, 249,
190, 204, 0, 233, 124, 222, 3, 160, 168, 14, 177, 240,
179, 192, 161, 234, 41, 79, 224, 229, 45, 241, 216, 176,
56, 168, 1, 0, 0, 0, 187, 190, 1, 0, 0, 0,
84, 28, 0, 0, 5, 0, 172, 24, 0, 0, 5, 0,
0, 0, 52, 0, 0, 0, 0, 0, 52, 0, 0, 0,
168, 4, 0, 0, 28, 5, 168, 4, 0, 0, 28, 5,
0, 0, 80, 5, 0, 0, 0, 0, 80, 5, 0, 0,
184, 27, 0, 0, 82, 68, 16, 24, 0, 0, 82, 68,
69, 70, 108, 4, 0, 0, 69, 70, 108, 4, 0, 0,
1, 0, 0, 0, 52, 1, 1, 0, 0, 0, 52, 1,
0, 0, 6, 0, 0, 0, 0, 0, 6, 0, 0, 0,
@@ -486,8 +457,8 @@ const BYTE g_main[] =
15, 0, 0, 0, 83, 86, 15, 0, 0, 0, 83, 86,
95, 84, 65, 82, 71, 69, 95, 84, 65, 82, 71, 69,
84, 0, 171, 171, 83, 72, 84, 0, 171, 171, 83, 72,
69, 88, 96, 22, 0, 0, 69, 88, 184, 18, 0, 0,
80, 0, 0, 0, 152, 5, 80, 0, 0, 0, 174, 4,
0, 0, 106, 8, 0, 1, 0, 0, 106, 8, 0, 1,
89, 0, 0, 4, 70, 142, 89, 0, 0, 4, 70, 142,
32, 0, 0, 0, 0, 0, 32, 0, 0, 0, 0, 0,
@@ -719,306 +690,150 @@ const BYTE g_main[] =
0, 0, 1, 64, 0, 0, 0, 0, 1, 64, 0, 0,
0, 0, 128, 64, 31, 0, 0, 0, 128, 64, 31, 0,
4, 3, 10, 0, 16, 0, 4, 3, 10, 0, 16, 0,
0, 0, 0, 0, 122, 0, 0, 0, 0, 0, 69, 0,
0, 5, 50, 0, 16, 0, 0, 139, 194, 0, 0, 128,
2, 0, 0, 0, 70, 16,
16, 0, 1, 0, 0, 0,
124, 0, 0, 5, 194, 0,
16, 0, 2, 0, 0, 0,
6, 20, 16, 0, 1, 0,
0, 0, 0, 0, 0, 9,
50, 0, 16, 0, 3, 0,
0, 0, 230, 10, 16, 128,
129, 0, 0, 0, 2, 0,
0, 0, 70, 0, 16, 128,
129, 0, 0, 0, 2, 0,
0, 0, 56, 0, 0, 8,
50, 0, 16, 0, 3, 0,
0, 0, 70, 0, 16, 0,
3, 0, 0, 0, 230, 138,
32, 0, 0, 0, 0, 0,
1, 0, 0, 0, 52, 0,
0, 10, 50, 0, 16, 0,
3, 0, 0, 0, 70, 0,
16, 0, 3, 0, 0, 0,
2, 64, 0, 0, 172, 197,
39, 55, 172, 197, 39, 55,
0, 0, 0, 0, 0, 0,
0, 0, 51, 0, 0, 10,
50, 0, 16, 0, 3, 0,
0, 0, 70, 0, 16, 0,
3, 0, 0, 0, 2, 64,
0, 0, 0, 0, 128, 63,
0, 0, 128, 63, 0, 0,
0, 0, 0, 0, 0, 0,
56, 0, 0, 10, 194, 0,
16, 0, 3, 0, 0, 0,
6, 4, 16, 0, 3, 0,
0, 0, 2, 64, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 63,
0, 0, 0, 63, 50, 0,
0, 11, 194, 0, 16, 0,
3, 0, 0, 0, 6, 20,
16, 0, 1, 0, 0, 0,
166, 142, 32, 0, 0, 0,
0, 0, 1, 0, 0, 0,
166, 14, 16, 128, 65, 0,
0, 0, 3, 0, 0, 0,
0, 0, 0, 11, 50, 0,
16, 0, 3, 0, 0, 0,
70, 0, 16, 128, 65, 0,
0, 0, 3, 0, 0, 0,
2, 64, 0, 0, 0, 0,
128, 63, 0, 0, 128, 63,
0, 0, 0, 0, 0, 0,
0, 0, 26, 0, 0, 5,
50, 0, 16, 0, 4, 0,
0, 0, 230, 10, 16, 0,
3, 0, 0, 0, 0, 0,
0, 11, 194, 0, 16, 0,
4, 0, 0, 0, 6, 4,
16, 128, 65, 0, 0, 0,
3, 0, 0, 0, 2, 64,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
128, 63, 0, 0, 128, 63,
0, 0, 0, 8, 50, 0,
16, 0, 3, 0, 0, 0,
70, 0, 16, 128, 65, 0,
0, 0, 3, 0, 0, 0,
70, 0, 16, 0, 4, 0,
0, 0, 14, 0, 0, 10,
50, 0, 16, 0, 4, 0,
0, 0, 2, 64, 0, 0,
0, 0, 128, 63, 0, 0,
128, 63, 0, 0, 128, 63,
0, 0, 128, 63, 230, 10,
16, 0, 4, 0, 0, 0,
56, 32, 0, 7, 50, 0,
16, 0, 3, 0, 0, 0,
70, 0, 16, 0, 3, 0,
0, 0, 70, 0, 16, 0,
4, 0, 0, 0, 50, 0,
0, 15, 50, 0, 16, 0,
4, 0, 0, 0, 70, 0,
16, 0, 3, 0, 0, 0,
2, 64, 0, 0, 0, 0,
0, 192, 0, 0, 0, 192,
0, 0, 0, 0, 0, 0,
0, 0, 2, 64, 0, 0,
0, 0, 64, 64, 0, 0,
64, 64, 0, 0, 0, 0,
0, 0, 0, 0, 56, 0,
0, 7, 50, 0, 16, 0,
3, 0, 0, 0, 70, 0,
16, 0, 3, 0, 0, 0,
70, 0, 16, 0, 3, 0,
0, 0, 65, 0, 0, 5,
194, 0, 16, 0, 3, 0,
0, 0, 166, 14, 16, 0,
3, 0, 0, 0, 50, 0,
0, 9, 50, 0, 16, 0,
3, 0, 0, 0, 70, 0,
16, 0, 4, 0, 0, 0,
70, 0, 16, 0, 3, 0,
0, 0, 230, 10, 16, 0,
3, 0, 0, 0, 0, 0,
0, 10, 50, 0, 16, 0,
3, 0, 0, 0, 70, 0,
16, 0, 3, 0, 0, 0,
2, 64, 0, 0, 0, 0,
0, 63, 0, 0, 0, 63,
0, 0, 0, 0, 0, 0,
0, 0, 56, 0, 0, 8,
50, 0, 16, 0, 3, 0,
0, 0, 70, 0, 16, 0,
3, 0, 0, 0, 70, 128,
32, 0, 0, 0, 0, 0,
1, 0, 0, 0, 73, 0,
0, 143, 194, 0, 0, 128,
67, 85, 21, 0, 18, 0, 67, 85, 21, 0, 18, 0,
16, 0, 0, 0, 0, 0, 16, 0, 2, 0, 0, 0,
70, 0, 16, 0, 3, 0, 70, 16, 16, 0, 1, 0,
0, 0, 70, 126, 16, 0, 0, 0, 70, 126, 16, 0,
0, 0, 0, 0, 0, 96, 0, 0, 0, 0, 0, 96,
16, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0,
70, 0, 16, 0, 2, 0, 69, 0, 0, 139, 194, 0,
0, 0, 230, 10, 16, 0, 0, 128, 67, 85, 21, 0,
2, 0, 0, 0, 50, 0, 98, 0, 16, 0, 2, 0,
0, 9, 18, 0, 16, 0, 0, 0, 70, 16, 16, 0,
0, 0, 0, 0, 10, 0, 1, 0, 0, 0, 38, 125,
16, 0, 0, 0, 0, 0, 16, 0, 1, 0, 0, 0,
1, 64, 0, 0, 0, 0, 0, 96, 16, 0, 0, 0,
127, 67, 1, 64, 0, 0, 0, 0, 0, 0, 0, 8,
0, 0, 0, 63, 56, 0, 114, 0, 16, 0, 2, 0,
0, 7, 18, 0, 16, 0, 0, 0, 70, 2, 16, 0,
2, 0, 0, 0, 10, 0, 2, 0, 0, 0, 70, 130,
16, 0, 0, 0, 0, 0, 32, 0, 0, 0, 0, 0,
1, 64, 0, 0, 0, 0, 3, 0, 0, 0, 16, 0,
128, 59, 54, 0, 0, 5, 0, 8, 18, 0, 16, 0,
34, 0, 16, 0, 2, 0, 1, 0, 0, 0, 70, 2,
16, 0, 2, 0, 0, 0,
70, 130, 32, 0, 0, 0,
0, 0, 4, 0, 0, 0,
16, 0, 0, 8, 34, 0,
16, 0, 1, 0, 0, 0,
70, 2, 16, 0, 2, 0,
0, 0, 70, 130, 32, 0,
0, 0, 0, 0, 5, 0,
0, 0, 16, 0, 0, 8,
66, 0, 16, 0, 1, 0,
0, 0, 70, 2, 16, 0,
2, 0, 0, 0, 70, 130,
32, 0, 0, 0, 0, 0,
6, 0, 0, 0, 18, 0,
0, 1, 24, 0, 0, 8,
18, 0, 16, 0, 0, 0,
0, 0, 26, 128, 32, 0,
0, 0, 0, 0, 0, 0,
0, 0, 1, 64, 0, 0, 0, 0, 1, 64, 0, 0,
0, 0, 0, 63, 69, 0, 0, 0, 160, 64, 31, 0,
0, 139, 194, 0, 0, 128, 4, 3, 10, 0, 16, 0,
67, 85, 21, 0, 242, 0,
16, 0, 1, 0, 0, 0,
70, 0, 16, 0, 2, 0,
0, 0, 70, 126, 16, 0,
1, 0, 0, 0, 0, 96,
16, 0, 1, 0, 0, 0,
18, 0, 0, 1, 24, 0,
0, 8, 18, 0, 16, 0,
0, 0, 0, 0, 26, 128,
32, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1, 64,
0, 0, 0, 0, 160, 64,
31, 0, 4, 3, 10, 0,
16, 0, 0, 0, 0, 0,
69, 0, 0, 139, 194, 0,
0, 128, 67, 85, 21, 0,
18, 0, 16, 0, 2, 0,
0, 0, 70, 16, 16, 0,
1, 0, 0, 0, 70, 126,
16, 0, 0, 0, 0, 0,
0, 96, 16, 0, 0, 0,
0, 0, 69, 0, 0, 139,
194, 0, 0, 128, 67, 85,
21, 0, 98, 0, 16, 0,
2, 0, 0, 0, 70, 16,
16, 0, 1, 0, 0, 0,
38, 125, 16, 0, 1, 0,
0, 0, 0, 96, 16, 0,
0, 0, 0, 0, 0, 0,
0, 8, 114, 0, 16, 0,
2, 0, 0, 0, 70, 2,
16, 0, 2, 0, 0, 0,
70, 130, 32, 0, 0, 0,
0, 0, 3, 0, 0, 0,
16, 0, 0, 8, 18, 0,
16, 0, 1, 0, 0, 0,
70, 2, 16, 0, 2, 0,
0, 0, 70, 130, 32, 0,
0, 0, 0, 0, 4, 0,
0, 0, 16, 0, 0, 8,
34, 0, 16, 0, 1, 0,
0, 0, 70, 2, 16, 0,
2, 0, 0, 0, 70, 130,
32, 0, 0, 0, 0, 0,
5, 0, 0, 0, 16, 0,
0, 8, 66, 0, 16, 0,
1, 0, 0, 0, 70, 2,
16, 0, 2, 0, 0, 0,
70, 130, 32, 0, 0, 0,
0, 0, 6, 0, 0, 0,
18, 0, 0, 1, 24, 0,
0, 8, 18, 0, 16, 0,
0, 0, 0, 0, 26, 128,
32, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1, 64,
0, 0, 0, 0, 192, 64,
31, 0, 4, 3, 10, 0,
16, 0, 0, 0, 0, 0,
69, 0, 0, 139, 194, 0,
0, 128, 67, 85, 21, 0,
18, 0, 16, 0, 2, 0,
0, 0, 70, 16, 16, 0,
1, 0, 0, 0, 70, 126,
16, 0, 0, 0, 0, 0,
0, 96, 16, 0, 0, 0,
0, 0, 69, 0, 0, 139,
194, 0, 0, 128, 67, 85,
21, 0, 98, 0, 16, 0,
2, 0, 0, 0, 70, 16,
16, 0, 1, 0, 0, 0,
102, 124, 16, 0, 1, 0,
0, 0, 0, 96, 16, 0,
0, 0, 0, 0, 0, 0,
0, 8, 114, 0, 16, 0,
2, 0, 0, 0, 70, 2,
16, 0, 2, 0, 0, 0,
70, 130, 32, 0, 0, 0,
0, 0, 3, 0, 0, 0,
16, 0, 0, 8, 18, 0,
16, 0, 1, 0, 0, 0,
70, 2, 16, 0, 2, 0,
0, 0, 70, 130, 32, 0,
0, 0, 0, 0, 4, 0,
0, 0, 16, 0, 0, 8,
34, 0, 16, 0, 1, 0,
0, 0, 70, 2, 16, 0,
2, 0, 0, 0, 70, 130,
32, 0, 0, 0, 0, 0,
5, 0, 0, 0, 16, 0,
0, 8, 66, 0, 16, 0,
1, 0, 0, 0, 70, 2,
16, 0, 2, 0, 0, 0,
70, 130, 32, 0, 0, 0,
0, 0, 6, 0, 0, 0,
18, 0, 0, 1, 24, 0,
0, 8, 18, 0, 16, 0,
0, 0, 0, 0, 26, 128,
32, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1, 64,
0, 0, 0, 0, 224, 64,
31, 0, 4, 3, 10, 0,
16, 0, 0, 0, 0, 0,
69, 0, 0, 139, 194, 0,
0, 128, 67, 85, 21, 0,
18, 0, 16, 0, 2, 0,
0, 0, 70, 16, 16, 0,
1, 0, 0, 0, 70, 126,
16, 0, 0, 0, 0, 0,
0, 96, 16, 0, 0, 0,
0, 0, 69, 0, 0, 139,
194, 0, 0, 128, 67, 85,
21, 0, 34, 0, 16, 0,
2, 0, 0, 0, 70, 16,
16, 0, 1, 0, 0, 0,
22, 126, 16, 0, 1, 0,
0, 0, 0, 96, 16, 0,
0, 0, 0, 0, 69, 0, 0, 0, 0, 0, 69, 0,
0, 139, 194, 0, 0, 128, 0, 139, 194, 0, 0, 128,
67, 85, 21, 0, 66, 0, 67, 85, 21, 0, 18, 0,
16, 0, 2, 0, 0, 0, 16, 0, 2, 0, 0, 0,
70, 16, 16, 0, 1, 0, 70, 16, 16, 0, 1, 0,
0, 0, 150, 124, 16, 0, 0, 0, 70, 126, 16, 0,
2, 0, 0, 0, 0, 96, 0, 0, 0, 0, 0, 96,
16, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0,
0, 0, 0, 8, 114, 0, 69, 0, 0, 139, 194, 0,
16, 0, 2, 0, 0, 0, 0, 128, 67, 85, 21, 0,
70, 2, 16, 0, 2, 0, 98, 0, 16, 0, 2, 0,
0, 0, 70, 130, 32, 0, 0, 0, 70, 16, 16, 0,
0, 0, 0, 0, 3, 0, 1, 0, 0, 0, 102, 124,
0, 0, 16, 0, 0, 8, 16, 0, 1, 0, 0, 0,
18, 0, 16, 0, 1, 0, 0, 96, 16, 0, 0, 0,
0, 0, 0, 0, 0, 8,
114, 0, 16, 0, 2, 0,
0, 0, 70, 2, 16, 0, 0, 0, 70, 2, 16, 0,
2, 0, 0, 0, 70, 130, 2, 0, 0, 0, 70, 130,
32, 0, 0, 0, 0, 0, 32, 0, 0, 0, 0, 0,
4, 0, 0, 0, 16, 0, 3, 0, 0, 0, 16, 0,
0, 8, 34, 0, 16, 0, 0, 8, 18, 0, 16, 0,
1, 0, 0, 0, 70, 2, 1, 0, 0, 0, 70, 2,
16, 0, 2, 0, 0, 0, 16, 0, 2, 0, 0, 0,
70, 130, 32, 0, 0, 0, 70, 130, 32, 0, 0, 0,
0, 0, 5, 0, 0, 0, 0, 0, 4, 0, 0, 0,
16, 0, 0, 8, 66, 0, 16, 0, 0, 8, 34, 0,
16, 0, 1, 0, 0, 0, 16, 0, 1, 0, 0, 0,
70, 2, 16, 0, 2, 0, 70, 2, 16, 0, 2, 0,
0, 0, 70, 130, 32, 0, 0, 0, 70, 130, 32, 0,
0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 5, 0,
0, 0, 18, 0, 0, 1, 0, 0, 16, 0, 0, 8,
54, 0, 0, 8, 114, 0, 66, 0, 16, 0, 1, 0,
16, 0, 1, 0, 0, 0, 0, 0, 70, 2, 16, 0,
2, 64, 0, 0, 0, 0, 2, 0, 0, 0, 70, 130,
128, 63, 0, 0, 0, 0, 32, 0, 0, 0, 0, 0,
6, 0, 0, 0, 18, 0,
0, 1, 24, 0, 0, 8,
18, 0, 16, 0, 0, 0,
0, 0, 26, 128, 32, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 21, 0, 0, 1,
21, 0, 0, 1, 21, 0,
0, 1, 54, 0, 0, 5,
130, 0, 16, 0, 1, 0,
0, 0, 1, 64, 0, 0, 0, 0, 1, 64, 0, 0,
0, 0, 128, 63, 21, 0, 0, 0, 192, 64, 31, 0,
4, 3, 10, 0, 16, 0,
0, 0, 0, 0, 69, 0,
0, 139, 194, 0, 0, 128,
67, 85, 21, 0, 18, 0,
16, 0, 2, 0, 0, 0,
70, 16, 16, 0, 1, 0,
0, 0, 70, 126, 16, 0,
0, 0, 0, 0, 0, 96,
16, 0, 0, 0, 0, 0,
69, 0, 0, 139, 194, 0,
0, 128, 67, 85, 21, 0,
34, 0, 16, 0, 2, 0,
0, 0, 70, 16, 16, 0,
1, 0, 0, 0, 22, 126,
16, 0, 1, 0, 0, 0,
0, 96, 16, 0, 0, 0,
0, 0, 69, 0, 0, 139,
194, 0, 0, 128, 67, 85,
21, 0, 66, 0, 16, 0,
2, 0, 0, 0, 70, 16,
16, 0, 1, 0, 0, 0,
150, 124, 16, 0, 2, 0,
0, 0, 0, 96, 16, 0,
0, 0, 0, 0, 0, 0,
0, 8, 114, 0, 16, 0,
2, 0, 0, 0, 70, 2,
16, 0, 2, 0, 0, 0,
70, 130, 32, 0, 0, 0,
0, 0, 3, 0, 0, 0,
16, 0, 0, 8, 18, 0,
16, 0, 1, 0, 0, 0,
70, 2, 16, 0, 2, 0,
0, 0, 70, 130, 32, 0,
0, 0, 0, 0, 4, 0,
0, 0, 16, 0, 0, 8,
34, 0, 16, 0, 1, 0,
0, 0, 70, 2, 16, 0,
2, 0, 0, 0, 70, 130,
32, 0, 0, 0, 0, 0,
5, 0, 0, 0, 16, 0,
0, 8, 66, 0, 16, 0,
1, 0, 0, 0, 70, 2,
16, 0, 2, 0, 0, 0,
70, 130, 32, 0, 0, 0,
0, 0, 6, 0, 0, 0,
18, 0, 0, 1, 54, 0,
0, 8, 114, 0, 16, 0,
1, 0, 0, 0, 2, 64,
0, 0, 0, 0, 128, 63,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
21, 0, 0, 1, 21, 0,
0, 1, 21, 0, 0, 1, 0, 1, 21, 0, 0, 1,
54, 0, 0, 5, 130, 0,
16, 0, 1, 0, 0, 0,
1, 64, 0, 0, 0, 0,
128, 63, 21, 0, 0, 1,
21, 0, 0, 1, 21, 0, 21, 0, 0, 1, 21, 0,
0, 1, 21, 0, 0, 1, 0, 1, 21, 0, 0, 1,
47, 0, 0, 6, 114, 0, 47, 0, 0, 6, 114, 0,
@@ -1443,21 +1258,21 @@ const BYTE g_main[] =
16, 0, 2, 0, 0, 0, 16, 0, 2, 0, 0, 0,
62, 0, 0, 1, 83, 84, 62, 0, 0, 1, 83, 84,
65, 84, 148, 0, 0, 0, 65, 84, 148, 0, 0, 0,
189, 0, 0, 0, 7, 0, 160, 0, 0, 0, 7, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3, 0, 0, 0, 118, 0, 3, 0, 0, 0, 95, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 11, 0,
0, 0, 14, 0, 0, 0, 0, 0, 13, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 11, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
2, 0, 0, 0, 5, 0,
0, 0, 10, 0, 0, 0, 0, 0, 10, 0, 0, 0,
7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 4, 0,
0, 0, 10, 0, 0, 0,
5, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,

View File

@@ -21,10 +21,9 @@ static const float TEXTURETYPE_NONE = 0;
static const float TEXTURETYPE_RGB = 1; static const float TEXTURETYPE_RGB = 1;
static const float TEXTURETYPE_RGB_PIXELART = 2; static const float TEXTURETYPE_RGB_PIXELART = 2;
static const float TEXTURETYPE_PALETTE = 3; static const float TEXTURETYPE_PALETTE = 3;
static const float TEXTURETYPE_PALETTE_PIXELART = 4; static const float TEXTURETYPE_NV12 = 4;
static const float TEXTURETYPE_NV12 = 5; static const float TEXTURETYPE_NV21 = 5;
static const float TEXTURETYPE_NV21 = 6; static const float TEXTURETYPE_YUV = 6;
static const float TEXTURETYPE_YUV = 7;
static const float INPUTTYPE_UNSPECIFIED = 0; static const float INPUTTYPE_UNSPECIFIED = 0;
static const float INPUTTYPE_SRGB = 1; static const float INPUTTYPE_SRGB = 1;
@@ -150,10 +149,6 @@ float4 GetInputColor(PixelShaderInput input)
} else if (texture_type == TEXTURETYPE_PALETTE) { } else if (texture_type == TEXTURETYPE_PALETTE) {
float index = texture0.Sample(sampler0, input.tex).r * 255; float index = texture0.Sample(sampler0, input.tex).r * 255;
rgba = texture1.Sample(sampler1, float2((index + 0.5) / 256, 0.5)); rgba = texture1.Sample(sampler1, float2((index + 0.5) / 256, 0.5));
} else if (texture_type == TEXTURETYPE_PALETTE_PIXELART) {
float2 uv = GetPixelArtUV(input);
float index = texture0.SampleGrad(sampler0, uv, ddx(input.tex), ddy(input.tex)).r * 255;
rgba = texture1.Sample(sampler1, float2((index + 0.5) / 256, 0.5));
} else if (texture_type == TEXTURETYPE_NV12) { } else if (texture_type == TEXTURETYPE_NV12) {
float3 yuv; float3 yuv;
yuv.x = texture0.Sample(sampler0, input.tex).r; yuv.x = texture0.Sample(sampler0, input.tex).r;

View File

@@ -70,10 +70,9 @@ static const float TONEMAP_CHROME = 2;
static const float TEXTURETYPE_RGB = 1; static const float TEXTURETYPE_RGB = 1;
static const float TEXTURETYPE_RGB_PIXELART = 2; static const float TEXTURETYPE_RGB_PIXELART = 2;
static const float TEXTURETYPE_PALETTE = 3; static const float TEXTURETYPE_PALETTE = 3;
static const float TEXTURETYPE_PALETTE_PIXELART = 4; static const float TEXTURETYPE_NV12 = 4;
static const float TEXTURETYPE_NV12 = 5; static const float TEXTURETYPE_NV21 = 5;
static const float TEXTURETYPE_NV21 = 6; static const float TEXTURETYPE_YUV = 6;
static const float TEXTURETYPE_YUV = 7;
static const float INPUTTYPE_UNSPECIFIED = 0; static const float INPUTTYPE_UNSPECIFIED = 0;
static const float INPUTTYPE_SRGB = 1; static const float INPUTTYPE_SRGB = 1;
@@ -2190,11 +2189,7 @@ static void D3D11_SetupShaderConstants(SDL_Renderer *renderer, const SDL_RenderC
switch (texture->format) { switch (texture->format) {
case SDL_PIXELFORMAT_INDEX8: case SDL_PIXELFORMAT_INDEX8:
if (cmd->data.draw.texture_scale_mode == SDL_SCALEMODE_PIXELART) { constants->texture_type = TEXTURETYPE_PALETTE;
constants->texture_type = TEXTURETYPE_PALETTE_PIXELART;
} else {
constants->texture_type = TEXTURETYPE_PALETTE;
}
constants->input_type = INPUTTYPE_UNSPECIFIED; constants->input_type = INPUTTYPE_UNSPECIFIED;
break; break;
case SDL_PIXELFORMAT_YV12: case SDL_PIXELFORMAT_YV12:
@@ -2217,6 +2212,10 @@ static void D3D11_SetupShaderConstants(SDL_Renderer *renderer, const SDL_RenderC
default: default:
if (cmd->data.draw.texture_scale_mode == SDL_SCALEMODE_PIXELART) { if (cmd->data.draw.texture_scale_mode == SDL_SCALEMODE_PIXELART) {
constants->texture_type = TEXTURETYPE_RGB_PIXELART; constants->texture_type = TEXTURETYPE_RGB_PIXELART;
constants->texture_width = texture->w;
constants->texture_height = texture->h;
constants->texel_width = 1.0f / constants->texture_width;
constants->texel_height = 1.0f / constants->texture_height;
} else { } else {
constants->texture_type = TEXTURETYPE_RGB; constants->texture_type = TEXTURETYPE_RGB;
} }
@@ -2231,13 +2230,6 @@ static void D3D11_SetupShaderConstants(SDL_Renderer *renderer, const SDL_RenderC
break; break;
} }
if (cmd->data.draw.texture_scale_mode == SDL_SCALEMODE_PIXELART) {
constants->texture_width = texture->w;
constants->texture_height = texture->h;
constants->texel_width = 1.0f / constants->texture_width;
constants->texel_height = 1.0f / constants->texture_height;
}
constants->sdr_white_point = texture->SDR_white_point; constants->sdr_white_point = texture->SDR_white_point;
if (renderer->target) { if (renderer->target) {

File diff suppressed because it is too large Load Diff

View File

@@ -22,10 +22,9 @@ static const float TEXTURETYPE_NONE = 0;
static const float TEXTURETYPE_RGB = 1; static const float TEXTURETYPE_RGB = 1;
static const float TEXTURETYPE_RGB_PIXELART = 2; static const float TEXTURETYPE_RGB_PIXELART = 2;
static const float TEXTURETYPE_PALETTE = 3; static const float TEXTURETYPE_PALETTE = 3;
static const float TEXTURETYPE_PALETTE_PIXELART = 4; static const float TEXTURETYPE_NV12 = 4;
static const float TEXTURETYPE_NV12 = 5; static const float TEXTURETYPE_NV21 = 5;
static const float TEXTURETYPE_NV21 = 6; static const float TEXTURETYPE_YUV = 6;
static const float TEXTURETYPE_YUV = 7;
static const float INPUTTYPE_UNSPECIFIED = 0; static const float INPUTTYPE_UNSPECIFIED = 0;
static const float INPUTTYPE_SRGB = 1; static const float INPUTTYPE_SRGB = 1;
@@ -151,10 +150,6 @@ float4 GetInputColor(PixelShaderInput input)
} else if (texture_type == TEXTURETYPE_PALETTE) { } else if (texture_type == TEXTURETYPE_PALETTE) {
float index = texture0.Sample(sampler0, input.tex).r * 255; float index = texture0.Sample(sampler0, input.tex).r * 255;
rgba = texture1.Sample(sampler1, float2((index + 0.5) / 256, 0.5)); rgba = texture1.Sample(sampler1, float2((index + 0.5) / 256, 0.5));
} else if (texture_type == TEXTURETYPE_PALETTE_PIXELART) {
float2 uv = GetPixelArtUV(input);
float index = texture0.SampleGrad(sampler0, uv, ddx(input.tex), ddy(input.tex)).r * 255;
rgba = texture1.Sample(sampler1, float2((index + 0.5) / 256, 0.5));
} else if (texture_type == TEXTURETYPE_NV12) { } else if (texture_type == TEXTURETYPE_NV12) {
float3 yuv; float3 yuv;
yuv.x = texture0.Sample(sampler0, input.tex).r; yuv.x = texture0.Sample(sampler0, input.tex).r;

View File

@@ -71,10 +71,9 @@ static const float TONEMAP_CHROME = 2;
static const float TEXTURETYPE_RGB = 1; static const float TEXTURETYPE_RGB = 1;
static const float TEXTURETYPE_RGB_PIXELART = 2; static const float TEXTURETYPE_RGB_PIXELART = 2;
static const float TEXTURETYPE_PALETTE = 3; static const float TEXTURETYPE_PALETTE = 3;
static const float TEXTURETYPE_PALETTE_PIXELART = 4; static const float TEXTURETYPE_NV12 = 4;
static const float TEXTURETYPE_NV12 = 5; static const float TEXTURETYPE_NV21 = 5;
static const float TEXTURETYPE_NV21 = 6; static const float TEXTURETYPE_YUV = 6;
static const float TEXTURETYPE_YUV = 7;
static const float INPUTTYPE_UNSPECIFIED = 0; static const float INPUTTYPE_UNSPECIFIED = 0;
static const float INPUTTYPE_SRGB = 1; static const float INPUTTYPE_SRGB = 1;
@@ -2600,15 +2599,7 @@ static void D3D12_SetupShaderConstants(SDL_Renderer *renderer, const SDL_RenderC
switch (texture->format) { switch (texture->format) {
case SDL_PIXELFORMAT_INDEX8: case SDL_PIXELFORMAT_INDEX8:
if (cmd->data.draw.texture_scale_mode == SDL_SCALEMODE_PIXELART) { constants->texture_type = TEXTURETYPE_PALETTE;
constants->texture_type = TEXTURETYPE_PALETTE_PIXELART;
constants->texture_width = texture->w;
constants->texture_height = texture->h;
constants->texel_width = 1.0f / constants->texture_width;
constants->texel_height = 1.0f / constants->texture_height;
} else {
constants->texture_type = TEXTURETYPE_PALETTE;
}
constants->input_type = INPUTTYPE_UNSPECIFIED; constants->input_type = INPUTTYPE_UNSPECIFIED;
break; break;
case SDL_PIXELFORMAT_YV12: case SDL_PIXELFORMAT_YV12:

View File

@@ -71,10 +71,9 @@ static const float TEXTURETYPE_RGB_PIXELART = 2;
static const float TEXTURETYPE_RGBA = 3; static const float TEXTURETYPE_RGBA = 3;
static const float TEXTURETYPE_RGBA_PIXELART = 4; static const float TEXTURETYPE_RGBA_PIXELART = 4;
static const float TEXTURETYPE_PALETTE = 5; static const float TEXTURETYPE_PALETTE = 5;
static const float TEXTURETYPE_PALETTE_PIXELART = 6; static const float TEXTURETYPE_NV12 = 6;
static const float TEXTURETYPE_NV12 = 7; static const float TEXTURETYPE_NV21 = 7;
static const float TEXTURETYPE_NV21 = 8; static const float TEXTURETYPE_YUV = 8;
static const float TEXTURETYPE_YUV = 9;
static const float INPUTTYPE_UNSPECIFIED = 0; static const float INPUTTYPE_UNSPECIFIED = 0;
static const float INPUTTYPE_SRGB = 1; static const float INPUTTYPE_SRGB = 1;
@@ -831,11 +830,7 @@ static void CalculateAdvancedShaderConstants(SDL_Renderer *renderer, const SDL_R
default: default:
switch (texture->format) { switch (texture->format) {
case SDL_PIXELFORMAT_INDEX8: case SDL_PIXELFORMAT_INDEX8:
if (cmd->data.draw.texture_scale_mode == SDL_SCALEMODE_PIXELART) { constants->texture_type = TEXTURETYPE_PALETTE;
constants->texture_type = TEXTURETYPE_PALETTE_PIXELART;
} else {
constants->texture_type = TEXTURETYPE_PALETTE;
}
break; break;
case SDL_PIXELFORMAT_BGRX32: case SDL_PIXELFORMAT_BGRX32:
case SDL_PIXELFORMAT_RGBX32: case SDL_PIXELFORMAT_RGBX32:
@@ -851,6 +846,10 @@ static void CalculateAdvancedShaderConstants(SDL_Renderer *renderer, const SDL_R
case SDL_PIXELFORMAT_RGBA64_FLOAT: case SDL_PIXELFORMAT_RGBA64_FLOAT:
if (cmd->data.draw.texture_scale_mode == SDL_SCALEMODE_PIXELART) { if (cmd->data.draw.texture_scale_mode == SDL_SCALEMODE_PIXELART) {
constants->texture_type = TEXTURETYPE_RGBA_PIXELART; constants->texture_type = TEXTURETYPE_RGBA_PIXELART;
constants->texture_width = texture->w;
constants->texture_height = texture->h;
constants->texel_width = 1.0f / constants->texture_width;
constants->texel_height = 1.0f / constants->texture_height;
} else { } else {
constants->texture_type = TEXTURETYPE_RGBA; constants->texture_type = TEXTURETYPE_RGBA;
} }
@@ -870,13 +869,6 @@ static void CalculateAdvancedShaderConstants(SDL_Renderer *renderer, const SDL_R
break; break;
} }
if (cmd->data.draw.texture_scale_mode == SDL_SCALEMODE_PIXELART) {
constants->texture_width = texture->w;
constants->texture_height = texture->h;
constants->texel_width = 1.0f / constants->texture_width;
constants->texel_height = 1.0f / constants->texture_height;
}
constants->sdr_white_point = texture->SDR_white_point; constants->sdr_white_point = texture->SDR_white_point;
if (renderer->target) { if (renderer->target) {

View File

@@ -44,10 +44,9 @@ static const float TEXTURETYPE_RGB_PIXELART = 2;
static const float TEXTURETYPE_RGBA = 3; static const float TEXTURETYPE_RGBA = 3;
static const float TEXTURETYPE_RGBA_PIXELART = 4; static const float TEXTURETYPE_RGBA_PIXELART = 4;
static const float TEXTURETYPE_PALETTE = 5; static const float TEXTURETYPE_PALETTE = 5;
static const float TEXTURETYPE_PALETTE_PIXELART = 6; static const float TEXTURETYPE_NV12 = 6;
static const float TEXTURETYPE_NV12 = 7; static const float TEXTURETYPE_NV21 = 7;
static const float TEXTURETYPE_NV21 = 8; static const float TEXTURETYPE_YUV = 8;
static const float TEXTURETYPE_YUV = 9;
static const float INPUTTYPE_UNSPECIFIED = 0; static const float INPUTTYPE_UNSPECIFIED = 0;
static const float INPUTTYPE_SRGB = 1; static const float INPUTTYPE_SRGB = 1;
@@ -159,10 +158,6 @@ float4 GetInputColor(PSInput input)
} else if (texture_type == TEXTURETYPE_PALETTE) { } else if (texture_type == TEXTURETYPE_PALETTE) {
float index = texture0.Sample(sampler0, input.v_uv).r * 255; float index = texture0.Sample(sampler0, input.v_uv).r * 255;
rgba = texture1.Sample(sampler1, float2((index + 0.5) / 256, 0.5)); rgba = texture1.Sample(sampler1, float2((index + 0.5) / 256, 0.5));
} else if (texture_type == TEXTURETYPE_PALETTE_PIXELART) {
float2 uv = GetPixelArtUV(input);
float index = texture0.SampleGrad(sampler0, uv, ddx(input.v_uv), ddy(input.v_uv)).r * 255;
rgba = texture1.Sample(sampler1, float2((index + 0.5) / 256, 0.5));
} else if (texture_type == TEXTURETYPE_NV12) { } else if (texture_type == TEXTURETYPE_NV12) {
float3 yuv; float3 yuv;
yuv.x = texture0.Sample(sampler0, input.v_uv).r; yuv.x = texture0.Sample(sampler0, input.v_uv).r;

View File

@@ -1333,9 +1333,10 @@ static const float TONEMAP_CHROME = 2;
//static const float TEXTURETYPE_NONE = 0; //static const float TEXTURETYPE_NONE = 0;
static const float TEXTURETYPE_RGB = 1; static const float TEXTURETYPE_RGB = 1;
static const float TEXTURETYPE_RGB_PIXELART = 2; static const float TEXTURETYPE_RGB_PIXELART = 2;
static const float TEXTURETYPE_NV12 = 3; static const float TEXTURETYPE_PALETTE = 3;
static const float TEXTURETYPE_NV21 = 4; static const float TEXTURETYPE_NV12 = 4;
static const float TEXTURETYPE_YUV = 5; static const float TEXTURETYPE_NV21 = 5;
static const float TEXTURETYPE_YUV = 6;
//static const float INPUTTYPE_UNSPECIFIED = 0; //static const float INPUTTYPE_UNSPECIFIED = 0;
static const float INPUTTYPE_SRGB = 1; static const float INPUTTYPE_SRGB = 1;
@@ -1391,6 +1392,9 @@ static void SetupShaderConstants(SDL_Renderer *renderer, const SDL_RenderCommand
if (texture) { if (texture) {
switch (texture->format) { switch (texture->format) {
case SDL_PIXELFORMAT_INDEX8:
constants->texture_type = TEXTURETYPE_PALETTE;
break;
case SDL_PIXELFORMAT_YV12: case SDL_PIXELFORMAT_YV12:
case SDL_PIXELFORMAT_IYUV: case SDL_PIXELFORMAT_IYUV:
constants->texture_type = TEXTURETYPE_YUV; constants->texture_type = TEXTURETYPE_YUV;

View File

@@ -13,11 +13,10 @@ using namespace metal;
#define TEXTURETYPE_NONE 0 #define TEXTURETYPE_NONE 0
#define TEXTURETYPE_RGB 1 #define TEXTURETYPE_RGB 1
#define TEXTURETYPE_RGB_PIXELART 2 #define TEXTURETYPE_RGB_PIXELART 2
#define TEXTURETYPE_PALETTE 1 #define TEXTURETYPE_PALETTE 3
#define TEXTURETYPE_PALETTE_PIXELART 2 #define TEXTURETYPE_NV12 4
#define TEXTURETYPE_NV12 3 #define TEXTURETYPE_NV21 5
#define TEXTURETYPE_NV21 4 #define TEXTURETYPE_YUV 6
#define TEXTURETYPE_YUV 5
#define INPUTTYPE_UNSPECIFIED 0 #define INPUTTYPE_UNSPECIFIED 0
#define INPUTTYPE_SRGB 1 #define INPUTTYPE_SRGB 1
@@ -273,10 +272,6 @@ fragment float4 SDL_Palette_fragment(CopyVertexOutput vert [[stage_in]],
if (c.texture_type == TEXTURETYPE_PALETTE) { if (c.texture_type == TEXTURETYPE_PALETTE) {
float index = tex0.sample(s0, vert.texcoord).r * 255; float index = tex0.sample(s0, vert.texcoord).r * 255;
rgba = tex1.sample(s1, float2((index + 0.5) / 256, 0.5)); rgba = tex1.sample(s1, float2((index + 0.5) / 256, 0.5));
} else if (c.texture_type == TEXTURETYPE_PALETTE_PIXELART) {
float2 uv = GetPixelArtUV(vert.texcoord, c.texel_size);
float index = tex0.sample(s0, uv, gradient2d(dfdx(vert.texcoord), dfdy(vert.texcoord))).r * 255;
rgba = tex1.sample(s1, float2((index + 0.5) / 256, 0.5));
} else { } else {
// Unexpected texture type, use magenta error color // Unexpected texture type, use magenta error color
rgba = float4(1.0, 0.0, 1.0, 1.0); rgba = float4(1.0, 0.0, 1.0, 1.0);

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1201,10 +1201,6 @@ static bool SetCopyState(GL_RenderData *data, const SDL_RenderCommand *cmd)
if (cmd->data.draw.texture_scale_mode == SDL_SCALEMODE_PIXELART) { if (cmd->data.draw.texture_scale_mode == SDL_SCALEMODE_PIXELART) {
switch (shader) { switch (shader) {
case SHADER_PALETTE:
shader = SHADER_PALETTE_PIXELART;
shader_params = texturedata->texel_size;
break;
case SHADER_RGB: case SHADER_RGB:
shader = SHADER_RGB_PIXELART; shader = SHADER_RGB_PIXELART;
shader_params = texturedata->texel_size; shader_params = texturedata->texel_size;

View File

@@ -280,31 +280,6 @@ static struct {
"#version 130\n" "#version 130\n"
}, },
// SHADER_PALETTE_PIXELART
{
// vertex shader
TEXTURE_VERTEX_SHADER,
// fragment shader
"varying vec4 v_color;\n"
"varying vec2 v_texCoord;\n"
"uniform sampler2D tex0;\n"
"uniform sampler2D tex1;\n"
"uniform vec4 texel_size;\n"
"\n"
"void main()\n"
"{\n"
" vec2 boxSize = clamp(fwidth(v_texCoord) * texel_size.zw, 1e-5, 1.0);\n"
" vec2 tx = v_texCoord * texel_size.zw - 0.5 * boxSize;\n"
" vec2 txOffset = smoothstep(vec2(1.0) - boxSize, vec2(1.0), fract(tx));\n"
" vec2 uv = (floor(tx) + 0.5 + txOffset) * texel_size.xy;\n"
" float index = textureGrad(tex0, uv, dFdx(v_texCoord), dFdy(v_texCoord)).r * 255.0;\n"
" gl_FragColor = texture2D(tex1, vec2((index + 0.5) / 256.0, 0.5));\n"
" gl_FragColor *= v_color;\n"
"}",
// fragment version
"#version 130\n"
},
// SHADER_RGB // SHADER_RGB
{ {
// vertex shader // vertex shader
@@ -632,8 +607,7 @@ void GL_SelectShader(GL_ShaderContext *ctx, GL_Shader shader, const float *shade
ctx->glUseProgramObjectARB(program); ctx->glUseProgramObjectARB(program);
if (shader_params && shader_params != ctx->shader_params[shader]) { if (shader_params && shader_params != ctx->shader_params[shader]) {
if (shader == SHADER_PALETTE_PIXELART || if (shader == SHADER_RGB_PIXELART ||
shader == SHADER_RGB_PIXELART ||
shader == SHADER_RGBA_PIXELART) { shader == SHADER_RGBA_PIXELART) {
location = ctx->glGetUniformLocationARB(program, "texel_size"); location = ctx->glGetUniformLocationARB(program, "texel_size");
if (location >= 0) { if (location >= 0) {

View File

@@ -32,7 +32,6 @@ typedef enum
SHADER_NONE, SHADER_NONE,
SHADER_SOLID, SHADER_SOLID,
SHADER_PALETTE, SHADER_PALETTE,
SHADER_PALETTE_PIXELART,
SHADER_RGB, SHADER_RGB,
SHADER_RGBA, SHADER_RGBA,
SHADER_RGB_PIXELART, SHADER_RGB_PIXELART,

View File

@@ -634,12 +634,7 @@ static bool GLES2_SelectProgram(GLES2_RenderData *data, SDL_Texture *texture, GL
ftype = GLES2_SHADER_FRAGMENT_SOLID; ftype = GLES2_SHADER_FRAGMENT_SOLID;
break; break;
case GLES2_IMAGESOURCE_TEXTURE_INDEX8: case GLES2_IMAGESOURCE_TEXTURE_INDEX8:
if (scale_mode == SDL_SCALEMODE_PIXELART) { ftype = GLES2_SHADER_FRAGMENT_TEXTURE_PALETTE;
ftype = GLES2_SHADER_FRAGMENT_TEXTURE_PALETTE_PIXELART;
shader_params = tdata->texel_size;
} else {
ftype = GLES2_SHADER_FRAGMENT_TEXTURE_PALETTE;
}
break; break;
case GLES2_IMAGESOURCE_TEXTURE_ABGR: case GLES2_IMAGESOURCE_TEXTURE_ABGR:
if (scale_mode == SDL_SCALEMODE_PIXELART) { if (scale_mode == SDL_SCALEMODE_PIXELART) {
@@ -772,7 +767,7 @@ static bool GLES2_SelectProgram(GLES2_RenderData *data, SDL_Texture *texture, GL
} }
else else
#endif #endif
if (ftype >= GLES2_SHADER_FRAGMENT_TEXTURE_PALETTE_PIXELART) { if (ftype >= GLES2_SHADER_FRAGMENT_TEXTURE_ABGR_PIXELART) {
data->glUniform4f(program->uniform_locations[GLES2_UNIFORM_TEXEL_SIZE], shader_params[0], shader_params[1], shader_params[2], shader_params[3]); data->glUniform4f(program->uniform_locations[GLES2_UNIFORM_TEXEL_SIZE], shader_params[0], shader_params[1], shader_params[2], shader_params[3]);
} }
program->shader_params = shader_params; program->shader_params = shader_params;

View File

@@ -94,13 +94,6 @@ static const char GLES2_Fragment_Solid[] =
"varying mediump vec4 v_color;\n" \ "varying mediump vec4 v_color;\n" \
"varying SDL_TEXCOORD_PRECISION vec2 v_texCoord;\n" \ "varying SDL_TEXCOORD_PRECISION vec2 v_texCoord;\n" \
#define PALETTE_PIXELART_SHADER_PROLOGUE \
"uniform sampler2D u_texture;\n" \
"uniform sampler2D u_palette;\n" \
"uniform mediump vec4 u_texel_size;\n" \
"varying mediump vec4 v_color;\n" \
"varying SDL_TEXCOORD_PRECISION vec2 v_texCoord;\n" \
#define RGB_SHADER_PROLOGUE \ #define RGB_SHADER_PROLOGUE \
"uniform sampler2D u_texture;\n" \ "uniform sampler2D u_texture;\n" \
"varying mediump vec4 v_color;\n" \ "varying mediump vec4 v_color;\n" \
@@ -113,14 +106,6 @@ static const char GLES2_Fragment_Solid[] =
"varying SDL_TEXCOORD_PRECISION vec2 v_texCoord;\n" \ "varying SDL_TEXCOORD_PRECISION vec2 v_texCoord;\n" \
#ifdef OPENGLES_300 // This is required for fwidth() and textureGrad() #ifdef OPENGLES_300 // This is required for fwidth() and textureGrad()
#define PALETTE_PIXELART_GETCOLOR \
" mediump vec2 boxSize = clamp(fwidth(v_texCoord) * u_texel_size.zw, 1e-5, 1.0);\n" \
" mediump vec2 tx = v_texCoord * u_texel_size.zw - 0.5 * boxSize;\n" \
" mediump vec2 txOffset = smoothstep(vec2(1.0) - boxSize, vec2(1.0), fract(tx));\n" \
" mediump vec2 uv = (floor(tx) + 0.5 + txOffset) * u_texel_size.xy;\n" \
" mediump float index = textureGrad(u_texture, uv, dFdx(v_texCoord), dFdy(v_texCoord)).r * 255.0;\n" \
" SDL_TEXCOORD_PRECISION vec2 paletteCoords = vec2((index + 0.5) / 256.0, 0.5);\n" \
" mediump vec4 color = texture2D(u_palette, paletteCoords);\n"
#define RGB_PIXELART_GETCOLOR \ #define RGB_PIXELART_GETCOLOR \
" mediump vec2 boxSize = clamp(fwidth(v_texCoord) * u_texel_size.zw, 1e-5, 1.0);\n" \ " mediump vec2 boxSize = clamp(fwidth(v_texCoord) * u_texel_size.zw, 1e-5, 1.0);\n" \
" mediump vec2 tx = v_texCoord * u_texel_size.zw - 0.5 * boxSize;\n" \ " mediump vec2 tx = v_texCoord * u_texel_size.zw - 0.5 * boxSize;\n" \
@@ -128,10 +113,6 @@ static const char GLES2_Fragment_Solid[] =
" mediump vec2 uv = (floor(tx) + 0.5 + txOffset) * u_texel_size.xy;\n" \ " mediump vec2 uv = (floor(tx) + 0.5 + txOffset) * u_texel_size.xy;\n" \
" mediump vec4 color = textureGrad(u_texture, uv, dFdx(v_texCoord), dFdy(v_texCoord));\n" " mediump vec4 color = textureGrad(u_texture, uv, dFdx(v_texCoord), dFdy(v_texCoord));\n"
#else #else
#define PALETTE_PIXELART_GETCOLOR \
" mediump float index = texture2D(u_texture, v_texCoord).r * 255.0;\n" \
" SDL_TEXCOORD_PRECISION vec2 paletteCoords = vec2((index + 0.5) / 256.0, 0.5);\n" \
" mediump vec4 color = texture2D(u_palette, paletteCoords);\n"
#define RGB_PIXELART_GETCOLOR \ #define RGB_PIXELART_GETCOLOR \
" mediump vec4 color = texture2D(u_texture, v_texCoord);\n" " mediump vec4 color = texture2D(u_texture, v_texCoord);\n"
#endif #endif
@@ -202,17 +183,6 @@ static const char GLES2_Fragment_TextureBGR[] =
"}\n" "}\n"
; ;
static const char GLES2_Fragment_TexturePalette_PixelArt[] =
PALETTE_PIXELART_SHADER_PROLOGUE
"\n"
"void main()\n"
"{\n"
PALETTE_PIXELART_GETCOLOR
" gl_FragColor = color;\n"
" gl_FragColor *= v_color;\n"
"}\n"
;
static const char GLES2_Fragment_TextureABGR_PixelArt[] = static const char GLES2_Fragment_TextureABGR_PixelArt[] =
RGB_PIXELART_SHADER_PROLOGUE RGB_PIXELART_SHADER_PROLOGUE
"\n" "\n"
@@ -485,8 +455,6 @@ const char *GLES2_GetShader(GLES2_ShaderType type)
return GLES2_Fragment_TextureRGB; return GLES2_Fragment_TextureRGB;
case GLES2_SHADER_FRAGMENT_TEXTURE_BGR: case GLES2_SHADER_FRAGMENT_TEXTURE_BGR:
return GLES2_Fragment_TextureBGR; return GLES2_Fragment_TextureBGR;
case GLES2_SHADER_FRAGMENT_TEXTURE_PALETTE_PIXELART:
return GLES2_Fragment_TexturePalette_PixelArt;
case GLES2_SHADER_FRAGMENT_TEXTURE_ABGR_PIXELART: case GLES2_SHADER_FRAGMENT_TEXTURE_ABGR_PIXELART:
return GLES2_Fragment_TextureABGR_PixelArt; return GLES2_Fragment_TextureABGR_PixelArt;
case GLES2_SHADER_FRAGMENT_TEXTURE_ARGB_PIXELART: case GLES2_SHADER_FRAGMENT_TEXTURE_ARGB_PIXELART:

View File

@@ -44,7 +44,6 @@ typedef enum
GLES2_SHADER_FRAGMENT_TEXTURE_ARGB, GLES2_SHADER_FRAGMENT_TEXTURE_ARGB,
GLES2_SHADER_FRAGMENT_TEXTURE_BGR, GLES2_SHADER_FRAGMENT_TEXTURE_BGR,
GLES2_SHADER_FRAGMENT_TEXTURE_RGB, GLES2_SHADER_FRAGMENT_TEXTURE_RGB,
GLES2_SHADER_FRAGMENT_TEXTURE_PALETTE_PIXELART,
GLES2_SHADER_FRAGMENT_TEXTURE_ABGR_PIXELART, GLES2_SHADER_FRAGMENT_TEXTURE_ABGR_PIXELART,
GLES2_SHADER_FRAGMENT_TEXTURE_ARGB_PIXELART, GLES2_SHADER_FRAGMENT_TEXTURE_ARGB_PIXELART,
GLES2_SHADER_FRAGMENT_TEXTURE_BGR_PIXELART, GLES2_SHADER_FRAGMENT_TEXTURE_BGR_PIXELART,

View File

@@ -185,7 +185,6 @@ static const float TONEMAP_CHROME = 2;
static const float TEXTURETYPE_RGB = 1; static const float TEXTURETYPE_RGB = 1;
static const float TEXTURETYPE_RGB_PIXELART = 2; static const float TEXTURETYPE_RGB_PIXELART = 2;
static const float TEXTURETYPE_PALETTE = 3; static const float TEXTURETYPE_PALETTE = 3;
static const float TEXTURETYPE_PALETTE_PIXELART = 4;
static const float INPUTTYPE_UNSPECIFIED = 0; static const float INPUTTYPE_UNSPECIFIED = 0;
static const float INPUTTYPE_SRGB = 1; static const float INPUTTYPE_SRGB = 1;
@@ -3424,26 +3423,19 @@ static void VULKAN_SetupShaderConstants(SDL_Renderer *renderer, const SDL_Render
} }
if (texture->format == SDL_PIXELFORMAT_INDEX8) { if (texture->format == SDL_PIXELFORMAT_INDEX8) {
if (cmd->data.draw.texture_scale_mode == SDL_SCALEMODE_PIXELART) { constants->texture_type = TEXTURETYPE_PALETTE;
constants->texture_type = TEXTURETYPE_PALETTE_PIXELART;
} else {
constants->texture_type = TEXTURETYPE_PALETTE;
}
} else { } else {
if (cmd->data.draw.texture_scale_mode == SDL_SCALEMODE_PIXELART) { if (cmd->data.draw.texture_scale_mode == SDL_SCALEMODE_PIXELART) {
constants->texture_type = TEXTURETYPE_RGB_PIXELART; constants->texture_type = TEXTURETYPE_RGB_PIXELART;
constants->texture_width = texture->w;
constants->texture_height = texture->h;
constants->texel_width = 1.0f / constants->texture_width;
constants->texel_height = 1.0f / constants->texture_height;
} else { } else {
constants->texture_type = TEXTURETYPE_RGB; constants->texture_type = TEXTURETYPE_RGB;
} }
} }
if (cmd->data.draw.texture_scale_mode == SDL_SCALEMODE_PIXELART) {
constants->texture_width = texture->w;
constants->texture_height = texture->h;
constants->texel_width = 1.0f / constants->texture_width;
constants->texel_height = 1.0f / constants->texture_height;
}
constants->sdr_white_point = texture->SDR_white_point; constants->sdr_white_point = texture->SDR_white_point;
if (renderer->target) { if (renderer->target) {

View File

@@ -1,9 +1,9 @@
// 1113.1.1 // 1113.1.1
#pragma once #pragma once
const uint32_t VULKAN_PixelShader_Advanced[] = { const uint32_t VULKAN_PixelShader_Advanced[] = {
0x07230203,0x00010000,0x0008000b,0x00000577,0x00000000,0x00020011,0x00000001,0x0006000b, 0x07230203,0x00010000,0x0008000b,0x00000510,0x00000000,0x00020011,0x00000001,0x0006000b,
0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001, 0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001,
0x0008000f,0x00000004,0x00000004,0x6e69616d,0x00000000,0x0000023e,0x00000241,0x00000245, 0x0008000f,0x00000004,0x00000004,0x6e69616d,0x00000000,0x00000221,0x00000224,0x00000228,
0x00030010,0x00000004,0x00000007,0x00030003,0x00000005,0x000001f4,0x00040005,0x00000004, 0x00030010,0x00000004,0x00000007,0x00030003,0x00000005,0x000001f4,0x00040005,0x00000004,
0x6e69616d,0x00000000,0x00050005,0x00000079,0x736e6f43,0x746e6174,0x00000073,0x00070006, 0x6e69616d,0x00000000,0x00050005,0x00000079,0x736e6f43,0x746e6174,0x00000073,0x00070006,
0x00000079,0x00000000,0x47526373,0x756f5f42,0x74757074,0x00000000,0x00070006,0x00000079, 0x00000079,0x00000000,0x47526373,0x756f5f42,0x74757074,0x00000000,0x00070006,0x00000079,
@@ -15,8 +15,8 @@ const uint32_t VULKAN_PixelShader_Advanced[] = {
0x656e6f74,0x5f70616d,0x74636166,0x0032726f,0x00070006,0x00000079,0x00000008,0x5f726473, 0x656e6f74,0x5f70616d,0x74636166,0x0032726f,0x00070006,0x00000079,0x00000008,0x5f726473,
0x74696877,0x6f705f65,0x00746e69,0x00030005,0x0000007b,0x00000000,0x00050005,0x0000011f, 0x74696877,0x6f705f65,0x00746e69,0x00030005,0x0000007b,0x00000000,0x00050005,0x0000011f,
0x74786574,0x30657275,0x00000000,0x00050005,0x00000146,0x74786574,0x31657275,0x00000000, 0x74786574,0x30657275,0x00000000,0x00050005,0x00000146,0x74786574,0x31657275,0x00000000,
0x00050005,0x0000023e,0x75706e69,0x65742e74,0x00000078,0x00050005,0x00000241,0x75706e69, 0x00050005,0x00000221,0x75706e69,0x65742e74,0x00000078,0x00050005,0x00000224,0x75706e69,
0x6f632e74,0x00726f6c,0x00070005,0x00000245,0x746e6540,0x6f507972,0x4f746e69,0x75707475, 0x6f632e74,0x00726f6c,0x00070005,0x00000228,0x746e6540,0x6f507972,0x4f746e69,0x75707475,
0x00000074,0x00050048,0x00000079,0x00000000,0x00000023,0x00000000,0x00050048,0x00000079, 0x00000074,0x00050048,0x00000079,0x00000000,0x00000023,0x00000000,0x00050048,0x00000079,
0x00000001,0x00000023,0x00000004,0x00050048,0x00000079,0x00000002,0x00000023,0x00000008, 0x00000001,0x00000023,0x00000004,0x00050048,0x00000079,0x00000002,0x00000023,0x00000008,
0x00050048,0x00000079,0x00000003,0x00000023,0x0000000c,0x00050048,0x00000079,0x00000004, 0x00050048,0x00000079,0x00000003,0x00000023,0x0000000c,0x00050048,0x00000079,0x00000004,
@@ -26,8 +26,8 @@ const uint32_t VULKAN_PixelShader_Advanced[] = {
0x00000002,0x00040047,0x0000007b,0x00000022,0x00000000,0x00040047,0x0000007b,0x00000021, 0x00000002,0x00040047,0x0000007b,0x00000022,0x00000000,0x00040047,0x0000007b,0x00000021,
0x00000000,0x00040047,0x0000011f,0x00000022,0x00000000,0x00040047,0x0000011f,0x00000021, 0x00000000,0x00040047,0x0000011f,0x00000022,0x00000000,0x00040047,0x0000011f,0x00000021,
0x00000001,0x00040047,0x00000146,0x00000022,0x00000000,0x00040047,0x00000146,0x00000021, 0x00000001,0x00040047,0x00000146,0x00000022,0x00000000,0x00040047,0x00000146,0x00000021,
0x00000002,0x00040047,0x0000023e,0x0000001e,0x00000000,0x00040047,0x00000241,0x0000001e, 0x00000002,0x00040047,0x00000221,0x0000001e,0x00000000,0x00040047,0x00000224,0x0000001e,
0x00000001,0x00040047,0x00000245,0x0000001e,0x00000000,0x00020013,0x00000002,0x00030021, 0x00000001,0x00040047,0x00000228,0x0000001e,0x00000000,0x00020013,0x00000002,0x00030021,
0x00000003,0x00000002,0x00030016,0x00000006,0x00000020,0x00040017,0x0000000f,0x00000006, 0x00000003,0x00000002,0x00030016,0x00000006,0x00000020,0x00040017,0x0000000f,0x00000006,
0x00000003,0x00040017,0x00000018,0x00000006,0x00000004,0x00040017,0x00000019,0x00000006, 0x00000003,0x00040017,0x00000018,0x00000006,0x00000004,0x00040017,0x00000019,0x00000006,
0x00000002,0x0004002b,0x00000006,0x00000036,0x3d25aee6,0x00020014,0x00000037,0x0004002b, 0x00000002,0x0004002b,0x00000006,0x00000036,0x3d25aee6,0x00020014,0x00000037,0x0004002b,
@@ -69,277 +69,250 @@ const uint32_t VULKAN_PixelShader_Advanced[] = {
0x00000006,0x00000001,0x00000000,0x00000000,0x00000000,0x00000001,0x00000000,0x0003001b, 0x00000006,0x00000001,0x00000000,0x00000000,0x00000000,0x00000001,0x00000000,0x0003001b,
0x0000011d,0x0000011c,0x00040020,0x0000011e,0x00000000,0x0000011d,0x0004003b,0x0000011e, 0x0000011d,0x0000011c,0x00040020,0x0000011e,0x00000000,0x0000011d,0x0004003b,0x0000011e,
0x0000011f,0x00000000,0x0004002b,0x00000006,0x0000013a,0x40400000,0x0004002b,0x00000006, 0x0000011f,0x00000000,0x0004002b,0x00000006,0x0000013a,0x40400000,0x0004002b,0x00000006,
0x00000144,0x437f0000,0x0004003b,0x0000011e,0x00000146,0x00000000,0x0004002b,0x00000006, 0x00000144,0x437f0000,0x0004003b,0x0000011e,0x00000146,0x00000000,0x0004002b,0x0000007c,
0x00000151,0x40800000,0x0004002b,0x0000007c,0x00000177,0x00000003,0x0004002b,0x0000007c, 0x0000015a,0x00000003,0x0004002b,0x0000007c,0x0000016a,0x00000000,0x00040020,0x0000021c,
0x00000187,0x00000000,0x00040020,0x00000239,0x00000001,0x00000018,0x00040020,0x0000023d, 0x00000001,0x00000018,0x00040020,0x00000220,0x00000001,0x00000019,0x0004003b,0x00000220,
0x00000001,0x00000019,0x0004003b,0x0000023d,0x0000023e,0x00000001,0x0004003b,0x00000239, 0x00000221,0x00000001,0x0004003b,0x0000021c,0x00000224,0x00000001,0x00040020,0x00000227,
0x00000241,0x00000001,0x00040020,0x00000244,0x00000003,0x00000018,0x0004003b,0x00000244, 0x00000003,0x00000018,0x0004003b,0x00000227,0x00000228,0x00000003,0x0004002b,0x00000006,
0x00000245,0x00000003,0x0005002c,0x00000019,0x0000052b,0x000000fd,0x000000fd,0x0004002b, 0x000004c5,0x3b800000,0x0005002c,0x00000019,0x000004c7,0x000000fd,0x000000fd,0x0006002c,
0x00000006,0x0000052c,0x3b800000,0x0006002c,0x0000000f,0x0000052e,0x00000061,0x00000061, 0x0000000f,0x000004c8,0x00000061,0x00000061,0x00000061,0x0006002c,0x0000000f,0x000004c9,
0x00000061,0x0006002c,0x0000000f,0x0000052f,0x00000068,0x00000068,0x00000068,0x0006002c, 0x00000068,0x00000068,0x00000068,0x0006002c,0x0000000f,0x000004ce,0x00000088,0x00000088,
0x0000000f,0x00000534,0x00000088,0x00000088,0x00000088,0x0004002b,0x00000006,0x0000053a, 0x00000088,0x0004002b,0x00000006,0x000004d4,0x3f72a76f,0x0004002b,0x00000006,0x000004d5,
0x3f72a76f,0x0004002b,0x00000006,0x0000053b,0x3d9e8391,0x0007002c,0x00000018,0x0000053d, 0x3d9e8391,0x0007002c,0x00000018,0x000004d7,0x00000088,0x00000064,0x00000064,0x00000088,
0x00000088,0x00000064,0x00000064,0x00000088,0x0004002b,0x00000006,0x0000053e,0xbd6147ae, 0x0004002b,0x00000006,0x000004d8,0xbd6147ae,0x00030001,0x00000018,0x0000050f,0x00050036,
0x00030001,0x00000018,0x00000576,0x00050036,0x00000002,0x00000004,0x00000000,0x00000003, 0x00000002,0x00000004,0x00000000,0x00000003,0x000200f8,0x00000005,0x0004003d,0x00000019,
0x000200f8,0x00000005,0x0004003d,0x00000019,0x0000023f,0x0000023e,0x0004003d,0x00000018, 0x00000222,0x00000221,0x0004003d,0x00000018,0x00000225,0x00000224,0x00050041,0x0000007e,
0x00000242,0x00000241,0x00050041,0x0000007e,0x000002c5,0x0000007b,0x000000e8,0x0004003d, 0x000002a5,0x0000007b,0x000000e8,0x0004003d,0x00000006,0x000002a6,0x000002a5,0x000500b4,
0x00000006,0x000002c6,0x000002c5,0x000500b4,0x00000037,0x000002c7,0x000002c6,0x00000088, 0x00000037,0x000002a7,0x000002a6,0x00000088,0x000300f7,0x000002d5,0x00000000,0x000400fa,
0x000300f7,0x0000030e,0x00000000,0x000400fa,0x000002c7,0x000002c8,0x000002cd,0x000200f8, 0x000002a7,0x000002a8,0x000002ad,0x000200f8,0x000002a8,0x0004003d,0x0000011d,0x000002a9,
0x000002c8,0x0004003d,0x0000011d,0x000002c9,0x0000011f,0x00050057,0x00000018,0x000002cc, 0x0000011f,0x00050057,0x00000018,0x000002ac,0x000002a9,0x00000222,0x000200f9,0x000002d5,
0x000002c9,0x0000023f,0x000200f9,0x0000030e,0x000200f8,0x000002cd,0x00050041,0x0000007e, 0x000200f8,0x000002ad,0x00050041,0x0000007e,0x000002ae,0x0000007b,0x000000e8,0x0004003d,
0x000002ce,0x0000007b,0x000000e8,0x0004003d,0x00000006,0x000002cf,0x000002ce,0x000500b4, 0x00000006,0x000002af,0x000002ae,0x000500b4,0x00000037,0x000002b0,0x000002af,0x00000094,
0x00000037,0x000002d0,0x000002cf,0x00000094,0x000300f7,0x0000030d,0x00000000,0x000400fa, 0x000300f7,0x000002d4,0x00000000,0x000400fa,0x000002b0,0x000002b1,0x000002bd,0x000200f8,
0x000002d0,0x000002d1,0x000002dd,0x000200f8,0x000002d1,0x000400d1,0x00000019,0x00000318, 0x000002b1,0x000400d1,0x00000019,0x000002df,0x00000222,0x00050041,0x000000ed,0x000002e0,
0x0000023f,0x00050041,0x000000ed,0x00000319,0x0000007b,0x000000ec,0x0004003d,0x00000018, 0x0000007b,0x000000ec,0x0004003d,0x00000018,0x000002e1,0x000002e0,0x0007004f,0x00000019,
0x0000031a,0x00000319,0x0007004f,0x00000019,0x0000031b,0x0000031a,0x0000031a,0x00000002, 0x000002e2,0x000002e1,0x000002e1,0x00000002,0x00000003,0x00050085,0x00000019,0x000002e3,
0x00000003,0x00050085,0x00000019,0x0000031c,0x00000318,0x0000031b,0x0008000c,0x00000019, 0x000002df,0x000002e2,0x0008000c,0x00000019,0x000002e4,0x00000001,0x0000002b,0x000002e3,
0x0000031d,0x00000001,0x0000002b,0x0000031c,0x000000f3,0x000000f4,0x00050041,0x000000ed, 0x000000f3,0x000000f4,0x00050041,0x000000ed,0x000002e7,0x0000007b,0x000000ec,0x0004003d,
0x00000320,0x0000007b,0x000000ec,0x0004003d,0x00000018,0x00000321,0x00000320,0x0007004f, 0x00000018,0x000002e8,0x000002e7,0x0007004f,0x00000019,0x000002e9,0x000002e8,0x000002e8,
0x00000019,0x00000322,0x00000321,0x00000321,0x00000002,0x00000003,0x0005008e,0x00000019, 0x00000002,0x00000003,0x0005008e,0x00000019,0x000002ec,0x000002e4,0x000000fd,0x0004007f,
0x00000325,0x0000031d,0x000000fd,0x0004007f,0x00000019,0x0000052d,0x00000325,0x0008000c, 0x00000019,0x000004c6,0x000002ec,0x0008000c,0x00000019,0x000002ed,0x00000001,0x00000032,
0x00000019,0x00000326,0x00000001,0x00000032,0x0000023f,0x00000322,0x0000052d,0x00050083, 0x00000222,0x000002e9,0x000004c6,0x00050083,0x00000019,0x000002f0,0x000000f4,0x000002e4,
0x00000019,0x00000329,0x000000f4,0x0000031d,0x0006000c,0x00000019,0x0000032b,0x00000001, 0x0006000c,0x00000019,0x000002f2,0x00000001,0x0000000a,0x000002ed,0x0008000c,0x00000019,
0x0000000a,0x00000326,0x0008000c,0x00000019,0x0000032c,0x00000001,0x00000031,0x00000329, 0x000002f3,0x00000001,0x00000031,0x000002f0,0x000000f4,0x000002f2,0x0006000c,0x00000019,
0x000000f4,0x0000032b,0x0006000c,0x00000019,0x0000032e,0x00000001,0x00000008,0x00000326, 0x000002f5,0x00000001,0x00000008,0x000002ed,0x00050081,0x00000019,0x000002f7,0x000002f5,
0x00050081,0x00000019,0x00000330,0x0000032e,0x0000052b,0x00050081,0x00000019,0x00000332, 0x000004c7,0x00050081,0x00000019,0x000002f9,0x000002f7,0x000002f3,0x00050041,0x000000ed,
0x00000330,0x0000032c,0x00050041,0x000000ed,0x00000333,0x0000007b,0x000000ec,0x0004003d, 0x000002fa,0x0000007b,0x000000ec,0x0004003d,0x00000018,0x000002fb,0x000002fa,0x0007004f,
0x00000018,0x00000334,0x00000333,0x0007004f,0x00000019,0x00000335,0x00000334,0x00000334, 0x00000019,0x000002fc,0x000002fb,0x000002fb,0x00000000,0x00000001,0x00050085,0x00000019,
0x00000000,0x00000001,0x00050085,0x00000019,0x00000336,0x00000332,0x00000335,0x0004003d, 0x000002fd,0x000002f9,0x000002fc,0x0004003d,0x0000011d,0x000002b4,0x0000011f,0x000400cf,
0x0000011d,0x000002d4,0x0000011f,0x000400cf,0x00000019,0x000002d8,0x0000023f,0x000400d0, 0x00000019,0x000002b8,0x00000222,0x000400d0,0x00000019,0x000002bb,0x00000222,0x00080058,
0x00000019,0x000002db,0x0000023f,0x00080058,0x00000018,0x000002dc,0x000002d4,0x00000336, 0x00000018,0x000002bc,0x000002b4,0x000002fd,0x00000004,0x000002b8,0x000002bb,0x000200f9,
0x00000004,0x000002d8,0x000002db,0x000200f9,0x0000030d,0x000200f8,0x000002dd,0x00050041, 0x000002d4,0x000200f8,0x000002bd,0x00050041,0x0000007e,0x000002be,0x0000007b,0x000000e8,
0x0000007e,0x000002de,0x0000007b,0x000000e8,0x0004003d,0x00000006,0x000002df,0x000002de, 0x0004003d,0x00000006,0x000002bf,0x000002be,0x000500b4,0x00000037,0x000002c0,0x000002bf,
0x000500b4,0x00000037,0x000002e0,0x000002df,0x0000013a,0x000300f7,0x0000030c,0x00000000, 0x0000013a,0x000300f7,0x000002d3,0x00000000,0x000400fa,0x000002c0,0x000002c1,0x000002ce,
0x000400fa,0x000002e0,0x000002e1,0x000002ee,0x000200f8,0x000002e1,0x0004003d,0x0000011d, 0x000200f8,0x000002c1,0x0004003d,0x0000011d,0x000002c2,0x0000011f,0x00050057,0x00000018,
0x000002e2,0x0000011f,0x00050057,0x00000018,0x000002e5,0x000002e2,0x0000023f,0x00050051, 0x000002c5,0x000002c2,0x00000222,0x00050051,0x00000006,0x000002c6,0x000002c5,0x00000000,
0x00000006,0x000002e6,0x000002e5,0x00000000,0x0004003d,0x0000011d,0x000002e8,0x00000146, 0x0004003d,0x0000011d,0x000002c8,0x00000146,0x0008000c,0x00000006,0x000002ca,0x00000001,
0x0008000c,0x00000006,0x000002ea,0x00000001,0x00000032,0x000002e6,0x00000144,0x000000fd, 0x00000032,0x000002c6,0x00000144,0x000000fd,0x00050085,0x00000006,0x000002cb,0x000002ca,
0x00050085,0x00000006,0x000002eb,0x000002ea,0x0000052c,0x00050050,0x00000019,0x000002ec, 0x000004c5,0x00050050,0x00000019,0x000002cc,0x000002cb,0x000000fd,0x00050057,0x00000018,
0x000002eb,0x000000fd,0x00050057,0x00000018,0x000002ed,0x000002e8,0x000002ec,0x000200f9, 0x000002cd,0x000002c8,0x000002cc,0x000200f9,0x000002d3,0x000200f8,0x000002ce,0x000200f9,
0x0000030c,0x000200f8,0x000002ee,0x00050041,0x0000007e,0x000002ef,0x0000007b,0x000000e8, 0x000002d3,0x000200f8,0x000002d3,0x000700f5,0x00000018,0x000004db,0x000002cd,0x000002c1,
0x0004003d,0x00000006,0x000002f0,0x000002ef,0x000500b4,0x00000037,0x000002f1,0x000002f0, 0x000004d7,0x000002ce,0x000200f9,0x000002d4,0x000200f8,0x000002d4,0x000700f5,0x00000018,
0x00000151,0x000300f7,0x0000030b,0x00000000,0x000400fa,0x000002f1,0x000002f2,0x00000306, 0x000004da,0x000002bc,0x000002b1,0x000004db,0x000002d3,0x000200f9,0x000002d5,0x000200f8,
0x000200f8,0x000002f2,0x000400d1,0x00000019,0x00000340,0x0000023f,0x00050041,0x000000ed, 0x000002d5,0x000700f5,0x00000018,0x000004d9,0x000002ac,0x000002a8,0x000004da,0x000002d4,
0x00000341,0x0000007b,0x000000ec,0x0004003d,0x00000018,0x00000342,0x00000341,0x0007004f, 0x00050041,0x0000007e,0x0000023e,0x0000007b,0x00000098,0x0004003d,0x00000006,0x0000023f,
0x00000019,0x00000343,0x00000342,0x00000342,0x00000002,0x00000003,0x00050085,0x00000019, 0x0000023e,0x000500b4,0x00000037,0x00000240,0x0000023f,0x0000013a,0x000300f7,0x0000024b,
0x00000344,0x00000340,0x00000343,0x0008000c,0x00000019,0x00000345,0x00000001,0x0000002b, 0x00000000,0x000400fa,0x00000240,0x00000241,0x0000024b,0x000200f8,0x00000241,0x0008004f,
0x00000344,0x000000f3,0x000000f4,0x00050041,0x000000ed,0x00000348,0x0000007b,0x000000ec, 0x0000000f,0x00000243,0x000004d9,0x000004d9,0x00000000,0x00000001,0x00000002,0x0006000c,
0x0004003d,0x00000018,0x00000349,0x00000348,0x0007004f,0x00000019,0x0000034a,0x00000349, 0x0000000f,0x00000304,0x00000001,0x00000004,0x00000243,0x0007000c,0x0000000f,0x00000305,
0x00000349,0x00000002,0x00000003,0x0005008e,0x00000019,0x0000034d,0x00000345,0x000000fd, 0x00000001,0x0000001a,0x00000304,0x0000005f,0x00050083,0x0000000f,0x00000307,0x00000305,
0x0004007f,0x00000019,0x0000052a,0x0000034d,0x0008000c,0x00000019,0x0000034e,0x00000001, 0x000004c8,0x0007000c,0x0000000f,0x00000308,0x00000001,0x00000028,0x00000307,0x00000065,
0x00000032,0x0000023f,0x0000034a,0x0000052a,0x00050083,0x00000019,0x00000351,0x000000f4, 0x0006000c,0x0000000f,0x0000030a,0x00000001,0x00000004,0x00000243,0x0007000c,0x0000000f,
0x00000345,0x0006000c,0x00000019,0x00000353,0x00000001,0x0000000a,0x0000034e,0x0008000c, 0x0000030b,0x00000001,0x0000001a,0x0000030a,0x0000005f,0x0005008e,0x0000000f,0x0000030c,
0x00000019,0x00000354,0x00000001,0x00000031,0x00000351,0x000000f4,0x00000353,0x0006000c, 0x0000030b,0x00000069,0x00050083,0x0000000f,0x0000030e,0x000004c9,0x0000030c,0x00050088,
0x00000019,0x00000356,0x00000001,0x00000008,0x0000034e,0x00050081,0x00000019,0x00000358, 0x0000000f,0x00000311,0x00000308,0x0000030e,0x0006000c,0x0000000f,0x00000312,0x00000001,
0x00000356,0x0000052b,0x00050081,0x00000019,0x0000035a,0x00000358,0x00000354,0x00050041, 0x00000004,0x00000311,0x0007000c,0x0000000f,0x00000313,0x00000001,0x0000001a,0x00000312,
0x000000ed,0x0000035b,0x0000007b,0x000000ec,0x0004003d,0x00000018,0x0000035c,0x0000035b, 0x00000076,0x0005008e,0x0000000f,0x00000314,0x00000313,0x00000070,0x00050041,0x0000007e,
0x0007004f,0x00000019,0x0000035d,0x0000035c,0x0000035c,0x00000000,0x00000001,0x00050085, 0x00000315,0x0000007b,0x0000007d,0x0004003d,0x00000006,0x00000316,0x00000315,0x00060050,
0x00000019,0x0000035e,0x0000035a,0x0000035d,0x0004003d,0x0000011d,0x000002f5,0x0000011f, 0x0000000f,0x00000317,0x00000316,0x00000316,0x00000316,0x00050088,0x0000000f,0x00000318,
0x000400cf,0x00000019,0x000002f9,0x0000023f,0x000400d0,0x00000019,0x000002fc,0x0000023f, 0x00000314,0x00000317,0x00050051,0x00000006,0x00000246,0x00000318,0x00000000,0x00060052,
0x00080058,0x00000018,0x000002fd,0x000002f5,0x0000035e,0x00000004,0x000002f9,0x000002fc, 0x00000018,0x00000471,0x00000246,0x000004d9,0x00000000,0x00050051,0x00000006,0x00000248,
0x00050051,0x00000006,0x000002fe,0x000002fd,0x00000000,0x0004003d,0x0000011d,0x00000300, 0x00000318,0x00000001,0x00060052,0x00000018,0x00000473,0x00000248,0x00000471,0x00000001,
0x00000146,0x0008000c,0x00000006,0x00000302,0x00000001,0x00000032,0x000002fe,0x00000144, 0x00050051,0x00000006,0x0000024a,0x00000318,0x00000002,0x00060052,0x00000018,0x00000475,
0x000000fd,0x00050085,0x00000006,0x00000303,0x00000302,0x0000052c,0x00050050,0x00000019, 0x0000024a,0x00000473,0x00000002,0x000200f9,0x0000024b,0x000200f8,0x0000024b,0x000700f5,
0x00000304,0x00000303,0x000000fd,0x00050057,0x00000018,0x00000305,0x00000300,0x00000304, 0x00000018,0x000004dc,0x000004d9,0x000002d5,0x00000475,0x00000241,0x00050041,0x0000007e,
0x000200f9,0x0000030b,0x000200f8,0x00000306,0x000200f9,0x0000030b,0x000200f8,0x0000030b, 0x0000024c,0x0000007b,0x00000085,0x0004003d,0x00000006,0x0000024d,0x0000024c,0x000500b7,
0x000700f5,0x00000018,0x00000542,0x00000305,0x000002f2,0x0000053d,0x00000306,0x000200f9, 0x00000037,0x0000024e,0x0000024d,0x00000064,0x000300f7,0x00000259,0x00000000,0x000400fa,
0x0000030c,0x000200f8,0x0000030c,0x000700f5,0x00000018,0x00000541,0x000002ed,0x000002e1, 0x0000024e,0x0000024f,0x00000259,0x000200f8,0x0000024f,0x0008004f,0x0000000f,0x00000251,
0x00000542,0x0000030b,0x000200f9,0x0000030d,0x000200f8,0x0000030d,0x000700f5,0x00000018, 0x000004dc,0x000004dc,0x00000000,0x00000001,0x00000002,0x00050041,0x0000007e,0x0000031d,
0x00000540,0x000002dc,0x000002d1,0x00000541,0x0000030c,0x000200f9,0x0000030e,0x000200f8, 0x0000007b,0x00000085,0x0004003d,0x00000006,0x0000031e,0x0000031d,0x000500b4,0x00000037,
0x0000030e,0x000700f5,0x00000018,0x0000053f,0x000002cc,0x000002c8,0x00000540,0x0000030d, 0x0000031f,0x0000031e,0x00000088,0x000300f7,0x00000353,0x00000000,0x000400fa,0x0000031f,
0x00050041,0x0000007e,0x0000025b,0x0000007b,0x00000098,0x0004003d,0x00000006,0x0000025c, 0x00000320,0x00000325,0x000200f8,0x00000320,0x00050041,0x0000007e,0x00000321,0x0000007b,
0x0000025b,0x000500b4,0x00000037,0x0000025d,0x0000025c,0x0000013a,0x000300f7,0x00000268, 0x0000008c,0x0004003d,0x00000006,0x00000322,0x00000321,0x0005008e,0x0000000f,0x00000324,
0x00000000,0x000400fa,0x0000025d,0x0000025e,0x00000268,0x000200f8,0x0000025e,0x0008004f, 0x00000251,0x00000322,0x000200f9,0x00000353,0x000200f8,0x00000325,0x00050041,0x0000007e,
0x0000000f,0x00000260,0x0000053f,0x0000053f,0x00000000,0x00000001,0x00000002,0x0006000c, 0x00000326,0x0000007b,0x00000085,0x0004003d,0x00000006,0x00000327,0x00000326,0x000500b4,
0x0000000f,0x00000365,0x00000001,0x00000004,0x00000260,0x0007000c,0x0000000f,0x00000366, 0x00000037,0x00000328,0x00000327,0x00000094,0x000300f7,0x00000352,0x00000000,0x000400fa,
0x00000001,0x0000001a,0x00000365,0x0000005f,0x00050083,0x0000000f,0x00000368,0x00000366, 0x00000328,0x00000329,0x00000352,0x000200f8,0x00000329,0x00050041,0x0000007e,0x0000032a,
0x0000052e,0x0007000c,0x0000000f,0x00000369,0x00000001,0x00000028,0x00000368,0x00000065, 0x0000007b,0x00000098,0x0004003d,0x00000006,0x0000032b,0x0000032a,0x000500b4,0x00000037,
0x0006000c,0x0000000f,0x0000036b,0x00000001,0x00000004,0x00000260,0x0007000c,0x0000000f, 0x0000032c,0x0000032b,0x00000094,0x000300f7,0x00000330,0x00000000,0x000400fa,0x0000032c,
0x0000036c,0x00000001,0x0000001a,0x0000036b,0x0000005f,0x0005008e,0x0000000f,0x0000036d, 0x0000032d,0x00000330,0x000200f8,0x0000032d,0x00050090,0x0000000f,0x0000032f,0x00000251,
0x0000036c,0x00000069,0x00050083,0x0000000f,0x0000036f,0x0000052f,0x0000036d,0x00050088, 0x000000ac,0x000200f9,0x00000330,0x000200f8,0x00000330,0x000700f5,0x0000000f,0x000004dd,
0x0000000f,0x00000372,0x00000369,0x0000036f,0x0006000c,0x0000000f,0x00000373,0x00000001, 0x00000251,0x00000329,0x0000032f,0x0000032d,0x00050051,0x00000006,0x00000332,0x000004dd,
0x00000004,0x00000372,0x0007000c,0x0000000f,0x00000374,0x00000001,0x0000001a,0x00000373, 0x00000000,0x00050051,0x00000006,0x00000334,0x000004dd,0x00000001,0x00050051,0x00000006,
0x00000076,0x0005008e,0x0000000f,0x00000375,0x00000374,0x00000070,0x00050041,0x0000007e, 0x00000336,0x000004dd,0x00000002,0x0007000c,0x00000006,0x00000337,0x00000001,0x00000028,
0x00000376,0x0000007b,0x0000007d,0x0004003d,0x00000006,0x00000377,0x00000376,0x00060050, 0x00000334,0x00000336,0x0007000c,0x00000006,0x00000338,0x00000001,0x00000028,0x00000332,
0x0000000f,0x00000378,0x00000377,0x00000377,0x00000377,0x00050088,0x0000000f,0x00000379, 0x00000337,0x000500ba,0x00000037,0x0000033a,0x00000338,0x00000064,0x000300f7,0x0000034a,
0x00000375,0x00000378,0x00050051,0x00000006,0x00000263,0x00000379,0x00000000,0x00060052, 0x00000000,0x000400fa,0x0000033a,0x0000033b,0x0000034a,0x000200f8,0x0000033b,0x00050041,
0x00000018,0x000004d6,0x00000263,0x0000053f,0x00000000,0x00050051,0x00000006,0x00000265, 0x0000007e,0x0000033c,0x0000007b,0x0000008c,0x0004003d,0x00000006,0x0000033d,0x0000033c,
0x00000379,0x00000001,0x00060052,0x00000018,0x000004d8,0x00000265,0x000004d6,0x00000001, 0x0008000c,0x00000006,0x00000340,0x00000001,0x00000032,0x0000033d,0x00000338,0x00000088,
0x00050051,0x00000006,0x00000267,0x00000379,0x00000002,0x00060052,0x00000018,0x000004da, 0x00050041,0x0000007e,0x00000341,0x0000007b,0x000000c5,0x0004003d,0x00000006,0x00000342,
0x00000267,0x000004d8,0x00000002,0x000200f9,0x00000268,0x000200f8,0x00000268,0x000700f5, 0x00000341,0x0008000c,0x00000006,0x00000345,0x00000001,0x00000032,0x00000342,0x00000338,
0x00000018,0x00000543,0x0000053f,0x0000030e,0x000004da,0x0000025e,0x00050041,0x0000007e, 0x00000088,0x00050088,0x00000006,0x00000346,0x00000340,0x00000345,0x0005008e,0x0000000f,
0x00000269,0x0000007b,0x00000085,0x0004003d,0x00000006,0x0000026a,0x00000269,0x000500b7, 0x00000349,0x000004dd,0x00000346,0x000200f9,0x0000034a,0x000200f8,0x0000034a,0x000700f5,
0x00000037,0x0000026b,0x0000026a,0x00000064,0x000300f7,0x00000276,0x00000000,0x000400fa, 0x0000000f,0x000004de,0x000004dd,0x00000330,0x00000349,0x0000033b,0x00050041,0x0000007e,
0x0000026b,0x0000026c,0x00000276,0x000200f8,0x0000026c,0x0008004f,0x0000000f,0x0000026e, 0x0000034b,0x0000007b,0x00000098,0x0004003d,0x00000006,0x0000034c,0x0000034b,0x000500b4,
0x00000543,0x00000543,0x00000000,0x00000001,0x00000002,0x00050041,0x0000007e,0x0000037e, 0x00000037,0x0000034d,0x0000034c,0x00000094,0x000300f7,0x00000351,0x00000000,0x000400fa,
0x0000007b,0x00000085,0x0004003d,0x00000006,0x0000037f,0x0000037e,0x000500b4,0x00000037, 0x0000034d,0x0000034e,0x00000351,0x000200f8,0x0000034e,0x00050090,0x0000000f,0x00000350,
0x00000380,0x0000037f,0x00000088,0x000300f7,0x000003b4,0x00000000,0x000400fa,0x00000380, 0x000004de,0x000000e1,0x000200f9,0x00000351,0x000200f8,0x00000351,0x000700f5,0x0000000f,
0x00000381,0x00000386,0x000200f8,0x00000381,0x00050041,0x0000007e,0x00000382,0x0000007b, 0x000004e1,0x000004de,0x0000034a,0x00000350,0x0000034e,0x000200f9,0x00000352,0x000200f8,
0x0000008c,0x0004003d,0x00000006,0x00000383,0x00000382,0x0005008e,0x0000000f,0x00000385, 0x00000352,0x000700f5,0x0000000f,0x000004e0,0x00000251,0x00000325,0x000004e1,0x00000351,
0x0000026e,0x00000383,0x000200f9,0x000003b4,0x000200f8,0x00000386,0x00050041,0x0000007e, 0x000200f9,0x00000353,0x000200f8,0x00000353,0x000700f5,0x0000000f,0x000004df,0x00000324,
0x00000387,0x0000007b,0x00000085,0x0004003d,0x00000006,0x00000388,0x00000387,0x000500b4, 0x00000320,0x000004e0,0x00000352,0x00050051,0x00000006,0x00000254,0x000004df,0x00000000,
0x00000037,0x00000389,0x00000388,0x00000094,0x000300f7,0x000003b3,0x00000000,0x000400fa, 0x00060052,0x00000018,0x0000047a,0x00000254,0x000004dc,0x00000000,0x00050051,0x00000006,
0x00000389,0x0000038a,0x000003b3,0x000200f8,0x0000038a,0x00050041,0x0000007e,0x0000038b, 0x00000256,0x000004df,0x00000001,0x00060052,0x00000018,0x0000047c,0x00000256,0x0000047a,
0x0000007b,0x00000098,0x0004003d,0x00000006,0x0000038c,0x0000038b,0x000500b4,0x00000037, 0x00000001,0x00050051,0x00000006,0x00000258,0x000004df,0x00000002,0x00060052,0x00000018,
0x0000038d,0x0000038c,0x00000094,0x000300f7,0x00000391,0x00000000,0x000400fa,0x0000038d, 0x0000047e,0x00000258,0x0000047c,0x00000002,0x000200f9,0x00000259,0x000200f8,0x00000259,
0x0000038e,0x00000391,0x000200f8,0x0000038e,0x00050090,0x0000000f,0x00000390,0x0000026e, 0x000700f5,0x00000018,0x000004e7,0x000004dc,0x0000024b,0x0000047e,0x00000353,0x00050041,
0x000000ac,0x000200f9,0x00000391,0x000200f8,0x00000391,0x000700f5,0x0000000f,0x00000544, 0x0000007e,0x0000025a,0x0000007b,0x00000098,0x0004003d,0x00000006,0x0000025b,0x0000025a,
0x0000026e,0x0000038a,0x00000390,0x0000038e,0x00050051,0x00000006,0x00000393,0x00000544, 0x000500b4,0x00000037,0x0000025c,0x0000025b,0x00000088,0x000300f7,0x0000029a,0x00000000,
0x00000000,0x00050051,0x00000006,0x00000395,0x00000544,0x00000001,0x00050051,0x00000006, 0x000400fa,0x0000025c,0x0000025d,0x0000026a,0x000200f8,0x0000025d,0x0008004f,0x0000000f,
0x00000397,0x00000544,0x00000002,0x0007000c,0x00000006,0x00000398,0x00000001,0x00000028, 0x0000025f,0x000004e7,0x000004e7,0x00000000,0x00000001,0x00000002,0x00050041,0x0000007e,
0x00000395,0x00000397,0x0007000c,0x00000006,0x00000399,0x00000001,0x00000028,0x00000393, 0x0000035b,0x0000007b,0x0000016a,0x0004003d,0x00000006,0x0000035c,0x0000035b,0x000500b7,
0x00000398,0x000500ba,0x00000037,0x0000039b,0x00000399,0x00000064,0x000300f7,0x000003ab, 0x00000037,0x0000035d,0x0000035c,0x00000064,0x000300f7,0x0000036b,0x00000000,0x000400fa,
0x00000000,0x000400fa,0x0000039b,0x0000039c,0x000003ab,0x000200f8,0x0000039c,0x00050041, 0x0000035d,0x0000035e,0x0000036b,0x000200f8,0x0000035e,0x00050051,0x00000006,0x00000360,
0x0000007e,0x0000039d,0x0000007b,0x0000008c,0x0004003d,0x00000006,0x0000039e,0x0000039d, 0x000004e7,0x00000000,0x000500bc,0x00000037,0x00000374,0x00000360,0x00000036,0x000300f7,
0x0008000c,0x00000006,0x000003a1,0x00000001,0x00000032,0x0000039e,0x00000399,0x00000088, 0x0000037e,0x00000000,0x000400fa,0x00000374,0x00000375,0x00000378,0x000200f8,0x00000375,
0x00050041,0x0000007e,0x000003a2,0x0000007b,0x000000c5,0x0004003d,0x00000006,0x000003a3, 0x00050085,0x00000006,0x00000377,0x00000360,0x000004d5,0x000200f9,0x0000037e,0x000200f8,
0x000003a2,0x0008000c,0x00000006,0x000003a6,0x00000001,0x00000032,0x000003a3,0x00000399, 0x00000378,0x00050081,0x00000006,0x0000037a,0x00000360,0x00000040,0x0006000c,0x00000006,
0x00000088,0x00050088,0x00000006,0x000003a7,0x000003a1,0x000003a6,0x0005008e,0x0000000f, 0x0000037b,0x00000001,0x00000004,0x0000037a,0x00050085,0x00000006,0x0000037c,0x0000037b,
0x000003aa,0x00000544,0x000003a7,0x000200f9,0x000003ab,0x000200f8,0x000003ab,0x000700f5, 0x000004d4,0x0007000c,0x00000006,0x0000037d,0x00000001,0x0000001a,0x0000037c,0x00000045,
0x0000000f,0x00000545,0x00000544,0x00000391,0x000003aa,0x0000039c,0x00050041,0x0000007e, 0x000200f9,0x0000037e,0x000200f8,0x0000037e,0x000700f5,0x00000006,0x000004fe,0x00000377,
0x000003ac,0x0000007b,0x00000098,0x0004003d,0x00000006,0x000003ad,0x000003ac,0x000500b4, 0x00000375,0x0000037d,0x00000378,0x00050051,0x00000006,0x00000364,0x000004e7,0x00000001,
0x00000037,0x000003ae,0x000003ad,0x00000094,0x000300f7,0x000003b2,0x00000000,0x000400fa, 0x000500bc,0x00000037,0x00000383,0x00000364,0x00000036,0x000300f7,0x0000038d,0x00000000,
0x000003ae,0x000003af,0x000003b2,0x000200f8,0x000003af,0x00050090,0x0000000f,0x000003b1, 0x000400fa,0x00000383,0x00000384,0x00000387,0x000200f8,0x00000384,0x00050085,0x00000006,
0x00000545,0x000000e1,0x000200f9,0x000003b2,0x000200f8,0x000003b2,0x000700f5,0x0000000f, 0x00000386,0x00000364,0x000004d5,0x000200f9,0x0000038d,0x000200f8,0x00000387,0x00050081,
0x00000548,0x00000545,0x000003ab,0x000003b1,0x000003af,0x000200f9,0x000003b3,0x000200f8, 0x00000006,0x00000389,0x00000364,0x00000040,0x0006000c,0x00000006,0x0000038a,0x00000001,
0x000003b3,0x000700f5,0x0000000f,0x00000547,0x0000026e,0x00000386,0x00000548,0x000003b2, 0x00000004,0x00000389,0x00050085,0x00000006,0x0000038b,0x0000038a,0x000004d4,0x0007000c,
0x000200f9,0x000003b4,0x000200f8,0x000003b4,0x000700f5,0x0000000f,0x00000546,0x00000385, 0x00000006,0x0000038c,0x00000001,0x0000001a,0x0000038b,0x00000045,0x000200f9,0x0000038d,
0x00000381,0x00000547,0x000003b3,0x00050051,0x00000006,0x00000271,0x00000546,0x00000000, 0x000200f8,0x0000038d,0x000700f5,0x00000006,0x00000500,0x00000386,0x00000384,0x0000038c,
0x00060052,0x00000018,0x000004df,0x00000271,0x00000543,0x00000000,0x00050051,0x00000006, 0x00000387,0x00050051,0x00000006,0x00000368,0x000004e7,0x00000002,0x000500bc,0x00000037,
0x00000273,0x00000546,0x00000001,0x00060052,0x00000018,0x000004e1,0x00000273,0x000004df, 0x00000392,0x00000368,0x00000036,0x000300f7,0x0000039c,0x00000000,0x000400fa,0x00000392,
0x00000001,0x00050051,0x00000006,0x00000275,0x00000546,0x00000002,0x00060052,0x00000018, 0x00000393,0x00000396,0x000200f8,0x00000393,0x00050085,0x00000006,0x00000395,0x00000368,
0x000004e3,0x00000275,0x000004e1,0x00000002,0x000200f9,0x00000276,0x000200f8,0x00000276, 0x000004d5,0x000200f9,0x0000039c,0x000200f8,0x00000396,0x00050081,0x00000006,0x00000398,
0x000700f5,0x00000018,0x0000054e,0x00000543,0x00000268,0x000004e3,0x000003b4,0x00050041, 0x00000368,0x00000040,0x0006000c,0x00000006,0x00000399,0x00000001,0x00000004,0x00000398,
0x0000007e,0x00000277,0x0000007b,0x00000098,0x0004003d,0x00000006,0x00000278,0x00000277, 0x00050085,0x00000006,0x0000039a,0x00000399,0x000004d4,0x0007000c,0x00000006,0x0000039b,
0x000500b4,0x00000037,0x00000279,0x00000278,0x00000088,0x000300f7,0x000002b7,0x00000000, 0x00000001,0x0000001a,0x0000039a,0x00000045,0x000200f9,0x0000039c,0x000200f8,0x0000039c,
0x000400fa,0x00000279,0x0000027a,0x00000287,0x000200f8,0x0000027a,0x0008004f,0x0000000f, 0x000700f5,0x00000006,0x00000502,0x00000395,0x00000393,0x0000039b,0x00000396,0x00060050,
0x0000027c,0x0000054e,0x0000054e,0x00000000,0x00000001,0x00000002,0x00050041,0x0000007e, 0x0000000f,0x0000050e,0x000004fe,0x00000500,0x00000502,0x000200f9,0x0000036b,0x000200f8,
0x000003bc,0x0000007b,0x00000187,0x0004003d,0x00000006,0x000003bd,0x000003bc,0x000500b7, 0x0000036b,0x000700f5,0x0000000f,0x00000504,0x0000025f,0x0000025d,0x0000050e,0x0000039c,
0x00000037,0x000003be,0x000003bd,0x00000064,0x000300f7,0x000003cc,0x00000000,0x000400fa, 0x00050041,0x0000007e,0x0000036d,0x0000007b,0x0000015a,0x0004003d,0x00000006,0x0000036e,
0x000003be,0x000003bf,0x000003cc,0x000200f8,0x000003bf,0x00050051,0x00000006,0x000003c1, 0x0000036d,0x0005008e,0x0000000f,0x0000036f,0x00000504,0x0000036e,0x00050051,0x00000006,
0x0000054e,0x00000000,0x000500bc,0x00000037,0x000003d5,0x000003c1,0x00000036,0x000300f7, 0x00000262,0x0000036f,0x00000000,0x00050051,0x00000006,0x00000264,0x0000036f,0x00000001,
0x000003df,0x00000000,0x000400fa,0x000003d5,0x000003d6,0x000003d9,0x000200f8,0x000003d6, 0x00050051,0x00000006,0x00000266,0x0000036f,0x00000002,0x00050051,0x00000006,0x00000268,
0x00050085,0x00000006,0x000003d8,0x000003c1,0x0000053b,0x000200f9,0x000003df,0x000200f8, 0x000004e7,0x00000003,0x00070050,0x00000018,0x000004d6,0x00000262,0x00000264,0x00000266,
0x000003d9,0x00050081,0x00000006,0x000003db,0x000003c1,0x00000040,0x0006000c,0x00000006, 0x00000268,0x000200f9,0x0000029a,0x000200f8,0x0000026a,0x00050041,0x0000007e,0x0000026b,
0x000003dc,0x00000001,0x00000004,0x000003db,0x00050085,0x00000006,0x000003dd,0x000003dc, 0x0000007b,0x00000098,0x0004003d,0x00000006,0x0000026c,0x0000026b,0x000500b4,0x00000037,
0x0000053a,0x0007000c,0x00000006,0x000003de,0x00000001,0x0000001a,0x000003dd,0x00000045, 0x0000026d,0x0000026c,0x00000094,0x000300f7,0x00000299,0x00000000,0x000400fa,0x0000026d,
0x000200f9,0x000003df,0x000200f8,0x000003df,0x000700f5,0x00000006,0x00000565,0x000003d8, 0x0000026e,0x0000027b,0x000200f8,0x0000026e,0x0008004f,0x0000000f,0x00000270,0x000004e7,
0x000003d6,0x000003de,0x000003d9,0x00050051,0x00000006,0x000003c5,0x0000054e,0x00000001, 0x000004e7,0x00000000,0x00000001,0x00000002,0x00050041,0x0000007e,0x000003a5,0x0000007b,
0x000500bc,0x00000037,0x000003e4,0x000003c5,0x00000036,0x000300f7,0x000003ee,0x00000000, 0x0000015a,0x0004003d,0x00000006,0x000003a6,0x000003a5,0x0005008e,0x0000000f,0x000003a7,
0x000400fa,0x000003e4,0x000003e5,0x000003e8,0x000200f8,0x000003e5,0x00050085,0x00000006, 0x00000270,0x000003a6,0x00050041,0x0000007e,0x000003a8,0x0000007b,0x0000016a,0x0004003d,
0x000003e7,0x000003c5,0x0000053b,0x000200f9,0x000003ee,0x000200f8,0x000003e8,0x00050081, 0x00000006,0x000003a9,0x000003a8,0x000500b7,0x00000037,0x000003aa,0x000003a9,0x00000064,
0x00000006,0x000003ea,0x000003c5,0x00000040,0x0006000c,0x00000006,0x000003eb,0x00000001, 0x000400a8,0x00000037,0x000003ab,0x000003aa,0x000300f7,0x000003bd,0x00000000,0x000400fa,
0x00000004,0x000003ea,0x00050085,0x00000006,0x000003ec,0x000003eb,0x0000053a,0x0007000c, 0x000003ab,0x000003ac,0x000003bd,0x000200f8,0x000003ac,0x00050051,0x00000006,0x000003ae,
0x00000006,0x000003ed,0x00000001,0x0000001a,0x000003ec,0x00000045,0x000200f9,0x000003ee, 0x000003a7,0x00000000,0x000500bc,0x00000037,0x000003c2,0x000003ae,0x0000004b,0x000300f7,
0x000200f8,0x000003ee,0x000700f5,0x00000006,0x00000567,0x000003e7,0x000003e5,0x000003ed, 0x000003cc,0x00000000,0x000400fa,0x000003c2,0x000003c3,0x000003c6,0x000200f8,0x000003c3,
0x000003e8,0x00050051,0x00000006,0x000003c9,0x0000054e,0x00000002,0x000500bc,0x00000037, 0x00050085,0x00000006,0x000003c5,0x000003ae,0x0000003c,0x000200f9,0x000003cc,0x000200f8,
0x000003f3,0x000003c9,0x00000036,0x000300f7,0x000003fd,0x00000000,0x000400fa,0x000003f3, 0x000003c6,0x0006000c,0x00000006,0x000003c8,0x00000001,0x00000004,0x000003ae,0x0007000c,
0x000003f4,0x000003f7,0x000200f8,0x000003f4,0x00050085,0x00000006,0x000003f6,0x000003c9, 0x00000006,0x000003c9,0x00000001,0x0000001a,0x000003c8,0x00000054,0x0008000c,0x00000006,
0x0000053b,0x000200f9,0x000003fd,0x000200f8,0x000003f7,0x00050081,0x00000006,0x000003f9, 0x000003cb,0x00000001,0x00000032,0x000003c9,0x00000043,0x000004d8,0x000200f9,0x000003cc,
0x000003c9,0x00000040,0x0006000c,0x00000006,0x000003fa,0x00000001,0x00000004,0x000003f9, 0x000200f8,0x000003cc,0x000700f5,0x00000006,0x000004f3,0x000003c5,0x000003c3,0x000003cb,
0x00050085,0x00000006,0x000003fb,0x000003fa,0x0000053a,0x0007000c,0x00000006,0x000003fc, 0x000003c6,0x00050051,0x00000006,0x000003b2,0x000003a7,0x00000001,0x000500bc,0x00000037,
0x00000001,0x0000001a,0x000003fb,0x00000045,0x000200f9,0x000003fd,0x000200f8,0x000003fd, 0x000003d1,0x000003b2,0x0000004b,0x000300f7,0x000003db,0x00000000,0x000400fa,0x000003d1,
0x000700f5,0x00000006,0x00000569,0x000003f6,0x000003f4,0x000003fc,0x000003f7,0x00060050, 0x000003d2,0x000003d5,0x000200f8,0x000003d2,0x00050085,0x00000006,0x000003d4,0x000003b2,
0x0000000f,0x00000575,0x00000565,0x00000567,0x00000569,0x000200f9,0x000003cc,0x000200f8, 0x0000003c,0x000200f9,0x000003db,0x000200f8,0x000003d5,0x0006000c,0x00000006,0x000003d7,
0x000003cc,0x000700f5,0x0000000f,0x0000056b,0x0000027c,0x0000027a,0x00000575,0x000003fd, 0x00000001,0x00000004,0x000003b2,0x0007000c,0x00000006,0x000003d8,0x00000001,0x0000001a,
0x00050041,0x0000007e,0x000003ce,0x0000007b,0x00000177,0x0004003d,0x00000006,0x000003cf, 0x000003d7,0x00000054,0x0008000c,0x00000006,0x000003da,0x00000001,0x00000032,0x000003d8,
0x000003ce,0x0005008e,0x0000000f,0x000003d0,0x0000056b,0x000003cf,0x00050051,0x00000006, 0x00000043,0x000004d8,0x000200f9,0x000003db,0x000200f8,0x000003db,0x000700f5,0x00000006,
0x0000027f,0x000003d0,0x00000000,0x00050051,0x00000006,0x00000281,0x000003d0,0x00000001, 0x000004f5,0x000003d4,0x000003d2,0x000003da,0x000003d5,0x00050051,0x00000006,0x000003b6,
0x00050051,0x00000006,0x00000283,0x000003d0,0x00000002,0x00050051,0x00000006,0x00000285, 0x000003a7,0x00000002,0x000500bc,0x00000037,0x000003e0,0x000003b6,0x0000004b,0x000300f7,
0x0000054e,0x00000003,0x00070050,0x00000018,0x0000053c,0x0000027f,0x00000281,0x00000283, 0x000003ea,0x00000000,0x000400fa,0x000003e0,0x000003e1,0x000003e4,0x000200f8,0x000003e1,
0x00000285,0x000200f9,0x000002b7,0x000200f8,0x00000287,0x00050041,0x0000007e,0x00000288, 0x00050085,0x00000006,0x000003e3,0x000003b6,0x0000003c,0x000200f9,0x000003ea,0x000200f8,
0x0000007b,0x00000098,0x0004003d,0x00000006,0x00000289,0x00000288,0x000500b4,0x00000037, 0x000003e4,0x0006000c,0x00000006,0x000003e6,0x00000001,0x00000004,0x000003b6,0x0007000c,
0x0000028a,0x00000289,0x00000094,0x000300f7,0x000002b6,0x00000000,0x000400fa,0x0000028a, 0x00000006,0x000003e7,0x00000001,0x0000001a,0x000003e6,0x00000054,0x0008000c,0x00000006,
0x0000028b,0x00000298,0x000200f8,0x0000028b,0x0008004f,0x0000000f,0x0000028d,0x0000054e, 0x000003e9,0x00000001,0x00000032,0x000003e7,0x00000043,0x000004d8,0x000200f9,0x000003ea,
0x0000054e,0x00000000,0x00000001,0x00000002,0x00050041,0x0000007e,0x00000406,0x0000007b, 0x000200f8,0x000003ea,0x000700f5,0x00000006,0x000004f7,0x000003e3,0x000003e1,0x000003e9,
0x00000177,0x0004003d,0x00000006,0x00000407,0x00000406,0x0005008e,0x0000000f,0x00000408, 0x000003e4,0x00060050,0x0000000f,0x0000050d,0x000004f3,0x000004f5,0x000004f7,0x0008000c,
0x0000028d,0x00000407,0x00050041,0x0000007e,0x00000409,0x0000007b,0x00000187,0x0004003d, 0x0000000f,0x000003bc,0x00000001,0x0000002b,0x0000050d,0x00000065,0x000004ce,0x000200f9,
0x00000006,0x0000040a,0x00000409,0x000500b7,0x00000037,0x0000040b,0x0000040a,0x00000064, 0x000003bd,0x000200f8,0x000003bd,0x000700f5,0x0000000f,0x000004f9,0x000003a7,0x0000026e,
0x000400a8,0x00000037,0x0000040c,0x0000040b,0x000300f7,0x0000041e,0x00000000,0x000400fa, 0x000003bc,0x000003ea,0x00050051,0x00000006,0x00000273,0x000004f9,0x00000000,0x00050051,
0x0000040c,0x0000040d,0x0000041e,0x000200f8,0x0000040d,0x00050051,0x00000006,0x0000040f, 0x00000006,0x00000275,0x000004f9,0x00000001,0x00050051,0x00000006,0x00000277,0x000004f9,
0x00000408,0x00000000,0x000500bc,0x00000037,0x00000423,0x0000040f,0x0000004b,0x000300f7, 0x00000002,0x00050051,0x00000006,0x00000279,0x000004e7,0x00000003,0x00070050,0x00000018,
0x0000042d,0x00000000,0x000400fa,0x00000423,0x00000424,0x00000427,0x000200f8,0x00000424, 0x000004d3,0x00000273,0x00000275,0x00000277,0x00000279,0x000200f9,0x00000299,0x000200f8,
0x00050085,0x00000006,0x00000426,0x0000040f,0x0000003c,0x000200f9,0x0000042d,0x000200f8, 0x0000027b,0x00050041,0x0000007e,0x0000027c,0x0000007b,0x00000098,0x0004003d,0x00000006,
0x00000427,0x0006000c,0x00000006,0x00000429,0x00000001,0x00000004,0x0000040f,0x0007000c, 0x0000027d,0x0000027c,0x000500b4,0x00000037,0x0000027e,0x0000027d,0x0000013a,0x000300f7,
0x00000006,0x0000042a,0x00000001,0x0000001a,0x00000429,0x00000054,0x0008000c,0x00000006, 0x00000298,0x00000000,0x000400fa,0x0000027e,0x0000027f,0x00000295,0x000200f8,0x0000027f,
0x0000042c,0x00000001,0x00000032,0x0000042a,0x00000043,0x0000053e,0x000200f9,0x0000042d, 0x0008004f,0x0000000f,0x00000281,0x000004e7,0x000004e7,0x00000000,0x00000001,0x00000002,
0x000200f8,0x0000042d,0x000700f5,0x00000006,0x0000055a,0x00000426,0x00000424,0x0000042c, 0x00050090,0x0000000f,0x00000282,0x00000281,0x000000e1,0x00050051,0x00000006,0x00000284,
0x00000427,0x00050051,0x00000006,0x00000413,0x00000408,0x00000001,0x000500bc,0x00000037, 0x00000282,0x00000000,0x00060052,0x00000018,0x000004a4,0x00000284,0x0000050f,0x00000000,
0x00000432,0x00000413,0x0000004b,0x000300f7,0x0000043c,0x00000000,0x000400fa,0x00000432, 0x00050051,0x00000006,0x00000286,0x00000282,0x00000001,0x00060052,0x00000018,0x000004a6,
0x00000433,0x00000436,0x000200f8,0x00000433,0x00050085,0x00000006,0x00000435,0x00000413, 0x00000286,0x000004a4,0x00000001,0x00050051,0x00000006,0x00000288,0x00000282,0x00000002,
0x0000003c,0x000200f9,0x0000043c,0x000200f8,0x00000436,0x0006000c,0x00000006,0x00000438, 0x00060052,0x00000018,0x000004a8,0x00000288,0x000004a6,0x00000002,0x0008004f,0x0000000f,
0x00000001,0x00000004,0x00000413,0x0007000c,0x00000006,0x00000439,0x00000001,0x0000001a, 0x0000028a,0x000004a8,0x000004a8,0x00000000,0x00000001,0x00000002,0x00050041,0x0000007e,
0x00000438,0x00000054,0x0008000c,0x00000006,0x0000043b,0x00000001,0x00000032,0x00000439, 0x000003f3,0x0000007b,0x0000015a,0x0004003d,0x00000006,0x000003f4,0x000003f3,0x0005008e,
0x00000043,0x0000053e,0x000200f9,0x0000043c,0x000200f8,0x0000043c,0x000700f5,0x00000006, 0x0000000f,0x000003f5,0x0000028a,0x000003f4,0x00050041,0x0000007e,0x000003f6,0x0000007b,
0x0000055c,0x00000435,0x00000433,0x0000043b,0x00000436,0x00050051,0x00000006,0x00000417, 0x0000016a,0x0004003d,0x00000006,0x000003f7,0x000003f6,0x000500b7,0x00000037,0x000003f8,
0x00000408,0x00000002,0x000500bc,0x00000037,0x00000441,0x00000417,0x0000004b,0x000300f7, 0x000003f7,0x00000064,0x000400a8,0x00000037,0x000003f9,0x000003f8,0x000300f7,0x0000040b,
0x0000044b,0x00000000,0x000400fa,0x00000441,0x00000442,0x00000445,0x000200f8,0x00000442, 0x00000000,0x000400fa,0x000003f9,0x000003fa,0x0000040b,0x000200f8,0x000003fa,0x00050051,
0x00050085,0x00000006,0x00000444,0x00000417,0x0000003c,0x000200f9,0x0000044b,0x000200f8, 0x00000006,0x000003fc,0x000003f5,0x00000000,0x000500bc,0x00000037,0x00000410,0x000003fc,
0x00000445,0x0006000c,0x00000006,0x00000447,0x00000001,0x00000004,0x00000417,0x0007000c, 0x0000004b,0x000300f7,0x0000041a,0x00000000,0x000400fa,0x00000410,0x00000411,0x00000414,
0x00000006,0x00000448,0x00000001,0x0000001a,0x00000447,0x00000054,0x0008000c,0x00000006, 0x000200f8,0x00000411,0x00050085,0x00000006,0x00000413,0x000003fc,0x0000003c,0x000200f9,
0x0000044a,0x00000001,0x00000032,0x00000448,0x00000043,0x0000053e,0x000200f9,0x0000044b, 0x0000041a,0x000200f8,0x00000414,0x0006000c,0x00000006,0x00000416,0x00000001,0x00000004,
0x000200f8,0x0000044b,0x000700f5,0x00000006,0x0000055e,0x00000444,0x00000442,0x0000044a, 0x000003fc,0x0007000c,0x00000006,0x00000417,0x00000001,0x0000001a,0x00000416,0x00000054,
0x00000445,0x00060050,0x0000000f,0x00000574,0x0000055a,0x0000055c,0x0000055e,0x0008000c, 0x0008000c,0x00000006,0x00000419,0x00000001,0x00000032,0x00000417,0x00000043,0x000004d8,
0x0000000f,0x0000041d,0x00000001,0x0000002b,0x00000574,0x00000065,0x00000534,0x000200f9, 0x000200f9,0x0000041a,0x000200f8,0x0000041a,0x000700f5,0x00000006,0x000004e8,0x00000413,
0x0000041e,0x000200f8,0x0000041e,0x000700f5,0x0000000f,0x00000560,0x00000408,0x0000028b, 0x00000411,0x00000419,0x00000414,0x00050051,0x00000006,0x00000400,0x000003f5,0x00000001,
0x0000041d,0x0000044b,0x00050051,0x00000006,0x00000290,0x00000560,0x00000000,0x00050051, 0x000500bc,0x00000037,0x0000041f,0x00000400,0x0000004b,0x000300f7,0x00000429,0x00000000,
0x00000006,0x00000292,0x00000560,0x00000001,0x00050051,0x00000006,0x00000294,0x00000560, 0x000400fa,0x0000041f,0x00000420,0x00000423,0x000200f8,0x00000420,0x00050085,0x00000006,
0x00000002,0x00050051,0x00000006,0x00000296,0x0000054e,0x00000003,0x00070050,0x00000018, 0x00000422,0x00000400,0x0000003c,0x000200f9,0x00000429,0x000200f8,0x00000423,0x0006000c,
0x00000539,0x00000290,0x00000292,0x00000294,0x00000296,0x000200f9,0x000002b6,0x000200f8, 0x00000006,0x00000425,0x00000001,0x00000004,0x00000400,0x0007000c,0x00000006,0x00000426,
0x00000298,0x00050041,0x0000007e,0x00000299,0x0000007b,0x00000098,0x0004003d,0x00000006, 0x00000001,0x0000001a,0x00000425,0x00000054,0x0008000c,0x00000006,0x00000428,0x00000001,
0x0000029a,0x00000299,0x000500b4,0x00000037,0x0000029b,0x0000029a,0x0000013a,0x000300f7, 0x00000032,0x00000426,0x00000043,0x000004d8,0x000200f9,0x00000429,0x000200f8,0x00000429,
0x000002b5,0x00000000,0x000400fa,0x0000029b,0x0000029c,0x000002b2,0x000200f8,0x0000029c, 0x000700f5,0x00000006,0x000004ea,0x00000422,0x00000420,0x00000428,0x00000423,0x00050051,
0x0008004f,0x0000000f,0x0000029e,0x0000054e,0x0000054e,0x00000000,0x00000001,0x00000002, 0x00000006,0x00000404,0x000003f5,0x00000002,0x000500bc,0x00000037,0x0000042e,0x00000404,
0x00050090,0x0000000f,0x0000029f,0x0000029e,0x000000e1,0x00050051,0x00000006,0x000002a1, 0x0000004b,0x000300f7,0x00000438,0x00000000,0x000400fa,0x0000042e,0x0000042f,0x00000432,
0x0000029f,0x00000000,0x00060052,0x00000018,0x00000509,0x000002a1,0x00000576,0x00000000, 0x000200f8,0x0000042f,0x00050085,0x00000006,0x00000431,0x00000404,0x0000003c,0x000200f9,
0x00050051,0x00000006,0x000002a3,0x0000029f,0x00000001,0x00060052,0x00000018,0x0000050b, 0x00000438,0x000200f8,0x00000432,0x0006000c,0x00000006,0x00000434,0x00000001,0x00000004,
0x000002a3,0x00000509,0x00000001,0x00050051,0x00000006,0x000002a5,0x0000029f,0x00000002, 0x00000404,0x0007000c,0x00000006,0x00000435,0x00000001,0x0000001a,0x00000434,0x00000054,
0x00060052,0x00000018,0x0000050d,0x000002a5,0x0000050b,0x00000002,0x0008004f,0x0000000f, 0x0008000c,0x00000006,0x00000437,0x00000001,0x00000032,0x00000435,0x00000043,0x000004d8,
0x000002a7,0x0000050d,0x0000050d,0x00000000,0x00000001,0x00000002,0x00050041,0x0000007e, 0x000200f9,0x00000438,0x000200f8,0x00000438,0x000700f5,0x00000006,0x000004ec,0x00000431,
0x00000454,0x0000007b,0x00000177,0x0004003d,0x00000006,0x00000455,0x00000454,0x0005008e, 0x0000042f,0x00000437,0x00000432,0x00060050,0x0000000f,0x0000050c,0x000004e8,0x000004ea,
0x0000000f,0x00000456,0x000002a7,0x00000455,0x00050041,0x0000007e,0x00000457,0x0000007b, 0x000004ec,0x0008000c,0x0000000f,0x0000040a,0x00000001,0x0000002b,0x0000050c,0x00000065,
0x00000187,0x0004003d,0x00000006,0x00000458,0x00000457,0x000500b7,0x00000037,0x00000459, 0x000004ce,0x000200f9,0x0000040b,0x000200f8,0x0000040b,0x000700f5,0x0000000f,0x000004ee,
0x00000458,0x00000064,0x000400a8,0x00000037,0x0000045a,0x00000459,0x000300f7,0x0000046c, 0x000003f5,0x0000027f,0x0000040a,0x00000438,0x00050051,0x00000006,0x0000028d,0x000004ee,
0x00000000,0x000400fa,0x0000045a,0x0000045b,0x0000046c,0x000200f8,0x0000045b,0x00050051, 0x00000000,0x00050051,0x00000006,0x0000028f,0x000004ee,0x00000001,0x00050051,0x00000006,
0x00000006,0x0000045d,0x00000456,0x00000000,0x000500bc,0x00000037,0x00000471,0x0000045d, 0x00000291,0x000004ee,0x00000002,0x00050051,0x00000006,0x00000293,0x000004e7,0x00000003,
0x0000004b,0x000300f7,0x0000047b,0x00000000,0x000400fa,0x00000471,0x00000472,0x00000475, 0x00070050,0x00000018,0x000004cf,0x0000028d,0x0000028f,0x00000291,0x00000293,0x000200f9,
0x000200f8,0x00000472,0x00050085,0x00000006,0x00000474,0x0000045d,0x0000003c,0x000200f9, 0x00000298,0x000200f8,0x00000295,0x0008004f,0x0000000f,0x0000043e,0x000004e7,0x000004e7,
0x0000047b,0x000200f8,0x00000475,0x0006000c,0x00000006,0x00000477,0x00000001,0x00000004, 0x00000000,0x00000001,0x00000002,0x00050041,0x0000007e,0x0000043f,0x0000007b,0x0000015a,
0x0000045d,0x0007000c,0x00000006,0x00000478,0x00000001,0x0000001a,0x00000477,0x00000054, 0x0004003d,0x00000006,0x00000440,0x0000043f,0x0005008e,0x0000000f,0x00000441,0x0000043e,
0x0008000c,0x00000006,0x0000047a,0x00000001,0x00000032,0x00000478,0x00000043,0x0000053e, 0x00000440,0x00050051,0x00000006,0x00000443,0x00000441,0x00000000,0x00050051,0x00000006,
0x000200f9,0x0000047b,0x000200f8,0x0000047b,0x000700f5,0x00000006,0x0000054f,0x00000474, 0x00000445,0x00000441,0x00000001,0x00050051,0x00000006,0x00000447,0x00000441,0x00000002,
0x00000472,0x0000047a,0x00000475,0x00050051,0x00000006,0x00000461,0x00000456,0x00000001, 0x00050051,0x00000006,0x00000449,0x000004e7,0x00000003,0x00070050,0x00000018,0x000004ca,
0x000500bc,0x00000037,0x00000480,0x00000461,0x0000004b,0x000300f7,0x0000048a,0x00000000, 0x00000443,0x00000445,0x00000447,0x00000449,0x000200f9,0x00000298,0x000200f8,0x00000298,
0x000400fa,0x00000480,0x00000481,0x00000484,0x000200f8,0x00000481,0x00050085,0x00000006, 0x000700f5,0x00000018,0x0000050b,0x000004cf,0x0000040b,0x000004ca,0x00000295,0x000200f9,
0x00000483,0x00000461,0x0000003c,0x000200f9,0x0000048a,0x000200f8,0x00000484,0x0006000c, 0x00000299,0x000200f8,0x00000299,0x000700f5,0x00000018,0x0000050a,0x000004d3,0x000003bd,
0x00000006,0x00000486,0x00000001,0x00000004,0x00000461,0x0007000c,0x00000006,0x00000487, 0x0000050b,0x00000298,0x000200f9,0x0000029a,0x000200f8,0x0000029a,0x000700f5,0x00000018,
0x00000001,0x0000001a,0x00000486,0x00000054,0x0008000c,0x00000006,0x00000489,0x00000001, 0x00000509,0x000004d6,0x0000036b,0x0000050a,0x00000299,0x00050085,0x00000018,0x0000029e,
0x00000032,0x00000487,0x00000043,0x0000053e,0x000200f9,0x0000048a,0x000200f8,0x0000048a, 0x00000509,0x00000225,0x0003003e,0x00000228,0x0000029e,0x000100fd,0x00010038
0x000700f5,0x00000006,0x00000551,0x00000483,0x00000481,0x00000489,0x00000484,0x00050051,
0x00000006,0x00000465,0x00000456,0x00000002,0x000500bc,0x00000037,0x0000048f,0x00000465,
0x0000004b,0x000300f7,0x00000499,0x00000000,0x000400fa,0x0000048f,0x00000490,0x00000493,
0x000200f8,0x00000490,0x00050085,0x00000006,0x00000492,0x00000465,0x0000003c,0x000200f9,
0x00000499,0x000200f8,0x00000493,0x0006000c,0x00000006,0x00000495,0x00000001,0x00000004,
0x00000465,0x0007000c,0x00000006,0x00000496,0x00000001,0x0000001a,0x00000495,0x00000054,
0x0008000c,0x00000006,0x00000498,0x00000001,0x00000032,0x00000496,0x00000043,0x0000053e,
0x000200f9,0x00000499,0x000200f8,0x00000499,0x000700f5,0x00000006,0x00000553,0x00000492,
0x00000490,0x00000498,0x00000493,0x00060050,0x0000000f,0x00000573,0x0000054f,0x00000551,
0x00000553,0x0008000c,0x0000000f,0x0000046b,0x00000001,0x0000002b,0x00000573,0x00000065,
0x00000534,0x000200f9,0x0000046c,0x000200f8,0x0000046c,0x000700f5,0x0000000f,0x00000555,
0x00000456,0x0000029c,0x0000046b,0x00000499,0x00050051,0x00000006,0x000002aa,0x00000555,
0x00000000,0x00050051,0x00000006,0x000002ac,0x00000555,0x00000001,0x00050051,0x00000006,
0x000002ae,0x00000555,0x00000002,0x00050051,0x00000006,0x000002b0,0x0000054e,0x00000003,
0x00070050,0x00000018,0x00000535,0x000002aa,0x000002ac,0x000002ae,0x000002b0,0x000200f9,
0x000002b5,0x000200f8,0x000002b2,0x0008004f,0x0000000f,0x0000049f,0x0000054e,0x0000054e,
0x00000000,0x00000001,0x00000002,0x00050041,0x0000007e,0x000004a0,0x0000007b,0x00000177,
0x0004003d,0x00000006,0x000004a1,0x000004a0,0x0005008e,0x0000000f,0x000004a2,0x0000049f,
0x000004a1,0x00050051,0x00000006,0x000004a4,0x000004a2,0x00000000,0x00050051,0x00000006,
0x000004a6,0x000004a2,0x00000001,0x00050051,0x00000006,0x000004a8,0x000004a2,0x00000002,
0x00050051,0x00000006,0x000004aa,0x0000054e,0x00000003,0x00070050,0x00000018,0x00000530,
0x000004a4,0x000004a6,0x000004a8,0x000004aa,0x000200f9,0x000002b5,0x000200f8,0x000002b5,
0x000700f5,0x00000018,0x00000572,0x00000535,0x0000046c,0x00000530,0x000002b2,0x000200f9,
0x000002b6,0x000200f8,0x000002b6,0x000700f5,0x00000018,0x00000571,0x00000539,0x0000041e,
0x00000572,0x000002b5,0x000200f9,0x000002b7,0x000200f8,0x000002b7,0x000700f5,0x00000018,
0x00000570,0x0000053c,0x000003cc,0x00000571,0x000002b6,0x00050085,0x00000018,0x000002bb,
0x00000570,0x00000242,0x0003003e,0x00000245,0x000002bb,0x000100fd,0x00010038
}; };

View File

@@ -1,7 +1,7 @@
// 1113.1.1 // 1113.1.1
#pragma once #pragma once
const uint32_t VULKAN_PixelShader_Colors[] = { const uint32_t VULKAN_PixelShader_Colors[] = {
0x07230203,0x00010000,0x0008000b,0x000000a4,0x00000000,0x00020011,0x00000001,0x0006000b, 0x07230203,0x00010000,0x0008000b,0x000000a3,0x00000000,0x00020011,0x00000001,0x0006000b,
0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001, 0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001,
0x0007000f,0x00000004,0x00000004,0x6e69616d,0x00000000,0x00000049,0x0000004d,0x00030010, 0x0007000f,0x00000004,0x00000004,0x6e69616d,0x00000000,0x00000049,0x0000004d,0x00030010,
0x00000004,0x00000007,0x00030003,0x00000005,0x000001f4,0x00040005,0x00000004,0x6e69616d, 0x00000004,0x00000007,0x00030003,0x00000005,0x000001f4,0x00040005,0x00000004,0x6e69616d,
@@ -31,13 +31,13 @@ const uint32_t VULKAN_PixelShader_Colors[] = {
0x0004002b,0x0000001b,0x0000001c,0x00000003,0x00040020,0x0000001d,0x00000002,0x00000006, 0x0004002b,0x0000001b,0x0000001c,0x00000003,0x00040020,0x0000001d,0x00000002,0x00000006,
0x0004002b,0x00000006,0x00000033,0x3f800000,0x00040020,0x0000003f,0x00000001,0x00000007, 0x0004002b,0x00000006,0x00000033,0x3f800000,0x00040020,0x0000003f,0x00000001,0x00000007,
0x0004003b,0x0000003f,0x00000049,0x00000001,0x00040020,0x0000004c,0x00000003,0x00000007, 0x0004003b,0x0000003f,0x00000049,0x00000001,0x00040020,0x0000004c,0x00000003,0x00000007,
0x0004003b,0x0000004c,0x0000004d,0x00000003,0x0006002c,0x00000015,0x000000a2,0x00000033, 0x0004003b,0x0000004c,0x0000004d,0x00000003,0x0006002c,0x00000015,0x000000a1,0x00000033,
0x00000033,0x00000033,0x00050036,0x00000002,0x00000004,0x00000000,0x00000003,0x000200f8, 0x00000033,0x00000033,0x00050036,0x00000002,0x00000004,0x00000000,0x00000003,0x000200f8,
0x00000005,0x0004003d,0x00000007,0x0000004a,0x00000049,0x00050041,0x0000001d,0x00000081, 0x00000005,0x0004003d,0x00000007,0x0000004a,0x00000049,0x00050041,0x0000001d,0x00000080,
0x0000001a,0x0000001c,0x0004003d,0x00000006,0x00000082,0x00000081,0x0005008e,0x00000015, 0x0000001a,0x0000001c,0x0004003d,0x00000006,0x00000081,0x00000080,0x0005008e,0x00000015,
0x00000083,0x000000a2,0x00000082,0x00050051,0x00000006,0x00000085,0x00000083,0x00000000, 0x00000082,0x000000a1,0x00000081,0x00050051,0x00000006,0x00000084,0x00000082,0x00000000,
0x00050051,0x00000006,0x00000087,0x00000083,0x00000001,0x00050051,0x00000006,0x00000089, 0x00050051,0x00000006,0x00000086,0x00000082,0x00000001,0x00050051,0x00000006,0x00000088,
0x00000083,0x00000002,0x00070050,0x00000007,0x000000a3,0x00000085,0x00000087,0x00000089, 0x00000082,0x00000002,0x00070050,0x00000007,0x000000a2,0x00000084,0x00000086,0x00000088,
0x00000033,0x00050085,0x00000007,0x0000007b,0x000000a3,0x0000004a,0x0003003e,0x0000004d, 0x00000033,0x00050085,0x00000007,0x0000007a,0x000000a2,0x0000004a,0x0003003e,0x0000004d,
0x0000007b,0x000100fd,0x00010038 0x0000007a,0x000100fd,0x00010038
}; };

View File

@@ -20,7 +20,6 @@ static const float TEXTURETYPE_NONE = 0;
static const float TEXTURETYPE_RGB = 1; static const float TEXTURETYPE_RGB = 1;
static const float TEXTURETYPE_RGB_PIXELART = 2; static const float TEXTURETYPE_RGB_PIXELART = 2;
static const float TEXTURETYPE_PALETTE = 3; static const float TEXTURETYPE_PALETTE = 3;
static const float TEXTURETYPE_PALETTE_PIXELART = 4;
static const float INPUTTYPE_UNSPECIFIED = 0; static const float INPUTTYPE_UNSPECIFIED = 0;
static const float INPUTTYPE_SRGB = 1; static const float INPUTTYPE_SRGB = 1;
@@ -139,10 +138,6 @@ float4 GetInputColor(PixelShaderInput input)
} else if (texture_type == TEXTURETYPE_PALETTE) { } else if (texture_type == TEXTURETYPE_PALETTE) {
float index = texture0.Sample(sampler0, input.tex).r * 255; float index = texture0.Sample(sampler0, input.tex).r * 255;
rgba = texture1.Sample(sampler1, float2((index + 0.5) / 256, 0.5)); rgba = texture1.Sample(sampler1, float2((index + 0.5) / 256, 0.5));
} else if (texture_type == TEXTURETYPE_PALETTE_PIXELART) {
float2 uv = GetPixelArtUV(input);
float index = texture0.SampleGrad(sampler0, uv, ddx(input.tex), ddy(input.tex)).r * 255;
rgba = texture1.Sample(sampler1, float2((index + 0.5) / 256, 0.5));
} else { } else {
// Error! // Error!
rgba.r = 1.0; rgba.r = 1.0;

View File

@@ -1,7 +1,7 @@
// 1113.1.1 // 1113.1.1
#pragma once #pragma once
const uint32_t VULKAN_PixelShader_Textures[] = { const uint32_t VULKAN_PixelShader_Textures[] = {
0x07230203,0x00010000,0x0008000b,0x000000ab,0x00000000,0x00020011,0x00000001,0x0006000b, 0x07230203,0x00010000,0x0008000b,0x000000aa,0x00000000,0x00020011,0x00000001,0x0006000b,
0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001, 0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001,
0x0008000f,0x00000004,0x00000004,0x6e69616d,0x00000000,0x0000004c,0x0000004f,0x00000053, 0x0008000f,0x00000004,0x00000004,0x6e69616d,0x00000000,0x0000004c,0x0000004f,0x00000053,
0x00030010,0x00000004,0x00000007,0x00030003,0x00000005,0x000001f4,0x00040005,0x00000004, 0x00030010,0x00000004,0x00000007,0x00030003,0x00000005,0x000001f4,0x00040005,0x00000004,
@@ -40,13 +40,13 @@ const uint32_t VULKAN_PixelShader_Textures[] = {
0x00000052,0x00000003,0x00000007,0x0004003b,0x00000052,0x00000053,0x00000003,0x00050036, 0x00000052,0x00000003,0x00000007,0x0004003b,0x00000052,0x00000053,0x00000003,0x00050036,
0x00000002,0x00000004,0x00000000,0x00000003,0x000200f8,0x00000005,0x0004003d,0x0000000d, 0x00000002,0x00000004,0x00000000,0x00000003,0x000200f8,0x00000005,0x0004003d,0x0000000d,
0x0000004d,0x0000004c,0x0004003d,0x00000007,0x00000050,0x0000004f,0x0004003d,0x00000034, 0x0000004d,0x0000004c,0x0004003d,0x00000007,0x00000050,0x0000004f,0x0004003d,0x00000034,
0x0000007b,0x00000036,0x00050057,0x00000007,0x0000007e,0x0000007b,0x0000004d,0x0008004f, 0x0000007a,0x00000036,0x00050057,0x00000007,0x0000007d,0x0000007a,0x0000004d,0x0008004f,
0x00000015,0x00000087,0x0000007e,0x0000007e,0x00000000,0x00000001,0x00000002,0x00050041, 0x00000015,0x00000086,0x0000007d,0x0000007d,0x00000000,0x00000001,0x00000002,0x00050041,
0x0000001d,0x00000088,0x0000001a,0x0000001c,0x0004003d,0x00000006,0x00000089,0x00000088, 0x0000001d,0x00000087,0x0000001a,0x0000001c,0x0004003d,0x00000006,0x00000088,0x00000087,
0x0005008e,0x00000015,0x0000008a,0x00000087,0x00000089,0x00050051,0x00000006,0x0000008c, 0x0005008e,0x00000015,0x00000089,0x00000086,0x00000088,0x00050051,0x00000006,0x0000008b,
0x0000008a,0x00000000,0x00050051,0x00000006,0x0000008e,0x0000008a,0x00000001,0x00050051, 0x00000089,0x00000000,0x00050051,0x00000006,0x0000008d,0x00000089,0x00000001,0x00050051,
0x00000006,0x00000090,0x0000008a,0x00000002,0x00050051,0x00000006,0x00000092,0x0000007e, 0x00000006,0x0000008f,0x00000089,0x00000002,0x00050051,0x00000006,0x00000091,0x0000007d,
0x00000003,0x00070050,0x00000007,0x000000aa,0x0000008c,0x0000008e,0x00000090,0x00000092, 0x00000003,0x00070050,0x00000007,0x000000a9,0x0000008b,0x0000008d,0x0000008f,0x00000091,
0x00050085,0x00000007,0x00000082,0x000000aa,0x00000050,0x0003003e,0x00000053,0x00000082, 0x00050085,0x00000007,0x00000081,0x000000a9,0x00000050,0x0003003e,0x00000053,0x00000081,
0x000100fd,0x00010038 0x000100fd,0x00010038
}; };

View File

@@ -452,7 +452,6 @@ int main(int argc, char *argv[])
{ {
SDL_Window *window = NULL; SDL_Window *window = NULL;
int i, return_code = -1; int i, return_code = -1;
bool pixelart = false;
SDLTest_TrackAllocations(); SDLTest_TrackAllocations();
@@ -460,10 +459,8 @@ int main(int argc, char *argv[])
if (SDL_strcmp(argv[1], "--renderer") == 0 && argv[i + 1]) { if (SDL_strcmp(argv[1], "--renderer") == 0 && argv[i + 1]) {
++i; ++i;
SDL_SetHint(SDL_HINT_RENDER_DRIVER, argv[i]); SDL_SetHint(SDL_HINT_RENDER_DRIVER, argv[i]);
} else if (SDL_strcmp(argv[1], "--pixelart") == 0) {
pixelart = true;
} else { } else {
SDL_Log("Usage: %s [--pixelart]", argv[0]); SDL_Log("Usage: %s [--renderer driver]", argv[0]);
return_code = 1; return_code = 1;
goto quit; goto quit;
} }
@@ -475,12 +472,6 @@ int main(int argc, char *argv[])
goto quit; goto quit;
} }
if (pixelart) {
SDL_SetDefaultTextureScaleMode(renderer, SDL_SCALEMODE_PIXELART);
} else {
SDL_SetDefaultTextureScaleMode(renderer, SDL_SCALEMODE_NEAREST);
}
if (!CreateTextures()) { if (!CreateTextures()) {
SDL_Log("Couldn't create textures: %s", SDL_GetError()); SDL_Log("Couldn't create textures: %s", SDL_GetError());
return_code = 3; return_code = 3;