) b |= 0x4;
						if (dy > deadzone) b |= 0x8;
					}
				}
				else if (x > w - r*6)
				{
					// button; diagonal split from bottom right corner
				
					mask = 0x30;
					
					// one or both of [X], [O]
					if ( (h-y) > (w-x) * 0.8) b |= 0x10;
					if ( (w-x) > (h-y) * 0.8) b |= 0x20;
				}
			}

			pico8_buttons[0] |= b;
		
		}
	}

	// p8_update_layout_hash is used to decide when to update layout (expensive especially when part of a heavy page)
	var p8_update_layout_hash = -1;
	var last_windowed_con