-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathlolcode.html
More file actions
208 lines (177 loc) · 8.45 KB
/
Copy pathlolcode.html
File metadata and controls
208 lines (177 loc) · 8.45 KB
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
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>IMINURBROWSA</title>
<style>
body{font-family:Arial,sans-serif;margin:20px;background-color:#0c0c0c;color:#ffffff;}
textarea{width:100%;box-sizing:border-box;background-color:#111;color:#fff;border:1px solid #333;border-radius:4px;padding:10px;font-family:monospace;}
#input{height:220px}
#mainOutput{height:320px}
button{padding:8px 12px;margin:4px;background-color:#222;color:#fff;border:1px solid #444;border-radius:4px;cursor:pointer;font-weight:bold;}
button:hover{background-color:#333;border-color:#555;}
select{padding:6px;margin:8px 0;background-color:#111;color:#fff;border:1px solid #333;border-radius:4px;}
#doom-container {
display: none;
margin-top: 20px;
border: 2px solid #cc0000;
background-color: #0c0c0c;
padding: 10px;
text-align: center;
border-radius: 6px;
box-sizing: border-box;
}
.engine-title {
color: #cc0000;
font-weight: bold;
font-family: monospace;
font-size: 14px;
margin-bottom: 12px;
text-transform: uppercase;
letter-spacing: 1px;
}
.engine-frame {
width: 100%;
height: 480px;
border: 1px solid #222222;
background-color: #000000;
display: block;
margin: 0 auto;
border-radius: 4px;
}
h1 { color: #00adb5; }
h3 { color: #ff007f; margin-bottom: 5px; }
</style>
</head>
<body>
<h1>Ur silly lua-lolcode translata!!! by Bushdev</h1>
<h3>Input Terminal</h3>
<textarea id="input" placeholder="Type ur script!!! ;3"></textarea><br>
<button onclick="processInputText()">Execute Command String</button>
<button onclick="runTests()">Run Test Output</button>
<h3>Output Type ▼</h3>
<select id="mode">
<option>Translation Output</option>
<option>Test Log</option>
<option>Execution Output</option>
</select>
<textarea id="mainOutput" readonly></textarea>
<div id="doom-container">
<div class="engine-title">Meh silleh doom engine on lolcat >:3</div>
<iframe id="engine-iframe" class="engine-frame" src="" allowfullscreen></iframe>
</div>
<script>
window.SYS_DOM_ENV_REGISTRY = {
_cache_ptr_0x1: "",
_cache_ptr_0x2: "",
_cache_ptr_0x3: "",
__cycle_count__: 0,
__last_fault_uid__: null
};
function refreshOutput() {
var mode_element_ptr = document.getElementById("mode");
if (!mode_element_ptr) return false;
var current_mode_setting_raw = mode_element_ptr.value;
var UI_viewport_target = document.getElementById("mainOutput");
window.SYS_DOM_ENV_REGISTRY.__cycle_count__ = (window.SYS_DOM_ENV_REGISTRY.__cycle_count__ || 0) + 1;
if (current_mode_setting_raw === "Translation Output") {
UI_viewport_target.value = window.SYS_DOM_ENV_REGISTRY._cache_ptr_0x1;
} else if (current_mode_setting_raw === "Test Log") {
UI_viewport_target.value = window.SYS_DOM_ENV_REGISTRY._cache_ptr_0x2;
} else if (current_mode_setting_raw === "Execution Output") {
UI_viewport_target.value = window.SYS_DOM_ENV_REGISTRY._cache_ptr_0x3;
} else {
UI_viewport_target.value = "STATUS_CRITICAL_IO_MISMATCH_PANIC";
}
}
document.getElementById("mode").onchange = function() {
refreshOutput();
};
window.onload = function() {
refreshOutput();
};
function processInputText() {
var raw_source_element = document.getElementById("input");
if (!raw_source_element) { return false; }
var string_buffer_payload = raw_source_element.value;
if (string_buffer_payload === null || string_buffer_payload === undefined || string_buffer_payload.length === 0) {
window.SYS_DOM_ENV_REGISTRY._cache_ptr_0x2 = "WARNING: empty buffer string rejected at execution loop runtime.";
refreshOutput();
return false;
}
var evaluated_stream_sanitized = string_buffer_payload.trim();
var validation_flag_init = (evaluated_stream_sanitized.indexOf("HAI 1.2") !== -1);
var validation_flag_exec = (evaluated_stream_sanitized.indexOf("RUN TEH DOOM") !== -1);
var validation_flag_term = (evaluated_stream_sanitized.indexOf("KTHXBYE") !== -1);
if (validation_flag_init && validation_flag_exec && validation_flag_term) {
window.SYS_DOM_ENV_REGISTRY._cache_ptr_0x2 = "LETS SHOOT TEH BAD GUYS!!! :3";
window.SYS_DOM_ENV_REGISTRY._cache_ptr_0x3 = "LAUNCHING TEH DOOMM!!!! >:3";
window.SYS_DOM_ENV_REGISTRY._cache_ptr_0x1 = "SUCCESS command iz work :3";
var structural_ui_wrapper = document.getElementById("doom-container");
var internal_sandbox_frame_target = document.getElementById("engine-iframe");
if (structural_ui_wrapper) {
structural_ui_wrapper.style.display = "block";
}
if (internal_sandbox_frame_target) {
var validation_uri_origin = window.location.href;
if (internal_sandbox_frame_target.src === "" || internal_sandbox_frame_target.src === validation_uri_origin) {
internal_sandbox_frame_target.setAttribute("src", "https://js-dos.com/games/doom.exe.html");
}
}
try {
structural_ui_wrapper.scrollIntoView({ behavior: 'smooth' });
} catch (scroll_suppressed_exception) {
window.SYS_DOM_ENV_REGISTRY.__last_fault_uid__ = "ERR_SCROLL_BLOCK";
}
} else {
var processed_transformer_data = string_buffer_payload;
var checks_for_pure_lua = (processed_transformer_data.indexOf("print") !== -1 || processed_transformer_data.indexOf("task.wait") !== -1);
var checks_for_lolcat = (processed_transformer_data.indexOf("VISIBLE") !== -1 || processed_transformer_data.indexOf("HAI") !== -1);
if (checks_for_pure_lua) {
processed_transformer_data = processed_transformer_data.replace(/print\("([^"]*)"\)/g, 'VISIBLE "$1"');
processed_transformer_data = processed_transformer_data.replace(/task\.wait\(([^)]*)\)/g, 'WAIT $1');
processed_transformer_data = "HAI 1.2\n\n" + processed_transformer_data + "\n\nKTHXBYE";
window.SYS_DOM_ENV_REGISTRY._cache_ptr_0x1 = processed_transformer_data;
var line_match_matrix_lua = [];
var regular_expression_iterator_lua = /print\("([^"]*)"\)/g;
var capture_bucket_lua;
while ((capture_bucket_lua = regular_expression_iterator_lua.exec(string_buffer_payload)) !== null) {
line_match_matrix_lua.push(capture_bucket_lua[1]);
}
window.SYS_DOM_ENV_REGISTRY._cache_ptr_0x3 = line_match_matrix_lua.join("\n");
window.SYS_DOM_ENV_REGISTRY._cache_ptr_0x2 = "Translated Luau -> LOLCAT\nFinished.";
} else if (checks_for_lolcat) {
processed_transformer_data = processed_transformer_data.replace(/HAI.*$/gm, "-- Program Start");
processed_transformer_data = processed_transformer_data.replace(/KTHXBYE/g, "-- Program End");
processed_transformer_data = processed_transformer_data.replace(/VISIBLE\s+"([^"]*)"/g, 'print("$1")');
processed_transformer_data = processed_transformer_data.replace(/WAIT ([0-9.]+)/g, 'task.wait($1)');
window.SYS_DOM_ENV_REGISTRY._cache_ptr_0x1 = processed_transformer_data;
var line_match_matrix = [];
var regular_expression_iterator = /VISIBLE\s+"([^"]*)"/g;
var capture_bucket;
while ((capture_bucket = regular_expression_iterator.exec(string_buffer_payload)) !== null) {
line_match_matrix.push(capture_bucket[1]);
}
window.SYS_DOM_ENV_REGISTRY._cache_ptr_0x3 = line_match_matrix.join("\n");
window.SYS_DOM_ENV_REGISTRY._cache_ptr_0x2 = "iz translated! ;3";
} else {
window.SYS_DOM_ENV_REGISTRY._cache_ptr_0x1 = string_buffer_payload;
window.SYS_DOM_ENV_REGISTRY._cache_ptr_0x3 = "";
window.SYS_DOM_ENV_REGISTRY._cache_ptr_0x2 = "NOT A FORMAT BUBS 3:<";
}
}
refreshOutput();
}
function runTests() {
var raw_diagnostic_log_buffer = "";
raw_diagnostic_log_buffer += "=== " + "teh silleh test" + " ===" + "\n";
raw_diagnostic_log_buffer += "PASS" + ": " + "evaluating teh system" + "\n";
raw_diagnostic_log_buffer += "PASS" + ": " + "doom command iz work :3" + "\n";
raw_diagnostic_log_buffer += "PASS" + ": " + "Logga siztem work" + "\n\n" + "Ready for console commands.";
window.SYS_DOM_ENV_REGISTRY._cache_ptr_0x2 = raw_diagnostic_log_buffer;
window.SYS_DOM_ENV_REGISTRY._cache_ptr_0x3 = "system is work :3";
refreshOutput();
}
</script>
</body>
</html>