1[[block]] 2struct buf0 { 3 resolution : vec2<f32>; 4}; 5 6var<private> gl_FragCoord : vec4<f32>; 7 8[[group(0), binding(0)]] var<uniform> x_7 : buf0; 9 10var<private> map : array<i32, 256>; 11 12var<private> x_GLF_color : vec4<f32>; 13 14fn main_1() { 15 var pos : vec2<f32>; 16 var ipos : vec2<i32>; 17 var i : i32; 18 var p : vec2<i32>; 19 var canwalk : bool; 20 var v : i32; 21 var directions : i32; 22 var j : i32; 23 var d : i32; 24 let x_59 : vec4<f32> = gl_FragCoord; 25 let x_62 : vec2<f32> = x_7.resolution; 26 pos = (vec2<f32>(x_59.x, x_59.y) / x_62); 27 let x_65 : f32 = pos.x; 28 let x_69 : f32 = pos.y; 29 ipos = vec2<i32>(i32((x_65 * 16.0)), i32((x_69 * 16.0))); 30 i = 0; 31 loop { 32 let x_77 : i32 = i; 33 if ((x_77 < 256)) { 34 } else { 35 break; 36 } 37 let x_80 : i32 = i; 38 map[x_80] = 0; 39 40 continuing { 41 let x_82 : i32 = i; 42 i = (x_82 + 1); 43 } 44 } 45 p = vec2<i32>(0, 0); 46 canwalk = true; 47 v = 0; 48 loop { 49 var x_104 : bool; 50 var x_124 : bool; 51 var x_144 : bool; 52 var x_164 : bool; 53 var x_105_phi : bool; 54 var x_125_phi : bool; 55 var x_145_phi : bool; 56 var x_165_phi : bool; 57 let x_88 : i32 = v; 58 v = (x_88 + 1); 59 directions = 0; 60 let x_91 : i32 = p.x; 61 let x_92 : bool = (x_91 > 0); 62 x_105_phi = x_92; 63 if (x_92) { 64 let x_96 : i32 = p.x; 65 let x_99 : i32 = p.y; 66 let x_103 : i32 = map[((x_96 - 2) + (x_99 * 16))]; 67 x_104 = (x_103 == 0); 68 x_105_phi = x_104; 69 } 70 let x_105 : bool = x_105_phi; 71 if (x_105) { 72 let x_108 : i32 = directions; 73 directions = (x_108 + 1); 74 } 75 let x_111 : i32 = p.y; 76 let x_112 : bool = (x_111 > 0); 77 x_125_phi = x_112; 78 if (x_112) { 79 let x_116 : i32 = p.x; 80 let x_118 : i32 = p.y; 81 let x_123 : i32 = map[(x_116 + ((x_118 - 2) * 16))]; 82 x_124 = (x_123 == 0); 83 x_125_phi = x_124; 84 } 85 let x_125 : bool = x_125_phi; 86 if (x_125) { 87 let x_128 : i32 = directions; 88 directions = (x_128 + 1); 89 } 90 let x_131 : i32 = p.x; 91 let x_132 : bool = (x_131 < 14); 92 x_145_phi = x_132; 93 if (x_132) { 94 let x_136 : i32 = p.x; 95 let x_139 : i32 = p.y; 96 let x_143 : i32 = map[((x_136 + 2) + (x_139 * 16))]; 97 x_144 = (x_143 == 0); 98 x_145_phi = x_144; 99 } 100 let x_145 : bool = x_145_phi; 101 if (x_145) { 102 let x_148 : i32 = directions; 103 directions = (x_148 + 1); 104 } 105 let x_151 : i32 = p.y; 106 let x_152 : bool = (x_151 < 14); 107 x_165_phi = x_152; 108 if (x_152) { 109 let x_156 : i32 = p.x; 110 let x_158 : i32 = p.y; 111 let x_163 : i32 = map[(x_156 + ((x_158 + 2) * 16))]; 112 x_164 = (x_163 == 0); 113 x_165_phi = x_164; 114 } 115 let x_165 : bool = x_165_phi; 116 if (x_165) { 117 let x_168 : i32 = directions; 118 directions = (x_168 + 1); 119 } 120 var x_229 : bool; 121 var x_242 : bool; 122 var x_281 : bool; 123 var x_288 : i32; 124 var x_289 : i32; 125 var x_295 : i32; 126 var x_296 : i32; 127 var x_303 : array<i32, 256>; 128 var x_304 : array<i32, 256>; 129 var x_315 : i32; 130 var x_316 : i32; 131 var x_359 : bool; 132 var x_372 : bool; 133 var x_411 : bool; 134 var x_424 : bool; 135 var x_230_phi : bool; 136 var x_243_phi : bool; 137 var x_282_phi : bool; 138 var x_290_phi : i32; 139 var x_297_phi : i32; 140 var x_305_phi : array<i32, 256>; 141 var x_317_phi : i32; 142 var x_360_phi : bool; 143 var x_373_phi : bool; 144 var x_412_phi : bool; 145 var x_425_phi : bool; 146 let x_170 : i32 = directions; 147 if ((x_170 == 0)) { 148 canwalk = false; 149 i = 0; 150 loop { 151 let x_179 : i32 = i; 152 if ((x_179 < 8)) { 153 } else { 154 break; 155 } 156 j = 0; 157 loop { 158 let x_186 : i32 = j; 159 if ((x_186 < 8)) { 160 } else { 161 break; 162 } 163 let x_189 : i32 = j; 164 let x_191 : i32 = i; 165 let x_196 : i32 = map[((x_189 * 2) + ((x_191 * 2) * 16))]; 166 if ((x_196 == 0)) { 167 let x_200 : i32 = j; 168 p.x = (x_200 * 2); 169 let x_203 : i32 = i; 170 p.y = (x_203 * 2); 171 canwalk = true; 172 } 173 174 continuing { 175 let x_206 : i32 = j; 176 j = (x_206 + 1); 177 } 178 } 179 180 continuing { 181 let x_208 : i32 = i; 182 i = (x_208 + 1); 183 } 184 } 185 let x_211 : i32 = p.x; 186 let x_213 : i32 = p.y; 187 map[(x_211 + (x_213 * 16))] = 1; 188 } else { 189 let x_217 : i32 = v; 190 let x_218 : i32 = directions; 191 d = (x_217 % x_218); 192 let x_220 : i32 = directions; 193 let x_221 : i32 = v; 194 v = (x_221 + x_220); 195 let x_223 : i32 = d; 196 let x_224 : bool = (x_223 >= 0); 197 x_230_phi = x_224; 198 if (x_224) { 199 let x_228 : i32 = p.x; 200 x_229 = (x_228 > 0); 201 x_230_phi = x_229; 202 } 203 let x_230 : bool = x_230_phi; 204 x_243_phi = x_230; 205 if (x_230) { 206 let x_234 : i32 = p.x; 207 let x_237 : i32 = p.y; 208 let x_241 : i32 = map[((x_234 - 2) + (x_237 * 16))]; 209 x_242 = (x_241 == 0); 210 x_243_phi = x_242; 211 } 212 let x_243 : bool = x_243_phi; 213 if (x_243) { 214 let x_246 : i32 = d; 215 d = (x_246 - 1); 216 let x_249 : i32 = p.x; 217 let x_251 : i32 = p.y; 218 map[(x_249 + (x_251 * 16))] = 1; 219 let x_256 : i32 = p.x; 220 let x_259 : i32 = p.y; 221 map[((x_256 - 1) + (x_259 * 16))] = 1; 222 let x_264 : i32 = p.x; 223 let x_267 : i32 = p.y; 224 map[((x_264 - 2) + (x_267 * 16))] = 1; 225 let x_272 : i32 = p.x; 226 p.x = (x_272 - 2); 227 } 228 let x_275 : i32 = d; 229 let x_276 : bool = (x_275 >= 0); 230 x_282_phi = x_276; 231 if (x_276) { 232 let x_280 : i32 = p.y; 233 x_281 = (x_280 > 0); 234 x_282_phi = x_281; 235 } 236 let x_282 : bool = x_282_phi; 237 if (x_282) { 238 x_288 = p.x; 239 x_290_phi = x_288; 240 } else { 241 x_289 = 0; 242 x_290_phi = x_289; 243 } 244 let x_290 : i32 = x_290_phi; 245 if (x_282) { 246 x_295 = p.y; 247 x_297_phi = x_295; 248 } else { 249 x_296 = 0; 250 x_297_phi = x_296; 251 } 252 let x_297 : i32 = x_297_phi; 253 let x_299 : i32 = ((x_297 - 2) * 16); 254 if (x_282) { 255 x_303 = map; 256 x_305_phi = x_303; 257 } else { 258 x_304 = array<i32, 256>(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, 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, 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, 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, 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, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); 259 x_305_phi = x_304; 260 } 261 let x_305 : array<i32, 256> = x_305_phi; 262 if (x_282) { 263 map = array<i32, 256>(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, 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, 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, 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, 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, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); 264 } 265 if (x_282) { 266 map = x_305; 267 } 268 if (x_282) { 269 x_315 = map[(x_290 + x_299)]; 270 x_317_phi = x_315; 271 } else { 272 x_316 = 0; 273 x_317_phi = x_316; 274 } 275 let x_317 : i32 = x_317_phi; 276 let x_318 : bool = (x_317 == 0); 277 if (select(x_282, x_318, x_282)) { 278 let x_323 : i32 = d; 279 d = (x_323 - 1); 280 let x_326 : i32 = p.x; 281 let x_328 : i32 = p.y; 282 map[(x_326 + (x_328 * 16))] = 1; 283 let x_333 : i32 = p.x; 284 let x_335 : i32 = p.y; 285 map[(x_333 + ((x_335 - 1) * 16))] = 1; 286 let x_341 : i32 = p.x; 287 let x_343 : i32 = p.y; 288 let x_345 : array<i32, 256> = map; 289 map = array<i32, 256>(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, 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, 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, 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, 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, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); 290 map = x_345; 291 map[(x_341 + ((x_343 - 2) * 16))] = 1; 292 let x_350 : i32 = p.y; 293 p.y = (x_350 - 2); 294 } 295 let x_353 : i32 = d; 296 let x_354 : bool = (x_353 >= 0); 297 x_360_phi = x_354; 298 if (x_354) { 299 let x_358 : i32 = p.x; 300 x_359 = (x_358 < 14); 301 x_360_phi = x_359; 302 } 303 let x_360 : bool = x_360_phi; 304 x_373_phi = x_360; 305 if (x_360) { 306 let x_364 : i32 = p.x; 307 let x_367 : i32 = p.y; 308 let x_371 : i32 = map[((x_364 + 2) + (x_367 * 16))]; 309 x_372 = (x_371 == 0); 310 x_373_phi = x_372; 311 } 312 let x_373 : bool = x_373_phi; 313 if (x_373) { 314 let x_376 : i32 = d; 315 d = (x_376 - 1); 316 let x_379 : i32 = p.x; 317 let x_381 : i32 = p.y; 318 map[(x_379 + (x_381 * 16))] = 1; 319 let x_386 : i32 = p.x; 320 let x_389 : i32 = p.y; 321 map[((x_386 + 1) + (x_389 * 16))] = 1; 322 let x_394 : i32 = p.x; 323 let x_397 : i32 = p.y; 324 map[((x_394 + 2) + (x_397 * 16))] = 1; 325 let x_402 : i32 = p.x; 326 p.x = (x_402 + 2); 327 } 328 let x_405 : i32 = d; 329 let x_406 : bool = (x_405 >= 0); 330 x_412_phi = x_406; 331 if (x_406) { 332 let x_410 : i32 = p.y; 333 x_411 = (x_410 < 14); 334 x_412_phi = x_411; 335 } 336 let x_412 : bool = x_412_phi; 337 x_425_phi = x_412; 338 if (x_412) { 339 let x_416 : i32 = p.x; 340 let x_418 : i32 = p.y; 341 let x_423 : i32 = map[(x_416 + ((x_418 + 2) * 16))]; 342 x_424 = (x_423 == 0); 343 x_425_phi = x_424; 344 } 345 let x_425 : bool = x_425_phi; 346 if (x_425) { 347 let x_428 : i32 = d; 348 d = (x_428 - 1); 349 let x_431 : i32 = p.x; 350 let x_433 : i32 = p.y; 351 map[(x_431 + (x_433 * 16))] = 1; 352 let x_438 : i32 = p.x; 353 let x_440 : i32 = p.y; 354 map[(x_438 + ((x_440 + 1) * 16))] = 1; 355 let x_446 : i32 = p.x; 356 let x_448 : i32 = p.y; 357 map[(x_446 + ((x_448 + 2) * 16))] = 1; 358 let x_454 : i32 = p.y; 359 p.y = (x_454 + 2); 360 } 361 } 362 let x_458 : i32 = ipos.y; 363 let x_461 : i32 = ipos.x; 364 let x_464 : i32 = map[((x_458 * 16) + x_461)]; 365 if ((x_464 == 1)) { 366 x_GLF_color = vec4<f32>(1.0, 1.0, 1.0, 1.0); 367 return; 368 } 369 370 continuing { 371 let x_468 : bool = canwalk; 372 if (x_468) { 373 } else { 374 break; 375 } 376 } 377 } 378 x_GLF_color = vec4<f32>(0.0, 0.0, 0.0, 1.0); 379 return; 380} 381 382struct main_out { 383 [[location(0)]] 384 x_GLF_color_1 : vec4<f32>; 385}; 386 387[[stage(fragment)]] 388fn main([[builtin(position)]] gl_FragCoord_param : vec4<f32>) -> main_out { 389 gl_FragCoord = gl_FragCoord_param; 390 main_1(); 391 return main_out(x_GLF_color); 392} 393