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
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<title>StarKingdoms</title>
</head>
<body class="bg-grid">
<div id="gamewindow">
<!-- Canvas gets added here by the game script -->
</div>
<div class="popup popup-center" id="server_selector">
<h1>StarKingdoms</h1>
<h2>Join Game</h2>
<form id="join-fm">
<label>Choose server</label>
<div class="fm-select">
<button class="fm-select-button" role="combobox" aria-labelledby="server selector" aria-haspopup="listbox"
aria-expanded="false" aria-controls="fm-select-dropdown">
<span class="fm-selected-value">Loading servers list</span>
<span class="fm-arrow"></span>
</button>
<ul class="fm-select-dropdown" role="listbox" id="fm-select-dropdown">
<!-- Filled by TS -->
</ul>
</div>
<div class="popup popup-center popup-max-width-300" id="server_selector">
<h1>StarKingdoms</h1>
<h2>Join Game</h2>
<form id="join-fm">
<label>Choose server</label>
<div class="fm-select">
<button class="fm-select-button" role="combobox" aria-labelledby="server selector"
aria-haspopup="listbox"
aria-expanded="false" aria-controls="fm-select-dropdown">
<span class="fm-selected-value">Loading servers list</span>
<span class="fm-arrow"></span>
</button>
<ul class="fm-select-dropdown" role="listbox" id="fm-select-dropdown">
<!-- Filled by TS -->
</ul>
</div>
<label for="username" class="username-label">Username</label>
<input class="username-box" id="username" required autocomplete="off"/>
<button id="launch-btn" class="launch-btn">Launch!</button>
<span id="server-danger" class="server-danger hidden">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" class="server-danger-icon">
<path fill-rule="evenodd" d="M8.485 2.495c.673-1.167 2.357-1.167 3.03 0l6.28 10.875c.673 1.167-.17 2.625-1.516 2.625H3.72c-1.347 0-2.189-1.458-1.515-2.625L8.485 2.495zM10 5a.75.75 0 01.75.75v3.5a.75.75 0 01-1.5 0v-3.5A.75.75 0 0110 5zm0 9a1 1 0 100-2 1 1 0 000 2z" clip-rule="evenodd"/>
</svg>
Here be dragons! You have a <b>prerelease server</b> selected. Expect bugs, and save data on this server may be wiped at any time.
</span>
</form>
</div>
<div class="popup popup-wmin log-hidden log-container popup-max-width-300" id="packet_log">
<h1>Packet Log</h1>
<table class="log">
<thead>
<tr class="log-wfull">
<th class="log-wfull log-lalign log-header log-w50">#</th>
<th class="log-wfull log-lalign log-header">Dir</th>
<th class="log-wfull log-lalign log-header log-w240">Type</th>
<th class="log-wfull log-lalign log-header">Delta</th>
</tr>
</thead>
<tbody id="log_body">
</tbody>
</table>
<hr>
<h1>Packet Explorer</h1>
<p id="explorer_selected" class="mono">Selected: --</p>
<table class="mono json" id="explorer_json"></table>
</div>
<div class="popup chat-container hidden" id="chat">
<h1>Chat</h1>
<div id="chatbox" class="chat-table mono">
<p class="message server-message">[SERVER] Welcome to StarKingdoms.IO! Have fun!</p>
<p class="message global-message">core: this is a global chat message</p>
<p class="message direct-message">[DM core2] core this is a direct message</p>
<p class="message direct-message">[DM core2] core2: and this is a reply</p>
<p class="message server-error">[SERVER] Disconnected</p>
</div>
<input placeholder="Enter message or command here..." class="chat-box" id="chatentry" required autocomplete="off"/>
</div>
<div class="popup hud hidden popup-max-width-300" id="hud">
<table>
<thead>
<tr>
<th class="hud-d"></th>
<th class="hud-d"></th>
<th class="hud-d"></th>
</tr>
</thead>
<tbody>
<tr>
<td id="pos">Position: --, --</td>
<td id="velocity">Velocity: --</td>
<td id="track">Track Angle: --</td>
</tr>
</tbody>
</table>
</div>
<span class="footer-left" id="footer-left"></span>
<span class="footer-right" id="footer-right"></span>
<script type="module" src="src/main.ts"></script>
</body>
</body>
</html>