summaryrefslogtreecommitdiffhomepage
path: root/core/shell.html
blob: 85ea388c4e4178c9ff51c1567f8f2712d53ae7fc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
<!doctype html>
<html lang="en-us">
	<head>
		<meta charset="utf-8">
		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

		<title>Orc: Arena of Time</title>

		<meta name="title" content="raylib web game">
		<meta name="description" content="New raylib web videogame, developed using raylib videogames library">
		<meta name="keywords" content="raylib, games, html5, programming, C, C++, library, learn, videogames">
		<meta name="viewport" content="width=device-width">

		<!-- Open Graph metatags for sharing -->
		<meta property="og:title" content="raylib web game">
		<meta property="og:image:type" content="image/png">
		<meta property="og:image" content="https://www.raylib.com/common/img/raylib_logo.png">
		<meta property="og:site_name" content="raylib.com">
		<meta property="og:url" content="https://www.raylib.com/games.html">
		<meta property="og:description" content="New raylib web videogame, developed using raylib videogames library">

		<!-- Twitter metatags for sharing -->
		<meta name="twitter:card" content="summary">
		<meta name="twitter:site" content="@raysan5">
		<meta name="twitter:title" content="raylib web game">
		<meta name="twitter:image" content="https://www.raylib.com/common/raylib_logo.png">
		<meta name="twitter:url" content="https://www.raylib.com/games.html">
		<meta name="twitter:description" content="New raylib web game, developed using raylib videogames library">

		<!-- Favicon -->
		<link rel="shortcut icon" href="https://www.raylib.com/favicon.ico">

		<style>
canvas.emscripten { border: 0px none; background-color: black; }
		</style>
		<script type='text/javascript' src="https://cdn.jsdelivr.net/gh/eligrey/FileSaver.js/dist/FileSaver.min.js"> </script>
		<script type='text/javascript'>
			function saveFileFromMEMFSToDisk(memoryFSname, localFSname)     // This can be called by C/C++ code
			{
							var isSafari = false; // Not supported, navigator.userAgent access is being restricted
							//var isSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent);
							var data = FS.readFile(memoryFSname);
							var blob;

							if (isSafari) blob = new Blob([data.buffer], { type: "application/octet-stream" });
							else blob = new Blob([data.buffer], { type: "application/octet-binary" });

							// NOTE: SaveAsDialog is a browser setting. For example, in Google Chrome,
							// in Settings/Advanced/Downloads section you have a setting:
							// 'Ask where to save each file before downloading' - which you can set true/false.
							// If you enable this setting it would always ask you and bring the SaveAsDialog
							saveAs(blob, localFSname);
						}
		</script>
	</head>
	<body style="height:100vh; margin:0; position:relative;">
		<div style="display: flex; justify-content: center; align-items: center; height: 100%">
			<canvas class=emscripten id=canvas oncontextmenu=event.preventDefault() tabindex=-1 style="border:0px; outline:0px; aspect-ratio: attr(width)/attr(height); max-width:100vw; max-height:100vh;"></canvas>
		</div>
		<p id="output" />
		<script>
			var Module = {
							print: (function() {
											var element = document.getElementById('output');
											if (element) element.value = ''; // clear browser cache
											return function(text) {
															if (arguments.length > 1) text = Array.prototype.slice.call(arguments).join(' ');
															console.log(text);
															if (element) {
																			element.value += text + "\n";
																			element.scrollTop = element.scrollHeight; // focus on bottom
																		}
														};
										})(),            
							canvas: (function() {
											var canvas = document.getElementById('canvas');
											return canvas;
										})()
						};
		</script>
		{{{ SCRIPT }}}
	</body>
</html>