| [[block]] |
| struct buf0 { |
| resolution : vec2<f32>; |
| }; |
| |
| var<private> gl_FragCoord : vec4<f32>; |
| |
| [[group(0), binding(0)]] var<uniform> x_7 : buf0; |
| |
| var<private> map : array<i32, 256>; |
| |
| var<private> x_GLF_color : vec4<f32>; |
| |
| fn main_1() { |
| var pos : vec2<f32>; |
| var ipos : vec2<i32>; |
| var i : i32; |
| var p : vec2<i32>; |
| var canwalk : bool; |
| var v : i32; |
| var directions : i32; |
| var j : i32; |
| var d : i32; |
| let x_57 : vec4<f32> = gl_FragCoord; |
| let x_60 : vec2<f32> = x_7.resolution; |
| pos = (vec2<f32>(x_57.x, x_57.y) / x_60); |
| let x_63 : f32 = pos.x; |
| let x_67 : f32 = pos.y; |
| ipos = vec2<i32>(i32((x_63 * 16.0)), i32((x_67 * 16.0))); |
| i = 0; |
| loop { |
| let x_75 : i32 = i; |
| if ((x_75 < 256)) { |
| } else { |
| break; |
| } |
| let x_78 : i32 = i; |
| map[x_78] = 0; |
| |
| continuing { |
| let x_80 : i32 = i; |
| i = (x_80 + 1); |
| } |
| } |
| p = vec2<i32>(0, 0); |
| canwalk = true; |
| v = 0; |
| loop { |
| var x_102 : bool; |
| var x_122 : bool; |
| var x_142 : bool; |
| var x_162 : bool; |
| var x_103_phi : bool; |
| var x_123_phi : bool; |
| var x_143_phi : bool; |
| var x_163_phi : bool; |
| let x_86 : i32 = v; |
| v = (x_86 + 1); |
| directions = 0; |
| let x_89 : i32 = p.x; |
| let x_90 : bool = (x_89 > 0); |
| x_103_phi = x_90; |
| if (x_90) { |
| let x_94 : i32 = p.x; |
| let x_97 : i32 = p.y; |
| let x_101 : i32 = map[((x_94 - 2) + (x_97 * 16))]; |
| x_102 = (x_101 == 0); |
| x_103_phi = x_102; |
| } |
| let x_103 : bool = x_103_phi; |
| if (x_103) { |
| let x_106 : i32 = directions; |
| directions = (x_106 + 1); |
| } |
| let x_109 : i32 = p.y; |
| let x_110 : bool = (x_109 > 0); |
| x_123_phi = x_110; |
| if (x_110) { |
| let x_114 : i32 = p.x; |
| let x_116 : i32 = p.y; |
| let x_121 : i32 = map[(x_114 + ((x_116 - 2) * 16))]; |
| x_122 = (x_121 == 0); |
| x_123_phi = x_122; |
| } |
| let x_123 : bool = x_123_phi; |
| if (x_123) { |
| let x_126 : i32 = directions; |
| directions = (x_126 + 1); |
| } |
| let x_129 : i32 = p.x; |
| let x_130 : bool = (x_129 < 14); |
| x_143_phi = x_130; |
| if (x_130) { |
| let x_134 : i32 = p.x; |
| let x_137 : i32 = p.y; |
| let x_141 : i32 = map[((x_134 + 2) + (x_137 * 16))]; |
| x_142 = (x_141 == 0); |
| x_143_phi = x_142; |
| } |
| let x_143 : bool = x_143_phi; |
| if (x_143) { |
| let x_146 : i32 = directions; |
| directions = (x_146 + 1); |
| } |
| let x_149 : i32 = p.y; |
| let x_150 : bool = (x_149 < 14); |
| x_163_phi = x_150; |
| if (x_150) { |
| let x_154 : i32 = p.x; |
| let x_156 : i32 = p.y; |
| let x_161 : i32 = map[(x_154 + ((x_156 + 2) * 16))]; |
| x_162 = (x_161 == 0); |
| x_163_phi = x_162; |
| } |
| let x_163 : bool = x_163_phi; |
| if (x_163) { |
| let x_166 : i32 = directions; |
| directions = (x_166 + 1); |
| } |
| var x_227 : bool; |
| var x_240 : bool; |
| var x_279 : bool; |
| var x_292 : bool; |
| var x_331 : bool; |
| var x_344 : bool; |
| var x_383 : bool; |
| var x_396 : bool; |
| var x_228_phi : bool; |
| var x_241_phi : bool; |
| var x_280_phi : bool; |
| var x_293_phi : bool; |
| var x_332_phi : bool; |
| var x_345_phi : bool; |
| var x_384_phi : bool; |
| var x_397_phi : bool; |
| let x_168 : i32 = directions; |
| if ((x_168 == 0)) { |
| canwalk = false; |
| i = 0; |
| loop { |
| let x_177 : i32 = i; |
| if ((x_177 < 8)) { |
| } else { |
| break; |
| } |
| j = 0; |
| loop { |
| let x_184 : i32 = j; |
| if ((x_184 < 8)) { |
| } else { |
| break; |
| } |
| let x_187 : i32 = j; |
| let x_189 : i32 = i; |
| let x_194 : i32 = map[((x_187 * 2) + ((x_189 * 2) * 16))]; |
| if ((x_194 == 0)) { |
| let x_198 : i32 = j; |
| p.x = (x_198 * 2); |
| let x_201 : i32 = i; |
| p.y = (x_201 * 2); |
| canwalk = true; |
| } |
| |
| continuing { |
| let x_204 : i32 = j; |
| j = (x_204 + 1); |
| } |
| } |
| |
| continuing { |
| let x_206 : i32 = i; |
| i = (x_206 + 1); |
| } |
| } |
| let x_209 : i32 = p.x; |
| let x_211 : i32 = p.y; |
| map[(x_209 + (x_211 * 16))] = 1; |
| } else { |
| let x_215 : i32 = v; |
| let x_216 : i32 = directions; |
| d = (x_215 % x_216); |
| let x_218 : i32 = directions; |
| let x_219 : i32 = v; |
| v = (x_219 + x_218); |
| let x_221 : i32 = d; |
| let x_222 : bool = (x_221 >= 0); |
| x_228_phi = x_222; |
| if (x_222) { |
| let x_226 : i32 = p.x; |
| x_227 = (x_226 > 0); |
| x_228_phi = x_227; |
| } |
| let x_228 : bool = x_228_phi; |
| x_241_phi = x_228; |
| if (x_228) { |
| let x_232 : i32 = p.x; |
| let x_235 : i32 = p.y; |
| let x_239 : i32 = map[((x_232 - 2) + (x_235 * 16))]; |
| x_240 = (x_239 == 0); |
| x_241_phi = x_240; |
| } |
| let x_241 : bool = x_241_phi; |
| if (x_241) { |
| let x_244 : i32 = d; |
| d = (x_244 - 1); |
| let x_247 : i32 = p.x; |
| let x_249 : i32 = p.y; |
| map[(x_247 + (x_249 * 16))] = 1; |
| let x_254 : i32 = p.x; |
| let x_257 : i32 = p.y; |
| map[((x_254 - 1) + (x_257 * 16))] = 1; |
| let x_262 : i32 = p.x; |
| let x_265 : i32 = p.y; |
| map[((x_262 - 2) + (x_265 * 16))] = 1; |
| let x_270 : i32 = p.x; |
| p.x = (x_270 - 2); |
| } |
| let x_273 : i32 = d; |
| let x_274 : bool = (x_273 >= 0); |
| x_280_phi = x_274; |
| if (x_274) { |
| let x_278 : i32 = p.y; |
| x_279 = (x_278 > 0); |
| x_280_phi = x_279; |
| } |
| let x_280 : bool = x_280_phi; |
| x_293_phi = x_280; |
| if (x_280) { |
| let x_284 : i32 = p.x; |
| let x_286 : i32 = p.y; |
| let x_291 : i32 = map[(x_284 + ((x_286 - 2) * 16))]; |
| x_292 = (x_291 == 0); |
| x_293_phi = x_292; |
| } |
| let x_293 : bool = x_293_phi; |
| if (x_293) { |
| let x_296 : i32 = d; |
| d = (x_296 - 1); |
| let x_299 : i32 = p.x; |
| let x_301 : i32 = p.y; |
| map[(x_299 + (x_301 * 16))] = 1; |
| let x_306 : i32 = p.x; |
| let x_308 : i32 = p.y; |
| map[(x_306 + ((x_308 - 1) * 16))] = 1; |
| let x_314 : i32 = p.x; |
| let x_316 : i32 = p.y; |
| map[(x_314 + ((x_316 - 2) * 16))] = 1; |
| let x_322 : i32 = p.y; |
| p.y = (x_322 - 2); |
| } |
| let x_325 : i32 = d; |
| let x_326 : bool = (x_325 >= 0); |
| x_332_phi = x_326; |
| if (x_326) { |
| let x_330 : i32 = p.x; |
| x_331 = (x_330 < 14); |
| x_332_phi = x_331; |
| } |
| let x_332 : bool = x_332_phi; |
| x_345_phi = x_332; |
| if (x_332) { |
| let x_336 : i32 = p.x; |
| let x_339 : i32 = p.y; |
| let x_343 : i32 = map[((x_336 + 2) + (x_339 * 16))]; |
| x_344 = (x_343 == 0); |
| x_345_phi = x_344; |
| } |
| let x_345 : bool = x_345_phi; |
| if (x_345) { |
| let x_348 : i32 = d; |
| d = (x_348 - 1); |
| let x_351 : i32 = p.x; |
| let x_353 : i32 = p.y; |
| map[(x_351 + (x_353 * 16))] = 1; |
| let x_358 : i32 = p.x; |
| let x_361 : i32 = p.y; |
| map[((x_358 + 1) + (x_361 * 16))] = 1; |
| let x_366 : i32 = p.x; |
| let x_369 : i32 = p.y; |
| map[((x_366 + 2) + (x_369 * 16))] = 1; |
| let x_374 : i32 = p.x; |
| p.x = (x_374 + 2); |
| } |
| let x_377 : i32 = d; |
| let x_378 : bool = (x_377 >= 0); |
| x_384_phi = x_378; |
| if (x_378) { |
| let x_382 : i32 = p.y; |
| x_383 = (x_382 < 14); |
| x_384_phi = x_383; |
| } |
| let x_384 : bool = x_384_phi; |
| x_397_phi = x_384; |
| if (x_384) { |
| let x_388 : i32 = p.x; |
| let x_390 : i32 = p.y; |
| let x_395 : i32 = map[(x_388 + ((x_390 + 2) * 16))]; |
| x_396 = (x_395 == 0); |
| x_397_phi = x_396; |
| } |
| let x_397 : bool = x_397_phi; |
| if (x_397) { |
| let x_400 : i32 = d; |
| d = (x_400 - 1); |
| let x_403 : i32 = p.x; |
| let x_405 : i32 = p.y; |
| map[(x_403 + (x_405 * 16))] = 1; |
| let x_410 : i32 = p.x; |
| let x_412 : i32 = p.y; |
| map[(x_410 + ((x_412 + 1) * 16))] = 1; |
| let x_418 : i32 = p.x; |
| let x_420 : i32 = p.y; |
| map[(x_418 + ((x_420 + 2) * 16))] = 1; |
| let x_426 : i32 = p.y; |
| p.y = (x_426 + 2); |
| } |
| } |
| let x_430 : i32 = ipos.y; |
| let x_433 : i32 = ipos.x; |
| let x_436 : i32 = map[((x_430 * 16) + x_433)]; |
| if ((x_436 == 1)) { |
| x_GLF_color = vec4<f32>(1.0, 1.0, 1.0, 1.0); |
| return; |
| } |
| |
| continuing { |
| let x_440 : bool = canwalk; |
| if (x_440) { |
| } else { |
| break; |
| } |
| } |
| } |
| x_GLF_color = vec4<f32>(0.0, 0.0, 0.0, 1.0); |
| return; |
| } |
| |
| struct main_out { |
| [[location(0)]] |
| x_GLF_color_1 : vec4<f32>; |
| }; |
| |
| [[stage(fragment)]] |
| fn main([[builtin(position)]] gl_FragCoord_param : vec4<f32>) -> main_out { |
| gl_FragCoord = gl_FragCoord_param; |
| main_1(); |
| return main_out(x_GLF_color); |
| } |